dsh-generative-ui 0.0.2 → 0.0.4
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/README.md +9 -2
- package/lib/client.js +791 -398
- package/lib/client.js.map +19 -17
- package/lib/index.js +534 -44
- package/lib/types/card-failure.d.ts +88 -0
- package/lib/types/client/canvas/CanvasPanel.d.ts +1 -1
- package/lib/types/client/canvas/index.d.ts +1 -1
- package/lib/types/client/runtime/GenUISurface.d.ts +65 -35
- package/lib/types/client/runtime/inline-fence.d.ts +33 -2
- package/lib/types/client/runtime/report-error.d.ts +59 -12
- package/lib/types/contract-assets.d.ts +10 -0
- package/lib/types/index.d.ts +51 -8
- package/package.json +44 -25
- package/src/card-failure.ts +106 -0
- package/src/client/canvas/CanvasPanel.tsx +10 -4
- package/src/client/canvas/index.ts +1 -1
- package/src/client/index.ts +26 -10
- package/src/client/runtime/GenUISurface.tsx +172 -48
- package/src/client/runtime/bindings.ts +3 -2
- package/src/client/runtime/compiler.ts +24 -2
- package/src/client/runtime/inline-fence.ts +195 -10
- package/src/client/runtime/register.ts +16 -4
- package/src/client/runtime/report-error.ts +89 -34
- package/src/client/runtime/state.ts +13 -1
- package/src/client/runtime/uno-config.ts +13 -0
- package/src/client/session.ts +10 -3
- package/src/contract-assets.ts +11 -0
- package/src/index.ts +123 -21
- package/src/prompt.ts +154 -10
- package/src/skill.ts +296 -22
- package/types/fs.d.ts +15 -1
package/lib/client.js.map
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js", "../node_modules/react-dom/cjs/react-dom-server.browser.production.min.js", "../node_modules/react-dom/server.browser.js", "../src/client/index.ts", "../src/client/runtime/GenUISurface.tsx", "../node_modules/partial-react/src/runtime.ts", "../node_modules/partial-react/src/state.ts", "../node_modules/partial-react/src/importMap.ts", "../node_modules/partial-react/src/importProbe.ts", "../node_modules/@esm.sh/tsx/pkg/tsx.js", "../node_modules/@esm.sh/tsx/index.mjs", "../node_modules/partial-tsx/src/partial.ts", "../node_modules/partial-react/src/compiler.ts", "../node_modules/partial-react/src/renderContext.ts", "../node_modules/partial-react/src/hookSignature.ts", "../src/contract-assets.ts", "../src/client/runtime/compiler.ts", "../src/client/runtime/registry.ts", "../src/contract.ts", "../src/client/runtime/register.ts", "../src/client/runtime/state.ts", "../src/client/runtime/bindings.ts", "../node_modules/@unocss/core/dist/index.mjs", "../node_modules/@unocss/preset-wind4/dist/postprocess.mjs", "../node_modules/@unocss/preset-wind4/dist/rolldown-runtime-BBjsoOtd.mjs", "../node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs", "../node_modules/magic-string/dist/index.mjs", "../node_modules/@unocss/rule-utils/dist/index.mjs", "../node_modules/@unocss/preset-wind4/dist/utils-q7HDXEs0.mjs", "../node_modules/@unocss/preset-wind4/dist/container-Be9Fugl0.mjs", "../node_modules/@unocss/preset-wind4/dist/rules.mjs", "../node_modules/@unocss/preset-wind4/dist/shortcuts.mjs", "../node_modules/@unocss/preset-wind4/dist/colors-LrxJAP6O.mjs", "../node_modules/@unocss/preset-wind4/dist/theme.mjs", "../node_modules/@unocss/preset-wind4/dist/variants-DqGWM6pS.mjs", "../node_modules/@unocss/extractor-arbitrary-variants/dist/index.mjs", "../node_modules/@unocss/preset-wind4/dist/index.mjs", "../src/client/runtime/uno-config.ts", "../src/client/runtime/uno.ts", "../src/client/runtime/report-error.ts", "../src/client/runtime/inline-fence.ts", "../src/client/runtime/
|
|
3
|
+
"sources": ["../node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js", "../node_modules/react-dom/cjs/react-dom-server.browser.production.min.js", "../node_modules/react-dom/server.browser.js", "../node_modules/scheduler/cjs/scheduler.production.min.js", "../node_modules/scheduler/index.js", "../src/client/index.ts", "../src/client/runtime/GenUISurface.tsx", "../node_modules/partial-react/src/runtime.ts", "../node_modules/partial-react/src/state.ts", "../node_modules/partial-react/src/importMap.ts", "../node_modules/partial-react/src/importProbe.ts", "../node_modules/@esm.sh/tsx/pkg/tsx.js", "../node_modules/@esm.sh/tsx/index.mjs", "../node_modules/partial-tsx/src/partial.ts", "../node_modules/partial-react/src/compiler.ts", "../node_modules/partial-react/src/renderContext.ts", "../node_modules/partial-react/src/hookSignature.ts", "../src/contract-assets.ts", "../src/client/runtime/compiler.ts", "../src/client/runtime/registry.ts", "../src/contract.ts", "../src/client/runtime/register.ts", "../src/client/runtime/state.ts", "../src/client/runtime/bindings.ts", "../node_modules/@unocss/core/dist/index.mjs", "../node_modules/@unocss/preset-wind4/dist/postprocess.mjs", "../node_modules/@unocss/preset-wind4/dist/rolldown-runtime-BBjsoOtd.mjs", "../node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs", "../node_modules/magic-string/dist/index.mjs", "../node_modules/@unocss/rule-utils/dist/index.mjs", "../node_modules/@unocss/preset-wind4/dist/utils-q7HDXEs0.mjs", "../node_modules/@unocss/preset-wind4/dist/container-Be9Fugl0.mjs", "../node_modules/@unocss/preset-wind4/dist/rules.mjs", "../node_modules/@unocss/preset-wind4/dist/shortcuts.mjs", "../node_modules/@unocss/preset-wind4/dist/colors-LrxJAP6O.mjs", "../node_modules/@unocss/preset-wind4/dist/theme.mjs", "../node_modules/@unocss/preset-wind4/dist/variants-DqGWM6pS.mjs", "../node_modules/@unocss/extractor-arbitrary-variants/dist/index.mjs", "../node_modules/@unocss/preset-wind4/dist/index.mjs", "../src/client/runtime/uno-config.ts", "../src/client/runtime/uno.ts", "../src/client/runtime/report-error.ts", "../src/client/runtime/inline-fence.ts", "../src/client/runtime/segments.ts", "../src/client/runtime/observe.ts", "../src/client/session.ts", "../src/client/canvas/index.ts", "../src/client/canvas/CanvasPanel.tsx", "../src/client/canvas/read.ts", "../src/client/canvas/subpages.ts", "../src/client/canvas/useDismissable.ts", "../src/client/canvas/CanvasLauncher.tsx", "../src/client/canvas/panel-css.ts", "../src/client/canvas/collect.ts", "../src/client/canvas/mount.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"/**\n * @license React\n * react-dom-server-legacy.browser.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var aa=require(\"react\");function l(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar p=Object.prototype.hasOwnProperty,fa=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,ha={},ia={};\nfunction ja(a){if(p.call(ia,a))return!0;if(p.call(ha,a))return!1;if(fa.test(a))return ia[a]=!0;ha[a]=!0;return!1}function r(a,b,c,d,f,e,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=f;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=e;this.removeEmptyString=g}var t={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){t[a]=new r(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];t[b]=new r(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){t[a]=new r(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){t[a]=new r(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){t[a]=new r(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){t[a]=new r(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){t[a]=new r(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){t[a]=new r(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){t[a]=new r(a,5,!1,a.toLowerCase(),null,!1,!1)});var ka=/[\\-:]([a-z])/g;function la(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ka,\nla);t[b]=new r(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ka,la);t[b]=new r(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ka,la);t[b]=new r(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){t[a]=new r(a,1,!1,a.toLowerCase(),null,!1,!1)});\nt.xlinkHref=new r(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){t[a]=new r(a,1,!1,a.toLowerCase(),null,!0,!0)});\nvar u={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,\nfillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ma=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(u).forEach(function(a){ma.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);u[b]=u[a]})});var na=/[\"'&<>]/;\nfunction v(a){if(\"boolean\"===typeof a||\"number\"===typeof a)return\"\"+a;a=\"\"+a;var b=na.exec(a);if(b){var c=\"\",d,f=0;for(d=b.index;d<a.length;d++){switch(a.charCodeAt(d)){case 34:b=\""\";break;case 38:b=\"&\";break;case 39:b=\"'\";break;case 60:b=\"<\";break;case 62:b=\">\";break;default:continue}f!==d&&(c+=a.substring(f,d));f=d+1;c+=b}a=f!==d?c+a.substring(f,d):c}return a}var oa=/([A-Z])/g,pa=/^ms-/,qa=Array.isArray;function w(a,b){return{insertionMode:a,selectedValue:b}}\nfunction ra(a,b,c){switch(b){case \"select\":return w(1,null!=c.value?c.value:c.defaultValue);case \"svg\":return w(2,null);case \"math\":return w(3,null);case \"foreignObject\":return w(1,null);case \"table\":return w(4,null);case \"thead\":case \"tbody\":case \"tfoot\":return w(5,null);case \"colgroup\":return w(7,null);case \"tr\":return w(6,null)}return 4<=a.insertionMode||0===a.insertionMode?w(1,null):a}var sa=new Map;\nfunction ta(a,b,c){if(\"object\"!==typeof c)throw Error(l(62));b=!0;for(var d in c)if(p.call(c,d)){var f=c[d];if(null!=f&&\"boolean\"!==typeof f&&\"\"!==f){if(0===d.indexOf(\"--\")){var e=v(d);f=v((\"\"+f).trim())}else{e=d;var g=sa.get(e);void 0!==g?e=g:(g=v(e.replace(oa,\"-$1\").toLowerCase().replace(pa,\"-ms-\")),sa.set(e,g),e=g);f=\"number\"===typeof f?0===f||p.call(u,d)?\"\"+f:f+\"px\":v((\"\"+f).trim())}b?(b=!1,a.push(' style=\"',e,\":\",f)):a.push(\";\",e,\":\",f)}}b||a.push('\"')}\nfunction x(a,b,c,d){switch(c){case \"style\":ta(a,b,d);return;case \"defaultValue\":case \"defaultChecked\":case \"innerHTML\":case \"suppressContentEditableWarning\":case \"suppressHydrationWarning\":return}if(!(2<c.length)||\"o\"!==c[0]&&\"O\"!==c[0]||\"n\"!==c[1]&&\"N\"!==c[1])if(b=t.hasOwnProperty(c)?t[c]:null,null!==b){switch(typeof d){case \"function\":case \"symbol\":return;case \"boolean\":if(!b.acceptsBooleans)return}c=b.attributeName;switch(b.type){case 3:d&&a.push(\" \",c,'=\"\"');break;case 4:!0===d?a.push(\" \",c,'=\"\"'):\n!1!==d&&a.push(\" \",c,'=\"',v(d),'\"');break;case 5:isNaN(d)||a.push(\" \",c,'=\"',v(d),'\"');break;case 6:!isNaN(d)&&1<=d&&a.push(\" \",c,'=\"',v(d),'\"');break;default:b.sanitizeURL&&(d=\"\"+d),a.push(\" \",c,'=\"',v(d),'\"')}}else if(ja(c)){switch(typeof d){case \"function\":case \"symbol\":return;case \"boolean\":if(b=c.toLowerCase().slice(0,5),\"data-\"!==b&&\"aria-\"!==b)return}a.push(\" \",c,'=\"',v(d),'\"')}}\nfunction y(a,b,c){if(null!=b){if(null!=c)throw Error(l(60));if(\"object\"!==typeof b||!(\"__html\"in b))throw Error(l(61));b=b.__html;null!==b&&void 0!==b&&a.push(\"\"+b)}}function ua(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}\nfunction va(a,b,c,d){a.push(A(c));var f=c=null,e;for(e in b)if(p.call(b,e)){var g=b[e];if(null!=g)switch(e){case \"children\":c=g;break;case \"dangerouslySetInnerHTML\":f=g;break;default:x(a,d,e,g)}}a.push(\">\");y(a,f,c);return\"string\"===typeof c?(a.push(v(c)),null):c}var wa=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,xa=new Map;function A(a){var b=xa.get(a);if(void 0===b){if(!wa.test(a))throw Error(l(65,a));b=\"<\"+a;xa.set(a,b)}return b}\nfunction ya(a,b,c,d,f){switch(b){case \"select\":a.push(A(\"select\"));var e=null,g=null;for(n in c)if(p.call(c,n)){var h=c[n];if(null!=h)switch(n){case \"children\":e=h;break;case \"dangerouslySetInnerHTML\":g=h;break;case \"defaultValue\":case \"value\":break;default:x(a,d,n,h)}}a.push(\">\");y(a,g,e);return e;case \"option\":g=f.selectedValue;a.push(A(\"option\"));var k=h=null,m=null;var n=null;for(e in c)if(p.call(c,e)){var q=c[e];if(null!=q)switch(e){case \"children\":h=q;break;case \"selected\":m=q;break;case \"dangerouslySetInnerHTML\":n=\nq;break;case \"value\":k=q;default:x(a,d,e,q)}}if(null!=g)if(c=null!==k?\"\"+k:ua(h),qa(g))for(d=0;d<g.length;d++){if(\"\"+g[d]===c){a.push(' selected=\"\"');break}}else\"\"+g===c&&a.push(' selected=\"\"');else m&&a.push(' selected=\"\"');a.push(\">\");y(a,n,h);return h;case \"textarea\":a.push(A(\"textarea\"));n=g=e=null;for(h in c)if(p.call(c,h)&&(k=c[h],null!=k))switch(h){case \"children\":n=k;break;case \"value\":e=k;break;case \"defaultValue\":g=k;break;case \"dangerouslySetInnerHTML\":throw Error(l(91));default:x(a,d,\nh,k)}null===e&&null!==g&&(e=g);a.push(\">\");if(null!=n){if(null!=e)throw Error(l(92));if(qa(n)&&1<n.length)throw Error(l(93));e=\"\"+n}\"string\"===typeof e&&\"\\n\"===e[0]&&a.push(\"\\n\");null!==e&&a.push(v(\"\"+e));return null;case \"input\":a.push(A(\"input\"));k=n=h=e=null;for(g in c)if(p.call(c,g)&&(m=c[g],null!=m))switch(g){case \"children\":case \"dangerouslySetInnerHTML\":throw Error(l(399,\"input\"));case \"defaultChecked\":k=m;break;case \"defaultValue\":h=m;break;case \"checked\":n=m;break;case \"value\":e=m;break;\ndefault:x(a,d,g,m)}null!==n?x(a,d,\"checked\",n):null!==k&&x(a,d,\"checked\",k);null!==e?x(a,d,\"value\",e):null!==h&&x(a,d,\"value\",h);a.push(\"/>\");return null;case \"menuitem\":a.push(A(\"menuitem\"));for(var C in c)if(p.call(c,C)&&(e=c[C],null!=e))switch(C){case \"children\":case \"dangerouslySetInnerHTML\":throw Error(l(400));default:x(a,d,C,e)}a.push(\">\");return null;case \"title\":a.push(A(\"title\"));e=null;for(q in c)if(p.call(c,q)&&(g=c[q],null!=g))switch(q){case \"children\":e=g;break;case \"dangerouslySetInnerHTML\":throw Error(l(434));\ndefault:x(a,d,q,g)}a.push(\">\");return e;case \"listing\":case \"pre\":a.push(A(b));g=e=null;for(k in c)if(p.call(c,k)&&(h=c[k],null!=h))switch(k){case \"children\":e=h;break;case \"dangerouslySetInnerHTML\":g=h;break;default:x(a,d,k,h)}a.push(\">\");if(null!=g){if(null!=e)throw Error(l(60));if(\"object\"!==typeof g||!(\"__html\"in g))throw Error(l(61));c=g.__html;null!==c&&void 0!==c&&(\"string\"===typeof c&&0<c.length&&\"\\n\"===c[0]?a.push(\"\\n\",c):a.push(\"\"+c))}\"string\"===typeof e&&\"\\n\"===e[0]&&a.push(\"\\n\");return e;\ncase \"area\":case \"base\":case \"br\":case \"col\":case \"embed\":case \"hr\":case \"img\":case \"keygen\":case \"link\":case \"meta\":case \"param\":case \"source\":case \"track\":case \"wbr\":a.push(A(b));for(var D in c)if(p.call(c,D)&&(e=c[D],null!=e))switch(D){case \"children\":case \"dangerouslySetInnerHTML\":throw Error(l(399,b));default:x(a,d,D,e)}a.push(\"/>\");return null;case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return va(a,\nc,b,d);case \"html\":return 0===f.insertionMode&&a.push(\"<!DOCTYPE html>\"),va(a,c,b,d);default:if(-1===b.indexOf(\"-\")&&\"string\"!==typeof c.is)return va(a,c,b,d);a.push(A(b));g=e=null;for(m in c)if(p.call(c,m)&&(h=c[m],null!=h))switch(m){case \"children\":e=h;break;case \"dangerouslySetInnerHTML\":g=h;break;case \"style\":ta(a,d,h);break;case \"suppressContentEditableWarning\":case \"suppressHydrationWarning\":break;default:ja(m)&&\"function\"!==typeof h&&\"symbol\"!==typeof h&&a.push(\" \",m,'=\"',v(h),'\"')}a.push(\">\");\ny(a,g,e);return e}}function za(a,b,c){a.push('\\x3c!--$?--\\x3e<template id=\"');if(null===c)throw Error(l(395));a.push(c);return a.push('\"></template>')}\nfunction Aa(a,b,c,d){switch(c.insertionMode){case 0:case 1:return a.push('<div hidden id=\"'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('\">');case 2:return a.push('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('\">');case 3:return a.push('<math aria-hidden=\"true\" style=\"display:none\" id=\"'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('\">');case 4:return a.push('<table hidden id=\"'),a.push(b.segmentPrefix),\nb=d.toString(16),a.push(b),a.push('\">');case 5:return a.push('<table hidden><tbody id=\"'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('\">');case 6:return a.push('<table hidden><tr id=\"'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('\">');case 7:return a.push('<table hidden><colgroup id=\"'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('\">');default:throw Error(l(397));}}\nfunction Ba(a,b){switch(b.insertionMode){case 0:case 1:return a.push(\"</div>\");case 2:return a.push(\"</svg>\");case 3:return a.push(\"</math>\");case 4:return a.push(\"</table>\");case 5:return a.push(\"</tbody></table>\");case 6:return a.push(\"</tr></table>\");case 7:return a.push(\"</colgroup></table>\");default:throw Error(l(397));}}var Ca=/[<\\u2028\\u2029]/g;\nfunction Da(a){return JSON.stringify(a).replace(Ca,function(a){switch(a){case \"<\":return\"\\\\u003c\";case \"\\u2028\":return\"\\\\u2028\";case \"\\u2029\":return\"\\\\u2029\";default:throw Error(\"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\");}})}\nfunction Ea(a,b){b=void 0===b?\"\":b;return{bootstrapChunks:[],startInlineScript:\"<script>\",placeholderPrefix:b+\"P:\",segmentPrefix:b+\"S:\",boundaryPrefix:b+\"B:\",idPrefix:b,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1,generateStaticMarkup:a}}function Fa(a,b,c,d){if(c.generateStaticMarkup)return a.push(v(b)),!1;\"\"===b?a=d:(d&&a.push(\"\\x3c!-- --\\x3e\"),a.push(v(b)),a=!0);return a}\nvar B=Object.assign,Ga=Symbol.for(\"react.element\"),Ha=Symbol.for(\"react.portal\"),Ia=Symbol.for(\"react.fragment\"),Ja=Symbol.for(\"react.strict_mode\"),Ka=Symbol.for(\"react.profiler\"),La=Symbol.for(\"react.provider\"),Ma=Symbol.for(\"react.context\"),Na=Symbol.for(\"react.forward_ref\"),Oa=Symbol.for(\"react.suspense\"),Pa=Symbol.for(\"react.suspense_list\"),Qa=Symbol.for(\"react.memo\"),Ra=Symbol.for(\"react.lazy\"),Sa=Symbol.for(\"react.scope\"),Ta=Symbol.for(\"react.debug_trace_mode\"),Ua=Symbol.for(\"react.legacy_hidden\"),\nVa=Symbol.for(\"react.default_value\"),Wa=Symbol.iterator;\nfunction Xa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case Ia:return\"Fragment\";case Ha:return\"Portal\";case Ka:return\"Profiler\";case Ja:return\"StrictMode\";case Oa:return\"Suspense\";case Pa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ma:return(a.displayName||\"Context\")+\".Consumer\";case La:return(a._context.displayName||\"Context\")+\".Provider\";case Na:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Qa:return b=a.displayName||null,null!==b?b:Xa(a.type)||\"Memo\";case Ra:b=a._payload;a=a._init;try{return Xa(a(b))}catch(c){}}return null}var Ya={};function Za(a,b){a=a.contextTypes;if(!a)return Ya;var c={},d;for(d in a)c[d]=b[d];return c}var E=null;\nfunction F(a,b){if(a!==b){a.context._currentValue2=a.parentValue;a=a.parent;var c=b.parent;if(null===a){if(null!==c)throw Error(l(401));}else{if(null===c)throw Error(l(401));F(a,c)}b.context._currentValue2=b.value}}function $a(a){a.context._currentValue2=a.parentValue;a=a.parent;null!==a&&$a(a)}function ab(a){var b=a.parent;null!==b&&ab(b);a.context._currentValue2=a.value}\nfunction bb(a,b){a.context._currentValue2=a.parentValue;a=a.parent;if(null===a)throw Error(l(402));a.depth===b.depth?F(a,b):bb(a,b)}function cb(a,b){var c=b.parent;if(null===c)throw Error(l(402));a.depth===c.depth?F(a,c):cb(a,c);b.context._currentValue2=b.value}function G(a){var b=E;b!==a&&(null===b?ab(a):null===a?$a(b):b.depth===a.depth?F(b,a):b.depth>a.depth?bb(b,a):cb(b,a),E=a)}\nvar db={isMounted:function(){return!1},enqueueSetState:function(a,b){a=a._reactInternals;null!==a.queue&&a.queue.push(b)},enqueueReplaceState:function(a,b){a=a._reactInternals;a.replace=!0;a.queue=[b]},enqueueForceUpdate:function(){}};\nfunction eb(a,b,c,d){var f=void 0!==a.state?a.state:null;a.updater=db;a.props=c;a.state=f;var e={queue:[],replace:!1};a._reactInternals=e;var g=b.contextType;a.context=\"object\"===typeof g&&null!==g?g._currentValue2:d;g=b.getDerivedStateFromProps;\"function\"===typeof g&&(g=g(c,f),f=null===g||void 0===g?f:B({},f,g),a.state=f);if(\"function\"!==typeof b.getDerivedStateFromProps&&\"function\"!==typeof a.getSnapshotBeforeUpdate&&(\"function\"===typeof a.UNSAFE_componentWillMount||\"function\"===typeof a.componentWillMount))if(b=\na.state,\"function\"===typeof a.componentWillMount&&a.componentWillMount(),\"function\"===typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),b!==a.state&&db.enqueueReplaceState(a,a.state,null),null!==e.queue&&0<e.queue.length)if(b=e.queue,g=e.replace,e.queue=null,e.replace=!1,g&&1===b.length)a.state=b[0];else{e=g?b[0]:a.state;f=!0;for(g=g?1:0;g<b.length;g++){var h=b[g];h=\"function\"===typeof h?h.call(a,e,c,d):h;null!=h&&(f?(f=!1,e=B({},e,h)):B(e,h))}a.state=e}else e.queue=null}\nvar fb={id:1,overflow:\"\"};function gb(a,b,c){var d=a.id;a=a.overflow;var f=32-H(d)-1;d&=~(1<<f);c+=1;var e=32-H(b)+f;if(30<e){var g=f-f%5;e=(d&(1<<g)-1).toString(32);d>>=g;f-=g;return{id:1<<32-H(b)+f|c<<f|d,overflow:e+a}}return{id:1<<e|c<<f|d,overflow:a}}var H=Math.clz32?Math.clz32:hb,ib=Math.log,jb=Math.LN2;function hb(a){a>>>=0;return 0===a?32:31-(ib(a)/jb|0)|0}function kb(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}\nvar lb=\"function\"===typeof Object.is?Object.is:kb,I=null,ob=null,J=null,K=null,L=!1,M=!1,N=0,O=null,P=0;function Q(){if(null===I)throw Error(l(321));return I}function pb(){if(0<P)throw Error(l(312));return{memoizedState:null,queue:null,next:null}}function qb(){null===K?null===J?(L=!1,J=K=pb()):(L=!0,K=J):null===K.next?(L=!1,K=K.next=pb()):(L=!0,K=K.next);return K}function rb(){ob=I=null;M=!1;J=null;P=0;K=O=null}function sb(a,b){return\"function\"===typeof b?b(a):b}\nfunction tb(a,b,c){I=Q();K=qb();if(L){var d=K.queue;b=d.dispatch;if(null!==O&&(c=O.get(d),void 0!==c)){O.delete(d);d=K.memoizedState;do d=a(d,c.action),c=c.next;while(null!==c);K.memoizedState=d;return[d,b]}return[K.memoizedState,b]}a=a===sb?\"function\"===typeof b?b():b:void 0!==c?c(b):b;K.memoizedState=a;a=K.queue={last:null,dispatch:null};a=a.dispatch=ub.bind(null,I,a);return[K.memoizedState,a]}\nfunction vb(a,b){I=Q();K=qb();b=void 0===b?null:b;if(null!==K){var c=K.memoizedState;if(null!==c&&null!==b){var d=c[1];a:if(null===d)d=!1;else{for(var f=0;f<d.length&&f<b.length;f++)if(!lb(b[f],d[f])){d=!1;break a}d=!0}if(d)return c[0]}}a=a();K.memoizedState=[a,b];return a}function ub(a,b,c){if(25<=P)throw Error(l(301));if(a===I)if(M=!0,a={action:c,next:null},null===O&&(O=new Map),c=O.get(b),void 0===c)O.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}}function wb(){throw Error(l(394));}\nfunction R(){}\nvar xb={readContext:function(a){return a._currentValue2},useContext:function(a){Q();return a._currentValue2},useMemo:vb,useReducer:tb,useRef:function(a){I=Q();K=qb();var b=K.memoizedState;return null===b?(a={current:a},K.memoizedState=a):b},useState:function(a){return tb(sb,a)},useInsertionEffect:R,useLayoutEffect:function(){},useCallback:function(a,b){return vb(function(){return a},b)},useImperativeHandle:R,useEffect:R,useDebugValue:R,useDeferredValue:function(a){Q();return a},useTransition:function(){Q();return[!1,\nwb]},useId:function(){var a=ob.treeContext;var b=a.overflow;a=a.id;a=(a&~(1<<32-H(a)-1)).toString(32)+b;var c=S;if(null===c)throw Error(l(404));b=N++;a=\":\"+c.idPrefix+\"R\"+a;0<b&&(a+=\"H\"+b.toString(32));return a+\":\"},useMutableSource:function(a,b){Q();return b(a._source)},useSyncExternalStore:function(a,b,c){if(void 0===c)throw Error(l(407));return c()}},S=null,yb=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function zb(a){console.error(a);return null}\nfunction T(){}\nfunction Ab(a,b,c,d,f,e,g,h,k){var m=[],n=new Set;b={destination:null,responseState:b,progressiveChunkSize:void 0===d?12800:d,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:n,pingedTasks:m,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===f?zb:f,onAllReady:void 0===e?T:e,onShellReady:void 0===g?T:g,onShellError:void 0===h?T:h,onFatalError:void 0===k?T:k};c=U(b,0,null,c,!1,!1);c.parentFlushed=\n!0;a=Bb(b,a,null,c,n,Ya,null,fb);m.push(a);return b}function Bb(a,b,c,d,f,e,g,h){a.allPendingTasks++;null===c?a.pendingRootTasks++:c.pendingTasks++;var k={node:b,ping:function(){var b=a.pingedTasks;b.push(k);1===b.length&&Cb(a)},blockedBoundary:c,blockedSegment:d,abortSet:f,legacyContext:e,context:g,treeContext:h};f.add(k);return k}function U(a,b,c,d,f,e){return{status:0,id:-1,index:b,parentFlushed:!1,chunks:[],children:[],formatContext:d,boundary:c,lastPushedText:f,textEmbedded:e}}\nfunction V(a,b){a=a.onError(b);if(null!=a&&\"string\"!==typeof a)throw Error('onError returned something with a type other than \"string\". onError should return a string and may return null or undefined but must not return anything else. It received something of type \"'+typeof a+'\" instead');return a}function W(a,b){var c=a.onShellError;c(b);c=a.onFatalError;c(b);null!==a.destination?(a.status=2,a.destination.destroy(b)):(a.status=1,a.fatalError=b)}\nfunction Db(a,b,c,d,f){I={};ob=b;N=0;for(a=c(d,f);M;)M=!1,N=0,P+=1,K=null,a=c(d,f);rb();return a}function Eb(a,b,c,d){var f=c.render(),e=d.childContextTypes;if(null!==e&&void 0!==e){var g=b.legacyContext;if(\"function\"!==typeof c.getChildContext)d=g;else{c=c.getChildContext();for(var h in c)if(!(h in e))throw Error(l(108,Xa(d)||\"Unknown\",h));d=B({},g,c)}b.legacyContext=d;X(a,b,f);b.legacyContext=g}else X(a,b,f)}\nfunction Fb(a,b){if(a&&a.defaultProps){b=B({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}\nfunction Gb(a,b,c,d,f){if(\"function\"===typeof c)if(c.prototype&&c.prototype.isReactComponent){f=Za(c,b.legacyContext);var e=c.contextType;e=new c(d,\"object\"===typeof e&&null!==e?e._currentValue2:f);eb(e,c,d,f);Eb(a,b,e,c)}else{e=Za(c,b.legacyContext);f=Db(a,b,c,d,e);var g=0!==N;if(\"object\"===typeof f&&null!==f&&\"function\"===typeof f.render&&void 0===f.$$typeof)eb(f,c,d,e),Eb(a,b,f,c);else if(g){d=b.treeContext;b.treeContext=gb(d,1,0);try{X(a,b,f)}finally{b.treeContext=d}}else X(a,b,f)}else if(\"string\"===\ntypeof c){f=b.blockedSegment;e=ya(f.chunks,c,d,a.responseState,f.formatContext);f.lastPushedText=!1;g=f.formatContext;f.formatContext=ra(g,c,d);Hb(a,b,e);f.formatContext=g;switch(c){case \"area\":case \"base\":case \"br\":case \"col\":case \"embed\":case \"hr\":case \"img\":case \"input\":case \"keygen\":case \"link\":case \"meta\":case \"param\":case \"source\":case \"track\":case \"wbr\":break;default:f.chunks.push(\"</\",c,\">\")}f.lastPushedText=!1}else{switch(c){case Ua:case Ta:case Ja:case Ka:case Ia:X(a,b,d.children);return;\ncase Pa:X(a,b,d.children);return;case Sa:throw Error(l(343));case Oa:a:{c=b.blockedBoundary;f=b.blockedSegment;e=d.fallback;d=d.children;g=new Set;var h={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:g,errorDigest:null},k=U(a,f.chunks.length,h,f.formatContext,!1,!1);f.children.push(k);f.lastPushedText=!1;var m=U(a,0,null,f.formatContext,!1,!1);m.parentFlushed=!0;b.blockedBoundary=h;b.blockedSegment=m;try{if(Hb(a,\nb,d),a.responseState.generateStaticMarkup||m.lastPushedText&&m.textEmbedded&&m.chunks.push(\"\\x3c!-- --\\x3e\"),m.status=1,Y(h,m),0===h.pendingTasks)break a}catch(n){m.status=4,h.forceClientRender=!0,h.errorDigest=V(a,n)}finally{b.blockedBoundary=c,b.blockedSegment=f}b=Bb(a,e,c,k,g,b.legacyContext,b.context,b.treeContext);a.pingedTasks.push(b)}return}if(\"object\"===typeof c&&null!==c)switch(c.$$typeof){case Na:d=Db(a,b,c.render,d,f);if(0!==N){c=b.treeContext;b.treeContext=gb(c,1,0);try{X(a,b,d)}finally{b.treeContext=\nc}}else X(a,b,d);return;case Qa:c=c.type;d=Fb(c,d);Gb(a,b,c,d,f);return;case La:f=d.children;c=c._context;d=d.value;e=c._currentValue2;c._currentValue2=d;g=E;E=d={parent:g,depth:null===g?0:g.depth+1,context:c,parentValue:e,value:d};b.context=d;X(a,b,f);a=E;if(null===a)throw Error(l(403));d=a.parentValue;a.context._currentValue2=d===Va?a.context._defaultValue:d;a=E=a.parent;b.context=a;return;case Ma:d=d.children;d=d(c._currentValue2);X(a,b,d);return;case Ra:f=c._init;c=f(c._payload);d=Fb(c,d);Gb(a,\nb,c,d,void 0);return}throw Error(l(130,null==c?c:typeof c,\"\"));}}\nfunction X(a,b,c){b.node=c;if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case Ga:Gb(a,b,c.type,c.props,c.ref);return;case Ha:throw Error(l(257));case Ra:var d=c._init;c=d(c._payload);X(a,b,c);return}if(qa(c)){Ib(a,b,c);return}null===c||\"object\"!==typeof c?d=null:(d=Wa&&c[Wa]||c[\"@@iterator\"],d=\"function\"===typeof d?d:null);if(d&&(d=d.call(c))){c=d.next();if(!c.done){var f=[];do f.push(c.value),c=d.next();while(!c.done);Ib(a,b,f)}return}a=Object.prototype.toString.call(c);throw Error(l(31,\"[object Object]\"===\na?\"object with keys {\"+Object.keys(c).join(\", \")+\"}\":a));}\"string\"===typeof c?(d=b.blockedSegment,d.lastPushedText=Fa(b.blockedSegment.chunks,c,a.responseState,d.lastPushedText)):\"number\"===typeof c&&(d=b.blockedSegment,d.lastPushedText=Fa(b.blockedSegment.chunks,\"\"+c,a.responseState,d.lastPushedText))}function Ib(a,b,c){for(var d=c.length,f=0;f<d;f++){var e=b.treeContext;b.treeContext=gb(e,d,f);try{Hb(a,b,c[f])}finally{b.treeContext=e}}}\nfunction Hb(a,b,c){var d=b.blockedSegment.formatContext,f=b.legacyContext,e=b.context;try{return X(a,b,c)}catch(k){if(rb(),\"object\"===typeof k&&null!==k&&\"function\"===typeof k.then){c=k;var g=b.blockedSegment,h=U(a,g.chunks.length,null,g.formatContext,g.lastPushedText,!0);g.children.push(h);g.lastPushedText=!1;a=Bb(a,b.node,b.blockedBoundary,h,b.abortSet,b.legacyContext,b.context,b.treeContext).ping;c.then(a,a);b.blockedSegment.formatContext=d;b.legacyContext=f;b.context=e;G(e)}else throw b.blockedSegment.formatContext=\nd,b.legacyContext=f,b.context=e,G(e),k;}}function Jb(a){var b=a.blockedBoundary;a=a.blockedSegment;a.status=3;Kb(this,b,a)}\nfunction Lb(a,b,c){var d=a.blockedBoundary;a.blockedSegment.status=3;null===d?(b.allPendingTasks--,2!==b.status&&(b.status=2,null!==b.destination&&b.destination.push(null))):(d.pendingTasks--,d.forceClientRender||(d.forceClientRender=!0,a=void 0===c?Error(l(432)):c,d.errorDigest=b.onError(a),d.parentFlushed&&b.clientRenderedBoundaries.push(d)),d.fallbackAbortableTasks.forEach(function(a){return Lb(a,b,c)}),d.fallbackAbortableTasks.clear(),b.allPendingTasks--,0===b.allPendingTasks&&(d=b.onAllReady,\nd()))}function Y(a,b){if(0===b.chunks.length&&1===b.children.length&&null===b.children[0].boundary){var c=b.children[0];c.id=b.id;c.parentFlushed=!0;1===c.status&&Y(a,c)}else a.completedSegments.push(b)}\nfunction Kb(a,b,c){if(null===b){if(c.parentFlushed){if(null!==a.completedRootSegment)throw Error(l(389));a.completedRootSegment=c}a.pendingRootTasks--;0===a.pendingRootTasks&&(a.onShellError=T,b=a.onShellReady,b())}else b.pendingTasks--,b.forceClientRender||(0===b.pendingTasks?(c.parentFlushed&&1===c.status&&Y(b,c),b.parentFlushed&&a.completedBoundaries.push(b),b.fallbackAbortableTasks.forEach(Jb,a),b.fallbackAbortableTasks.clear()):c.parentFlushed&&1===c.status&&(Y(b,c),1===b.completedSegments.length&&\nb.parentFlushed&&a.partialBoundaries.push(b)));a.allPendingTasks--;0===a.allPendingTasks&&(a=a.onAllReady,a())}\nfunction Cb(a){if(2!==a.status){var b=E,c=yb.current;yb.current=xb;var d=S;S=a.responseState;try{var f=a.pingedTasks,e;for(e=0;e<f.length;e++){var g=f[e];var h=a,k=g.blockedSegment;if(0===k.status){G(g.context);try{X(h,g,g.node),h.responseState.generateStaticMarkup||k.lastPushedText&&k.textEmbedded&&k.chunks.push(\"\\x3c!-- --\\x3e\"),g.abortSet.delete(g),k.status=1,Kb(h,g.blockedBoundary,k)}catch(z){if(rb(),\"object\"===typeof z&&null!==z&&\"function\"===typeof z.then){var m=g.ping;z.then(m,m)}else{g.abortSet.delete(g);\nk.status=4;var n=g.blockedBoundary,q=z,C=V(h,q);null===n?W(h,q):(n.pendingTasks--,n.forceClientRender||(n.forceClientRender=!0,n.errorDigest=C,n.parentFlushed&&h.clientRenderedBoundaries.push(n)));h.allPendingTasks--;if(0===h.allPendingTasks){var D=h.onAllReady;D()}}}finally{}}}f.splice(0,e);null!==a.destination&&Mb(a,a.destination)}catch(z){V(a,z),W(a,z)}finally{S=d,yb.current=c,c===xb&&G(b)}}}\nfunction Z(a,b,c){c.parentFlushed=!0;switch(c.status){case 0:var d=c.id=a.nextSegmentId++;c.lastPushedText=!1;c.textEmbedded=!1;a=a.responseState;b.push('<template id=\"');b.push(a.placeholderPrefix);a=d.toString(16);b.push(a);return b.push('\"></template>');case 1:c.status=2;var f=!0;d=c.chunks;var e=0;c=c.children;for(var g=0;g<c.length;g++){for(f=c[g];e<f.index;e++)b.push(d[e]);f=Nb(a,b,f)}for(;e<d.length-1;e++)b.push(d[e]);e<d.length&&(f=b.push(d[e]));return f;default:throw Error(l(390));}}\nfunction Nb(a,b,c){var d=c.boundary;if(null===d)return Z(a,b,c);d.parentFlushed=!0;if(d.forceClientRender)return a.responseState.generateStaticMarkup||(d=d.errorDigest,b.push(\"\\x3c!--$!--\\x3e\"),b.push(\"<template\"),d&&(b.push(' data-dgst=\"'),d=v(d),b.push(d),b.push('\"')),b.push(\"></template>\")),Z(a,b,c),a=a.responseState.generateStaticMarkup?!0:b.push(\"\\x3c!--/$--\\x3e\"),a;if(0<d.pendingTasks){d.rootSegmentID=a.nextSegmentId++;0<d.completedSegments.length&&a.partialBoundaries.push(d);var f=a.responseState;\nvar e=f.nextSuspenseID++;f=f.boundaryPrefix+e.toString(16);d=d.id=f;za(b,a.responseState,d);Z(a,b,c);return b.push(\"\\x3c!--/$--\\x3e\")}if(d.byteSize>a.progressiveChunkSize)return d.rootSegmentID=a.nextSegmentId++,a.completedBoundaries.push(d),za(b,a.responseState,d.id),Z(a,b,c),b.push(\"\\x3c!--/$--\\x3e\");a.responseState.generateStaticMarkup||b.push(\"\\x3c!--$--\\x3e\");c=d.completedSegments;if(1!==c.length)throw Error(l(391));Nb(a,b,c[0]);a=a.responseState.generateStaticMarkup?!0:b.push(\"\\x3c!--/$--\\x3e\");\nreturn a}function Ob(a,b,c){Aa(b,a.responseState,c.formatContext,c.id);Nb(a,b,c);return Ba(b,c.formatContext)}\nfunction Pb(a,b,c){for(var d=c.completedSegments,f=0;f<d.length;f++)Qb(a,b,c,d[f]);d.length=0;a=a.responseState;d=c.id;c=c.rootSegmentID;b.push(a.startInlineScript);a.sentCompleteBoundaryFunction?b.push('$RC(\"'):(a.sentCompleteBoundaryFunction=!0,b.push('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d)if(0===e)break;else e--;else\"$\"!==d&&\"$?\"!==d&&\"$!\"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data=\"$\";a._reactRetry&&a._reactRetry()}};$RC(\"'));if(null===\nd)throw Error(l(395));c=c.toString(16);b.push(d);b.push('\",\"');b.push(a.segmentPrefix);b.push(c);return b.push('\")\\x3c/script>')}\nfunction Qb(a,b,c,d){if(2===d.status)return!0;var f=d.id;if(-1===f){if(-1===(d.id=c.rootSegmentID))throw Error(l(392));return Ob(a,b,d)}Ob(a,b,d);a=a.responseState;b.push(a.startInlineScript);a.sentCompleteSegmentFunction?b.push('$RS(\"'):(a.sentCompleteSegmentFunction=!0,b.push('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'));b.push(a.segmentPrefix);\nf=f.toString(16);b.push(f);b.push('\",\"');b.push(a.placeholderPrefix);b.push(f);return b.push('\")\\x3c/script>')}\nfunction Mb(a,b){try{var c=a.completedRootSegment;if(null!==c&&0===a.pendingRootTasks){Nb(a,b,c);a.completedRootSegment=null;var d=a.responseState.bootstrapChunks;for(c=0;c<d.length-1;c++)b.push(d[c]);c<d.length&&b.push(d[c])}var f=a.clientRenderedBoundaries,e;for(e=0;e<f.length;e++){var g=f[e];d=b;var h=a.responseState,k=g.id,m=g.errorDigest,n=g.errorMessage,q=g.errorComponentStack;d.push(h.startInlineScript);h.sentClientRenderFunction?d.push('$RX(\"'):(h.sentClientRenderFunction=!0,d.push('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX(\"'));\nif(null===k)throw Error(l(395));d.push(k);d.push('\"');if(m||n||q){d.push(\",\");var C=Da(m||\"\");d.push(C)}if(n||q){d.push(\",\");var D=Da(n||\"\");d.push(D)}if(q){d.push(\",\");var z=Da(q);d.push(z)}if(!d.push(\")\\x3c/script>\")){a.destination=null;e++;f.splice(0,e);return}}f.splice(0,e);var ba=a.completedBoundaries;for(e=0;e<ba.length;e++)if(!Pb(a,b,ba[e])){a.destination=null;e++;ba.splice(0,e);return}ba.splice(0,e);var ca=a.partialBoundaries;for(e=0;e<ca.length;e++){var mb=ca[e];a:{f=a;g=b;var da=mb.completedSegments;\nfor(h=0;h<da.length;h++)if(!Qb(f,g,mb,da[h])){h++;da.splice(0,h);var nb=!1;break a}da.splice(0,h);nb=!0}if(!nb){a.destination=null;e++;ca.splice(0,e);return}}ca.splice(0,e);var ea=a.completedBoundaries;for(e=0;e<ea.length;e++)if(!Pb(a,b,ea[e])){a.destination=null;e++;ea.splice(0,e);return}ea.splice(0,e)}finally{0===a.allPendingTasks&&0===a.pingedTasks.length&&0===a.clientRenderedBoundaries.length&&0===a.completedBoundaries.length&&b.push(null)}}\nfunction Rb(a,b){try{var c=a.abortableTasks;c.forEach(function(c){return Lb(c,a,b)});c.clear();null!==a.destination&&Mb(a,a.destination)}catch(d){V(a,d),W(a,d)}}function Sb(){}\nfunction Tb(a,b,c,d){var f=!1,e=null,g=\"\",h={push:function(a){null!==a&&(g+=a);return!0},destroy:function(a){f=!0;e=a}},k=!1;a=Ab(a,Ea(c,b?b.identifierPrefix:void 0),{insertionMode:1,selectedValue:null},Infinity,Sb,void 0,function(){k=!0},void 0,void 0);Cb(a);Rb(a,d);if(1===a.status)a.status=2,h.destroy(a.fatalError);else if(2!==a.status&&null===a.destination){a.destination=h;try{Mb(a,h)}catch(m){V(a,m),W(a,m)}}if(f)throw e;if(!k)throw Error(l(426));return g}\nexports.renderToNodeStream=function(){throw Error(l(207));};exports.renderToStaticMarkup=function(a,b){return Tb(a,b,!0,'The server used \"renderToStaticMarkup\" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server')};exports.renderToStaticNodeStream=function(){throw Error(l(208));};exports.renderToString=function(a,b){return Tb(a,b,!1,'The server used \"renderToString\" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server')};\nexports.version=\"18.3.1\";\n",
|
|
6
6
|
"/**\n * @license React\n * react-dom-server.browser.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var aa=require(\"react\");function k(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var l=null,n=0;\nfunction p(a,b){if(0!==b.length)if(512<b.length)0<n&&(a.enqueue(new Uint8Array(l.buffer,0,n)),l=new Uint8Array(512),n=0),a.enqueue(b);else{var c=l.length-n;c<b.length&&(0===c?a.enqueue(l):(l.set(b.subarray(0,c),n),a.enqueue(l),b=b.subarray(c)),l=new Uint8Array(512),n=0);l.set(b,n);n+=b.length}}function t(a,b){p(a,b);return!0}function ba(a){l&&0<n&&(a.enqueue(new Uint8Array(l.buffer,0,n)),l=null,n=0)}var ca=new TextEncoder;function u(a){return ca.encode(a)}function w(a){return ca.encode(a)}\nfunction da(a,b){\"function\"===typeof a.error?a.error(b):a.close()}var x=Object.prototype.hasOwnProperty,ea=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,fa={},ha={};\nfunction ia(a){if(x.call(ha,a))return!0;if(x.call(fa,a))return!1;if(ea.test(a))return ha[a]=!0;fa[a]=!0;return!1}function y(a,b,c,d,f,e,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=f;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=e;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new y(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new y(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new y(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new y(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new y(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new y(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new y(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new y(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new y(a,5,!1,a.toLowerCase(),null,!1,!1)});var ja=/[\\-:]([a-z])/g;function ka(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ja,\nka);z[b]=new y(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ja,ka);z[b]=new y(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ja,ka);z[b]=new y(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new y(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new y(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new y(a,1,!1,a.toLowerCase(),null,!0,!0)});\nvar B={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,\nfillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},la=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(B).forEach(function(a){la.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);B[b]=B[a]})});var oa=/[\"'&<>]/;\nfunction C(a){if(\"boolean\"===typeof a||\"number\"===typeof a)return\"\"+a;a=\"\"+a;var b=oa.exec(a);if(b){var c=\"\",d,f=0;for(d=b.index;d<a.length;d++){switch(a.charCodeAt(d)){case 34:b=\""\";break;case 38:b=\"&\";break;case 39:b=\"'\";break;case 60:b=\"<\";break;case 62:b=\">\";break;default:continue}f!==d&&(c+=a.substring(f,d));f=d+1;c+=b}a=f!==d?c+a.substring(f,d):c}return a}\nvar pa=/([A-Z])/g,qa=/^ms-/,ra=Array.isArray,sa=w(\"<script>\"),ta=w(\"\\x3c/script>\"),ua=w('<script src=\"'),va=w('<script type=\"module\" src=\"'),wa=w('\" async=\"\">\\x3c/script>'),xa=/(<\\/|<)(s)(cript)/gi;function ya(a,b,c,d){return\"\"+b+(\"s\"===c?\"\\\\u0073\":\"\\\\u0053\")+d}\nfunction za(a,b,c,d,f){a=void 0===a?\"\":a;b=void 0===b?sa:w('<script nonce=\"'+C(b)+'\">');var e=[];void 0!==c&&e.push(b,u((\"\"+c).replace(xa,ya)),ta);if(void 0!==d)for(c=0;c<d.length;c++)e.push(ua,u(C(d[c])),wa);if(void 0!==f)for(d=0;d<f.length;d++)e.push(va,u(C(f[d])),wa);return{bootstrapChunks:e,startInlineScript:b,placeholderPrefix:w(a+\"P:\"),segmentPrefix:w(a+\"S:\"),boundaryPrefix:a+\"B:\",idPrefix:a,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1}}\nfunction D(a,b){return{insertionMode:a,selectedValue:b}}function Aa(a){return D(\"http://www.w3.org/2000/svg\"===a?2:\"http://www.w3.org/1998/Math/MathML\"===a?3:0,null)}\nfunction Ba(a,b,c){switch(b){case \"select\":return D(1,null!=c.value?c.value:c.defaultValue);case \"svg\":return D(2,null);case \"math\":return D(3,null);case \"foreignObject\":return D(1,null);case \"table\":return D(4,null);case \"thead\":case \"tbody\":case \"tfoot\":return D(5,null);case \"colgroup\":return D(7,null);case \"tr\":return D(6,null)}return 4<=a.insertionMode||0===a.insertionMode?D(1,null):a}var Ca=w(\"\\x3c!-- --\\x3e\");function Da(a,b,c,d){if(\"\"===b)return d;d&&a.push(Ca);a.push(u(C(b)));return!0}\nvar Ea=new Map,Fa=w(' style=\"'),Ga=w(\":\"),Ha=w(\";\");\nfunction Ia(a,b,c){if(\"object\"!==typeof c)throw Error(k(62));b=!0;for(var d in c)if(x.call(c,d)){var f=c[d];if(null!=f&&\"boolean\"!==typeof f&&\"\"!==f){if(0===d.indexOf(\"--\")){var e=u(C(d));f=u(C((\"\"+f).trim()))}else{e=d;var g=Ea.get(e);void 0!==g?e=g:(g=w(C(e.replace(pa,\"-$1\").toLowerCase().replace(qa,\"-ms-\"))),Ea.set(e,g),e=g);f=\"number\"===typeof f?0===f||x.call(B,d)?u(\"\"+f):u(f+\"px\"):u(C((\"\"+f).trim()))}b?(b=!1,a.push(Fa,e,Ga,f)):a.push(Ha,e,Ga,f)}}b||a.push(E)}\nvar H=w(\" \"),I=w('=\"'),E=w('\"'),Ja=w('=\"\"');\nfunction J(a,b,c,d){switch(c){case \"style\":Ia(a,b,d);return;case \"defaultValue\":case \"defaultChecked\":case \"innerHTML\":case \"suppressContentEditableWarning\":case \"suppressHydrationWarning\":return}if(!(2<c.length)||\"o\"!==c[0]&&\"O\"!==c[0]||\"n\"!==c[1]&&\"N\"!==c[1])if(b=z.hasOwnProperty(c)?z[c]:null,null!==b){switch(typeof d){case \"function\":case \"symbol\":return;case \"boolean\":if(!b.acceptsBooleans)return}c=u(b.attributeName);switch(b.type){case 3:d&&a.push(H,c,Ja);break;case 4:!0===d?a.push(H,c,Ja):!1!==\nd&&a.push(H,c,I,u(C(d)),E);break;case 5:isNaN(d)||a.push(H,c,I,u(C(d)),E);break;case 6:!isNaN(d)&&1<=d&&a.push(H,c,I,u(C(d)),E);break;default:b.sanitizeURL&&(d=\"\"+d),a.push(H,c,I,u(C(d)),E)}}else if(ia(c)){switch(typeof d){case \"function\":case \"symbol\":return;case \"boolean\":if(b=c.toLowerCase().slice(0,5),\"data-\"!==b&&\"aria-\"!==b)return}a.push(H,u(c),I,u(C(d)),E)}}var K=w(\">\"),Ka=w(\"/>\");\nfunction L(a,b,c){if(null!=b){if(null!=c)throw Error(k(60));if(\"object\"!==typeof b||!(\"__html\"in b))throw Error(k(61));b=b.__html;null!==b&&void 0!==b&&a.push(u(\"\"+b))}}function La(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}var Ma=w(' selected=\"\"');\nfunction Na(a,b,c,d){a.push(M(c));var f=c=null,e;for(e in b)if(x.call(b,e)){var g=b[e];if(null!=g)switch(e){case \"children\":c=g;break;case \"dangerouslySetInnerHTML\":f=g;break;default:J(a,d,e,g)}}a.push(K);L(a,f,c);return\"string\"===typeof c?(a.push(u(C(c))),null):c}var Oa=w(\"\\n\"),Pa=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,Qa=new Map;function M(a){var b=Qa.get(a);if(void 0===b){if(!Pa.test(a))throw Error(k(65,a));b=w(\"<\"+a);Qa.set(a,b)}return b}var Ra=w(\"<!DOCTYPE html>\");\nfunction Sa(a,b,c,d,f){switch(b){case \"select\":a.push(M(\"select\"));var e=null,g=null;for(r in c)if(x.call(c,r)){var h=c[r];if(null!=h)switch(r){case \"children\":e=h;break;case \"dangerouslySetInnerHTML\":g=h;break;case \"defaultValue\":case \"value\":break;default:J(a,d,r,h)}}a.push(K);L(a,g,e);return e;case \"option\":g=f.selectedValue;a.push(M(\"option\"));var m=h=null,q=null;var r=null;for(e in c)if(x.call(c,e)){var v=c[e];if(null!=v)switch(e){case \"children\":h=v;break;case \"selected\":q=v;break;case \"dangerouslySetInnerHTML\":r=\nv;break;case \"value\":m=v;default:J(a,d,e,v)}}if(null!=g)if(c=null!==m?\"\"+m:La(h),ra(g))for(d=0;d<g.length;d++){if(\"\"+g[d]===c){a.push(Ma);break}}else\"\"+g===c&&a.push(Ma);else q&&a.push(Ma);a.push(K);L(a,r,h);return h;case \"textarea\":a.push(M(\"textarea\"));r=g=e=null;for(h in c)if(x.call(c,h)&&(m=c[h],null!=m))switch(h){case \"children\":r=m;break;case \"value\":e=m;break;case \"defaultValue\":g=m;break;case \"dangerouslySetInnerHTML\":throw Error(k(91));default:J(a,d,h,m)}null===e&&null!==g&&(e=g);a.push(K);\nif(null!=r){if(null!=e)throw Error(k(92));if(ra(r)&&1<r.length)throw Error(k(93));e=\"\"+r}\"string\"===typeof e&&\"\\n\"===e[0]&&a.push(Oa);null!==e&&a.push(u(C(\"\"+e)));return null;case \"input\":a.push(M(\"input\"));m=r=h=e=null;for(g in c)if(x.call(c,g)&&(q=c[g],null!=q))switch(g){case \"children\":case \"dangerouslySetInnerHTML\":throw Error(k(399,\"input\"));case \"defaultChecked\":m=q;break;case \"defaultValue\":h=q;break;case \"checked\":r=q;break;case \"value\":e=q;break;default:J(a,d,g,q)}null!==r?J(a,d,\"checked\",\nr):null!==m&&J(a,d,\"checked\",m);null!==e?J(a,d,\"value\",e):null!==h&&J(a,d,\"value\",h);a.push(Ka);return null;case \"menuitem\":a.push(M(\"menuitem\"));for(var A in c)if(x.call(c,A)&&(e=c[A],null!=e))switch(A){case \"children\":case \"dangerouslySetInnerHTML\":throw Error(k(400));default:J(a,d,A,e)}a.push(K);return null;case \"title\":a.push(M(\"title\"));e=null;for(v in c)if(x.call(c,v)&&(g=c[v],null!=g))switch(v){case \"children\":e=g;break;case \"dangerouslySetInnerHTML\":throw Error(k(434));default:J(a,d,v,g)}a.push(K);\nreturn e;case \"listing\":case \"pre\":a.push(M(b));g=e=null;for(m in c)if(x.call(c,m)&&(h=c[m],null!=h))switch(m){case \"children\":e=h;break;case \"dangerouslySetInnerHTML\":g=h;break;default:J(a,d,m,h)}a.push(K);if(null!=g){if(null!=e)throw Error(k(60));if(\"object\"!==typeof g||!(\"__html\"in g))throw Error(k(61));c=g.__html;null!==c&&void 0!==c&&(\"string\"===typeof c&&0<c.length&&\"\\n\"===c[0]?a.push(Oa,u(c)):a.push(u(\"\"+c)))}\"string\"===typeof e&&\"\\n\"===e[0]&&a.push(Oa);return e;case \"area\":case \"base\":case \"br\":case \"col\":case \"embed\":case \"hr\":case \"img\":case \"keygen\":case \"link\":case \"meta\":case \"param\":case \"source\":case \"track\":case \"wbr\":a.push(M(b));\nfor(var F in c)if(x.call(c,F)&&(e=c[F],null!=e))switch(F){case \"children\":case \"dangerouslySetInnerHTML\":throw Error(k(399,b));default:J(a,d,F,e)}a.push(Ka);return null;case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return Na(a,c,b,d);case \"html\":return 0===f.insertionMode&&a.push(Ra),Na(a,c,b,d);default:if(-1===b.indexOf(\"-\")&&\"string\"!==typeof c.is)return Na(a,c,b,d);a.push(M(b));\ng=e=null;for(q in c)if(x.call(c,q)&&(h=c[q],null!=h))switch(q){case \"children\":e=h;break;case \"dangerouslySetInnerHTML\":g=h;break;case \"style\":Ia(a,d,h);break;case \"suppressContentEditableWarning\":case \"suppressHydrationWarning\":break;default:ia(q)&&\"function\"!==typeof h&&\"symbol\"!==typeof h&&a.push(H,u(q),I,u(C(h)),E)}a.push(K);L(a,g,e);return e}}\nvar Ta=w(\"</\"),Ua=w(\">\"),Va=w('<template id=\"'),Wa=w('\"></template>'),Xa=w(\"\\x3c!--$--\\x3e\"),Ya=w('\\x3c!--$?--\\x3e<template id=\"'),Za=w('\"></template>'),$a=w(\"\\x3c!--$!--\\x3e\"),ab=w(\"\\x3c!--/$--\\x3e\"),bb=w(\"<template\"),cb=w('\"'),db=w(' data-dgst=\"');w(' data-msg=\"');w(' data-stck=\"');var eb=w(\"></template>\");function fb(a,b,c){p(a,Ya);if(null===c)throw Error(k(395));p(a,c);return t(a,Za)}\nvar gb=w('<div hidden id=\"'),hb=w('\">'),ib=w(\"</div>\"),jb=w('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'),kb=w('\">'),lb=w(\"</svg>\"),mb=w('<math aria-hidden=\"true\" style=\"display:none\" id=\"'),nb=w('\">'),ob=w(\"</math>\"),pb=w('<table hidden id=\"'),qb=w('\">'),rb=w(\"</table>\"),sb=w('<table hidden><tbody id=\"'),tb=w('\">'),ub=w(\"</tbody></table>\"),vb=w('<table hidden><tr id=\"'),wb=w('\">'),xb=w(\"</tr></table>\"),yb=w('<table hidden><colgroup id=\"'),zb=w('\">'),Ab=w(\"</colgroup></table>\");\nfunction Bb(a,b,c,d){switch(c.insertionMode){case 0:case 1:return p(a,gb),p(a,b.segmentPrefix),p(a,u(d.toString(16))),t(a,hb);case 2:return p(a,jb),p(a,b.segmentPrefix),p(a,u(d.toString(16))),t(a,kb);case 3:return p(a,mb),p(a,b.segmentPrefix),p(a,u(d.toString(16))),t(a,nb);case 4:return p(a,pb),p(a,b.segmentPrefix),p(a,u(d.toString(16))),t(a,qb);case 5:return p(a,sb),p(a,b.segmentPrefix),p(a,u(d.toString(16))),t(a,tb);case 6:return p(a,vb),p(a,b.segmentPrefix),p(a,u(d.toString(16))),t(a,wb);case 7:return p(a,\nyb),p(a,b.segmentPrefix),p(a,u(d.toString(16))),t(a,zb);default:throw Error(k(397));}}function Cb(a,b){switch(b.insertionMode){case 0:case 1:return t(a,ib);case 2:return t(a,lb);case 3:return t(a,ob);case 4:return t(a,rb);case 5:return t(a,ub);case 6:return t(a,xb);case 7:return t(a,Ab);default:throw Error(k(397));}}\nvar Db=w('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'),Eb=w('$RS(\"'),Gb=w('\",\"'),Hb=w('\")\\x3c/script>'),Ib=w('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d)if(0===e)break;else e--;else\"$\"!==d&&\"$?\"!==d&&\"$!\"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data=\"$\";a._reactRetry&&a._reactRetry()}};$RC(\"'),\nJb=w('$RC(\"'),Kb=w('\",\"'),Lb=w('\")\\x3c/script>'),Mb=w('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX(\"'),Nb=w('$RX(\"'),Ob=w('\"'),Pb=w(\")\\x3c/script>\"),Qb=w(\",\"),Rb=/[<\\u2028\\u2029]/g;\nfunction Sb(a){return JSON.stringify(a).replace(Rb,function(a){switch(a){case \"<\":return\"\\\\u003c\";case \"\\u2028\":return\"\\\\u2028\";case \"\\u2029\":return\"\\\\u2029\";default:throw Error(\"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\");}})}\nvar N=Object.assign,Tb=Symbol.for(\"react.element\"),Ub=Symbol.for(\"react.portal\"),Vb=Symbol.for(\"react.fragment\"),Wb=Symbol.for(\"react.strict_mode\"),Xb=Symbol.for(\"react.profiler\"),Yb=Symbol.for(\"react.provider\"),Zb=Symbol.for(\"react.context\"),$b=Symbol.for(\"react.forward_ref\"),ac=Symbol.for(\"react.suspense\"),bc=Symbol.for(\"react.suspense_list\"),cc=Symbol.for(\"react.memo\"),dc=Symbol.for(\"react.lazy\"),ec=Symbol.for(\"react.scope\"),fc=Symbol.for(\"react.debug_trace_mode\"),gc=Symbol.for(\"react.legacy_hidden\"),\nhc=Symbol.for(\"react.default_value\"),ic=Symbol.iterator;\nfunction jc(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case Vb:return\"Fragment\";case Ub:return\"Portal\";case Xb:return\"Profiler\";case Wb:return\"StrictMode\";case ac:return\"Suspense\";case bc:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Zb:return(a.displayName||\"Context\")+\".Consumer\";case Yb:return(a._context.displayName||\"Context\")+\".Provider\";case $b:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case cc:return b=a.displayName||null,null!==b?b:jc(a.type)||\"Memo\";case dc:b=a._payload;a=a._init;try{return jc(a(b))}catch(c){}}return null}var kc={};function lc(a,b){a=a.contextTypes;if(!a)return kc;var c={},d;for(d in a)c[d]=b[d];return c}var O=null;\nfunction P(a,b){if(a!==b){a.context._currentValue=a.parentValue;a=a.parent;var c=b.parent;if(null===a){if(null!==c)throw Error(k(401));}else{if(null===c)throw Error(k(401));P(a,c)}b.context._currentValue=b.value}}function mc(a){a.context._currentValue=a.parentValue;a=a.parent;null!==a&&mc(a)}function nc(a){var b=a.parent;null!==b&&nc(b);a.context._currentValue=a.value}\nfunction oc(a,b){a.context._currentValue=a.parentValue;a=a.parent;if(null===a)throw Error(k(402));a.depth===b.depth?P(a,b):oc(a,b)}function pc(a,b){var c=b.parent;if(null===c)throw Error(k(402));a.depth===c.depth?P(a,c):pc(a,c);b.context._currentValue=b.value}function Q(a){var b=O;b!==a&&(null===b?nc(a):null===a?mc(b):b.depth===a.depth?P(b,a):b.depth>a.depth?oc(b,a):pc(b,a),O=a)}\nvar qc={isMounted:function(){return!1},enqueueSetState:function(a,b){a=a._reactInternals;null!==a.queue&&a.queue.push(b)},enqueueReplaceState:function(a,b){a=a._reactInternals;a.replace=!0;a.queue=[b]},enqueueForceUpdate:function(){}};\nfunction rc(a,b,c,d){var f=void 0!==a.state?a.state:null;a.updater=qc;a.props=c;a.state=f;var e={queue:[],replace:!1};a._reactInternals=e;var g=b.contextType;a.context=\"object\"===typeof g&&null!==g?g._currentValue:d;g=b.getDerivedStateFromProps;\"function\"===typeof g&&(g=g(c,f),f=null===g||void 0===g?f:N({},f,g),a.state=f);if(\"function\"!==typeof b.getDerivedStateFromProps&&\"function\"!==typeof a.getSnapshotBeforeUpdate&&(\"function\"===typeof a.UNSAFE_componentWillMount||\"function\"===typeof a.componentWillMount))if(b=\na.state,\"function\"===typeof a.componentWillMount&&a.componentWillMount(),\"function\"===typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),b!==a.state&&qc.enqueueReplaceState(a,a.state,null),null!==e.queue&&0<e.queue.length)if(b=e.queue,g=e.replace,e.queue=null,e.replace=!1,g&&1===b.length)a.state=b[0];else{e=g?b[0]:a.state;f=!0;for(g=g?1:0;g<b.length;g++){var h=b[g];h=\"function\"===typeof h?h.call(a,e,c,d):h;null!=h&&(f?(f=!1,e=N({},e,h)):N(e,h))}a.state=e}else e.queue=null}\nvar sc={id:1,overflow:\"\"};function tc(a,b,c){var d=a.id;a=a.overflow;var f=32-uc(d)-1;d&=~(1<<f);c+=1;var e=32-uc(b)+f;if(30<e){var g=f-f%5;e=(d&(1<<g)-1).toString(32);d>>=g;f-=g;return{id:1<<32-uc(b)+f|c<<f|d,overflow:e+a}}return{id:1<<e|c<<f|d,overflow:a}}var uc=Math.clz32?Math.clz32:vc,wc=Math.log,xc=Math.LN2;function vc(a){a>>>=0;return 0===a?32:31-(wc(a)/xc|0)|0}function yc(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}\nvar zc=\"function\"===typeof Object.is?Object.is:yc,R=null,Ac=null,Bc=null,S=null,T=!1,Cc=!1,U=0,V=null,Dc=0;function W(){if(null===R)throw Error(k(321));return R}function Ec(){if(0<Dc)throw Error(k(312));return{memoizedState:null,queue:null,next:null}}function Fc(){null===S?null===Bc?(T=!1,Bc=S=Ec()):(T=!0,S=Bc):null===S.next?(T=!1,S=S.next=Ec()):(T=!0,S=S.next);return S}function Gc(){Ac=R=null;Cc=!1;Bc=null;Dc=0;S=V=null}function Hc(a,b){return\"function\"===typeof b?b(a):b}\nfunction Ic(a,b,c){R=W();S=Fc();if(T){var d=S.queue;b=d.dispatch;if(null!==V&&(c=V.get(d),void 0!==c)){V.delete(d);d=S.memoizedState;do d=a(d,c.action),c=c.next;while(null!==c);S.memoizedState=d;return[d,b]}return[S.memoizedState,b]}a=a===Hc?\"function\"===typeof b?b():b:void 0!==c?c(b):b;S.memoizedState=a;a=S.queue={last:null,dispatch:null};a=a.dispatch=Jc.bind(null,R,a);return[S.memoizedState,a]}\nfunction Kc(a,b){R=W();S=Fc();b=void 0===b?null:b;if(null!==S){var c=S.memoizedState;if(null!==c&&null!==b){var d=c[1];a:if(null===d)d=!1;else{for(var f=0;f<d.length&&f<b.length;f++)if(!zc(b[f],d[f])){d=!1;break a}d=!0}if(d)return c[0]}}a=a();S.memoizedState=[a,b];return a}function Jc(a,b,c){if(25<=Dc)throw Error(k(301));if(a===R)if(Cc=!0,a={action:c,next:null},null===V&&(V=new Map),c=V.get(b),void 0===c)V.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}}\nfunction Lc(){throw Error(k(394));}function Mc(){}\nvar Oc={readContext:function(a){return a._currentValue},useContext:function(a){W();return a._currentValue},useMemo:Kc,useReducer:Ic,useRef:function(a){R=W();S=Fc();var b=S.memoizedState;return null===b?(a={current:a},S.memoizedState=a):b},useState:function(a){return Ic(Hc,a)},useInsertionEffect:Mc,useLayoutEffect:function(){},useCallback:function(a,b){return Kc(function(){return a},b)},useImperativeHandle:Mc,useEffect:Mc,useDebugValue:Mc,useDeferredValue:function(a){W();return a},useTransition:function(){W();\nreturn[!1,Lc]},useId:function(){var a=Ac.treeContext;var b=a.overflow;a=a.id;a=(a&~(1<<32-uc(a)-1)).toString(32)+b;var c=Nc;if(null===c)throw Error(k(404));b=U++;a=\":\"+c.idPrefix+\"R\"+a;0<b&&(a+=\"H\"+b.toString(32));return a+\":\"},useMutableSource:function(a,b){W();return b(a._source)},useSyncExternalStore:function(a,b,c){if(void 0===c)throw Error(k(407));return c()}},Nc=null,Pc=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function Qc(a){console.error(a);return null}\nfunction X(){}\nfunction Rc(a,b,c,d,f,e,g,h,m){var q=[],r=new Set;b={destination:null,responseState:b,progressiveChunkSize:void 0===d?12800:d,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:r,pingedTasks:q,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===f?Qc:f,onAllReady:void 0===e?X:e,onShellReady:void 0===g?X:g,onShellError:void 0===h?X:h,onFatalError:void 0===m?X:m};c=Sc(b,0,null,c,!1,!1);c.parentFlushed=\n!0;a=Tc(b,a,null,c,r,kc,null,sc);q.push(a);return b}function Tc(a,b,c,d,f,e,g,h){a.allPendingTasks++;null===c?a.pendingRootTasks++:c.pendingTasks++;var m={node:b,ping:function(){var b=a.pingedTasks;b.push(m);1===b.length&&Uc(a)},blockedBoundary:c,blockedSegment:d,abortSet:f,legacyContext:e,context:g,treeContext:h};f.add(m);return m}function Sc(a,b,c,d,f,e){return{status:0,id:-1,index:b,parentFlushed:!1,chunks:[],children:[],formatContext:d,boundary:c,lastPushedText:f,textEmbedded:e}}\nfunction Y(a,b){a=a.onError(b);if(null!=a&&\"string\"!==typeof a)throw Error('onError returned something with a type other than \"string\". onError should return a string and may return null or undefined but must not return anything else. It received something of type \"'+typeof a+'\" instead');return a}function Vc(a,b){var c=a.onShellError;c(b);c=a.onFatalError;c(b);null!==a.destination?(a.status=2,da(a.destination,b)):(a.status=1,a.fatalError=b)}\nfunction Wc(a,b,c,d,f){R={};Ac=b;U=0;for(a=c(d,f);Cc;)Cc=!1,U=0,Dc+=1,S=null,a=c(d,f);Gc();return a}function Xc(a,b,c,d){var f=c.render(),e=d.childContextTypes;if(null!==e&&void 0!==e){var g=b.legacyContext;if(\"function\"!==typeof c.getChildContext)d=g;else{c=c.getChildContext();for(var h in c)if(!(h in e))throw Error(k(108,jc(d)||\"Unknown\",h));d=N({},g,c)}b.legacyContext=d;Z(a,b,f);b.legacyContext=g}else Z(a,b,f)}\nfunction Yc(a,b){if(a&&a.defaultProps){b=N({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}\nfunction Zc(a,b,c,d,f){if(\"function\"===typeof c)if(c.prototype&&c.prototype.isReactComponent){f=lc(c,b.legacyContext);var e=c.contextType;e=new c(d,\"object\"===typeof e&&null!==e?e._currentValue:f);rc(e,c,d,f);Xc(a,b,e,c)}else{e=lc(c,b.legacyContext);f=Wc(a,b,c,d,e);var g=0!==U;if(\"object\"===typeof f&&null!==f&&\"function\"===typeof f.render&&void 0===f.$$typeof)rc(f,c,d,e),Xc(a,b,f,c);else if(g){d=b.treeContext;b.treeContext=tc(d,1,0);try{Z(a,b,f)}finally{b.treeContext=d}}else Z(a,b,f)}else if(\"string\"===\ntypeof c){f=b.blockedSegment;e=Sa(f.chunks,c,d,a.responseState,f.formatContext);f.lastPushedText=!1;g=f.formatContext;f.formatContext=Ba(g,c,d);$c(a,b,e);f.formatContext=g;switch(c){case \"area\":case \"base\":case \"br\":case \"col\":case \"embed\":case \"hr\":case \"img\":case \"input\":case \"keygen\":case \"link\":case \"meta\":case \"param\":case \"source\":case \"track\":case \"wbr\":break;default:f.chunks.push(Ta,u(c),Ua)}f.lastPushedText=!1}else{switch(c){case gc:case fc:case Wb:case Xb:case Vb:Z(a,b,d.children);return;\ncase bc:Z(a,b,d.children);return;case ec:throw Error(k(343));case ac:a:{c=b.blockedBoundary;f=b.blockedSegment;e=d.fallback;d=d.children;g=new Set;var h={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:g,errorDigest:null},m=Sc(a,f.chunks.length,h,f.formatContext,!1,!1);f.children.push(m);f.lastPushedText=!1;var q=Sc(a,0,null,f.formatContext,!1,!1);q.parentFlushed=!0;b.blockedBoundary=h;b.blockedSegment=q;try{if($c(a,\nb,d),q.lastPushedText&&q.textEmbedded&&q.chunks.push(Ca),q.status=1,ad(h,q),0===h.pendingTasks)break a}catch(r){q.status=4,h.forceClientRender=!0,h.errorDigest=Y(a,r)}finally{b.blockedBoundary=c,b.blockedSegment=f}b=Tc(a,e,c,m,g,b.legacyContext,b.context,b.treeContext);a.pingedTasks.push(b)}return}if(\"object\"===typeof c&&null!==c)switch(c.$$typeof){case $b:d=Wc(a,b,c.render,d,f);if(0!==U){c=b.treeContext;b.treeContext=tc(c,1,0);try{Z(a,b,d)}finally{b.treeContext=c}}else Z(a,b,d);return;case cc:c=\nc.type;d=Yc(c,d);Zc(a,b,c,d,f);return;case Yb:f=d.children;c=c._context;d=d.value;e=c._currentValue;c._currentValue=d;g=O;O=d={parent:g,depth:null===g?0:g.depth+1,context:c,parentValue:e,value:d};b.context=d;Z(a,b,f);a=O;if(null===a)throw Error(k(403));d=a.parentValue;a.context._currentValue=d===hc?a.context._defaultValue:d;a=O=a.parent;b.context=a;return;case Zb:d=d.children;d=d(c._currentValue);Z(a,b,d);return;case dc:f=c._init;c=f(c._payload);d=Yc(c,d);Zc(a,b,c,d,void 0);return}throw Error(k(130,\nnull==c?c:typeof c,\"\"));}}\nfunction Z(a,b,c){b.node=c;if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case Tb:Zc(a,b,c.type,c.props,c.ref);return;case Ub:throw Error(k(257));case dc:var d=c._init;c=d(c._payload);Z(a,b,c);return}if(ra(c)){bd(a,b,c);return}null===c||\"object\"!==typeof c?d=null:(d=ic&&c[ic]||c[\"@@iterator\"],d=\"function\"===typeof d?d:null);if(d&&(d=d.call(c))){c=d.next();if(!c.done){var f=[];do f.push(c.value),c=d.next();while(!c.done);bd(a,b,f)}return}a=Object.prototype.toString.call(c);throw Error(k(31,\"[object Object]\"===\na?\"object with keys {\"+Object.keys(c).join(\", \")+\"}\":a));}\"string\"===typeof c?(d=b.blockedSegment,d.lastPushedText=Da(b.blockedSegment.chunks,c,a.responseState,d.lastPushedText)):\"number\"===typeof c&&(d=b.blockedSegment,d.lastPushedText=Da(b.blockedSegment.chunks,\"\"+c,a.responseState,d.lastPushedText))}function bd(a,b,c){for(var d=c.length,f=0;f<d;f++){var e=b.treeContext;b.treeContext=tc(e,d,f);try{$c(a,b,c[f])}finally{b.treeContext=e}}}\nfunction $c(a,b,c){var d=b.blockedSegment.formatContext,f=b.legacyContext,e=b.context;try{return Z(a,b,c)}catch(m){if(Gc(),\"object\"===typeof m&&null!==m&&\"function\"===typeof m.then){c=m;var g=b.blockedSegment,h=Sc(a,g.chunks.length,null,g.formatContext,g.lastPushedText,!0);g.children.push(h);g.lastPushedText=!1;a=Tc(a,b.node,b.blockedBoundary,h,b.abortSet,b.legacyContext,b.context,b.treeContext).ping;c.then(a,a);b.blockedSegment.formatContext=d;b.legacyContext=f;b.context=e;Q(e)}else throw b.blockedSegment.formatContext=\nd,b.legacyContext=f,b.context=e,Q(e),m;}}function cd(a){var b=a.blockedBoundary;a=a.blockedSegment;a.status=3;dd(this,b,a)}\nfunction ed(a,b,c){var d=a.blockedBoundary;a.blockedSegment.status=3;null===d?(b.allPendingTasks--,2!==b.status&&(b.status=2,null!==b.destination&&b.destination.close())):(d.pendingTasks--,d.forceClientRender||(d.forceClientRender=!0,a=void 0===c?Error(k(432)):c,d.errorDigest=b.onError(a),d.parentFlushed&&b.clientRenderedBoundaries.push(d)),d.fallbackAbortableTasks.forEach(function(a){return ed(a,b,c)}),d.fallbackAbortableTasks.clear(),b.allPendingTasks--,0===b.allPendingTasks&&(d=b.onAllReady,d()))}\nfunction ad(a,b){if(0===b.chunks.length&&1===b.children.length&&null===b.children[0].boundary){var c=b.children[0];c.id=b.id;c.parentFlushed=!0;1===c.status&&ad(a,c)}else a.completedSegments.push(b)}\nfunction dd(a,b,c){if(null===b){if(c.parentFlushed){if(null!==a.completedRootSegment)throw Error(k(389));a.completedRootSegment=c}a.pendingRootTasks--;0===a.pendingRootTasks&&(a.onShellError=X,b=a.onShellReady,b())}else b.pendingTasks--,b.forceClientRender||(0===b.pendingTasks?(c.parentFlushed&&1===c.status&&ad(b,c),b.parentFlushed&&a.completedBoundaries.push(b),b.fallbackAbortableTasks.forEach(cd,a),b.fallbackAbortableTasks.clear()):c.parentFlushed&&1===c.status&&(ad(b,c),1===b.completedSegments.length&&\nb.parentFlushed&&a.partialBoundaries.push(b)));a.allPendingTasks--;0===a.allPendingTasks&&(a=a.onAllReady,a())}\nfunction Uc(a){if(2!==a.status){var b=O,c=Pc.current;Pc.current=Oc;var d=Nc;Nc=a.responseState;try{var f=a.pingedTasks,e;for(e=0;e<f.length;e++){var g=f[e];var h=a,m=g.blockedSegment;if(0===m.status){Q(g.context);try{Z(h,g,g.node),m.lastPushedText&&m.textEmbedded&&m.chunks.push(Ca),g.abortSet.delete(g),m.status=1,dd(h,g.blockedBoundary,m)}catch(G){if(Gc(),\"object\"===typeof G&&null!==G&&\"function\"===typeof G.then){var q=g.ping;G.then(q,q)}else{g.abortSet.delete(g);m.status=4;var r=g.blockedBoundary,\nv=G,A=Y(h,v);null===r?Vc(h,v):(r.pendingTasks--,r.forceClientRender||(r.forceClientRender=!0,r.errorDigest=A,r.parentFlushed&&h.clientRenderedBoundaries.push(r)));h.allPendingTasks--;if(0===h.allPendingTasks){var F=h.onAllReady;F()}}}finally{}}}f.splice(0,e);null!==a.destination&&fd(a,a.destination)}catch(G){Y(a,G),Vc(a,G)}finally{Nc=d,Pc.current=c,c===Oc&&Q(b)}}}\nfunction gd(a,b,c){c.parentFlushed=!0;switch(c.status){case 0:var d=c.id=a.nextSegmentId++;c.lastPushedText=!1;c.textEmbedded=!1;a=a.responseState;p(b,Va);p(b,a.placeholderPrefix);a=u(d.toString(16));p(b,a);return t(b,Wa);case 1:c.status=2;var f=!0;d=c.chunks;var e=0;c=c.children;for(var g=0;g<c.length;g++){for(f=c[g];e<f.index;e++)p(b,d[e]);f=hd(a,b,f)}for(;e<d.length-1;e++)p(b,d[e]);e<d.length&&(f=t(b,d[e]));return f;default:throw Error(k(390));}}\nfunction hd(a,b,c){var d=c.boundary;if(null===d)return gd(a,b,c);d.parentFlushed=!0;if(d.forceClientRender)d=d.errorDigest,t(b,$a),p(b,bb),d&&(p(b,db),p(b,u(C(d))),p(b,cb)),t(b,eb),gd(a,b,c);else if(0<d.pendingTasks){d.rootSegmentID=a.nextSegmentId++;0<d.completedSegments.length&&a.partialBoundaries.push(d);var f=a.responseState;var e=f.nextSuspenseID++;f=w(f.boundaryPrefix+e.toString(16));d=d.id=f;fb(b,a.responseState,d);gd(a,b,c)}else if(d.byteSize>a.progressiveChunkSize)d.rootSegmentID=a.nextSegmentId++,\na.completedBoundaries.push(d),fb(b,a.responseState,d.id),gd(a,b,c);else{t(b,Xa);c=d.completedSegments;if(1!==c.length)throw Error(k(391));hd(a,b,c[0])}return t(b,ab)}function id(a,b,c){Bb(b,a.responseState,c.formatContext,c.id);hd(a,b,c);return Cb(b,c.formatContext)}\nfunction jd(a,b,c){for(var d=c.completedSegments,f=0;f<d.length;f++)kd(a,b,c,d[f]);d.length=0;a=a.responseState;d=c.id;c=c.rootSegmentID;p(b,a.startInlineScript);a.sentCompleteBoundaryFunction?p(b,Jb):(a.sentCompleteBoundaryFunction=!0,p(b,Ib));if(null===d)throw Error(k(395));c=u(c.toString(16));p(b,d);p(b,Kb);p(b,a.segmentPrefix);p(b,c);return t(b,Lb)}\nfunction kd(a,b,c,d){if(2===d.status)return!0;var f=d.id;if(-1===f){if(-1===(d.id=c.rootSegmentID))throw Error(k(392));return id(a,b,d)}id(a,b,d);a=a.responseState;p(b,a.startInlineScript);a.sentCompleteSegmentFunction?p(b,Eb):(a.sentCompleteSegmentFunction=!0,p(b,Db));p(b,a.segmentPrefix);f=u(f.toString(16));p(b,f);p(b,Gb);p(b,a.placeholderPrefix);p(b,f);return t(b,Hb)}\nfunction fd(a,b){l=new Uint8Array(512);n=0;try{var c=a.completedRootSegment;if(null!==c&&0===a.pendingRootTasks){hd(a,b,c);a.completedRootSegment=null;var d=a.responseState.bootstrapChunks;for(c=0;c<d.length-1;c++)p(b,d[c]);c<d.length&&t(b,d[c])}var f=a.clientRenderedBoundaries,e;for(e=0;e<f.length;e++){var g=f[e];d=b;var h=a.responseState,m=g.id,q=g.errorDigest,r=g.errorMessage,v=g.errorComponentStack;p(d,h.startInlineScript);h.sentClientRenderFunction?p(d,Nb):(h.sentClientRenderFunction=!0,p(d,\nMb));if(null===m)throw Error(k(395));p(d,m);p(d,Ob);if(q||r||v)p(d,Qb),p(d,u(Sb(q||\"\")));if(r||v)p(d,Qb),p(d,u(Sb(r||\"\")));v&&(p(d,Qb),p(d,u(Sb(v))));if(!t(d,Pb)){a.destination=null;e++;f.splice(0,e);return}}f.splice(0,e);var A=a.completedBoundaries;for(e=0;e<A.length;e++)if(!jd(a,b,A[e])){a.destination=null;e++;A.splice(0,e);return}A.splice(0,e);ba(b);l=new Uint8Array(512);n=0;var F=a.partialBoundaries;for(e=0;e<F.length;e++){var G=F[e];a:{f=a;g=b;var ma=G.completedSegments;for(h=0;h<ma.length;h++)if(!kd(f,\ng,G,ma[h])){h++;ma.splice(0,h);var Fb=!1;break a}ma.splice(0,h);Fb=!0}if(!Fb){a.destination=null;e++;F.splice(0,e);return}}F.splice(0,e);var na=a.completedBoundaries;for(e=0;e<na.length;e++)if(!jd(a,b,na[e])){a.destination=null;e++;na.splice(0,e);return}na.splice(0,e)}finally{ba(b),0===a.allPendingTasks&&0===a.pingedTasks.length&&0===a.clientRenderedBoundaries.length&&0===a.completedBoundaries.length&&b.close()}}\nfunction ld(a,b){try{var c=a.abortableTasks;c.forEach(function(c){return ed(c,a,b)});c.clear();null!==a.destination&&fd(a,a.destination)}catch(d){Y(a,d),Vc(a,d)}}\nexports.renderToReadableStream=function(a,b){return new Promise(function(c,d){var f,e,g=new Promise(function(a,b){e=a;f=b}),h=Rc(a,za(b?b.identifierPrefix:void 0,b?b.nonce:void 0,b?b.bootstrapScriptContent:void 0,b?b.bootstrapScripts:void 0,b?b.bootstrapModules:void 0),Aa(b?b.namespaceURI:void 0),b?b.progressiveChunkSize:void 0,b?b.onError:void 0,e,function(){var a=new ReadableStream({type:\"bytes\",pull:function(a){if(1===h.status)h.status=2,da(a,h.fatalError);else if(2!==h.status&&null===h.destination){h.destination=\na;try{fd(h,a)}catch(A){Y(h,A),Vc(h,A)}}},cancel:function(){ld(h)}},{highWaterMark:0});a.allReady=g;c(a)},function(a){g.catch(function(){});d(a)},f);if(b&&b.signal){var m=b.signal,q=function(){ld(h,m.reason);m.removeEventListener(\"abort\",q)};m.addEventListener(\"abort\",q)}Uc(h)})};exports.version=\"18.3.1\";\n",
|
|
7
7
|
"'use strict';\n\nvar l, s;\nif (process.env.NODE_ENV === 'production') {\n l = require('./cjs/react-dom-server-legacy.browser.production.min.js');\n s = require('./cjs/react-dom-server.browser.production.min.js');\n} else {\n l = require('./cjs/react-dom-server-legacy.browser.development.js');\n s = require('./cjs/react-dom-server.browser.development.js');\n}\n\nexports.version = l.version;\nexports.renderToString = l.renderToString;\nexports.renderToStaticMarkup = l.renderToStaticMarkup;\nexports.renderToNodeStream = l.renderToNodeStream;\nexports.renderToStaticNodeStream = l.renderToStaticNodeStream;\nexports.renderToReadableStream = s.renderToReadableStream;\n",
|
|
8
|
-
"/**\n * Browser half: renders ui4a TSX the model writes, inline in the transcript and in a\n * canvas panel beside it.\n * @module dsh-generative-ui/client\n */\nimport { createElement } from \"react\";\nimport type { ClientContext } from \"@deepseek-ai/dsh-client-runtime/client\";\nimport type {} from \"@deepseek-ai/dsh-client-ui-layout/client\";\nimport type {} from \"@deepseek-ai/dsh-client-ui-conversation/client\";\nimport { GenUISurface } from \"./runtime/GenUISurface.tsx\";\nimport { cardRendered, reportCardError } from \"./runtime/report-error.ts\";\nimport { disposeCompiler } from \"./runtime/compiler.ts\";\nimport { dropSharedCompiler } from \"./runtime/GenUISurface.tsx\";\nimport { disposeRegistry } from \"./runtime/registry.ts\";\nimport { registerUi4aHost, releaseBindings, localImports } from \"./runtime/bindings.ts\";\nimport { claimInlineFences } from \"./runtime/inline-fence.ts\";\nimport { parseUi4aSegments, type Ui4aSegment } from \"./runtime/segments.ts\";\nimport { warmCompiler } from \"./runtime/compiler.ts\";\nimport { chatNodes, perNode, type ChatNodeView } from \"./session.ts\";\nimport { mountCanvasHost } from \"./canvas/index.ts\";\nimport { toolCallsOf, type CallBlock, type ToolCallView } from \"./canvas/collect.ts\";\nimport { canvasIdOf } from \"../contract.ts\";\n\nexport const inject = [\"sessions\"];\n\n/** Re-exported so `bun run smoke` can build the synthesized blob modules and parse them. */\nexport { localImports };\n\n/** Assistant text blocks, whose fences are the inline sources. */\ntype AssistantNodeData = { blocks?: readonly { kind: string; text?: string }[] };\n\nexport function apply(ctx: ClientContext): void {\n // Compiling anything pays a ~400 ms wasm init. Doing it now means the first fence the\n // user actually sees does not, and an idle tab is the cheapest possible moment for it.\n void warmCompiler();\n\n /**\n * Every ui4a fence in the current session's assistant prose, straight from the log.\n *\n * The host's markdown renderer withholds a fence's info string until the closing fence\n * arrives, so the DOM cannot identify a half-written ui4a block. The raw text has the\n * opening fence from its first token, which is what makes inline rendering streamable.\n */\n const segmentsOf = perNode(\n (node) => `${node.anchorSeq}:${textOf(node).length}`,\n (node) => parseUi4aSegments(textOf(node)),\n );\n const segments = (): readonly Ui4aSegment[] => segmentsOf(chatNodes(ctx)).flat();\n\n /**\n * Every tool call in the current session, in log order — the canvas source.\n *\n * `tool-call` nodes carry a lifecycle `root` (not the assistant's block list), and the\n * root's `call.argsRaw` grows while the call streams, which is what makes a canvas\n * render as it is written.\n */\n const callsOf = perNode(\n (node) => `${node.anchorSeq}:${callsKeyOf(node)}`,\n (node) => (node.kind === \"tool-call\" ? toolCallsOf(node.data) : []),\n );\n const calls = (): readonly ToolCallView[] => {\n const nodes = chatNodes(ctx);\n // Node iteration order is unspecified; log order decides which write wins.\n return callsOf(nodes)\n .map((calls, index) => ({ calls, seq: nodes[index]?.anchorSeq ?? 0 }))\n .toSorted((a, b) => a.seq - b.seq)\n .flatMap((entry) => entry.calls);\n };\n\n /** The current session's workspace, which canvas file reads resolve against. */\n const cwd = (): string | undefined => {\n const list = ctx.sessions.list.getSnapshot();\n return list.current === undefined ? undefined : list.byId[list.current]?.cwd;\n };\n\n /**\n * Identity of the open session, so a dismissed canvas stays dismissed only there.\n * Returns the branded `SessionId` rather than a plain string: `sessions.scope()` needs it.\n */\n const currentSession = () => ctx.sessions.list.getSnapshot().current;\n const sessionId = (): string => currentSession() ?? \"\";\n\n // Revoking on teardown is safe: a blob module that was already imported keeps working after\n // its URL is revoked (the module graph holds it), so this only reclaims URLs nothing can\n // reach any more. Without it every HMR round leaks one per registered specifier.\n ctx.effect(() => disposeRegistry, \"dsh-generative-ui: blob module URLs\");\n // The wasm half of the same problem: ~16MB per instance, one per HMR round, and upstream\n // offers no dispose — dropping the reference is all there is (see `disposeCompiler`).\n ctx.effect(\n () => () => {\n disposeCompiler();\n dropSharedCompiler();\n },\n \"dsh-generative-ui: tsx wasm instance\",\n );\n // What `$dsh/chat` calls into. A nested fiber, not a static inject: every name in\n // `inject` is a hard dependency, and a profile without `conversation` would otherwise\n // take the whole plugin down rather than just this one capability.\n ctx.inject([\"conversation\"], (scoped) => {\n scoped.effect(() => {\n // `conversation` is scope-addressed: reading it off the plugin's own context sends\n // into no session and rejects. The scope has to come from `sessions.scope(id)`, and\n // resolved per call rather than once — the reader switches sessions under us.\n //\n // `send` rejects on business failures and the caller is a generated card that cannot\n // handle it, so surface it rather than dropping it: a click that goes nowhere looks\n // exactly like a click that was never wired up.\n const release = registerUi4aHost({\n cwd,\n sessionId,\n send: (text) => {\n const id = currentSession();\n const session = id === undefined ? undefined : scoped.sessions.scope(id);\n if (session === undefined) return void console.error(\"[dsh-generative-ui] $dsh/chat: no session to send into\");\n // The scoped context is minted by the host and carries its own inject set, so our\n // outer declaration does not reach it — reading `conversation` off it directly\n // throws `cannot get property \"conversation\" without inject`. One more inject on\n // that context is what makes the property readable.\n session.inject([\"conversation\"], (addressed) => {\n void addressed.conversation.send(text).catch((error: unknown) => console.error(\"[dsh-generative-ui] $dsh/chat send failed\", error));\n });\n },\n });\n return () => {\n release();\n releaseBindings();\n };\n }, \"dsh-generative-ui: $dsh host\");\n });\n // A card that fails to compile used to be a red panel the reader saw and the model never did.\n // `onError` fires only for a failure that survived settling and retries, so this is the real\n // ones — see `report-error.ts` for why it is once per message and why it says it is automatic.\n const sendToModel = (text: string) => {\n const id = currentSession();\n const session = id === undefined ? undefined : ctx.sessions.scope(id);\n if (session === undefined) return;\n session.inject([\"conversation\"], (addressed) => {\n void addressed.conversation.send(text).catch((error: unknown) => console.error(\"[dsh-generative-ui] card error report failed\", error));\n });\n };\n\n // Mounted inside the effect, not beside it: `mountCanvasHost` reaches for MutationObserver\n // straight away, and doing that during registration is exactly what smoke rejects.\n let showCanvas: ((id: string) => void) | null = null;\n ctx.effect(() => {\n const host = mountCanvasHost({ calls, cwd, sessionId, onCardError: (message, phase) => reportCardError(sendToModel, message, phase), onCardRendered: cardRendered });\n showCanvas = host.show;\n return () => {\n showCanvas = null;\n host.dispose();\n };\n }, \"dsh-generative-ui: canvas column\");\n\n // The transcript's file links and the \"产物\" chips call `workspaces.openPath`, which hands\n // the path to the OS — so clicking a canvas the model just wrote opened it in an editor\n // rather than in the panel three inches to the right. Wrapping the method routes canvases\n // to the panel and forwards everything else untouched.\n ctx.inject([\"workspaces\"], (scoped) => {\n scoped.effect(() => {\n const workspaces = scoped.workspaces as { openPath?: (path: string) => Promise<void> };\n // Wrapping someone else's method is a bet on its shape. Losing that bet here would\n // throw during registration and take the whole plugin down, so a host without it\n // simply keeps its own behaviour.\n if (typeof workspaces.openPath !== \"function\") return () => {};\n const original = workspaces.openPath.bind(workspaces);\n workspaces.openPath = async (path: string) => {\n const id = canvasIdOf(path);\n // No panel mounted (headless, or torn down): the OS opener is still the right answer.\n if (id === null || showCanvas === null) return original(path);\n showCanvas(id);\n };\n // Restore rather than delete: another plugin may have wrapped it after us, and\n // deleting the own-property would expose theirs — or the prototype's — instead.\n return () => {\n workspaces.openPath = original;\n };\n }, \"dsh-generative-ui: canvas links open the panel\");\n });\n ctx.effect(\n () =>\n claimInlineFences({\n segments,\n render: ({ code, streaming }) => createElement(GenUISurface, { code, streaming, onError: (error, phase) => reportCardError(sendToModel, error.message, phase), onRendered: cardRendered }),\n }),\n \"dsh-generative-ui: inline fences\",\n );\n}\n\n/** All assistant prose in one node, concatenated; empty for every other node kind. */\nexport function textOf(node: ChatNodeView): string {\n const blocks = (node.data as AssistantNodeData | undefined)?.blocks;\n if (blocks === undefined) return \"\";\n let text = \"\";\n for (const block of blocks) if (block.kind === \"text\" && block.text !== undefined) text += block.text;\n return text;\n}\n\n/**\n * Cache key for a `tool-call` node: how far its arguments have streamed, plus which calls\n * have settled. Read straight off the node rather than through `toolCallsOf`, so computing\n * the key does not repeat the work the cache exists to avoid.\n *\n * The settled flags are part of the key, not a detail: a call's `argsRaw` is already\n * complete when `tool-result` arrives, so a length-only key would never invalidate and the\n * cached view would claim `streaming` forever — a canvas that never stops pulsing and an\n * `edit` that never marks it stale.\n */\nexport function callsKeyOf(node: ChatNodeView): string {\n const parts: string[] = [];\n const walk = (block: CallBlock | undefined): void => {\n if (block === undefined) return;\n parts.push(`${(block.call?.argsRaw ?? block.argsRaw)?.length ?? 0}${block.kind === \"tool-result\" ? \"!\" : \"\"}`);\n for (const child of block.subCalls ?? []) walk(child);\n };\n walk((node.data as { root?: CallBlock } | undefined)?.root);\n return parts.join(\",\");\n}\n",
|
|
9
|
-
"/**\n * One mounted GenUIRenderer. Owns the imperative renderer's lifecycle and nothing\n * else — what to render and where it comes from is the caller's business, which is\n * what lets the same surface back both the inline chat card and the canvas view.\n */\nimport { useEffect, useRef, useState } from \"react\";\nimport { GenUIRenderer } from \"partial-react\";\nimport { createBrowserTsxCompiler } from \"./compiler.ts\";\nimport { mergeFallbackImports } from \"partial-react/import-map\";\nimport { localImports } from \"./bindings.ts\";\nimport { UI4A_ROOT_CLASS, ensureUnoStyles } from \"./uno.ts\";\n\nexport type GenUISurfaceProps = {\n /** Full source when settled; the growing prefix while streaming. */\n code: string;\n /** True while `code` is still a prefix, so partial frames get normalized before compiling. */\n streaming?: boolean;\n /**\n * Keep React state across recompiles. Right for a growing stream, where each frame is\n * the previous one plus more text. Wrong for a whole-file replacement: the renderer\n * decides reuse from the hook signature, so a rewrite that keeps the same hooks — an\n * edited canvas usually does — is silently dropped rather than rendered.\n */\n preserveState?: boolean;\n /** Real compile diagnostics. Transient streaming frames are filtered out — see TRANSIENT below. */\n onError?: (error: Error, phase: \"transform\" | \"compile\" | \"render\") => void;\n /** Fires whenever a frame actually painted. Use it to clear a previously shown error. */\n onRendered?: () => void;\n className?: string;\n};\n\n/**\n * A ref that always holds the latest value, updated after commit rather than during render.\n *\n * Assigning `ref.current` in the render body is a side effect React may discard or replay.\n * Every reader here is a renderer callback that fires well after commit, so a plain effect\n * is early enough.\n */\nfunction useLatest<T>(value: T) {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n}\n\n/** The compiler owns a single wasm instance; one per document is both enough and what we can afford. */\nlet sharedCompiler: ReturnType<typeof createBrowserTsxCompiler> | null = null;\n/** Paired with `disposeCompiler`: the shared instance must go with the wasm behind it. */\nexport const dropSharedCompiler = () => {\n sharedCompiler = null;\n};\n\nexport const compiler = () => {\n if (sharedCompiler === null) {\n sharedCompiler = createBrowserTsxCompiler();\n }\n return sharedCompiler;\n};\n\n/**\n * Mid-stream frames legitimately fail: a prefix that has not reached `export default`\n * yet, or a half-written expression. partial-react treats these as transient and keeps\n * the last good frame, so surfacing them would just make the UI flash errors while the\n * model types. Only a failure that survives settling is the caller's business.\n */\n/** Exported for `test/transient.test.ts`: this decides whether the reader sees an error. */\nexport const TRANSIENT = /No default export found|Unexpected (end of|eof)/i;\n\n/**\n * A dependency that failed to arrive, not code that is wrong. esm.sh cold-starts and the\n * network drops, and the symptom is identical to a broken component — a blank surface — so\n * it is worth a few retries before anyone concludes the model wrote something wrong.\n */\n/** Exported for `test/transient.test.ts`. */\nexport const TRANSIENT_LOAD = /failed to fetch|failed to load|networkerror|load failed/i;\nconst MAX_RETRIES = 3;\n\n/**\n * Whether a reported error is worth another attempt.\n *\n * Extracted because it is the whole of the decision and none of the React: three conditions,\n * each of which sends the reader somewhere different when it is wrong. Exported for\n * `test/retry.test.ts`.\n */\n/**\n * Whether a mid-stream error is the stream not being finished yet.\n *\n * Both patterns come from the parse stages — `No default export found` is thrown inside\n * `importCompiledComponent` (compile), and an unexpected EOF is the transform rejecting a\n * prefix. A card whose own render throws a message that happens to match is a real error, so\n * the phase is part of the question rather than the message alone.\n */\nexport const isUnfinishedFrame = (message: string, phase: string, streaming: boolean) => streaming && phase !== \"render\" && TRANSIENT.test(message);\n\nexport const shouldRetry = (message: string, phase: string, streaming: boolean, attempts: number) => phase === \"compile\" && !streaming && TRANSIENT_LOAD.test(message) && attempts < MAX_RETRIES;\n/**\n * What to do with a frame, given what the surface already holds.\n *\n * `pushCode` APPENDS but a session event carries the whole prefix so far, so the difference\n * between these four answers is the difference between a correct surface and one whose buffer\n * doubles on every frame. Pure, because the decision is, and because a state machine that only\n * runs inside an effect with three refs is one nothing ever checks.\n *\n * - `nothing` the frame adds no text, or a settled frame re-delivers what is already painted\n * - `replace` settled: render the whole thing outright\n * - `append` streaming and the buffer is a prefix of this frame: push only the delta\n * - `restart` the prefix was rewritten (a re-delivered history page, or an edit)\n */\nexport type Delivery = { do: \"nothing\" } | { do: \"replace\"; code: string } | { do: \"append\"; delta: string } | { do: \"restart\"; code: string };\n\nexport const deliveryFor = (code: string, delivered: string, streaming: boolean): Delivery => {\n // Trailing whitespace only: the SETTLED frame is the streamed one plus the newline that sat\n // in front of the closing fence (`parseUi4aSegments` slices to `closeIndex`, the streaming\n // branch slices to the end of the buffer). Byte-comparing those two says \"changed\", and the\n // `replace` that follows tears the card down and rebuilds it — every card remounted once, at\n // the very moment the reader started using it, losing scroll position, focus and any state\n // held in a component. Nothing a reader can see is different, so nothing should be delivered.\n if (!streaming) return code.trimEnd() === delivered.trimEnd() ? { do: \"nothing\" } : { do: \"replace\", code };\n if (!code.startsWith(delivered)) return { do: \"restart\", code };\n const delta = code.slice(delivered.length);\n return delta === \"\" ? { do: \"nothing\" } : { do: \"append\", delta };\n};\n\n/**\n * Route a `Delivery` to the renderer. Returns whether anything was delivered, which is what tells\n * the caller to advance its `delivered` marker.\n *\n * Split from the effect so the three calls can be constrained: `render` replaces the buffer,\n * `pushCode` appends to it, and `clear({ preserveVisualState: true })` starts over WITHOUT\n * blanking what is on screen. Getting `render` and `pushCode` the wrong way round doubles the\n * buffer on every streamed frame, and the difference is one word inside an effect.\n */\nexport const deliver = (renderer: RendererCalls, delivery: Delivery): boolean => {\n if (delivery.do === \"nothing\") return false;\n if (delivery.do === \"replace\") renderer.render(delivery.code);\n else if (delivery.do === \"append\") renderer.pushCode(delivery.delta);\n else {\n // Keep the painted frame so the surface does not blink while it starts over.\n renderer.clear({ preserveVisualState: true });\n renderer.pushCode(delivery.code);\n }\n return true;\n};\n\n/**\n * What the card imports, as one string — the key the import-map probe is cached against.\n *\n * Compared by value rather than by set, so re-ordering the same imports re-probes. That is\n * deliberate: the probe is cheap and cached downstream, and a set comparison here would be more\n * code to get wrong than the re-probe costs.\n */\nexport const importSignature = (code: string) => [...code.matchAll(/from\\s+[\"']([^\"']+)[\"']/g)].map((match) => match[1]).join(\" \");\n\n/** Only what `deliver` touches — the real renderer has far more. */\nexport type RendererCalls = {\n render: (code: string) => void;\n pushCode: (delta: string) => void;\n clear: (options: { preserveVisualState: boolean }) => void;\n};\n\n/**\n * What to do about an error the renderer reported.\n *\n * - `ignore` the stream is not finished; the next frame supersedes this\n * - `retry` a dependency failed to arrive, and busting the import URLs is the fix\n * - `report` tell the reader\n *\n * Only a SETTLED surface retries: while streaming, the next frame re-delivers on its own, and a\n * retry there would replace the growing buffer with a stale prefix. Compile phase only — a failed\n * dependency import is reported there (`importCompiledComponent` runs inside the compile `catch`,\n * `partial-react/src/runtime.ts:338`), whereas the same message from the RENDER phase is the\n * card's own `fetch` throwing inside its body, where re-importing changes nothing and costs three\n * retries and 2.4 seconds of blank surface before the reader is told anything.\n */\nexport const errorAction = (message: string, phase: string, streaming: boolean, attempts: number): \"ignore\" | \"retry\" | \"report\" => {\n if (isUnfinishedFrame(message, phase, streaming)) return \"ignore\";\n return shouldRetry(message, phase, streaming, attempts) ? \"retry\" : \"report\";\n};\n\n/** 0.4s / 0.8s / 1.2s covers an esm.sh cold start; past that the package itself is the problem. */\nconst RETRY_BACKOFF_MS = 400;\n\n/**\n * What `onError` DOES with the three outcomes, separated from where they come from. The decision\n * was already a pure function; the dispatch was not, and the mutation audit could not constrain\n * it — swapping `ignore` for `retry` survived every test, because the only caller lives inside a\n * `GenUIRenderer.create` callback that needs a DOM to reach.\n *\n * Each branch is one line and each is load-bearing: `ignore` must not touch the counter (a\n * streaming frame is not a failed attempt), `retry` must increment BEFORE scheduling (the delay\n * is a function of the count), and `report` must not increment at all.\n */\n/**\n * What to do when an import probe settles. Three outcomes and every one is a bug if wrong:\n *\n * - **stale** — a later frame's probe won the race. Applying this one reverts the map to an\n * older import set, and the newer frame's packages go missing.\n * - **redeliver** — a settled surface has no next frame. `setImportMap` only stores; it\n * schedules nothing, so without a re-render the card stays blank for good.\n * - **store** — while streaming, the very next frame applies the map. Re-delivering here instead\n * would replace the buffer with whatever prefix was current when the probe fired, truncating\n * the stream mid-flight.\n *\n * The `delivered !== \"\"` part is not defensive: re-rendering an empty buffer clears the surface.\n */\nexport const probeOutcome = (signature: string, current: string, streaming: boolean, delivered: string): \"stale\" | \"redeliver\" | \"store\" => {\n if (signature !== current) return \"stale\";\n return !streaming && delivered !== \"\" ? \"redeliver\" : \"store\";\n};\n\nexport const dispatchError = (action: \"ignore\" | \"retry\" | \"report\", effects: { attempts: () => number; setAttempts: (n: number) => void; schedule: (ms: number) => void; report: () => void }) => {\n if (action === \"ignore\") return;\n if (action === \"retry\") {\n const next = effects.attempts() + 1;\n effects.setAttempts(next);\n effects.schedule(RETRY_BACKOFF_MS * next);\n return;\n }\n effects.report();\n};\n\n/**\n * The same import map with a fresh query on every fetched entry.\n *\n * Only `https://esm.sh/` URLs are touched. Local blob URLs are minted per render and already\n * fresh, and appending a query to a `blob:` URL makes it unresolvable — which would break every\n * card rather than fixing one.\n */\nexport const bustFetchedImports = (imports: Record<string, string>, attempt: number): Record<string, string> => Object.fromEntries(Object.entries(imports).map(([key, url]) => [key, url.startsWith(\"https://esm.sh/\") ? `${url}${url.includes(\"?\") ? \"&\" : \"?\"}ui4a-retry=${attempt}` : url]));\n\nexport function GenUISurface({ code, streaming = false, preserveState = true, onError, onRendered, className }: GenUISurfaceProps) {\n const hostRef = useRef<HTMLDivElement>(null);\n // State, not a ref: `create` is async, so readiness must be able to trigger the\n // render effect. With a ref, the first pass sees null and nothing ever re-runs it.\n const [renderer, setRenderer] = useState<GenUIRenderer | null>(null);\n // The renderer outlives any one render and calls back into props, so those are read\n // through refs rather than captured — a new handler identity must not re-attach it.\n const onErrorRef = useLatest(onError);\n const onRenderedRef = useLatest(onRendered);\n const streamingRef = useLatest(streaming);\n // Read once at attach: the renderer takes it as a construction option.\n const preserveStateRef = useRef(preserveState);\n /** Retries spent on the current code. Reset by a successful paint and by every new frame. */\n const retriesRef = useRef(0);\n /**\n * Re-deliver the current code after a dependency failed to fetch.\n *\n * `clear` is not enough on its own, though it is necessary — the renderer skips an unchanged\n * compile result. The part that makes this a real retry is **changing the dependency URL**.\n * Measured 2026-08-23: a second `import()` of a URL that already rejected makes **zero**\n * network requests, because the module registry caches the rejection for the page's lifetime.\n * `mergeFallbackImports` maps each bare specifier to a deterministic `https://esm.sh/<pkg>?…`,\n * so re-rendering imports the exact URL that failed and nothing is re-fetched. Every retry\n * before this was a no-op that burned 0.4/0.8/1.2s and reported the same failure.\n */\n const retryRef = useLatest(() => {\n if (renderer === null || code === \"\") return;\n const attempt = retriesRef.current;\n void mergeFallbackImports(localImports(), code).then((imports) => {\n // Only the fetched esm.sh entries need busting; the local blob URLs are already fresh.\n renderer.setImportMap({ imports: bustFetchedImports(imports, attempt) });\n renderer.clear({ preserveVisualState: true });\n renderer.render(code);\n });\n });\n\n useEffect(() => {\n const host = hostRef.current;\n if (host === null) return;\n let disposed = false;\n let attached: GenUIRenderer | null = null;\n void GenUIRenderer.create(host, {\n compiler: compiler(),\n importmap: { imports: localImports() },\n preserveStateOnUpdate: preserveStateRef.current,\n callbacks: {\n onError: (error, phase) => {\n dispatchError(errorAction(error.message, phase, streamingRef.current, retriesRef.current), {\n attempts: () => retriesRef.current,\n setAttempts: (n) => {\n retriesRef.current = n;\n },\n schedule: (ms) => setTimeout(() => retryRef.current(), ms),\n report: () => onErrorRef.current?.(error, phase),\n });\n },\n onRendered: () => {\n retriesRef.current = 0;\n onRenderedRef.current?.();\n },\n },\n }).then((created) => {\n // A fast unmount can land before `create` settles; detaching there would leak the root.\n if (disposed) return void created.detach();\n attached = created;\n setRenderer(created);\n });\n return () => {\n disposed = true;\n // Detach from the local handle, not from a state updater: React skips the updater\n // for an unmounted fiber whenever the queue is not empty, and a renderer that is\n // never detached keeps its React root and its module URL alive for the tab's life.\n attached?.detach();\n attached = null;\n setRenderer(null);\n };\n // Attach exactly once. The refs above are how later prop values reach the renderer\n // without tearing it down, so they deliberately do not belong in these deps.\n // oxlint-disable-next-line react/exhaustive-effect-dependencies -- see above\n }, []);\n\n // The set of bare specifiers the current code imports. Recomputing the fallback map costs a\n // network probe per package, so it is keyed on this rather than run per streamed frame.\n const importedRef = useRef(\"\");\n\n // Last code handed to the renderer. A ref, not state: it only ever feeds the next\n // diff, and re-rendering on it would be a render per streamed frame for nothing.\n const deliveredRef = useRef(\"\");\n\n useEffect(() => {\n if (renderer === null) return;\n // Anything the model imports beyond the registered react family (recharts, motion, …) has no\n // entry in the import map, and an unresolvable bare specifier fails the whole module import —\n // the surface just stays blank. `mergeFallbackImports` probes esm.sh and fills those in.\n const signature = importSignature(code);\n if (signature !== importedRef.current) {\n importedRef.current = signature;\n // A later frame's probe can settle first; without this the map reverts to an older import set.\n void mergeFallbackImports(localImports(), code).then((imports) => {\n const settle = probeOutcome(signature, importedRef.current, streamingRef.current, deliveredRef.current);\n if (settle === \"stale\") return;\n renderer.setImportMap({ imports });\n if (settle === \"redeliver\") renderer.render(deliveredRef.current);\n });\n }\n retriesRef.current = 0;\n // Generated classes exist only in the code that just arrived, so their CSS is produced here\n // rather than at build time. Not awaited: the sheet is appended to `<head>` and applies to\n // whatever is already mounted, so a card paints unstyled for at most a frame instead of\n // holding up every delivery behind a generator that has to boot on the first call.\n void ensureUnoStyles(code, streaming);\n if (!deliver(renderer, deliveryFor(code, deliveredRef.current, streaming))) return;\n // `deliveredRef` must follow every delivery, or a later streaming frame diffs against a\n // prefix this render already superseded.\n deliveredRef.current = code;\n // The refs this reads (`importedRef`, `deliveredRef`, `streamingRef`) are how the effect\n // carries state between frames; listing them would re-run it on values it just wrote.\n // oxlint-disable-next-line react/exhaustive-effect-dependencies\n }, [renderer, code, streaming]);\n\n // A query container, so generated code can size itself against the space it was given.\n // The same card lands in a chat column and in a panel the reader drags between 320 and\n // 720px, and the viewport tells it nothing about either — `100vw` is the whole window in\n // both. Without `container-type` here a `@container` rule is inert rather than wrong\n // (measured: the guarded declaration simply never applies), which is the kind of failure\n // that reads as the model writing something bad.\n return <div ref={hostRef} className={[UI4A_ROOT_CLASS, className].filter(Boolean).join(\" \")} style={{ containerType: \"inline-size\" }} />;\n}\n",
|
|
8
|
+
"/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n",
|
|
9
|
+
"'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n",
|
|
10
|
+
"/**\n * Browser half: renders ui4a TSX the model writes, inline in the transcript and in a\n * canvas panel beside it.\n * @module dsh-generative-ui/client\n */\nimport { createElement } from \"react\";\nimport type { ClientContext } from \"@deepseek-ai/dsh-client-runtime/client\";\nimport type {} from \"@deepseek-ai/dsh-client-ui-layout/client\";\nimport type {} from \"@deepseek-ai/dsh-client-ui-conversation/client\";\nimport type {} from \"@deepseek-ai/dsh-client-locale/client\";\nimport { GenUISurface } from \"./runtime/GenUISurface.tsx\";\nimport { cancelPendingReport, cardRendered, reportCardError } from \"./runtime/report-error.ts\";\nimport { disposeCompiler } from \"./runtime/compiler.ts\";\nimport { dropSharedCompiler } from \"./runtime/GenUISurface.tsx\";\nimport { disposeRegistry } from \"./runtime/registry.ts\";\nimport { registerUi4aHost, releaseBindings, localImports } from \"./runtime/bindings.ts\";\nimport { claimInlineFences } from \"./runtime/inline-fence.ts\";\nimport { parseUi4aSegments, type Ui4aSegment } from \"./runtime/segments.ts\";\nimport { warmCompiler } from \"./runtime/compiler.ts\";\nimport { chatNodes, perNode, type ChatNodeView } from \"./session.ts\";\nimport { mountCanvasHost } from \"./canvas/index.ts\";\nimport { toolCallsOf, type CallBlock, type ToolCallView } from \"./canvas/collect.ts\";\nimport { canvasIdOf } from \"../contract.ts\";\nimport { CARD_ERROR_PATH } from \"../contract-assets.ts\";\n\nexport const inject = [\"sessions\", \"locale\"];\n\n/** Re-exported so `bun run smoke` can build the synthesized blob modules and parse them. */\nexport { localImports };\n\n/** Assistant text blocks, whose fences are the inline sources. */\ntype AssistantNodeData = { blocks?: readonly { kind: string; text?: string }[] };\n\nexport function apply(ctx: ClientContext): void {\n // Compiling anything pays a ~400 ms wasm init. Doing it now means the first fence the\n // user actually sees does not, and an idle tab is the cheapest possible moment for it.\n void warmCompiler();\n\n /**\n * Every ui4a fence in the current session's assistant prose, straight from the log.\n *\n * The host's markdown renderer withholds a fence's info string until the closing fence\n * arrives, so the DOM cannot identify a half-written ui4a block. The raw text has the\n * opening fence from its first token, which is what makes inline rendering streamable.\n */\n const segmentsOf = perNode(\n (node) => `${node.anchorSeq}:${textOf(node).length}`,\n (node) => parseUi4aSegments(textOf(node)),\n );\n const segments = (): readonly Ui4aSegment[] => segmentsOf(chatNodes(ctx)).flat();\n\n /**\n * Every tool call in the current session, in log order — the canvas source.\n *\n * `tool-call` nodes carry a lifecycle `root` (not the assistant's block list), and the\n * root's `call.argsRaw` grows while the call streams, which is what makes a canvas\n * render as it is written.\n */\n const callsOf = perNode(\n (node) => `${node.anchorSeq}:${callsKeyOf(node)}`,\n (node) => (node.kind === \"tool-call\" ? toolCallsOf(node.data) : []),\n );\n const calls = (): readonly ToolCallView[] => {\n const nodes = chatNodes(ctx);\n // Node iteration order is unspecified; log order decides which write wins.\n return callsOf(nodes)\n .map((calls, index) => ({ calls, seq: nodes[index]?.anchorSeq ?? 0 }))\n .toSorted((a, b) => a.seq - b.seq)\n .flatMap((entry) => entry.calls);\n };\n\n /** The current session's workspace, which canvas file reads resolve against. */\n const cwd = (): string | undefined => {\n const list = ctx.sessions.list.getSnapshot();\n return list.current === undefined ? undefined : list.byId[list.current]?.cwd;\n };\n\n /**\n * Identity of the open session, so a dismissed canvas stays dismissed only there.\n * Returns the branded `SessionId` rather than a plain string: `sessions.scope()` needs it.\n */\n const currentSession = () => ctx.sessions.list.getSnapshot().current;\n const sessionId = (): string => currentSession() ?? \"\";\n\n // Revoking on teardown is safe: a blob module that was already imported keeps working after\n // its URL is revoked (the module graph holds it), so this only reclaims URLs nothing can\n // reach any more. Without it every HMR round leaks one per registered specifier.\n ctx.effect(() => disposeRegistry, \"dsh-generative-ui: blob module URLs\");\n // An error report waits a second before it is sent (see `SETTLE_MS`), and an unload inside that\n // second leaves the timer holding a closure over a conversation that is being torn down. There\n // is nothing to flush — a report nobody will read is not worth delivering — so cancelling is\n // the whole disposer, and `cardRendered` already is one.\n ctx.effect(() => () => cancelPendingReport(), \"dsh-generative-ui: pending error report\");\n // The wasm half of the same problem: ~16MB per instance, one per HMR round, and upstream\n // offers no dispose — dropping the reference is all there is (see `disposeCompiler`).\n ctx.effect(\n () => () => {\n disposeCompiler();\n dropSharedCompiler();\n },\n \"dsh-generative-ui: tsx wasm instance\",\n );\n // What `$dsh/chat` calls into. A nested fiber, not a static inject: every name in\n // `inject` is a hard dependency, and a profile without `conversation` would otherwise\n // take the whole plugin down rather than just this one capability.\n ctx.inject([\"conversation\"], (scoped) => {\n scoped.effect(() => {\n // `conversation` is scope-addressed: reading it off the plugin's own context sends\n // into no session and rejects. The scope has to come from `sessions.scope(id)`, and\n // resolved per call rather than once — the reader switches sessions under us.\n //\n // `send` rejects on business failures and the caller is a generated card that cannot\n // handle it, so surface it rather than dropping it: a click that goes nowhere looks\n // exactly like a click that was never wired up.\n const release = registerUi4aHost({\n cwd,\n sessionId,\n send: (text) => {\n const id = currentSession();\n const session = id === undefined ? undefined : scoped.sessions.scope(id);\n if (session === undefined) return void console.error(\"[dsh-generative-ui] $dsh/chat: no session to send into\");\n // The scoped context is minted by the host and carries its own inject set, so our\n // outer declaration does not reach it — reading `conversation` off it directly\n // throws `cannot get property \"conversation\" without inject`. One more inject on\n // that context is what makes the property readable.\n session.inject([\"conversation\"], (addressed) => {\n void addressed.conversation.send(text).catch((error: unknown) => console.error(\"[dsh-generative-ui] $dsh/chat send failed\", error));\n });\n },\n });\n return () => {\n release();\n releaseBindings();\n };\n }, \"dsh-generative-ui: $dsh host\");\n });\n // A card that fails to compile used to be a red panel the reader saw and the model never did.\n // `onError` fires only for a failure that survived settling and retries, so this is the real\n // ones — see `report-error.ts` for why it is once per message and why it waits a beat.\n //\n // A route rather than `conversation.send`: the detail belongs in the model's CONTEXT, which is\n // assembled host-side, and a chat message could never be taken back once the card was fixed.\n // `card-failure.ts` has the rest.\n const sendToModel = (report: { message: string; phase: string } | null) => {\n const id = currentSession();\n if (id === undefined) return;\n void fetch(`${CARD_ERROR_PATH}?session=${encodeURIComponent(id)}`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify(report ?? {}),\n }).catch((error: unknown) => console.error(\"[dsh-generative-ui] card error report failed\", error));\n };\n\n // Mounted inside the effect, not beside it: `mountCanvasHost` reaches for MutationObserver\n // straight away, and doing that during registration is exactly what smoke rejects.\n let showCanvas: ((id: string) => void) | null = null;\n ctx.effect(() => {\n const host = mountCanvasHost({ calls, cwd, sessionId, onCardError: (message, phase) => reportCardError(sendToModel, message, phase), onCardRendered: cardRendered });\n showCanvas = host.show;\n return () => {\n showCanvas = null;\n host.dispose();\n };\n }, \"dsh-generative-ui: canvas column\");\n\n // The transcript's file links and the \"产物\" chips call `workspaces.openPath`, which hands\n // the path to the OS — so clicking a canvas the model just wrote opened it in an editor\n // rather than in the panel three inches to the right. Wrapping the method routes canvases\n // to the panel and forwards everything else untouched.\n ctx.inject([\"workspaces\"], (scoped) => {\n scoped.effect(() => {\n const workspaces = scoped.workspaces as { openPath?: (path: string) => Promise<void> };\n // Wrapping someone else's method is a bet on its shape. Losing that bet here would\n // throw during registration and take the whole plugin down, so a host without it\n // simply keeps its own behaviour.\n if (typeof workspaces.openPath !== \"function\") return () => {};\n const original = workspaces.openPath.bind(workspaces);\n workspaces.openPath = async (path: string) => {\n const id = canvasIdOf(path);\n // No panel mounted (headless, or torn down): the OS opener is still the right answer.\n if (id === null || showCanvas === null) return original(path);\n showCanvas(id);\n };\n // Restore rather than delete: another plugin may have wrapped it after us, and\n // deleting the own-property would expose theirs — or the prototype's — instead.\n return () => {\n workspaces.openPath = original;\n };\n }, \"dsh-generative-ui: canvas links open the panel\");\n });\n ctx.effect(\n () =>\n claimInlineFences({\n segments,\n t: ctx.locale.bind(\"common\"),\n subscribeLocale: (refresh) => ctx.locale.subscribe(refresh),\n // The SAME gate on both callbacks. A card that may not report a failure may not retract\n // one either — see `cardRendered`.\n render: ({ code, streaming, last }) => createElement(GenUISurface, { code, streaming, onError: (error, phase) => reportCardError(sendToModel, error.message, phase, last), onRendered: (restored) => cardRendered(restored, last) }),\n }),\n \"dsh-generative-ui: inline fences\",\n );\n}\n\n/** All assistant prose in one node, concatenated; empty for every other node kind. */\nexport function textOf(node: ChatNodeView): string {\n const blocks = (node.data as AssistantNodeData | undefined)?.blocks;\n if (blocks === undefined) return \"\";\n let text = \"\";\n for (const block of blocks) if (block.kind === \"text\" && block.text !== undefined) text += block.text;\n return text;\n}\n\n/**\n * Cache key for a `tool-call` node: how far its arguments have streamed, plus which calls\n * have settled. Read straight off the node rather than through `toolCallsOf`, so computing\n * the key does not repeat the work the cache exists to avoid.\n *\n * The settled flags are part of the key, not a detail: a call's `argsRaw` is already\n * complete when `tool-result` arrives, so a length-only key would never invalidate and the\n * cached view would claim `streaming` forever — a canvas that never stops pulsing and an\n * `edit` that never marks it stale.\n */\nexport function callsKeyOf(node: ChatNodeView): string {\n const parts: string[] = [];\n const walk = (block: CallBlock | undefined): void => {\n if (block === undefined) return;\n parts.push(`${(block.call?.argsRaw ?? block.argsRaw)?.length ?? 0}${block.kind === \"tool-result\" ? \"!\" : \"\"}`);\n for (const child of block.subCalls ?? []) walk(child);\n };\n walk((node.data as { root?: CallBlock } | undefined)?.root);\n return parts.join(\",\");\n}\n",
|
|
11
|
+
"/**\n * One mounted GenUIRenderer. Owns the imperative renderer's lifecycle and nothing\n * else — what to render and where it comes from is the caller's business, which is\n * what lets the same surface back both the inline chat card and the canvas view.\n */\nimport { useEffect, useRef, useState } from \"react\";\nimport { GenUIRenderer } from \"partial-react\";\nimport { createBrowserTsxCompiler } from \"./compiler.ts\";\nimport { mergeFallbackImports } from \"partial-react/import-map\";\nimport { localImports } from \"./bindings.ts\";\nimport { UI4A_ROOT_CLASS, ensureUnoStyles } from \"./uno.ts\";\n\nexport type GenUISurfaceProps = {\n /** Full source when settled; the growing prefix while streaming. */\n code: string;\n /** True while `code` is still a prefix, so partial frames get normalized before compiling. */\n streaming?: boolean;\n /**\n * Keep React state across recompiles, by rendering through partial-react's stable slot\n * wrapper so hooks stay on the same fiber. Off, every recompile renders a freshly\n * compiled function type, which React remounts — a running timer restarts at zero.\n *\n * It does NOT risk dropping an edit: the renderer's two reuse branches only fire in\n * `push` mode, so a whole-file replacement always renders.\n */\n preserveState?: boolean;\n /** Real compile diagnostics. A streaming frame never reaches this — see `errorAction`. */\n onError?: (error: Error, phase: \"transform\" | \"compile\" | \"render\") => void;\n /** Fires whenever a frame actually painted. Use it to clear a previously shown error. */\n onRendered?: (restored: boolean) => void;\n className?: string;\n};\n\n/**\n * A ref that always holds the latest value, updated after commit rather than during render.\n *\n * Assigning `ref.current` in the render body is a side effect React may discard or replay.\n * Every reader here is a renderer callback that fires well after commit, so a plain effect\n * is early enough.\n */\nfunction useLatest<T>(value: T) {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n}\n\n/** The compiler owns a single wasm instance; one per document is both enough and what we can afford. */\nlet sharedCompiler: ReturnType<typeof createBrowserTsxCompiler> | null = null;\n/** Paired with `disposeCompiler`: the shared instance must go with the wasm behind it. */\nexport const dropSharedCompiler = () => {\n sharedCompiler = null;\n};\n\nexport const compiler = () => {\n if (sharedCompiler === null) {\n sharedCompiler = createBrowserTsxCompiler();\n }\n return sharedCompiler;\n};\n\n/**\n * A dependency that failed to arrive, not code that is wrong. esm.sh cold-starts and the\n * network drops, and the symptom is identical to a broken component — a blank surface — so\n * it is worth a few retries before anyone concludes the model wrote something wrong.\n */\n/** Exported for `test/transient.test.ts`. */\nexport const TRANSIENT_LOAD = /failed to fetch|failed to load|networkerror|load failed/i;\nconst MAX_RETRIES = 3;\n\n/**\n * Whether a reported error is worth another attempt.\n *\n * Extracted because it is the whole of the decision and none of the React: three conditions,\n * each of which sends the reader somewhere different when it is wrong. Exported for\n * `test/retry.test.ts`.\n */\nexport const shouldRetry = (message: string, phase: string, streaming: boolean, attempts: number) => phase === \"compile\" && !streaming && TRANSIENT_LOAD.test(message) && attempts < MAX_RETRIES;\n/**\n * What to do with a frame, given what the surface already holds.\n *\n * `pushCode` APPENDS but a session event carries the whole prefix so far, so the difference\n * between these four answers is the difference between a correct surface and one whose buffer\n * doubles on every frame. Pure, because the decision is, and because a state machine that only\n * runs inside an effect with three refs is one nothing ever checks.\n *\n * - `nothing` the frame adds no text, or a settled frame re-delivers what is already painted\n * - `replace` settled: render the whole thing outright\n * - `append` streaming and the buffer is a prefix of this frame: push only the delta\n * - `restart` the prefix was rewritten (a re-delivered history page, or an edit)\n */\nexport type Delivery = { do: \"nothing\" } | { do: \"replace\"; code: string } | { do: \"append\"; delta: string } | { do: \"restart\"; code: string };\n\nexport const deliveryFor = (code: string, delivered: string, streaming: boolean): Delivery => {\n // Trailing whitespace only: the SETTLED frame is the streamed one plus the newline that sat\n // in front of the closing fence (`parseUi4aSegments` slices to `closeIndex`, the streaming\n // branch slices to the end of the buffer). Byte-comparing those two says \"changed\", and the\n // `replace` that follows tears the card down and rebuilds it — every card remounted once, at\n // the very moment the reader started using it, losing scroll position, focus and any state\n // held in a component. Nothing a reader can see is different, so nothing should be delivered.\n if (!streaming) return code.trimEnd() === delivered.trimEnd() ? { do: \"nothing\" } : { do: \"replace\", code };\n if (!code.startsWith(delivered)) return { do: \"restart\", code };\n const delta = code.slice(delivered.length);\n return delta === \"\" ? { do: \"nothing\" } : { do: \"append\", delta };\n};\n\n/**\n * Route a `Delivery` to the renderer. Returns whether anything was delivered, which is what tells\n * the caller to advance its `delivered` marker.\n *\n * Split from the effect so the three calls can be constrained: `render` replaces the buffer,\n * `pushCode` appends to it, and `clear({ preserveVisualState: true })` starts over WITHOUT\n * blanking what is on screen. Getting `render` and `pushCode` the wrong way round doubles the\n * buffer on every streamed frame, and the difference is one word inside an effect.\n */\nexport const deliver = (renderer: RendererCalls, delivery: Delivery): boolean => {\n if (delivery.do === \"nothing\") return false;\n if (delivery.do === \"replace\") renderer.render(delivery.code);\n else if (delivery.do === \"append\") renderer.pushCode(delivery.delta);\n else {\n // Keep the painted frame so the surface does not blink while it starts over.\n renderer.clear({ preserveVisualState: true });\n renderer.pushCode(delivery.code);\n }\n return true;\n};\n\n/**\n * What the card imports, as one string — the key the import-map probe is cached against.\n *\n * Compared by value rather than by set, so re-ordering the same imports re-probes. That is\n * deliberate: the probe is cheap and cached downstream, and a set comparison here would be more\n * code to get wrong than the re-probe costs.\n */\nexport const importSignature = (code: string) => [...code.matchAll(/from\\s+[\"']([^\"']+)[\"']/g)].map((match) => match[1]).join(\" \");\n\n/**\n * Whether a failure suppressed during streaming still has to be told to someone.\n *\n * The hole this closes: `errorAction` ignores every streaming frame (a truncated one is not a\n * broken card), and `deliveryFor` answers `nothing` when the settled frame is byte-identical to\n * the last streamed one. Both are right on their own, and together they mean a card that really\n * is broken recompiles never and reports never.\n *\n * Pure, and exported, because it is three conditions and each one is a distinct bug when wrong:\n * without `!streaming` it fires mid-stream and undoes the fix it belongs to; without `stranded`\n * it reports nothing; without the `reportedFor` guard a settled card re-rendered by every later\n * frame of the transcript reports on each one.\n */\nexport const reportStranded = (streaming: boolean, stranded: unknown, code: string, reportedFor: string) => !streaming && stranded !== null && reportedFor !== code;\n\n/** Only what `deliver` touches — the real renderer has far more. */\nexport type RendererCalls = {\n render: (code: string) => void;\n pushCode: (delta: string) => void;\n clear: (options: { preserveVisualState: boolean }) => void;\n};\n\n/**\n * What to do about an error the renderer reported.\n *\n * - `ignore` the stream is not finished; the next frame supersedes this\n * - `retry` a dependency failed to arrive, and busting the import URLs is the fix\n * - `report` tell the reader\n *\n * **A streaming frame is never reported, whatever it says.** This used to test the message\n * against `TRANSIENT` (`No default export found`, unexpected EOF) and report anything else, on\n * the theory that a truncated frame fails to parse. It does not have to: a cut that lands\n * mid-identifier leaves valid syntax and throws at module evaluation instead. Measured on one\n * real session — five consecutive reports, five regenerations, and every final card was fine:\n * `Mouse is not defined` from a card whose only such name is `MousePointer2`, `type is not\n * defined` from `type ToolGroup =`, and `icon is not defined` from a card containing no `icon` at\n * all. The frame, not the card, was broken. There is no message that distinguishes the two, so\n * the phase does it: only a settled surface has anything worth saying about.\n */\nexport const errorAction = (message: string, phase: string, streaming: boolean, attempts: number): \"ignore\" | \"retry\" | \"report\" => {\n if (streaming) return \"ignore\";\n return shouldRetry(message, phase, streaming, attempts) ? \"retry\" : \"report\";\n};\n\n/**\n * 0.5s / 2s / 8s. **Linear 0.4/0.8/1.2 did not cover a cold start** — it spends 2.4 seconds\n * total, and a first request for a package esm.sh has never built waits on that build: measured\n * 2.27s cold against 0.50s warm for the same URL, so all three attempts landed inside one\n * unfinished build and the reader got `failed to fetch dynamically imported module` on a package\n * that resolves fine a second later. Seen in a real session on `@headlessui/react`, twice in a\n * row, on a card the model had been asked to write with it.\n *\n * Backing off ×4 spends 10.5s across the same three attempts, which covers a cold build with room\n * and still gives up fast enough that a genuinely missing package does not hang the card.\n */\nconst RETRY_BACKOFF_MS = 500;\nconst RETRY_FACTOR = 4;\n\n/**\n * What `onError` DOES with the three outcomes, separated from where they come from. The decision\n * was already a pure function; the dispatch was not, and the mutation audit could not constrain\n * it — swapping `ignore` for `retry` survived every test, because the only caller lives inside a\n * `GenUIRenderer.create` callback that needs a DOM to reach.\n *\n * Each branch is one line and each is load-bearing: `ignore` must not touch the counter (a\n * streaming frame is not a failed attempt), `retry` must increment BEFORE scheduling (the delay\n * is a function of the count), and `report` must not increment at all.\n */\n/**\n * What to do when an import probe settles. Three outcomes and every one is a bug if wrong:\n *\n * - **stale** — a later frame's probe won the race. Applying this one reverts the map to an\n * older import set, and the newer frame's packages go missing.\n * - **redeliver** — nothing else is going to apply the map. Always true of a settled surface,\n * and true while streaming too when no frame has been delivered since the probe fired:\n * `setImportMap` only stores, so that buffer stays compiled against a map without these\n * entries — and an unresolvable bare specifier kills the whole module graph, so the card is\n * blank rather than wrong. Measured 2026-08-27 on a card importing `@radix-ui/react-tabs`:\n * one delivery with `streaming: true` renders 0 characters **for good**, while the identical\n * code with `streaming: false` renders. The error is swallowed on top of it — `errorAction`\n * answers `ignore` while streaming, so the reader gets an empty card and the model gets no\n * report. A cold probe is 1.0s and the import behind it another 2.4s, so the window this\n * covers is seconds wide, not a frame.\n * - **store** — a newer frame has already been delivered, and it will apply the map itself.\n * Re-delivering here instead would replace the buffer with the prefix that was current when\n * the probe fired, truncating the stream mid-flight.\n *\n * `redeliver` renders `deliveredRef.current`, which is read at SETTLE time — the newest buffer,\n * not the captured one — so the append the next frame computes still lines up.\n *\n * The `delivered !== \"\"` part is not defensive: re-rendering an empty buffer clears the surface.\n */\nexport const probeOutcome = (signature: string, current: string, streaming: boolean, delivered: string, probed: string): \"stale\" | \"redeliver\" | \"store\" => {\n if (signature !== current) return \"stale\";\n if (delivered === \"\") return \"store\";\n return !streaming || delivered === probed ? \"redeliver\" : \"store\";\n};\n\nexport const dispatchError = (action: \"ignore\" | \"retry\" | \"report\", effects: { attempts: () => number; setAttempts: (n: number) => void; schedule: (ms: number) => void; report: () => void }) => {\n if (action === \"ignore\") return;\n if (action === \"retry\") {\n const next = effects.attempts() + 1;\n effects.setAttempts(next);\n effects.schedule(RETRY_BACKOFF_MS * RETRY_FACTOR ** (next - 1));\n return;\n }\n effects.report();\n};\n\n/**\n * The same import map with a fresh query on every fetched entry.\n *\n * Only `https://esm.sh/` URLs are touched. Local blob URLs are minted per render and already\n * fresh, and appending a query to a `blob:` URL makes it unresolvable — which would break every\n * card rather than fixing one.\n */\n/**\n * The same import map with `bundle`/`external` dropped from every esm.sh entry.\n *\n * esm.sh serves two different builds and only one of them can fail: `?bundle` runs esbuild over\n * the package's whole tree, and a version skew anywhere in it is a hard 500. Measured on\n * `mermaid`, three attempts, deterministic — `?bundle&target=es2022&external=react,react-dom,scheduler`\n * answers **500 `esbuild: No matching export in \"node_modules/d3/src/index.js\" for import\n * \"curveBumpX\"`**, while the plain `https://esm.sh/mermaid?target=es2022` answers 200 and the\n * module imports fine. The card meanwhile renders **completely blank with nothing in the\n * console**, because an unresolvable import kills the whole module graph.\n *\n * So the retry that only busts the query re-requests the same broken build. Unbundling is a\n * genuinely different artefact on esm.sh's side, which is what makes it a second chance rather\n * than a second identical failure. It is not the first choice — the bundled build is one request\n * instead of a waterfall — which is why this is on the retry path and not on the happy one.\n */\nexport const unbundleFetchedImports = (imports: Record<string, string>): Record<string, string> =>\n Object.fromEntries(\n Object.entries(imports).map(([key, url]) => {\n if (!url.startsWith(\"https://esm.sh/\")) return [key, url];\n const parsed = new URL(url);\n parsed.searchParams.delete(\"bundle\");\n // `external` STAYS. Dropping it was in this function for one day and it broke rendering in a\n // way far worse than the 500 it was meant to route around. Measured on the real URLs:\n //\n // ?bundle&target=es2022&external=react,react-dom,scheduler -> 500 (the bug being fixed)\n // ?target=es2022&external=react,react-dom,scheduler -> 200 (fixed, react shared)\n // ?target=es2022 -> 200 (fixed, react NOT shared)\n //\n // The 500 comes from `bundle` alone; `external` has nothing to do with it. What `external`\n // does do is make esm.sh emit a BARE `import … from \"react\"`, which the document import map\n // resolves to the host's single instance. Without it the same build emits\n // `import \"/react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0?target=es2022\"` — an ABSOLUTE URL\n // an import map keyed on the bare specifier cannot redirect, so the package gets esm.sh's own\n // React (19, against this host's 18). Elements it creates then carry a `$$typeof` the host\n // React does not recognise, and the card dies on **`Minified React error #31`, args\n // `object with keys {$$typeof, type, key, ref, props}`**.\n //\n // Seen end to end in one session: a card rendered correctly, a later retry re-fetched its\n // icons without `external`, every lucide element became a foreign object, and the model was\n // handed a render-failure notice for a card that had been fine — it rewrote it, blaming\n // itself for \"rendering icons/objects directly\".\n //\n // `bundle` is a valueless flag, and `URLSearchParams` writes it back as `bundle=` — which\n // esm.sh reads as the flag being present. Deleting is enough; re-serialising is what would\n // put it back.\n return [key, parsed.toString()];\n }),\n );\n\nexport const bustFetchedImports = (imports: Record<string, string>, attempt: number): Record<string, string> => Object.fromEntries(Object.entries(imports).map(([key, url]) => [key, url.startsWith(\"https://esm.sh/\") ? `${url}${url.includes(\"?\") ? \"&\" : \"?\"}ui4a-retry=${attempt}` : url]));\n\nexport function GenUISurface({ code, streaming = false, preserveState = true, onError, onRendered, className }: GenUISurfaceProps) {\n const hostRef = useRef<HTMLDivElement>(null);\n // State, not a ref: `create` is async, so readiness must be able to trigger the\n // render effect. With a ref, the first pass sees null and nothing ever re-runs it.\n const [renderer, setRenderer] = useState<GenUIRenderer | null>(null);\n // The renderer outlives any one render and calls back into props, so those are read\n // through refs rather than captured — a new handler identity must not re-attach it.\n const onErrorRef = useLatest(onError);\n const onRenderedRef = useLatest(onRendered);\n // Set by a RENDER throw, consumed by the paint that follows it — see `onRendered` below.\n const threwRef = useRef(false);\n /**\n * The last failure `errorAction` suppressed because the surface was still streaming.\n *\n * Suppressing them is right — a truncated frame is not a broken card — but it leaves a hole at\n * the other end: when the settled frame is byte-identical to the last streamed one,\n * `deliveryFor` answers `nothing`, nothing recompiles, and a card that really is broken reports\n * NOTHING at all. The last streamed frame's failure is the surface's actual state at that\n * point, so it is what gets reported. Cleared by a real paint, which is the proof it was\n * transient after all.\n */\n const strandedRef = useRef<{ error: Error; phase: \"transform\" | \"compile\" | \"render\" } | null>(null);\n /** The code a stranded failure was already reported for, so a re-render does not report it again. */\n const strandedReportedRef = useRef(\"\");\n const retryTimers = useRef(new Set<ReturnType<typeof setTimeout>>());\n const streamingRef = useLatest(streaming);\n // Read once at attach: the renderer takes it as a construction option.\n const preserveStateRef = useRef(preserveState);\n /** Retries spent on the current code. Reset by a successful paint and by every new frame. */\n const retriesRef = useRef(0);\n /**\n * Re-deliver the current code after a dependency failed to fetch.\n *\n * `clear` is not enough on its own, though it is necessary — the renderer skips an unchanged\n * compile result. The part that makes this a real retry is **changing the dependency URL**.\n * Measured 2026-08-23: a second `import()` of a URL that already rejected makes **zero**\n * network requests, because the module registry caches the rejection for the page's lifetime.\n * `mergeFallbackImports` maps each bare specifier to a deterministic `https://esm.sh/<pkg>?…`,\n * so re-rendering imports the exact URL that failed and nothing is re-fetched. Every retry\n * before this was a no-op that burned 0.4/0.8/1.2s and reported the same failure.\n */\n const retryRef = useLatest(() => {\n if (renderer === null || code === \"\") return;\n const attempt = retriesRef.current;\n void mergeFallbackImports(localImports(), code).then((imports) => {\n // Only the fetched esm.sh entries need busting; the local blob URLs are already fresh.\n // From the second attempt the bundled build is dropped as well: if the first failure was a\n // bundle-side 500 (see `unbundleFetchedImports`) no amount of cache-busting can clear it.\n const fresh = attempt > 0 ? unbundleFetchedImports(imports) : imports;\n renderer.setImportMap({ imports: bustFetchedImports(fresh, attempt) });\n renderer.clear({ preserveVisualState: true });\n renderer.render(code);\n });\n });\n\n useEffect(() => {\n const host = hostRef.current;\n if (host === null) return;\n let disposed = false;\n let attached: GenUIRenderer | null = null;\n void GenUIRenderer.create(host, {\n compiler: compiler(),\n importmap: { imports: localImports() },\n preserveStateOnUpdate: preserveStateRef.current,\n callbacks: {\n onError: (error, phase) => {\n if (phase === \"render\") threwRef.current = true;\n const action = errorAction(error.message, phase, streamingRef.current, retriesRef.current);\n // Remember what was swallowed. Only the newest matters: each frame supersedes the last,\n // so this is the state of the buffer the stream stopped on.\n if (action === \"ignore\") strandedRef.current = { error, phase };\n dispatchError(action, {\n attempts: () => retriesRef.current,\n setAttempts: (n) => {\n retriesRef.current = n;\n },\n // Tracked so the cleanup below can cancel it: a retry is scheduled up to 1.2s out,\n // and a surface can unmount well inside that (a canvas tab closed, a message scrolled\n // out of the host's window). Firing after that runs the whole import-probe chain\n // against a renderer that has already been detached.\n schedule: (ms) => void retryTimers.current.add(setTimeout(() => retryRef.current(), ms)),\n report: () => onErrorRef.current?.(error, phase),\n });\n },\n onRendered: () => {\n retriesRef.current = 0;\n // partial-react repaints the LAST GOOD component after a render throw (`preserve` is on\n // for every inline card), so this fires for a card whose new code is broken. The throw\n // set `threwRef` a tick earlier; consuming it here is what tells the caller that this\n // paint is a restore, not the new code working.\n const restored = threwRef.current;\n threwRef.current = false;\n // A restore paints the LAST GOOD component, which says nothing about the current code —\n // clearing on it would lose exactly the failure this exists to carry.\n if (!restored) strandedRef.current = null;\n onRenderedRef.current?.(restored);\n },\n },\n }).then((created) => {\n // A fast unmount can land before `create` settles; detaching there would leak the root.\n if (disposed) return void created.detach();\n attached = created;\n setRenderer(created);\n });\n return () => {\n disposed = true;\n // Detach from the local handle, not from a state updater: React skips the updater\n // for an unmounted fiber whenever the queue is not empty, and a renderer that is\n // never detached keeps its React root and its module URL alive for the tab's life.\n attached?.detach();\n attached = null;\n setRenderer(null);\n for (const timer of retryTimers.current) clearTimeout(timer);\n retryTimers.current.clear();\n };\n // Attach exactly once. The refs above are how later prop values reach the renderer\n // without tearing it down, so they deliberately do not belong in these deps.\n // oxlint-disable-next-line react/exhaustive-effect-dependencies -- see above\n }, []);\n\n // The set of bare specifiers the current code imports. Recomputing the fallback map costs a\n // network probe per package, so it is keyed on this rather than run per streamed frame.\n const importedRef = useRef(\"\");\n\n // Last code handed to the renderer. A ref, not state: it only ever feeds the next\n // diff, and re-rendering on it would be a render per streamed frame for nothing.\n const deliveredRef = useRef(\"\");\n\n useEffect(() => {\n if (renderer === null) return;\n // Anything the model imports beyond the registered react family (recharts, motion, …) has no\n // entry in the import map, and an unresolvable bare specifier fails the whole module import —\n // the surface just stays blank. `mergeFallbackImports` probes esm.sh and fills those in.\n const signature = importSignature(code);\n if (signature !== importedRef.current) {\n importedRef.current = signature;\n // A later frame's probe can settle first; without this the map reverts to an older import set.\n void mergeFallbackImports(localImports(), code).then((imports) => {\n const settle = probeOutcome(signature, importedRef.current, streamingRef.current, deliveredRef.current, code);\n if (settle === \"stale\") return;\n renderer.setImportMap({ imports });\n if (settle === \"redeliver\") renderer.render(deliveredRef.current);\n });\n }\n retriesRef.current = 0;\n // Generated classes exist only in the code that just arrived, so their CSS is produced here\n // rather than at build time. Not awaited: the sheet is appended to `<head>` and applies to\n // whatever is already mounted, so a card paints unstyled for at most a frame instead of\n // holding up every delivery behind a generator that has to boot on the first call.\n void ensureUnoStyles(code, streaming);\n if (!deliver(renderer, deliveryFor(code, deliveredRef.current, streaming))) {\n // Nothing was delivered, so nothing will recompile and no error will be raised — but the\n // buffer on screen may already have failed while streaming. This is the only moment that\n // failure can still reach anyone. Keyed on the code so a settled card re-rendered by every\n // later frame of the transcript reports once, not once per frame.\n const stranded = strandedRef.current;\n if (stranded !== null && reportStranded(streaming, stranded, code, strandedReportedRef.current)) {\n strandedReportedRef.current = code;\n onErrorRef.current?.(stranded.error, stranded.phase);\n }\n return;\n }\n // `deliveredRef` must follow every delivery, or a later streaming frame diffs against a\n // prefix this render already superseded.\n deliveredRef.current = code;\n // The refs this reads (`importedRef`, `deliveredRef`, `streamingRef`) are how the effect\n // carries state between frames; listing them would re-run it on values it just wrote.\n // oxlint-disable-next-line react/exhaustive-effect-dependencies\n }, [renderer, code, streaming]);\n\n // A query container, so generated code can size itself against the space it was given.\n // The same card lands in a chat column and in a panel the reader drags between 320 and\n // 720px, and the viewport tells it nothing about either — `100vw` is the whole window in\n // both. Without `container-type` here a `@container` rule is inert rather than wrong\n // (measured: the guarded declaration simply never applies), which is the kind of failure\n // that reads as the model writing something bad.\n return <div ref={hostRef} className={[UI4A_ROOT_CLASS, className].filter(Boolean).join(\" \")} style={{ containerType: \"inline-size\" }} />;\n}\n",
|
|
10
12
|
"import { Component, createElement, useEffect, type ComponentType, type ReactNode } from \"react\";\nimport { createRoot, type Root } from \"react-dom/client\";\nimport { renderToString } from \"react-dom/server\";\nimport { createGeneratedComponentSlot, type GeneratedComponent, type GeneratedComponentSlot } from \"./state\";\nexport type { GeneratedComponent } from \"./state\";\nimport { enrichModuleImportError } from \"./importProbe\";\nexport { GenUIImportError, type GenUIImportDiagnostic } from \"./importProbe\";\nimport { createTsxCompiler, type TsxCompiler, type CompileResult } from \"./compiler\";\nimport { GenUIRenderContext, getGenUIRenderContextValue } from \"./renderContext\";\nimport { getGenUIHookSignature } from \"./hookSignature\";\nimport type { RendererImportMap } from \"./importMap\";\n\nexport type GenUIRenderPhase = \"transform\" | \"compile\" | \"render\";\nexport type GenUIRendererCallbacks = { onReady?: (component: GeneratedComponent, url?: string, code?: string) => void; onRendered?: (component: GeneratedComponent, code: string, serial?: number) => void; onError?: (error: Error, phase: GenUIRenderPhase) => void };\nexport type GenUIRendererClearOptions = { preserveVisualState?: boolean };\nexport type GenUIRendererFlushMode = \"microtask\" | \"immediate\";\n// `filename` is the base @esm.sh/tsx resolves relative specifiers against. Hosts that render a file from disk pass its\n// path so `./data` stays `./data`; without one the default `_.tsx` turns it into the unresolvable `_.tsx/data` (#1601).\nexport type GenUIRendererOptions = { importmap?: RendererImportMap; callbacks?: GenUIRendererCallbacks; compiler?: TsxCompiler; preserveStateOnUpdate?: boolean; flushMode?: GenUIRendererFlushMode; filename?: string };\nexport type GenUIRendererUpdateMode = \"push\" | \"render\";\n\nconst attachedRenderer = Symbol.for(\"@macaron/genui-runtime:attached-renderer\");\ntype AttachableHost = HTMLElement & { [attachedRenderer]?: GenUIRenderer };\nconst normalizeError = (error: unknown) => (error instanceof Error ? error : new Error(String(error)));\nconst COMPILED_COMPONENT_CACHE_LIMIT = 256;\nlet rendererScopeSerial = 0;\nconst createRendererScope = () => `renderer:${(rendererScopeSerial += 1).toString(36)}`;\nconst compiledComponentCache = new Map<string, GeneratedComponent>();\nconst getPreserveBoundaryKey = (epoch: number) => (epoch === 0 ? \"boundary\" : `boundary:${epoch}`);\nconst rememberCompiledComponent = (code: string, component: GeneratedComponent) => {\n if (compiledComponentCache.has(code)) compiledComponentCache.delete(code);\n compiledComponentCache.set(code, component);\n if (compiledComponentCache.size > COMPILED_COMPONENT_CACHE_LIMIT) {\n const oldestKey = compiledComponentCache.keys().next().value;\n if (oldestKey !== undefined) compiledComponentCache.delete(oldestKey);\n }\n};\n\ntype RuntimeErrorBoundaryState = { hasError: boolean; message?: string; lastResetKey?: number };\n\nclass RuntimeErrorBoundary extends Component<{ resetKey?: number; onError?: (error: Error) => void; children?: ReactNode }, RuntimeErrorBoundaryState> {\n state: RuntimeErrorBoundaryState = { hasError: false };\n // React forwards whatever was thrown, including primitives and null; normalize before reading `.message`.\n static getDerivedStateFromError(error: unknown) {\n return { hasError: true, message: normalizeError(error).message };\n }\n static getDerivedStateFromProps(props: { resetKey?: number }, state: RuntimeErrorBoundaryState) {\n // Streaming errors bump resetKey to clear the caught state in place; recreating the boundary via `key`\n // would unmount the entire subtree below and produce visible flicker on every retry.\n if (props.resetKey !== state.lastResetKey) return { hasError: false, message: undefined, lastResetKey: props.resetKey };\n return null;\n }\n componentDidCatch(error: unknown) {\n this.props.onError?.(normalizeError(error));\n }\n render() {\n // Hosts that pass onError paint their own error UI over this; hosts that don't (few-shots, batch) used to be\n // left with a bare \"ERROR\" and nothing to diagnose from.\n if (this.state.hasError) return this.state.message ? `ERROR: ${this.state.message}` : \"ERROR\";\n return this.props.children;\n }\n}\n\nconst RenderNotify = ({ onCommit, onReady }: { onCommit?: () => void; onReady?: () => void }) => {\n useEffect(() => {\n onCommit?.();\n if (typeof document !== \"undefined\" && document.hidden) {\n onReady?.();\n return;\n }\n const frameId = requestAnimationFrame(() => onReady?.());\n return () => cancelAnimationFrame(frameId);\n }, [onCommit, onReady]);\n return null;\n};\n\nexport class GenUIRenderer {\n private callbacks: GenUIRendererCallbacks;\n private compiler: TsxCompiler;\n private compileSerial = 0;\n private currentBuffer = \"\";\n private compileScheduled = false;\n private compileScheduleToken = 0;\n private compileRunning = false;\n private compilePending: { partial: boolean; serial?: number } | null = null;\n private scheduledPartial = false;\n private scheduledSerial?: number;\n private errorEpoch = 0;\n private finished = false;\n private flushMode: GenUIRendererFlushMode;\n private importmap?: RendererImportMap;\n private filename?: string;\n private lastCompiledCode = \"\";\n private lastGoodHookSignature = \"\";\n private lastHookSignature: string | null = null;\n private moduleUrl: string | null = null;\n private preserveBoundaryEpoch = 0;\n private preserveStateOnUpdate: boolean;\n private renderRound = 0;\n private rendererScope: string;\n private root: Root | null = null;\n private slot: GeneratedComponentSlot;\n private target: HTMLElement | null = null;\n private updateMode: GenUIRendererUpdateMode = \"render\";\n\n private constructor(target: HTMLElement | null | undefined, options: GenUIRendererOptions) {\n this.callbacks = options.callbacks ?? {};\n this.compiler = options.compiler ?? createTsxCompiler();\n this.flushMode = options.flushMode ?? \"microtask\";\n this.importmap = options.importmap;\n this.filename = options.filename;\n this.preserveStateOnUpdate = options.preserveStateOnUpdate ?? true;\n this.rendererScope = createRendererScope();\n this.slot = createGeneratedComponentSlot();\n if (target) this.attach(target);\n }\n\n static async create(target?: HTMLElement | null, options: GenUIRendererOptions = {}) {\n return new GenUIRenderer(target, options);\n }\n\n attach(target: HTMLElement) {\n const element = target as AttachableHost;\n if (element[attachedRenderer] && element[attachedRenderer] !== this) element[attachedRenderer].detach();\n if (this.target === target && this.root) {\n element[attachedRenderer] = this;\n return this;\n }\n const previous = this.target as AttachableHost | null;\n if (previous && previous[attachedRenderer] === this) delete previous[attachedRenderer];\n this.root?.unmount();\n this.target = target;\n this.root = createRoot(target);\n element[attachedRenderer] = this;\n this.renderComponent();\n return this;\n }\n\n detach() {\n // Bump compileSerial so any in-flight compile resolves into a no-op instead of adopting onto a dead renderer.\n // Drop the queued follow-up too: it would start a fresh chain (self-consistent serial) that the bump can't invalidate.\n this.compileSerial += 1;\n this.compilePending = null;\n const previous = this.target as AttachableHost | null;\n if (previous && previous[attachedRenderer] === this) delete previous[attachedRenderer];\n this.root?.unmount();\n this.root = null;\n this.target = null;\n this.rendererScope = createRendererScope();\n this.revokeModuleUrl();\n return this;\n }\n\n setPreserveStateOnUpdate(value: boolean) {\n this.preserveStateOnUpdate = value;\n return this;\n }\n\n setFlushMode(value: GenUIRendererFlushMode) {\n this.flushMode = value;\n return this;\n }\n\n setImportMap(importmap: RendererImportMap) {\n this.importmap = importmap;\n return this;\n }\n\n render(code: string, serial?: number) {\n this.finished = true;\n this.currentBuffer = code;\n this.updateMode = \"render\";\n this.scheduleCompile(false, serial);\n }\n\n pushCode(code: string, serial?: number) {\n this.finished = false;\n this.currentBuffer += code;\n this.updateMode = \"push\";\n this.scheduleCompile(true, serial);\n }\n\n finish(code?: string, serial?: number) {\n this.finished = true;\n if (code !== undefined) this.currentBuffer = code;\n this.scheduleCompile(false, serial);\n }\n\n getCurrentBuffer() {\n return this.currentBuffer;\n }\n\n getUpdateMode() {\n return this.updateMode;\n }\n\n restoreLastGood() {\n if (!this.slot.restoreLastGood()) return false;\n this.errorEpoch += 1;\n this.renderComponent(this.slot.current(), this.currentBuffer, undefined, this.currentBuffer, this.lastGoodHookSignature);\n return true;\n }\n\n private buildStreamingRenderContext(streamingPartialFrame: boolean) {\n let streamingRenderKeyIndex = 0;\n return getGenUIRenderContextValue(streamingPartialFrame, this.rendererScope, () => `chart-${streamingRenderKeyIndex++}`);\n }\n\n private canRenderComponent(component: unknown, streamingPartialFrame: boolean) {\n const renderContext = this.buildStreamingRenderContext(streamingPartialFrame);\n const previousConsoleError = console.error;\n let firstConsoleError: string | undefined;\n let caughtError: unknown;\n try {\n // Preflight intentionally renders bad partial frames; keep React's development console noise off the debug page.\n console.error = (...args) => {\n firstConsoleError ??= args.map(String).join(\" \");\n };\n renderToString(createElement(GenUIRenderContext.Provider, { value: renderContext }, createElement(component as ComponentType<Record<string, unknown>>)));\n } catch (error) {\n caughtError = error;\n } finally {\n console.error = previousConsoleError;\n }\n if (caughtError === undefined && firstConsoleError !== undefined) caughtError = new Error(firstConsoleError);\n if (caughtError === undefined) return true;\n this.callbacks.onError?.(normalizeError(caughtError), \"render\");\n return false;\n }\n\n clear(options: GenUIRendererClearOptions = {}) {\n this.compileSerial += 1;\n this.currentBuffer = \"\";\n // `clear` terminates the current stream; the next `pushCode`/`render` selects partial vs full mode again.\n this.finished = true;\n this.compileScheduled = false;\n this.scheduledPartial = false;\n this.scheduledSerial = undefined;\n this.compileScheduleToken += 1;\n this.compilePending = null;\n this.lastCompiledCode = \"\";\n if (options.preserveVisualState) return this;\n this.lastGoodHookSignature = \"\";\n this.lastHookSignature = null;\n this.preserveBoundaryEpoch = 0;\n this.rendererScope = createRendererScope();\n this.slot.clear();\n this.revokeModuleUrl();\n this.root?.render(null);\n return this;\n }\n\n private scheduleCompile(partial: boolean, serial?: number) {\n if (this.flushMode === \"immediate\") {\n this.compileScheduled = false;\n this.scheduledPartial = false;\n this.scheduledSerial = undefined;\n this.compileScheduleToken += 1;\n void this.compile(partial, serial);\n return;\n }\n this.scheduledPartial = partial;\n this.scheduledSerial = serial;\n if (this.compileScheduled) return;\n this.compileScheduled = true;\n const scheduleToken = (this.compileScheduleToken += 1);\n queueMicrotask(() => {\n if (scheduleToken !== this.compileScheduleToken) return;\n const nextPartial = this.scheduledPartial;\n const nextSerial = this.scheduledSerial;\n this.compileScheduled = false;\n this.scheduledPartial = false;\n this.scheduledSerial = undefined;\n void this.compile(nextPartial, nextSerial);\n });\n }\n\n private async compile(partial: boolean, renderSerial?: number) {\n // A compile chain (transform + blob import) spans multiple event-loop turns, so under per-frame pushes starting a\n // new chain per push keeps bumping compileSerial and every in-flight result resolves superseded — nothing commits\n // until the pushes stop (the storyboard's per-rAF typewriter froze previews this way). Run chains single-flight:\n // remember only the latest request and start it once the current chain settles; compileOnce reads currentBuffer\n // fresh at start, so all pushes queued behind a chain coalesce into one follow-up compile.\n if (this.compileRunning) {\n this.compilePending = { partial, serial: renderSerial };\n return;\n }\n this.compileRunning = true;\n try {\n await this.compileOnce(partial, renderSerial);\n } finally {\n this.compileRunning = false;\n const pending = this.compilePending;\n this.compilePending = null;\n if (pending) void this.compile(pending.partial, pending.serial);\n }\n }\n\n private async compileOnce(partial: boolean, renderSerial?: number) {\n const serial = (this.compileSerial += 1);\n const code = this.currentBuffer;\n let result: CompileResult;\n try {\n result = await this.compiler.compile(code, { importMap: this.importmap, partial: partial && !this.finished, previousCode: this.lastCompiledCode, filename: this.filename });\n } catch (error) {\n // A queued follow-up means this frame is already superseded; its error is stale noise (pre-single-flight, the\n // newer compile's serial bump suppressed it the same way).\n if (serial !== this.compileSerial || this.compilePending) return;\n this.callbacks.onError?.(normalizeError(error), \"transform\");\n return;\n }\n if (serial !== this.compileSerial) return;\n if (!result.changed) {\n const component = this.slot.current();\n // The final full compile can equal the last partial frame; re-render once with finished=true so the chart render\n // context settles from streaming to complete (charts key off streamingPartialFrame and would otherwise stay streaming).\n if (component && this.preserveStateOnUpdate && this.updateMode === \"push\" && this.finished) {\n this.renderComponent(component, code, renderSerial, result.source);\n return;\n }\n if (component) this.scheduleRenderedCallback(component, code, renderSerial, serial);\n return;\n }\n try {\n const { component, moduleUrl } = await this.importCompiledComponent(result.code);\n if (serial !== this.compileSerial) {\n if (moduleUrl) URL.revokeObjectURL(moduleUrl);\n return;\n }\n this.lastCompiledCode = result.code;\n if (moduleUrl) this.adoptModuleUrl(moduleUrl);\n else this.revokeModuleUrl();\n this.callbacks.onReady?.(component, moduleUrl, code);\n this.slot.setCurrent(component);\n this.renderComponent(component, code, renderSerial, result.source);\n } catch (error) {\n if (serial !== this.compileSerial || this.compilePending) return;\n this.callbacks.onError?.(normalizeError(error), \"compile\");\n }\n }\n\n private async importCompiledComponent(code: string): Promise<{ component: GeneratedComponent; moduleUrl?: string }> {\n const cached = compiledComponentCache.get(code);\n if (cached) return { component: cached };\n const moduleUrl = URL.createObjectURL(new Blob([code], { type: \"text/javascript\" }));\n try {\n let module: { default?: GeneratedComponent };\n try {\n // The specifier is a runtime-built blob URL, so every bundler must leave it alone: @vite-ignore for Vite,\n // webpackIgnore for webpack/Rspack, turbopackIgnore for Turbopack. Dropping any of them makes the host bundler\n // resolve it at build time and the renderer dies with `Cannot find module 'unknown'`. #1688\n module = (await import(/* @vite-ignore */ /* webpackIgnore: true */ /* turbopackIgnore: true */ moduleUrl)) as { default?: GeneratedComponent };\n } catch (error) {\n // The browser reports a failed blob module as one opaque \"Failed to fetch dynamically imported module\" without\n // naming the entry that broke; re-probe each dependency to raise an actionable, heal-ready error instead. #1371\n throw await enrichModuleImportError(error, code, this.importmap?.imports);\n }\n // A missing default is a transient \"stream not finished yet\" frame, not a dependency failure: the blob import\n // resolved, so every dependency already linked, and probing would re-scan cached modules to no effect.\n if (!module.default) throw new Error(\"No default export found in compiled module.\");\n rememberCompiledComponent(code, module.default);\n return { component: module.default, moduleUrl };\n } catch (error) {\n URL.revokeObjectURL(moduleUrl);\n throw error;\n }\n }\n\n private adoptModuleUrl(moduleUrl: string) {\n if (this.moduleUrl && this.moduleUrl !== moduleUrl) URL.revokeObjectURL(this.moduleUrl);\n this.moduleUrl = moduleUrl;\n }\n\n private revokeModuleUrl() {\n if (!this.moduleUrl) return;\n URL.revokeObjectURL(this.moduleUrl);\n this.moduleUrl = null;\n }\n\n private scheduleRenderedCallback(component: GeneratedComponent, code: string, renderSerial: number | undefined, compileSerial: number) {\n const notify = () => {\n if (compileSerial === this.compileSerial) this.callbacks.onRendered?.(component, code, renderSerial);\n };\n if (typeof document !== \"undefined\" && document.hidden) {\n notify();\n return;\n }\n if (typeof requestAnimationFrame === \"function\") requestAnimationFrame(notify);\n else queueMicrotask(notify);\n }\n\n private renderComponent(component = this.slot.current(), renderedCode = this.currentBuffer, renderSerial?: number, sourceCode = renderedCode, hookSignature = getGenUIHookSignature(sourceCode)) {\n if (!this.root || !component) return;\n this.renderRound += 1;\n const renderedComponent = component;\n // streamingPartialFrame only drives the chart render context below (chart keys remount per partial frame). Preserve\n // stays on throughout streaming: each partial frame can have a different hook count, so the hook-signature diff in\n // the preserve branch remounts the stable wrapper whenever the layout changes, which is what would otherwise reuse\n // the wrong hook cells and violate the Rules of Hooks (React #310).\n const streamingPartialFrame = this.updateMode === \"push\" && !this.finished;\n const preserve = this.preserveStateOnUpdate;\n const renderedHookSignature = hookSignature;\n const lastGood = this.slot.lastGood();\n if (preserve && streamingPartialFrame && lastGood && lastGood !== renderedComponent && !this.canRenderComponent(renderedComponent, streamingPartialFrame)) {\n this.slot.restoreLastGood();\n return;\n }\n if (preserve) {\n // Preserving state across hook layout changes reuses the wrong hook cells; remount only that stable wrapper epoch.\n // lastHookSignature is null only before the first committed frame; \"\" is a real hookless signature, so a hookless→hooked\n // transition (the common JSX-first-then-useState stream shape) must still bump the epoch and remount (React #310).\n if (this.lastHookSignature !== null && this.lastHookSignature !== renderedHookSignature) this.preserveBoundaryEpoch += 1;\n this.lastHookSignature = renderedHookSignature;\n }\n const renderContext = this.buildStreamingRenderContext(streamingPartialFrame);\n const onRenderError = (error: Error) => {\n this.callbacks.onError?.(error, \"render\");\n if (!preserve) return;\n if (this.slot.lastGood() === renderedComponent || !this.restoreLastGood()) this.errorEpoch += 1;\n };\n this.root.render(\n createElement(\n RuntimeErrorBoundary,\n { key: preserve ? getPreserveBoundaryKey(this.preserveBoundaryEpoch) : `boundary:${this.renderRound}`, resetKey: this.errorEpoch, onError: onRenderError },\n // The cast wraps the whole ternary: @types/react 18 rejects the slot's `Promise<ReactNode>` return, and we ship raw .ts to 18.3 peers.\n createElement(GenUIRenderContext.Provider, { value: renderContext }, createElement((preserve ? this.slot.Component : renderedComponent) as ComponentType<Record<string, unknown>>, { key: \"generated-component\" })),\n createElement(RenderNotify, {\n key: `render-notify:${this.renderRound}`,\n onCommit: () => {\n if (this.slot.current() === renderedComponent) {\n this.slot.markRendered(renderedComponent);\n if (preserve) this.lastGoodHookSignature = renderedHookSignature;\n }\n },\n onReady: () => {\n this.callbacks.onRendered?.(renderedComponent, renderedCode, renderSerial);\n },\n }),\n ),\n );\n }\n}\n",
|
|
11
13
|
"import { createElement, type ComponentType, type ReactNode } from \"react\";\n\nexport type GeneratedFunctionComponent = (props: Record<string, unknown>) => ReactNode | Promise<ReactNode>;\nexport type GeneratedComponent = ComponentType<Record<string, unknown>> | GeneratedFunctionComponent;\nexport type GeneratedComponentSlot = {\n Component: GeneratedFunctionComponent;\n current: () => GeneratedComponent | null;\n lastGood: () => GeneratedComponent | null;\n setCurrent: (component: GeneratedComponent) => void;\n markRendered: (component?: GeneratedComponent | null) => void;\n restoreLastGood: () => boolean;\n clear: () => void;\n};\nconst isClassComponent = (component: unknown) => typeof component === \"function\" && Boolean((component as { prototype?: { isReactComponent?: unknown } }).prototype?.isReactComponent);\n\nexport function createGeneratedComponentSlot(): GeneratedComponentSlot {\n const currentRef = { current: null as GeneratedComponent | null };\n const lastGoodRef = { current: null as GeneratedComponent | null };\n const Component = (props: Record<string, unknown>) => {\n const Current = currentRef.current;\n if (!Current) return null;\n // Function components are invoked inside this stable wrapper so React keeps their hooks on the wrapper fiber.\n if (typeof Current === \"function\" && !isClassComponent(Current)) return (Current as (props: Record<string, unknown>) => ReactNode | Promise<ReactNode>)(props);\n return createElement(Current as never, props);\n };\n return {\n Component,\n current: () => currentRef.current,\n lastGood: () => lastGoodRef.current,\n setCurrent(component) {\n currentRef.current = component;\n },\n markRendered(component = currentRef.current) {\n if (component) lastGoodRef.current = component;\n },\n restoreLastGood() {\n if (!lastGoodRef.current) return false;\n currentRef.current = lastGoodRef.current;\n return true;\n },\n clear() {\n currentRef.current = null;\n lastGoodRef.current = null;\n },\n };\n}\n",
|
|
12
14
|
"export type RendererImportMap = { imports?: Record<string, string>; scopes?: Record<string, Record<string, string>>; styles?: string[] };\n\n// A provider contributes import-map entries. `base` providers always run; `fallback` providers only run when earlier\n// providers left some required specifier unresolved, and only see (and should answer for) those `missing` specifiers.\nexport type ImportMapProviderContext = { code: string; missing: string[]; imports?: Readonly<Record<string, string>> };\nexport type ImportMapProvider = { kind?: \"base\" | \"fallback\"; prefetch?: () => Promise<unknown> | void; resolve: (context: ImportMapProviderContext) => RendererImportMap | Promise<RendererImportMap> };\n\n// Packages whose identity must be shared with a dependent's own bundled copy — see `toEsmShImportUrl`.\nconst SHARED_INSTANCE_PACKAGES = new Set([\"three\"]);\nconst DEFAULT_ESM_SH_EXTERNALS = [\"react\", \"react-dom\", \"scheduler\"] as const;\nexport const RUNTIME_SINGLETON_SPECIFIERS = [\"react\", \"react-dom\", \"react-dom/client\", \"react/jsx-runtime\", \"react/jsx-dev-runtime\", \"scheduler\"] as const;\nexport type RuntimeSingletonSpecifier = (typeof RUNTIME_SINGLETON_SPECIFIERS)[number];\nexport const isRuntimeSingletonSpecifier = (specifier: string): specifier is RuntimeSingletonSpecifier => RUNTIME_SINGLETON_SPECIFIERS.includes(specifier as RuntimeSingletonSpecifier);\n// A trailing-slash import-map key also owns matching singleton subpaths.\nexport const isRuntimeSingletonImportMapKey = (specifier: string) => isRuntimeSingletonSpecifier(specifier) || (specifier.endsWith(\"/\") && RUNTIME_SINGLETON_SPECIFIERS.some((runtimeSpecifier) => runtimeSpecifier.startsWith(specifier)));\nconst IDENTIFIER_CHAR_PATTERN = /[\\w$]/;\nconst REGEX_PREFIX_WORDS = new Set([\"return\", \"throw\", \"case\", \"delete\", \"typeof\", \"void\", \"new\", \"in\", \"of\", \"await\", \"yield\"]);\nconst LOCAL_EXPORT_KEYWORDS = [\"abstract\", \"async\", \"class\", \"const\", \"declare\", \"default\", \"enum\", \"function\", \"interface\", \"let\", \"namespace\", \"var\"];\n\nexport const isBareModuleSpecifier = (specifier: string) => !specifier.startsWith(\".\") && !specifier.startsWith(\"/\") && !/^(?:[a-z][a-z\\d+.-]*:|#)/i.test(specifier);\nexport const getBarePackageName = (specifier: string) => (specifier.startsWith(\"@\") ? specifier.split(\"/\").slice(0, 2).join(\"/\") : specifier.split(\"/\")[0] || specifier);\n// A shared-instance package must stay on its canonical esm.sh URL end to end: `toEsmShImportUrl` keeps it unbundled so\n// it resolves to the same `/three@x/es2022/three.mjs` a dependent's bundle imports, and callers must not blob it either\n// — a blob: copy is a distinct module object, which is exactly the duplication the unbundled path exists to avoid.\nexport const isSharedInstancePackage = (specifier: string) => SHARED_INSTANCE_PACKAGES.has(getBarePackageName(specifier));\n// Shared #1178 contract: /src/… and /node_modules/… targets are root-relative disk paths each engine rebases against\n// its own root (dev: Vite's resolved root; build: cwd). Single-sourced so a new local prefix lands in both engines.\nexport const isLocalRootRelativeTarget = (target: string) => target.startsWith(\"/src/\") || target.startsWith(\"/node_modules/\");\nconst canUseEsmShFallback = (specifier: string) => isBareModuleSpecifier(specifier) && !specifier.startsWith(\"@/\");\n\nconst isKeywordAt = (code: string, index: number, keyword: string) => code.startsWith(keyword, index) && !IDENTIFIER_CHAR_PATTERN.test(code[index - 1] ?? \"\") && !IDENTIFIER_CHAR_PATTERN.test(code[index + keyword.length] ?? \"\");\n\nconst skipLineComment = (code: string, index: number) => {\n const newlineIndex = code.indexOf(\"\\n\", index + 2);\n return newlineIndex === -1 ? code.length : newlineIndex;\n};\n\nconst skipBlockComment = (code: string, index: number) => {\n const closeIndex = code.indexOf(\"*/\", index + 2);\n return closeIndex === -1 ? code.length : closeIndex + 2;\n};\n\nconst skipWhitespaceAndComments = (code: string, index: number) => {\n while (index < code.length) {\n if (/\\s/.test(code[index])) {\n index += 1;\n continue;\n }\n if (code[index] === \"/\" && code[index + 1] === \"/\") {\n index = skipLineComment(code, index);\n continue;\n }\n if (code[index] === \"/\" && code[index + 1] === \"*\") {\n index = skipBlockComment(code, index);\n continue;\n }\n break;\n }\n return index;\n};\n\nconst readStringLiteral = (code: string, index: number) => {\n const quote = code[index];\n if (quote !== '\"' && quote !== \"'\") return null;\n let value = \"\";\n index += 1;\n while (index < code.length) {\n const char = code[index];\n if (char === \"\\\\\") {\n value += code.slice(index, index + 2);\n index += 2;\n continue;\n }\n if (char === quote) return { value, end: index + 1, terminated: true };\n value += char;\n index += 1;\n }\n // Unterminated literal (a streamed import mid-chunk, e.g. `import X from \"https://x/Foo.ts`). Report end so scanning\n // still advances past it, but flag it so callers don't treat a half-typed specifier as a real import to fetch.\n return { value, end: code.length, terminated: false };\n};\n\nconst skipTemplateLiteral = (code: string, index: number, onExpression?: (start: number, end: number) => void) => {\n index += 1;\n while (index < code.length) {\n if (code[index] === \"\\\\\") {\n index += 2;\n continue;\n }\n if (code[index] === \"`\") return index + 1;\n if (code[index] === \"$\" && code[index + 1] === \"{\") {\n const expressionStart = index + 2;\n const expressionEnd = findBalancedBlockEnd(code, index + 1, \"{\", \"}\");\n onExpression?.(expressionStart, Math.max(expressionStart, expressionEnd - 1));\n index = expressionEnd;\n continue;\n }\n index += 1;\n }\n return code.length;\n};\n\nconst findBalancedBlockEnd = (code: string, index: number, opener: string, closer: string) => {\n let depth = 0;\n while (index < code.length) {\n const char = code[index];\n if (char === \"/\" && code[index + 1] === \"/\") {\n index = skipLineComment(code, index);\n continue;\n }\n if (char === \"/\" && code[index + 1] === \"*\") {\n index = skipBlockComment(code, index);\n continue;\n }\n if (isLikelyRegexLiteralStart(code, index)) {\n index = skipRegexLiteral(code, index);\n continue;\n }\n if (char === '\"' || char === \"'\") {\n index = readStringLiteral(code, index)?.end ?? index + 1;\n continue;\n }\n if (char === \"`\") {\n index = skipTemplateLiteral(code, index);\n continue;\n }\n if (char === opener) depth += 1;\n if (char === closer) {\n depth -= 1;\n if (depth === 0) return index + 1;\n }\n index += 1;\n }\n return code.length;\n};\n\nconst isLikelyRegexLiteralStart = (code: string, index: number) => {\n if (code[index] !== \"/\" || code[index + 1] === \"/\" || code[index + 1] === \"*\") return false;\n let previous = index - 1;\n while (previous >= 0 && /\\s/.test(code[previous])) previous -= 1;\n if (previous < 0) return true;\n const previousChar = code[previous];\n if (\"([{=,:;!&|?+-*~^<>\".includes(previousChar)) return true;\n if (!/[A-Za-z_$]/.test(previousChar)) return false;\n let word = \"\";\n for (let cursor = previous; cursor >= 0 && /[A-Za-z0-9_$]/.test(code[cursor]); cursor -= 1) word = code[cursor] + word;\n return REGEX_PREFIX_WORDS.has(word);\n};\n\nconst skipRegexLiteral = (code: string, index: number) => {\n index += 1;\n let inClass = false;\n while (index < code.length) {\n const char = code[index];\n if (char === \"\\\\\") {\n index += 2;\n continue;\n }\n index += 1;\n if (char === \"[\" && !inClass) inClass = true;\n else if (char === \"]\" && inClass) inClass = false;\n else if (char === \"/\" && !inClass) {\n while (index < code.length && /[A-Za-z]/.test(code[index])) index += 1;\n return index;\n }\n }\n return code.length;\n};\n\nconst readFromSpecifier = (code: string, index: number) => {\n while (index < code.length) {\n const char = code[index];\n if (char === \";\") return null;\n if (char === \"/\" && code[index + 1] === \"/\") {\n index = skipLineComment(code, index);\n continue;\n }\n if (char === \"/\" && code[index + 1] === \"*\") {\n index = skipBlockComment(code, index);\n continue;\n }\n if (isLikelyRegexLiteralStart(code, index)) {\n index = skipRegexLiteral(code, index);\n continue;\n }\n if (char === '\"' || char === \"'\") {\n index = readStringLiteral(code, index)?.end ?? index + 1;\n continue;\n }\n if (char === \"`\") {\n index = skipTemplateLiteral(code, index);\n continue;\n }\n if (isKeywordAt(code, index, \"from\")) {\n const start = skipWhitespaceAndComments(code, index + \"from\".length);\n const literal = readStringLiteral(code, start);\n if (literal) return { specifier: literal.value, start, end: literal.end, terminated: literal.terminated };\n index += \"from\".length;\n continue;\n }\n index += 1;\n }\n return null;\n};\n\nconst readExportFromSpecifier = (code: string, index: number) => {\n let next = skipWhitespaceAndComments(code, index);\n if (isKeywordAt(code, next, \"type\")) next = skipWhitespaceAndComments(code, next + \"type\".length);\n if (code[next] === \"*\" || code[next] === \"{\") return readFromSpecifier(code, next);\n for (const keyword of LOCAL_EXPORT_KEYWORDS) if (isKeywordAt(code, next, keyword)) return null;\n return readFromSpecifier(code, next);\n};\n\n// `.meta.resolve(` after the `import` keyword, returning the string-literal argument. Null means this `import.` is\n// something else (`import.meta.url`, `import.meta.env`) and the caller should just skip past the dot.\nconst readImportMetaResolveSpecifier = (code: string, dotIndex: number) => {\n let next = skipWhitespaceAndComments(code, dotIndex + 1);\n if (!isKeywordAt(code, next, \"meta\")) return null;\n next = skipWhitespaceAndComments(code, next + \"meta\".length);\n if (code[next] !== \".\") return null;\n next = skipWhitespaceAndComments(code, next + 1);\n if (!isKeywordAt(code, next, \"resolve\")) return null;\n next = skipWhitespaceAndComments(code, next + \"resolve\".length);\n if (code[next] !== \"(\") return null;\n const start = skipWhitespaceAndComments(code, next + 1);\n const literal = readStringLiteral(code, start);\n return literal ? { ...literal, start } : { value: \"\", start, end: next, terminated: false };\n};\n\nconst readIdentifierWord = (code: string, index: number) => {\n let end = index;\n while (end < code.length && IDENTIFIER_CHAR_PATTERN.test(code[end])) end += 1;\n return end > index ? { name: code.slice(index, end), end } : null;\n};\n\n// Parses one static import clause right after the `import` keyword into the export names the module must provide\n// (\"default\" for default imports; namespace and side-effect imports demand none). `notLinked` marks a type-only import,\n// which survives specifier collection but is erased before the module is ever instantiated. Returns null on clauses it does not understand\n// (streaming-truncated ones) so callers can fall back to the lenient readFromSpecifier.\nconst readImportBindings = (code: string, index: number): { specifier: string; names: string[]; start: number; end: number; terminated: boolean; notLinked?: boolean } | null => {\n const names: string[] = [];\n index = skipWhitespaceAndComments(code, index);\n const sideEffect = readStringLiteral(code, index);\n if (sideEffect) return sideEffect.value ? { specifier: sideEffect.value, names, start: index, end: sideEffect.end, terminated: sideEffect.terminated } : null;\n if (isKeywordAt(code, index, \"type\")) {\n const after = skipWhitespaceAndComments(code, index + \"type\".length);\n // `import type …` is erased at runtime — but `import type from \"x\"` binds a default named `type`.\n if (!isKeywordAt(code, after, \"from\")) {\n const from = readFromSpecifier(code, after);\n return from ? { ...from, names, notLinked: true } : null;\n }\n }\n if (code[index] !== \"{\" && code[index] !== \"*\") {\n const afterDefault = readIdentifierWord(code, index)?.end;\n if (afterDefault === undefined) return null;\n names.push(\"default\");\n index = skipWhitespaceAndComments(code, afterDefault);\n if (code[index] === \",\") index = skipWhitespaceAndComments(code, index + 1);\n }\n if (code[index] === \"*\") {\n index = skipWhitespaceAndComments(code, index + 1);\n if (!isKeywordAt(code, index, \"as\")) return null;\n const afterNamespace = readIdentifierWord(code, skipWhitespaceAndComments(code, index + \"as\".length))?.end;\n if (afterNamespace === undefined) return null;\n index = skipWhitespaceAndComments(code, afterNamespace);\n } else if (code[index] === \"{\") {\n index = skipWhitespaceAndComments(code, index + 1);\n while (index < code.length && code[index] !== \"}\") {\n let typeOnly = false;\n if (isKeywordAt(code, index, \"type\")) {\n const after = skipWhitespaceAndComments(code, index + \"type\".length);\n // `{ type Foo }` is erased; a lone `{ type }` / `{ type as t }` demands an export literally named `type`.\n if (code[after] !== \",\" && code[after] !== \"}\" && !isKeywordAt(code, after, \"as\")) {\n typeOnly = true;\n index = after;\n }\n }\n const literal = readStringLiteral(code, index);\n const imported = literal ? { name: literal.value, end: literal.end } : readIdentifierWord(code, index);\n if (!imported) return null;\n index = skipWhitespaceAndComments(code, imported.end);\n if (isKeywordAt(code, index, \"as\")) {\n const local = readIdentifierWord(code, skipWhitespaceAndComments(code, index + \"as\".length));\n if (!local) return null;\n index = skipWhitespaceAndComments(code, local.end);\n }\n if (!typeOnly) names.push(imported.name);\n if (code[index] === \",\") index = skipWhitespaceAndComments(code, index + 1);\n else if (code[index] !== \"}\") return null;\n }\n if (code[index] !== \"}\") return null;\n index = skipWhitespaceAndComments(code, index + 1);\n }\n if (!isKeywordAt(code, index, \"from\")) return null;\n const start = skipWhitespaceAndComments(code, index + \"from\".length);\n const literal = readStringLiteral(code, start);\n return literal?.value ? { specifier: literal.value, names, start, end: literal.end, terminated: literal.terminated } : null;\n};\n\n// Walks module-level import/export statements and reports each specifier with the export names bound from it\n// (empty for namespace, side-effect, re-export and dynamic imports). `onSpecifier` is the single output channel —\n// callers project it into whatever shape they need. `site` separates the module graph from `import.meta.resolve()`,\n// which is a runtime asset lookup rather than an edge.\ntype ResolutionSite = \"import\" | \"meta-resolve\";\ntype SpecifierRange = { start: number; end: number };\nconst collectModuleSpecifiers = (code: string, onSpecifier: (specifier: string, names: string[], notLinked: boolean | undefined, site: ResolutionSite, range?: SpecifierRange) => void, start = 0, end = code.length) => {\n for (let index = start; index < end; index += 1) {\n const char = code[index];\n if (char === \"/\" && code[index + 1] === \"/\") {\n index = skipLineComment(code, index);\n continue;\n }\n if (char === \"/\" && code[index + 1] === \"*\") {\n index = skipBlockComment(code, index);\n continue;\n }\n if (isLikelyRegexLiteralStart(code, index)) {\n index = skipRegexLiteral(code, index);\n continue;\n }\n if (char === '\"' || char === \"'\") {\n index = readStringLiteral(code, index)?.end ?? index;\n continue;\n }\n if (char === \"`\") {\n index = skipTemplateLiteral(code, index, (expressionStart, expressionEnd) => collectModuleSpecifiers(code, onSpecifier, expressionStart, expressionEnd));\n continue;\n }\n if (isKeywordAt(code, index, \"import\")) {\n const afterImport = skipWhitespaceAndComments(code, index + \"import\".length);\n if (code[afterImport] === \".\") {\n // Keep runtime asset lookups visible to callers that scan all specifiers, while separating them from actual\n // module-graph edges. The renderer no longer projects these into a browser-native import map.\n const literal = readImportMetaResolveSpecifier(code, afterImport);\n if (literal) {\n // notLinked: nothing is instantiated here, so probing it would fetch what the module never requested.\n if (literal.terminated && literal.value) onSpecifier(literal.value, [], true, \"meta-resolve\", { start: literal.start, end: literal.end });\n index = literal.end;\n continue;\n }\n index = afterImport;\n continue;\n }\n if (code[afterImport] === \"(\") {\n const literalStart = skipWhitespaceAndComments(code, afterImport + 1);\n const literal = readStringLiteral(code, literalStart);\n // A dynamic target is not linked at instantiation, so probing it would issue a real request.\n if (literal?.terminated && literal.value) onSpecifier(literal.value, [], true, \"import\", { start: literalStart, end: literal.end });\n index = literal?.end ?? afterImport;\n continue;\n }\n const bindings = readImportBindings(code, afterImport);\n const from = bindings ?? readFromSpecifier(code, afterImport);\n if (from?.terminated && from.specifier) onSpecifier(from.specifier, bindings?.names ?? [], bindings?.notLinked, \"import\", { start: from.start, end: from.end });\n index = from?.end ?? afterImport;\n continue;\n }\n if (isKeywordAt(code, index, \"export\")) {\n const from = readExportFromSpecifier(code, index + \"export\".length);\n if (from?.terminated && from.specifier) onSpecifier(from.specifier, [], undefined, \"import\", { start: from.start, end: from.end });\n index = from?.end ?? index;\n }\n }\n};\n\nconst extractSpecifiers = (code: string, keep: (specifier: string, site: ResolutionSite) => boolean) => {\n const specifiers = new Set<string>();\n collectModuleSpecifiers(code, (specifier, _names, _notLinked, site) => {\n if (keep(specifier, site)) specifiers.add(specifier);\n });\n return specifiers;\n};\n\nexport const extractBareModuleSpecifiers = (code: string) => extractSpecifiers(code, isBareModuleSpecifier);\n\n// Specifiers reached through an `import`/`export` statement only — the actual module graph. Excludes\n// `import.meta.resolve()` targets, which are runtime asset lookups (WASM binaries, worker scripts) rather than graph\n// edges, so a consumer walking imports (the UnoCSS source tracer) doesn't try to parse a multi-MB binary as source.\nexport const extractImportSpecifiers = (code: string) => extractSpecifiers(code, (_specifier, site) => site === \"import\");\n\nexport const extractImportMetaResolveSpecifiers = (code: string) => extractSpecifiers(code, (_specifier, site) => site === \"meta-resolve\");\n\nexport const extractModuleSpecifiers = (code: string) => extractSpecifiers(code, () => true);\n\nexport function resolveImportMapSpecifier(imports: Readonly<Record<string, string>>, specifier: string) {\n if (imports[specifier]) return imports[specifier];\n let bestPrefix = \"\";\n for (const prefix of Object.keys(imports)) if (prefix.endsWith(\"/\") && specifier.startsWith(prefix) && prefix.length > bestPrefix.length) bestPrefix = prefix;\n return bestPrefix ? `${imports[bestPrefix]}${specifier.slice(bestPrefix.length)}` : undefined;\n}\n\n// Replace the parsed string-literal specifiers at `keepSite` with their import-map targets. Working from the scanner's\n// ranges — not a text match — is what makes this safe on minified bundles, where a string constant can read exactly\n// like an import clause (`from\"in $)}function S$(`).\nconst rewriteSpecifiers = (code: string, imports: Readonly<Record<string, string>>, keepSite: ResolutionSite) => {\n // collectModuleSpecifiers scans forward, so ranges arrive in ascending order: emit the gap before each one and skip\n // past it, then join once. Splicing the string per replacement would recopy the whole source each time.\n const segments: string[] = [];\n let copied = 0;\n collectModuleSpecifiers(code, (specifier, _names, _notLinked, site, range) => {\n const target = site === keepSite ? resolveImportMapSpecifier(imports, specifier) : undefined;\n if (!target || !range) return;\n segments.push(code.slice(copied, range.start), JSON.stringify(target));\n copied = range.end;\n });\n if (!segments.length) return code;\n segments.push(code.slice(copied));\n return segments.join(\"\");\n};\n\n// @esm.sh/tsx rewrites import declarations but deliberately leaves import.meta.resolve() calls intact. Replace only\n// their parsed string-literal arguments with resolved URLs so blob: modules never need a browser-native import map.\nexport const rewriteImportMetaResolveSpecifiers = (code: string, imports: Readonly<Record<string, string>>) => rewriteSpecifiers(code, imports, \"meta-resolve\");\n\n// The counterpart for code no compiler pass ever sees: host facade bundles are built with the runtime singletons\n// externalized (that externalization is what keeps React a singleton), so their bare imports would otherwise survive to\n// the browser and need a native import map. Rewriting them to the emitted chunk URLs is what lets that map go away.\nexport const rewriteImportSpecifiers = (code: string, imports: Readonly<Record<string, string>>) => rewriteSpecifiers(code, imports, \"import\");\n\n// Maps each specifier linked when the module is instantiated to the export names bound from it (\"default\" included;\n// namespace, side-effect and re-export imports demand no specific names). Type-only and dynamic imports are excluded:\n// neither is linked at instantiation, so probing them would fetch something the failed module never requested.\n// importProbe runs this over *compiled* code, where the import-map rewrite already resolved bare specifiers.\nexport function extractImportBindings(code: string) {\n const bindings = new Map<string, string[]>();\n collectModuleSpecifiers(code, (specifier, names, notLinked) => {\n if (!notLinked) bindings.set(specifier, [...new Set([...(bindings.get(specifier) ?? []), ...names])]);\n });\n return bindings;\n}\n\nexport function hasImportMapEntry(imports: Record<string, string> | Set<string> | Map<string, string>, specifier: string) {\n const keys = imports instanceof Set ? imports : imports instanceof Map ? new Set(imports.keys()) : new Set(Object.keys(imports));\n if (keys.has(specifier)) return true;\n for (const key of keys) if (key.endsWith(\"/\") && specifier.startsWith(key)) return true;\n return false;\n}\n\nexport type EsmShDependencyRanges = Readonly<Record<string, string>>;\ntype EsmShImportUrlOptions = { dev?: boolean; dependencyRanges?: EsmShDependencyRanges };\n\nexport function toEsmShImportUrl(specifier: string, external: readonly string[] = DEFAULT_ESM_SH_EXTERNALS, options?: EsmShImportUrlOptions) {\n if (!canUseEsmShFallback(specifier)) throw new Error(`Cannot create an esm.sh fallback for ${specifier}`);\n const packageName = getBarePackageName(specifier);\n // Dev builds: production bundles strip the dev-only dispatcher fields (e.g. getOwner) that the dev jsx-runtime\n // calls while an externalized reconciler (react-reconciler inside @react-three/fiber) owns the render pass.\n const devParam = options?.dev ? \"&dev\" : \"\";\n // `bundle`/`external` both fork esm.sh's build path, so a bundled `three` is a different module object than the plain\n // `/three@x/es2022/three.mjs` that `@react-three/fiber` imports. Shared-instance packages use that unbundled path so\n // R3F's `instanceof THREE.Layers/Color` checks see the same constructors as user-created Three.js objects. Their\n // identity comes from agreeing with a dependent's own pinned range (R3F asks for `three@>=0.156`), so our side stays\n // unconstrained too and both float onto latest, landing on the same pinned build. The invariant is that agreement,\n // not version-freedom — it would break the day R3F pins an upper bound or we constrain our side.\n if (isSharedInstancePackage(specifier)) return `https://esm.sh/${specifier}${specifier.includes(\"?\") ? \"&\" : \"?\"}target=es2022${devParam}`;\n // Keep the repository's declared semver range as the single source of truth. Protocol-based specs describe local,\n // aliased, or non-registry packages that esm.sh cannot resolve and therefore stay version-free here.\n const dependencyRange = options?.dependencyRanges?.[packageName];\n const constrainedSpecifier = dependencyRange && !dependencyRange.includes(\":\") ? `${packageName}@${encodeURIComponent(dependencyRange)}${specifier.slice(packageName.length)}` : specifier;\n const separator = constrainedSpecifier.includes(\"?\") ? \"&\" : \"?\";\n const externalParam = external.length ? `&external=${external.join(\",\")}` : \"\";\n return `https://esm.sh/${constrainedSpecifier}${separator}bundle&target=es2022${devParam}${externalParam}`;\n}\n\ntype EsmShPreloadFetch = (url: string) => Promise<Pick<Response, \"ok\" | \"status\">>;\ntype EsmShPreloadOptions = { fetch?: EsmShPreloadFetch; attempts?: number; retryDelayMs?: number };\nconst esmShPreloadCache = new Map<string, Promise<void>>();\n\n// A browser module loader memoizes a rejected URL for the page lifetime, so retrying the generated blob cannot recover\n// from a transient esm.sh cold-build failure. Warm the entry URL with ordinary fetch first — a version range still\n// leaves it a mutable entry esm.sh has to resolve and build, not a pinned artifact. Failures remain retryable, while a\n// 2xx means esm.sh has finished resolving/building before import() sees the URL.\nexport function preloadEsmShImportUrl(url: string, options?: EsmShPreloadOptions): Promise<void> {\n let preload = esmShPreloadCache.get(url);\n if (!preload) {\n const fetcher = options?.fetch ?? fetch;\n // 3 attempts at 250ms exponential backoff spans ~750ms of retrying, which covers a typical esm.sh cold build\n // without stalling first paint. There is no ack to wait on — esm.sh answers 5xx while the build is still running.\n const attempts = options?.attempts ?? 3;\n const retryDelayMs = options?.retryDelayMs ?? 250;\n preload = (async () => {\n let lastFailure: unknown;\n for (let attempt = 0; attempt < attempts; attempt += 1) {\n if (attempt > 0) await new Promise((resolve) => setTimeout(resolve, retryDelayMs * 2 ** (attempt - 1)));\n try {\n const response = await fetcher(url);\n if (response.ok) return;\n lastFailure = new Error(`HTTP ${response.status}`);\n // esm.sh answers 5xx while a cold build is still running, and 429 when npm rate-limits it — both transient,\n // same classification the probes below use. Any other 4xx is a decided answer (unknown package, rejected\n // specifier); retrying burns the full backoff for the same result.\n if (response.status < 500 && response.status !== 429) break;\n } catch (error) {\n lastFailure = error;\n }\n }\n throw new Error(`Failed to preload esm.sh module ${url}`, { cause: lastFailure });\n })();\n preload.catch(() => esmShPreloadCache.delete(url));\n esmShPreloadCache.set(url, preload);\n }\n return preload;\n}\n\nexport type EsmShProbe = { alive: true } | { alive: false; detail: string };\ntype EsmShProbeFetch = (url: string) => Promise<Pick<Response, \"ok\" | \"status\" | \"text\" | \"json\">>;\n// esm.sh 404/2xx verdicts are deterministic per specifier, so they're cached for the process lifetime; transient\n// fail-open verdicts (5xx/rate-limit/network) are evicted on resolve so they don't pin. Tests inject a fetcher and\n// must use per-test specifiers to dodge the shared cache.\nconst esmShProbeCache = new Map<string, Promise<EsmShProbe | null>>();\n\n// A dead entry usually means the model hallucinated the package or its layout; the registry's real subpaths are the\n// heal signal that lets it rewrite the import in one shot.\nconst MAX_HINT_SUBPATHS = 8; // enough real subpaths for the model to spot the right one without bloating the diagnostic\nconst registryExportsHint = async (packageName: string, fetcher: EsmShProbeFetch) => {\n const response = await fetcher(`https://registry.npmjs.org/${packageName}/latest`);\n if (!response.ok) return response.status === 404 ? \"the package does not exist on npm\" : \"\";\n const { exports: exportsMap } = (await response.json()) as { exports?: Record<string, unknown> };\n const subpaths = Object.keys(exportsMap ?? {}).filter((key) => key.startsWith(\"./\"));\n return subpaths.length ? `its real exports subpaths are ${subpaths.slice(0, MAX_HINT_SUBPATHS).join(\", \")}${subpaths.length > MAX_HINT_SUBPATHS ? `, … (${subpaths.length} total)` : \"\"}` : \"\";\n};\n\n// Would the esm.sh fallback actually answer this specifier at render time? Null means the fallback never applies\n// (relative path, `@/` alias) — the caller should leave its own resolution verdict alone. Only a deterministic 404\n// condemns an import: network failures and 5xx must not fail checks that run offline or during an esm.sh incident. #1372\nexport const probeEsmShSpecifier = (specifier: string, fetcher: EsmShProbeFetch = fetch): Promise<EsmShProbe | null> => {\n let probe = esmShProbeCache.get(specifier);\n if (!probe) {\n probe = (async (): Promise<EsmShProbe | null> => {\n let url: string;\n try {\n // Deliberately unranged: this is a package-existence check, and the cache is keyed by bare specifier. A\n // package that exists unranged exists ranged, so the only gap is a declared range with no esm.sh build —\n // probe says alive, render 404s. #1573 tracks threading ranges through if that ever bites.\n url = toEsmShImportUrl(specifier);\n } catch {\n return null;\n }\n // A non-404 status esm.sh can't build deterministically (5xx incident, 429/403 npm rate-limit) or a network\n // failure fails open so offline `check` still passes, but that verdict isn't deterministic; evict it so a\n // genuinely-dead import isn't pinned `alive` for the host's lifetime.\n const failOpenTransiently = (): EsmShProbe => {\n esmShProbeCache.delete(specifier);\n return { alive: true };\n };\n try {\n const response = await fetcher(url);\n if (response.status === 404) {\n const body = (await response.text()).trim().split(\"\\n\")[0];\n const hint = await registryExportsHint(getBarePackageName(specifier), fetcher).catch(() => \"\");\n return { alive: false, detail: `The renderer's esm.sh fallback fails too (404: ${body})${hint ? `; ${hint}` : \"\"}.` };\n }\n // Only a 2xx means esm.sh actually resolved the build; anything else joins the fail-open path above.\n return response.ok ? { alive: true } : failOpenTransiently();\n } catch {\n return failOpenTransiently();\n }\n })();\n esmShProbeCache.set(specifier, probe);\n }\n return probe;\n};\n\n// `build` fetch-bundles remote http(s) module imports and dev/the runtime import them directly, so the URL itself is\n// the authority to consult before condemning a remote specifier's TS2307 (#1468). Same doctrine as the esm.sh probe:\n// only a deterministic 404 condemns; transient verdicts (5xx/rate-limit/network) fail open and are evicted so they don't pin.\nconst remoteModuleProbeCache = new Map<string, Promise<EsmShProbe>>();\nexport const probeRemoteModuleUrl = (url: string, fetcher: EsmShProbeFetch = fetch): Promise<EsmShProbe> => {\n let probe = remoteModuleProbeCache.get(url);\n if (!probe) {\n probe = (async (): Promise<EsmShProbe> => {\n const failOpenTransiently = (): EsmShProbe => {\n remoteModuleProbeCache.delete(url);\n return { alive: true };\n };\n try {\n const response = await fetcher(url);\n if (response.status === 404) return { alive: false, detail: `The renderer's remote module fetch fails too (404: ${(await response.text()).trim().split(\"\\n\")[0]}).` };\n return response.ok ? { alive: true } : failOpenTransiently();\n } catch {\n return failOpenTransiently();\n }\n })();\n remoteModuleProbeCache.set(url, probe);\n }\n return probe;\n};\n\n// One probe for every specifier `check`'s local TS resolution can't see: remote http(s) URLs consult the origin itself,\n// bare specifiers consult the esm.sh fallback, anything else (relative path, `@/` alias) keeps the caller's own verdict.\nexport const probeImportSpecifier = (specifier: string, fetcher: EsmShProbeFetch = fetch): Promise<EsmShProbe | null> => (/^https?:\\/\\//i.test(specifier) ? probeRemoteModuleUrl(specifier, fetcher) : probeEsmShSpecifier(specifier, fetcher));\n\nexport function prepareRendererImportMap(map: RendererImportMap | null | undefined, baseUrl = typeof location === \"undefined\" ? undefined : location.href) {\n const resolveTarget = (target: string) => (baseUrl ? new URL(target, baseUrl).href : target);\n const resolveEntries = (entries: Record<string, string>) => Object.fromEntries(Object.entries(entries).map(([specifier, target]) => [specifier, resolveTarget(target)]));\n const imports = resolveEntries(map?.imports ?? {});\n const styles = map?.styles?.map(resolveTarget);\n const scopes = map?.scopes && Object.fromEntries(Object.entries(map.scopes).map(([scope, entries]) => [scope, resolveEntries(entries)]));\n return { imports, ...(scopes ? { scopes } : {}), ...(styles?.length ? { styles } : {}) };\n}\n\nexport function literalImportMap(map: RendererImportMap): ImportMapProvider {\n return { resolve: () => map };\n}\n\n// Loads a remote/JSON import map once. `prefetch()` and `resolve()` share the in-flight promise so an idle-time\n// prefetch and a later render both reuse the same fetch instead of hitting the network twice.\nexport function urlImportMap(source: string, options?: { kind?: ImportMapProvider[\"kind\"]; fetch?: (source: string) => Promise<Pick<Response, \"ok\" | \"status\" | \"statusText\" | \"json\">> }): ImportMapProvider {\n const fetcher = options?.fetch ?? fetch;\n let loadPromise: Promise<RendererImportMap> | undefined;\n const load = () =>\n (loadPromise ??= (async () => {\n const response = await fetcher(source);\n if (!response.ok) throw new Error(`Failed to load import map ${source}: ${response.status} ${response.statusText}`);\n const baseUrl = typeof location === \"undefined\" ? source : new URL(source, location.href).href;\n return prepareRendererImportMap((await response.json()) as RendererImportMap, baseUrl);\n })());\n return { kind: options?.kind ?? \"base\", prefetch: load, resolve: load };\n}\n\n// Node-only: resolve `packageName`'s package.json#genui.importMap into a provider. Relative targets (./dist/…) are\n// rebased to absolute disk paths so Vite/Rollup can load them; absolute paths and URLs pass through. Throws if the\n// package declares no genui.importMap. Resolution is from the caller's cwd (where the user installed the package),\n// not this file's location — so `bunx @genui/cli -i @macaron/ui` finds the user's package, not the CLI's. node:\n// imports stay inside resolve() so this module remains browser-bundleable.\nexport function packageImportMap(packageName: string, options?: { resolve?: (name: string) => string }): ImportMapProvider {\n return {\n resolve: async () => {\n const [{ createRequire }, { readFile }, { dirname, resolve: resolvePath }] = await Promise.all([import(\"node:module\"), import(\"node:fs/promises\"), import(\"node:path\")]);\n const resolveName = options?.resolve ?? createRequire(resolvePath(\"package.json\")).resolve;\n const manifestPath = resolveName(`${packageName}/package.json`);\n const manifest = JSON.parse(await readFile(manifestPath, \"utf8\")) as { genui?: { importMap?: RendererImportMap } };\n const importMap = manifest.genui?.importMap;\n if (!importMap) throw new Error(`${packageName} has no package.json#genui.importMap — add it to declare the GenUI importmap contract`);\n const packageDir = dirname(manifestPath);\n const rebase = (target: string) => (target.startsWith(\".\") ? resolvePath(packageDir, target) : target);\n return { imports: Object.fromEntries(Object.entries(importMap.imports ?? {}).map(([specifier, target]) => [specifier, rebase(target)])), styles: importMap.styles?.map(rebase) };\n },\n };\n}\n\n// esm.sh fallback only answers for `missing` specifiers, so the resolver can merge its output without re-checking\n// coverage. In dev, locally installed packages are preferred so peer deps like React stay on the preview's runtime.\nexport function esmShFallback(options?: { external?: readonly string[]; dev?: boolean; dependencyRanges?: EsmShDependencyRanges; hasLocalPackage?: (packageName: string) => Promise<boolean> }): ImportMapProvider {\n return {\n kind: \"fallback\",\n resolve: async ({ missing }) => {\n const entries = await Promise.all(\n missing.filter(canUseEsmShFallback).map(async (specifier) => {\n const isLocal = await options?.hasLocalPackage?.(getBarePackageName(specifier));\n return [specifier, isLocal ? `/node_modules/${specifier}` : toEsmShImportUrl(specifier, options?.external, { dev: options?.dev, dependencyRanges: options?.dependencyRanges })] as const;\n }),\n );\n return { imports: Object.fromEntries(entries) };\n },\n };\n}\n\nexport function createImportMapResolver(providers: ImportMapProvider[]) {\n return {\n // Idle/build-time warmup only touches base providers. Fallback providers stay lazy until resolve() has scanned the\n // TSX for missing specifiers, so prefetching them would fetch remote maps the rendered code may never reference.\n prefetch: () => Promise.all(providers.filter((provider) => provider.kind !== \"fallback\").map((provider) => provider.prefetch?.())).then(() => undefined),\n async resolve({ code = \"\" }: { code?: string } = {}) {\n const required = [...extractBareModuleSpecifiers(code)];\n let imports: Record<string, string> = {};\n let scopes: RendererImportMap[\"scopes\"];\n let styles: string[] | undefined;\n for (const provider of providers) {\n const covered = new Set(Object.keys(imports));\n const missing = required.filter((specifier) => !hasImportMapEntry(covered, specifier));\n if (provider.kind === \"fallback\" && missing.length === 0) continue;\n const next = await provider.resolve({ code, missing, imports });\n imports = { ...imports, ...next.imports };\n // scopes is an advanced compat field with no producer today, so a later provider replaces an earlier one's\n // entries for the same scope key rather than deep-merging them. Revisit if two providers ever both emit scopes.\n if (next.scopes) scopes = { ...scopes, ...next.scopes };\n if (next.styles?.length) styles = [...(styles ?? []), ...next.styles];\n }\n return { imports, ...(scopes ? { scopes } : {}), ...(styles?.length ? { styles: [...new Set(styles)] } : {}) };\n },\n };\n}\n\nexport async function mergeFallbackImports(imports: Record<string, string>, code: string, options?: { dependencyRanges?: EsmShDependencyRanges; hasLocalPackage?: (packageName: string) => Promise<boolean> }) {\n return (await createImportMapResolver([literalImportMap({ imports }), esmShFallback(options)]).resolve({ code })).imports;\n}\n",
|
|
@@ -17,13 +19,13 @@
|
|
|
17
19
|
"import initTsx, { transform as transformTsx } from \"@esm.sh/tsx\";\nimport { normalizeGeneratedTsx } from \"partial-tsx\";\nimport { rewriteImportMetaResolveSpecifiers, type RendererImportMap } from \"./importMap\";\n\nexport type CompileOptions = { importMap?: RendererImportMap; partial?: boolean; previousCode?: string; filename?: string; lang?: \"ts\" | \"tsx\" | \"js\" | \"jsx\"; jsxImportSource?: string };\nexport type CompileResult = { code: string; source: string; changed: boolean };\nexport type TsxCompiler = { compile: (code: string, options?: CompileOptions) => Promise<CompileResult> };\n\nlet initPromise: Promise<unknown> | null = null;\nconst initCompiler = () =>\n (initPromise ??= (async () => {\n try {\n if (typeof window === \"undefined\") return initTsx(await (await import(\"./nodeWasm\")).loadNodeWasm());\n } catch {\n // Environments without a filesystem (e.g. web workers) fall back to the bundled asset below.\n }\n // No argument: wasm-bindgen resolves `new URL(\"tsx_bg.wasm\", import.meta.url)`, which every bundler understands — a Vite-only `?url` import here broke the rest. #1690\n return initTsx();\n })().catch((error) => {\n initPromise = null;\n throw error;\n }));\n\nexport function createTsxCompiler(): TsxCompiler {\n return {\n async compile(code, options = {}) {\n await initCompiler();\n const source = options.partial ? normalizeGeneratedTsx(code, { mode: \"streaming\" }) : code;\n const resolvedSource = options.importMap?.imports ? rewriteImportMetaResolveSpecifiers(source, options.importMap.imports) : source;\n const result = transformTsx({ filename: options.filename ?? \"_.tsx\", code: resolvedSource, lang: options.lang, target: \"es2022\", importMap: options.importMap, jsxImportSource: options.jsxImportSource ?? \"react\" });\n const compiled = new TextDecoder().decode(result.code);\n return { code: compiled, source, changed: compiled !== options.previousCode };\n },\n };\n}\n",
|
|
18
20
|
"import { createContext, useContext, type Context } from \"react\";\n\nexport type GenUIRenderContextValue = { rendererScope: string; streamingPartialFrame: boolean; nextStreamingRenderKey?: () => string };\nconst defaultRendererScope = \"default\";\nconst renderContextValues = new Map<string, { complete: GenUIRenderContextValue; streaming: GenUIRenderContextValue }>();\nconst getRenderContextValues = (rendererScope: string) => {\n const cached = renderContextValues.get(rendererScope);\n if (cached) return cached;\n const values = { complete: Object.freeze({ rendererScope, streamingPartialFrame: false }), streaming: Object.freeze({ rendererScope, streamingPartialFrame: true }) };\n renderContextValues.set(rendererScope, values);\n return values;\n};\nconst completeRenderContextValue = getRenderContextValues(defaultRendererScope).complete;\n\nconst renderContextKey = Symbol.for(\"@macaron/genui-runtime:render-context\");\nconst globalRenderContext = globalThis as typeof globalThis & { [renderContextKey]?: Context<GenUIRenderContextValue> };\n\nexport const getGenUIRenderContextValue = (streamingPartialFrame: boolean, rendererScope = defaultRendererScope, nextStreamingRenderKey?: () => string): GenUIRenderContextValue => {\n if (nextStreamingRenderKey) return { rendererScope, streamingPartialFrame, nextStreamingRenderKey };\n const values = getRenderContextValues(rendererScope);\n return streamingPartialFrame ? values.streaming : values.complete;\n};\n// Production chunks can load separate copies of this module; the global symbol keeps charts and the renderer on one Context.\nexport const GenUIRenderContext = (globalRenderContext[renderContextKey] ??= createContext<GenUIRenderContextValue>(completeRenderContextValue));\nexport const useGenUIRenderContext = () => useContext(GenUIRenderContext);\n",
|
|
19
21
|
"// A tiny hand-rolled TSX lexer that extracts the ordered list of React hook calls from generated source. The renderer compares\n// successive signatures: same layout keeps preserved state, a changed layout remounts the stable boundary so React reassigns hook cells.\nconst identifierPartPattern = /[\\w$]/;\nconst hookCallPattern = /use[A-Z][\\w$]*/y;\nconst regexPrefixKeywords = new Set([\"return\", \"throw\", \"case\", \"delete\", \"void\", \"typeof\", \"yield\", \"await\", \"in\", \"of\"]);\nconst jsxPrefixKeywords = new Set([\"return\", \"throw\", \"case\", \"yield\", \"await\"]);\nconst skipQuotedString = (code: string, index: number) => {\n const quote = code[index];\n index += 1;\n while (index < code.length) {\n if (code[index] === \"\\\\\") index += 2;\n else if (code[index] === quote) return index + 1;\n else index += 1;\n }\n return code.length;\n};\nconst skipLineComment = (code: string, index: number) => {\n const end = code.indexOf(\"\\n\", index + 2);\n return end === -1 ? code.length : end;\n};\nconst skipBlockComment = (code: string, index: number) => {\n const end = code.indexOf(\"*/\", index + 2);\n return end === -1 ? code.length : end + 2;\n};\nconst isRegexLiteralStart = (code: string, index: number) => {\n const previous = previousNonSpaceIndex(code, index);\n if (previous < 0) return true;\n if (\"([{=,:;!&|?+-*~^<>\".includes(code[previous])) return true;\n if (!identifierPartPattern.test(code[previous])) return false;\n let word = \"\";\n for (let cursor = previous; cursor >= 0 && identifierPartPattern.test(code[cursor]); cursor -= 1) word = code[cursor] + word;\n return regexPrefixKeywords.has(word);\n};\nconst skipRegexLiteral = (code: string, index: number) => {\n index += 1;\n let inClass = false;\n while (index < code.length) {\n const char = code[index];\n if (char === \"\\\\\") index += 2;\n else if (char === \"[\") {\n inClass = true;\n index += 1;\n } else if (char === \"]\") {\n inClass = false;\n index += 1;\n } else if (char === \"/\" && !inClass) {\n index += 1;\n while (/[A-Za-z]/.test(code[index] ?? \"\")) index += 1;\n return index;\n } else index += 1;\n }\n return code.length;\n};\ntype HookSignatureContext = { localHookNames: Set<string>; reactNamespaces: Set<string> };\nconst previousNonSpaceIndex = (code: string, index: number) => {\n let previous = index - 1;\n while (previous >= 0 && /\\s/.test(code[previous])) previous -= 1;\n return previous;\n};\nconst readIdentifierEndingBefore = (code: string, index: number) => {\n let end = index;\n while (end > 0 && /\\s/.test(code[end - 1] ?? \"\")) end -= 1;\n let start = end;\n while (start > 0 && identifierPartPattern.test(code[start - 1] ?? \"\")) start -= 1;\n return start === end ? null : { name: code.slice(start, end), start };\n};\nconst readMemberNamespaceBefore = (code: string, index: number) => {\n const dot = previousNonSpaceIndex(code, index);\n if (dot < 0 || code[dot] !== \".\") return null;\n const namespace = readIdentifierEndingBefore(code, code[dot - 1] === \"?\" ? dot - 1 : dot);\n if (!namespace) return \"\";\n const previous = previousNonSpaceIndex(code, namespace.start);\n if (previous >= 0 && (identifierPartPattern.test(code[previous]) || \".)]}\".includes(code[previous]))) return \"\";\n return namespace.name;\n};\nconst skipHookTypeArguments = (code: string, index: number) => {\n if (code[index] !== \"<\") return index;\n let depth = 0;\n while (index < code.length) {\n const char = code[index];\n if (char === '\"' || char === \"'\") index = skipQuotedString(code, index);\n else if (char === \"/\" && code[index + 1] === \"/\") index = skipLineComment(code, index);\n else if (char === \"/\" && code[index + 1] === \"*\") index = skipBlockComment(code, index);\n else if (char === \"<\") {\n depth += 1;\n index += 1;\n } else if (char === \">\" && code[index - 1] === \"=\") index += 1;\n else if (char === \">\") {\n depth -= 1;\n index += 1;\n if (depth === 0) return index;\n } else index += 1;\n }\n return -1;\n};\nconst isFunctionDeclarationName = (code: string, index: number) => /\\bfunction\\s*\\*?\\s*$/.test(code.slice(0, index).trimEnd());\nconst collectReactHookNamespaces = (code: string) => {\n const namespaces = new Set([\"React\", \"react\"]);\n for (const match of code.matchAll(/(?:^|[;\\n])\\s*import\\s+((?:(?![;\\n]\\s*import\\b)[\\s\\S])*?)\\s+from\\s+[\"']react[\"']/g)) {\n const clause = match[1].trim();\n if (/^type\\b/.test(clause)) continue;\n if (!clause.startsWith(\"{\") && !clause.startsWith(\"*\")) {\n const defaultMatch = /^([A-Za-z_$][\\w$]*)/.exec(clause);\n if (defaultMatch) namespaces.add(defaultMatch[1]);\n }\n const namespaceMatch = /\\*\\s+as\\s+([A-Za-z_$][\\w$]*)/.exec(clause);\n if (namespaceMatch) namespaces.add(namespaceMatch[1]);\n }\n return namespaces;\n};\nconst collectLocalHookNames = (code: string) => {\n const names = new Set<string>();\n for (const match of code.matchAll(/\\bfunction\\s*\\*?\\s+(use[A-Z][\\w$]*)\\s*\\(/g)) names.add(match[1]);\n for (const match of code.matchAll(/\\b(?:const|let|var)\\s+(use[A-Z][\\w$]*)\\s*=/g)) names.add(match[1]);\n return names;\n};\nconst readHookCall = (code: string, index: number, context: HookSignatureContext) => {\n hookCallPattern.lastIndex = index;\n const match = hookCallPattern.exec(code);\n if (!match || match.index !== index) return null;\n const hookName = match[0];\n const namespace = readMemberNamespaceBefore(code, index);\n if (namespace !== null) {\n if (!context.reactNamespaces.has(namespace)) return null;\n } else {\n if (identifierPartPattern.test(code[index - 1] ?? \"\")) return null;\n if (isFunctionDeclarationName(code, index)) return null;\n }\n let end = index + hookName.length;\n while (/\\s/.test(code[end] ?? \"\")) end += 1;\n if (code[end] === \"<\") {\n end = skipHookTypeArguments(code, end);\n if (end === -1) return null;\n while (/\\s/.test(code[end] ?? \"\")) end += 1;\n }\n if (code[end] !== \"(\") return null;\n return { name: context.localHookNames.has(hookName) ? \"useCustomHook\" : hookName, end: end + 1 };\n};\nconst shouldStartJsxTag = (code: string, index: number) => {\n if (!/[A-Za-z>]/.test(code[index + 1] ?? \"\")) return false;\n const previous = previousNonSpaceIndex(code, index);\n if (previous < 0 || \"([{=,:;!?&|+-*~^<>\".includes(code[previous])) return true;\n if (!identifierPartPattern.test(code[previous])) return false;\n let word = \"\";\n for (let cursor = previous; cursor >= 0 && identifierPartPattern.test(code[cursor]); cursor -= 1) word = code[cursor] + word;\n return jsxPrefixKeywords.has(word);\n};\nconst scanHookSignatureJs = (code: string, hooks: string[], context: HookSignatureContext, start = 0, end = code.length): number => {\n for (let index = start; index < end;) {\n const char = code[index];\n if (char === \"/\" && code[index + 1] === \"/\") index = skipLineComment(code, index);\n else if (char === \"/\" && code[index + 1] === \"*\") index = skipBlockComment(code, index);\n else if (char === '\"' || char === \"'\") index = skipQuotedString(code, index);\n else if (char === \"`\") index = scanHookSignatureTemplate(code, hooks, context, index);\n else if (char === \"/\" && isRegexLiteralStart(code, index)) index = skipRegexLiteral(code, index);\n else if (char === \"<\" && shouldStartJsxTag(code, index)) index = scanHookSignatureJsx(code, hooks, context, index);\n else {\n const hook = readHookCall(code, index, context);\n if (hook) {\n hooks.push(hook.name);\n index = hook.end;\n } else index += 1;\n }\n }\n return end;\n};\nconst scanHookSignatureTemplate = (code: string, hooks: string[], context: HookSignatureContext, index: number) => {\n index += 1;\n while (index < code.length) {\n if (code[index] === \"\\\\\") index += 2;\n else if (code[index] === \"`\") return index + 1;\n else if (code[index] === \"$\" && code[index + 1] === \"{\") index = scanHookSignatureBraces(code, hooks, context, index + 1);\n else index += 1;\n }\n return code.length;\n};\nconst scanHookSignatureBraces = (code: string, hooks: string[], context: HookSignatureContext, index: number) => {\n let depth = 1;\n index += 1;\n while (index < code.length) {\n const char = code[index];\n if (char === \"/\" && code[index + 1] === \"/\") index = skipLineComment(code, index);\n else if (char === \"/\" && code[index + 1] === \"*\") index = skipBlockComment(code, index);\n else if (char === '\"' || char === \"'\") index = skipQuotedString(code, index);\n else if (char === \"`\") index = scanHookSignatureTemplate(code, hooks, context, index);\n else if (char === \"/\" && isRegexLiteralStart(code, index)) index = skipRegexLiteral(code, index);\n else if (char === \"<\" && shouldStartJsxTag(code, index)) index = scanHookSignatureJsx(code, hooks, context, index);\n else if (char === \"{\") {\n depth += 1;\n index += 1;\n } else if (char === \"}\") {\n depth -= 1;\n index += 1;\n if (depth === 0) return index;\n } else {\n const hook = readHookCall(code, index, context);\n if (hook) {\n hooks.push(hook.name);\n index = hook.end;\n } else index += 1;\n }\n }\n return code.length;\n};\nconst scanJsxOpeningTag = (code: string, hooks: string[], context: HookSignatureContext, index: number) => {\n while (index < code.length) {\n const char = code[index];\n if (char === \"`\") index = scanHookSignatureTemplate(code, hooks, context, index);\n else if (char === '\"' || char === \"'\") index = skipQuotedString(code, index);\n else if (char === \"{\") index = scanHookSignatureBraces(code, hooks, context, index);\n else if (char === \">\") {\n const previous = previousNonSpaceIndex(code, index);\n return { index: index + 1, selfClosing: code[previous] === \"/\" };\n } else index += 1;\n }\n return { index: code.length, selfClosing: true };\n};\nconst scanHookSignatureJsx = (code: string, hooks: string[], context: HookSignatureContext, index: number): number => {\n let depth = 0;\n while (index < code.length) {\n if (code.startsWith(\"</>\", index)) {\n index += 3;\n depth -= 1;\n if (depth <= 0) return index;\n } else if (code.startsWith(\"</\", index)) {\n const close = code.indexOf(\">\", index + 2);\n index = close === -1 ? code.length : close + 1;\n depth -= 1;\n if (depth <= 0) return index;\n } else if (code.startsWith(\"<>\", index)) {\n depth += 1;\n index += 2;\n } else if (code[index] === \"<\" && /[A-Za-z]/.test(code[index + 1] ?? \"\")) {\n const opened = scanJsxOpeningTag(code, hooks, context, index + 1);\n index = opened.index;\n if (!opened.selfClosing) depth += 1;\n else if (depth <= 0) return index;\n } else if (code[index] === \"{\") index = scanHookSignatureBraces(code, hooks, context, index);\n else index += 1;\n }\n return code.length;\n};\nexport const getGenUIHookSignature = (code: string) => {\n const hooks: string[] = [];\n scanHookSignatureJs(code, hooks, { localHookNames: collectLocalHookNames(code), reactNamespaces: collectReactHookNamespaces(code) });\n return hooks.join(\"\\n\");\n};\n",
|
|
20
|
-
"/**\n * Asset URLs shared by both halves. Kept apart from index.ts so the browser half\n * can import them without dragging node:fs and createRequire into its bundle.\n */\nexport const ASSET_PREFIX = \"/dsh-generative-ui/assets\";\nexport const WASM_PATH = `${ASSET_PREFIX}/tsx_bg.wasm`;\n\n/** Reads one canvas file from the session's workspace: `?cwd=<workspace>&id=<canvas>`. */\nexport const CANVAS_READ_PATH = \"/dsh-generative-ui/canvas\";\n\n/**\n * Streams one model call for a generated card: POST `{prompt|messages, system?}`.\n *\n * The host owns the credentials and the provider route, so this forwards to `ctx.llm`\n * rather than carrying a key of its own.\n */\nexport const AI_STREAM_PATH = \"/dsh-generative-ui/ai\";\n\n/**\n * Filesystem access for a generated card: `?cwd=<workspace>&path=<path>`.\n *\n * GET reads (or lists, with `?list=1`), POST writes. Both go through the host's `ctx.fs`\n * and carry the session's own sandbox policy, so what a card may do is exactly what the\n * session may do — `read-only` denies the write at the fence rather than here.\n */\nexport const FS_PATH = \"/dsh-generative-ui/fs\";\n\n/**\n * Runs one command for a generated card: `?cwd=<workspace>&session=<id>`, POST `{command}`.\n *\n * Under the session's own sandbox policy, exactly as `FS_PATH` is — a read-only session gets\n * a read-only shell rather than a different fence. Foreground only: a card that wants a\n * long-running process wants a different product.\n */\nexport const EXEC_PATH = \"/dsh-generative-ui/exec\";\n\n/**\n * One web search for a generated card: `?cwd=<workspace>`, POST `{query, maxResults?}`.\n *\n * Search only. `ctx.web` also exposes `fetch`, and this deliberately does not forward it: the\n * deployment's own `tool-web` is configured `fetch: false`, and the doc says why — *\"the local\n * backend does not block private-network targets; do not enable web_fetch where it can reach\n * sensitive internal ones.\"* A card is model-written code firing on a reader's keystrokes, so\n * re-opening from here what the host closed for its own tools is not ours to do.\n */\nexport const WEB_SEARCH_PATH = \"/dsh-generative-ui/web-search\";\n",
|
|
21
|
-
"import initTsx, { transform as transformTsx } from \"@esm.sh/tsx\";\nimport { normalizeGeneratedTsx } from \"partial-tsx\";\nimport { rewriteImportMetaResolveSpecifiers, type RendererImportMap } from \"partial-react/import-map\";\nimport { WASM_PATH } from \"../../contract-assets.ts\";\n\n// Structurally equivalent to `partial-react/compiler`'s three types. Deliberately not\n// imported from there: that module has a Vite-only `...tsx_bg.wasm?url` at the top level\n// plus a node:fs read path and a `Bun` global, none of which survive a plugin bundle.\nexport type CompileOptions = { importMap?: RendererImportMap; partial?: boolean; previousCode?: string; filename?: string };\nexport type CompileResult = { code: string; source: string; changed: boolean };\nexport type TsxCompiler = { compile: (code: string, options?: CompileOptions) => Promise<CompileResult> };\n\nlet initPromise: Promise<unknown> | null = null;\n\n/** The wasm is served by this plugin's own webServer route; /plugins only serves client.js. */\nconst initCompiler = () =>\n (initPromise ??= initTsx(WASM_PATH).catch((error: unknown) => {\n initPromise = null;\n throw error;\n }));\n\n/**\n * Starts loading the 2.6 MB wasm file so it is warm before the first real frame (a cold init\n * costs 400-500 ms). The *file* is 2.6 MB; an instantiated compiler costs roughly 16 MB of\n * heap, which is why `disposeCompiler` exists — the two numbers have been confused before.\n *\n * Never throws: `apply()` calls this and nothing else awaits it, so a\n * synchronous failure inside `initTsx` — an unfetchable wasm path, say — would otherwise\n * take the whole plugin's registration down with it and leave the shell loading forever.\n * A cold compile on the first card is a far better outcome than no plugin at all.\n */\nexport const warmCompiler = (): Promise<unknown> => {\n try {\n return initCompiler().catch(() => undefined);\n } catch {\n initPromise = null;\n return Promise.resolve();\n }\n};\n\n/**\n * Drops the wasm instance so GC can take it. `@esm.sh/tsx` exports no dispose — only\n * `init`/`initSync`/`transform` — so releasing the reference is the whole of what we can do.\n * Measured 2026-08-23: an instance costs ~16MB, and each HMR round made a fresh one while the\n * previous stayed reachable through this module-level promise. Dev-only, but a dozen reloads\n * is 200MB.\n */\nexport function disposeCompiler(): void {\n initPromise = null;\n}\n\nexport function createBrowserTsxCompiler(): TsxCompiler {\n return {\n async compile(code, options = {}) {\n await initCompiler();\n const importMap = options.importMap;\n const build = (source: string): CompileResult => {\n const resolved = importMap?.imports ? rewriteImportMetaResolveSpecifiers(source, importMap.imports) : source;\n const result = transformTsx({ filename: options.filename ?? \"_.tsx\", code: resolved, target: \"es2022\", importMap, jsxImportSource: \"react\" });\n const compiled = new TextDecoder().decode(result.code);\n return { code: compiled, source, changed: compiled !== options.previousCode };\n };\n\n // Normalization runs for `final` too. The model does not reliably close its trailing\n // `)` and `}` before writing the fence, so compiling the raw source renders every\n // streaming frame fine and then throws `Expected ',', got '<eof>'` at the very moment\n // the block completes — measured on exactly that shape.\n if (options.partial === true) return build(normalizeGeneratedTsx(code, { mode: \"streaming\" }));\n try {\n return build(normalizeGeneratedTsx(code, { mode: \"final\" }));\n } catch {\n // **The final compile must never be more fragile than a streaming frame.** The only\n // difference between the modes is that `streaming` first cuts back the still-being-typed\n // tail, and some damage (an unterminated string, typically) is only recoverable by\n // cutting. Losing the last half-sentence beats going blank on the last frame.\n
|
|
22
|
+
"/**\n * Asset URLs shared by both halves. Kept apart from index.ts so the browser half\n * can import them without dragging node:fs and createRequire into its bundle.\n */\nexport const ASSET_PREFIX = \"/dsh-generative-ui/assets\";\nexport const WASM_PATH = `${ASSET_PREFIX}/tsx_bg.wasm`;\n\n/** Reads one canvas file from the session's workspace: `?cwd=<workspace>&id=<canvas>`. */\nexport const CANVAS_READ_PATH = \"/dsh-generative-ui/canvas\";\n\n/**\n * Streams one model call for a generated card: POST `{prompt|messages, system?}`.\n *\n * The host owns the credentials and the provider route, so this forwards to `ctx.llm`\n * rather than carrying a key of its own.\n */\nexport const AI_STREAM_PATH = \"/dsh-generative-ui/ai\";\n\n/**\n * Filesystem access for a generated card: `?cwd=<workspace>&path=<path>`.\n *\n * GET reads (or lists, with `?list=1`), POST writes. Both go through the host's `ctx.fs`\n * and carry the session's own sandbox policy, so what a card may do is exactly what the\n * session may do — `read-only` denies the write at the fence rather than here.\n */\nexport const FS_PATH = \"/dsh-generative-ui/fs\";\n\n/**\n * Runs one command for a generated card: `?cwd=<workspace>&session=<id>`, POST `{command}`.\n *\n * Under the session's own sandbox policy, exactly as `FS_PATH` is — a read-only session gets\n * a read-only shell rather than a different fence. Foreground only: a card that wants a\n * long-running process wants a different product.\n */\nexport const EXEC_PATH = \"/dsh-generative-ui/exec\";\n\n/**\n * One web search for a generated card: `?cwd=<workspace>`, POST `{query, maxResults?}`.\n *\n * Search only. `ctx.web` also exposes `fetch`, and this deliberately does not forward it: the\n * deployment's own `tool-web` is configured `fetch: false`, and the doc says why — *\"the local\n * backend does not block private-network targets; do not enable web_fetch where it can reach\n * sensitive internal ones.\"* A card is model-written code firing on a reader's keystrokes, so\n * re-opening from here what the host closed for its own tools is not ours to do.\n */\nexport const WEB_SEARCH_PATH = \"/dsh-generative-ui/web-search\";\n\n/**\n * A card's surviving failure, reported by the browser half: `?session=<id>`, POST\n * `{message, phase}` to set it and `{}` to clear it.\n *\n * The detail does NOT come back as a chat message. It becomes a runtime-context snapshot\n * (`ui4a:card-failure`), which is re-evaluated per assembly and superseded by the next one, so a\n * card that gets fixed stops being mentioned instead of leaving a stale complaint in history. The\n * route only carries the state; `wakeAgent` is what asks the model to look at it.\n */\nexport const CARD_ERROR_PATH = \"/dsh-generative-ui/card-error\";\n",
|
|
23
|
+
"import initTsx, { transform as transformTsx } from \"@esm.sh/tsx\";\nimport { normalizeGeneratedTsx } from \"partial-tsx\";\nimport { rewriteImportMetaResolveSpecifiers, type RendererImportMap } from \"partial-react/import-map\";\nimport { WASM_PATH } from \"../../contract-assets.ts\";\n\n// Structurally equivalent to `partial-react/compiler`'s three types. Deliberately not\n// imported from there: that module has a Vite-only `...tsx_bg.wasm?url` at the top level\n// plus a node:fs read path and a `Bun` global, none of which survive a plugin bundle.\nexport type CompileOptions = { importMap?: RendererImportMap; partial?: boolean; previousCode?: string; filename?: string };\nexport type CompileResult = { code: string; source: string; changed: boolean };\nexport type TsxCompiler = { compile: (code: string, options?: CompileOptions) => Promise<CompileResult> };\n\nlet initPromise: Promise<unknown> | null = null;\n\n/** The wasm is served by this plugin's own webServer route; /plugins only serves client.js. */\nconst initCompiler = () =>\n (initPromise ??= initTsx(WASM_PATH).catch((error: unknown) => {\n initPromise = null;\n throw error;\n }));\n\n/**\n * Starts loading the 2.6 MB wasm file so it is warm before the first real frame (a cold init\n * costs 400-500 ms). The *file* is 2.6 MB; an instantiated compiler costs roughly 16 MB of\n * heap, which is why `disposeCompiler` exists — the two numbers have been confused before.\n *\n * Never throws: `apply()` calls this and nothing else awaits it, so a\n * synchronous failure inside `initTsx` — an unfetchable wasm path, say — would otherwise\n * take the whole plugin's registration down with it and leave the shell loading forever.\n * A cold compile on the first card is a far better outcome than no plugin at all.\n */\nexport const warmCompiler = (): Promise<unknown> => {\n try {\n return initCompiler().catch(() => undefined);\n } catch {\n initPromise = null;\n return Promise.resolve();\n }\n};\n\n/**\n * Drops the wasm instance so GC can take it. `@esm.sh/tsx` exports no dispose — only\n * `init`/`initSync`/`transform` — so releasing the reference is the whole of what we can do.\n * Measured 2026-08-23: an instance costs ~16MB, and each HMR round made a fresh one while the\n * previous stayed reachable through this module-level promise. Dev-only, but a dozen reloads\n * is 200MB.\n */\nexport function disposeCompiler(): void {\n initPromise = null;\n}\n\n/**\n * Does this source still export a component to mount?\n *\n * Deliberately a source test rather than a compile test: the failure being caught is a module that\n * compiles perfectly and has nothing in it. Matches the two spellings the renderer accepts, and is\n * written to ignore both comment forms so a `// export default` in prose cannot fake it.\n */\nconst hasDefaultExport = (source: string) =>\n /^\\s*export\\s+default\\s/m.test(source.replace(/\\/\\*[\\s\\S]*?\\*\\//g, \"\").replace(/^\\s*\\/\\/.*$/gm, \"\")) ||\n /\\bexport\\s*\\{[^}]*\\bas\\s+default\\b/.test(source);\n\nexport function createBrowserTsxCompiler(): TsxCompiler {\n return {\n async compile(code, options = {}) {\n await initCompiler();\n const importMap = options.importMap;\n const build = (source: string): CompileResult => {\n const resolved = importMap?.imports ? rewriteImportMetaResolveSpecifiers(source, importMap.imports) : source;\n const result = transformTsx({ filename: options.filename ?? \"_.tsx\", code: resolved, target: \"es2022\", importMap, jsxImportSource: \"react\" });\n const compiled = new TextDecoder().decode(result.code);\n return { code: compiled, source, changed: compiled !== options.previousCode };\n };\n\n // Normalization runs for `final` too. The model does not reliably close its trailing\n // `)` and `}` before writing the fence, so compiling the raw source renders every\n // streaming frame fine and then throws `Expected ',', got '<eof>'` at the very moment\n // the block completes — measured on exactly that shape.\n if (options.partial === true) return build(normalizeGeneratedTsx(code, { mode: \"streaming\" }));\n try {\n return build(normalizeGeneratedTsx(code, { mode: \"final\" }));\n } catch (error) {\n // **The final compile must never be more fragile than a streaming frame.** The only\n // difference between the modes is that `streaming` first cuts back the still-being-typed\n // tail, and some damage (an unterminated string, typically) is only recoverable by\n // cutting. Losing the last half-sentence beats going blank on the last frame.\n const cut = normalizeGeneratedTsx(code, { mode: \"streaming\" });\n // **But only if anything is left to render.** The cut is bounded by the FIRST thing it\n // cannot parse, so a card that puts its data above its component — the common shape when\n // the data is long — loses the component too, and what comes back is a module of imports\n // and type aliases. That compiles. It exports nothing, mounts nothing, and the surface\n // reports no error, so the reader gets a card of zero height and the model is never told.\n // Measured on a real session: the model wrote `{ name: \"questions: \"list[...]\" }` in the\n // first array element, `streaming` returned the same 265 characters for all 938 frames\n // while the source grew to 13693, and the final frame took this fallback and went blank.\n // The `final` error is the useful one here — it names the line and column of the typo.\n if (!hasDefaultExport(cut)) throw error;\n return build(cut);\n }\n },\n };\n}\n",
|
|
22
24
|
"/**\n * Generated TSX is imported as a blob URL, so an import map's targets must be real\n * URLs. Vite hosts can point at `/src/lib/react.ts`; dsh plugin bundles have no\n * such \"source is a URL\" escape hatch (and CJS factories have no `import.meta`).\n *\n * So this goes the other way round: register the module namespaces the shell has\n * already loaded, then synthesize, per specifier, a blob module that reads the\n * table and named-re-exports it. Export names are enumerated at runtime, so there\n * is no hand-written list to drift. React is a singleton for free — everyone\n * imports the same blob URL, and that URL reads the shell's instance.\n * (Ported from ui4a-playground/src/runtime/registry.ts.)\n */\nconst REGISTRY_KEY = \"__DSH_GENERATIVE_UI_MODULES__\";\ntype Registry = Record<string, Record<string, unknown>>;\n\nconst registry: Registry = ((globalThis as Record<string, unknown>)[REGISTRY_KEY] ??= {}) as Registry;\nconst urls = new Map<string, string>();\n\nconst IDENTIFIER = /^[A-Za-z_$][\\w$]*$/;\n\n/** Exported for `test/registry.test.ts`: it generates code, so a bug here is a blank card with an empty console. */\nexport function buildModuleSource(specifier: string): string {\n const namespace = registry[specifier] ?? {};\n const lines = [`const ns = globalThis[${JSON.stringify(REGISTRY_KEY)}][${JSON.stringify(specifier)}];`];\n // One `export const` per name rather than a spread: ESM export names must be statically visible.\n // Freezing getters into consts is safe here — every registered namespace is a settled module.\n for (const name of Object.keys(namespace)) {\n if (name !== \"default\" && IDENTIFIER.test(name)) lines.push(`export const ${name} = ns[${JSON.stringify(name)}];`);\n }\n lines.push(\"default\" in namespace ? \"export default ns.default;\" : \"export default ns;\");\n return lines.join(\"\\n\");\n}\n\nexport function registerModules(modules: Record<string, Record<string, unknown>>): void {\n for (const [specifier, namespace] of Object.entries(modules)) {\n // Re-registering the same namespace must keep the URL. The document import map is\n // installed once and points at these blobs for the tab's life, so revoking one leaves\n // every esm.sh package resolving `react` to a dead URL — the module graph dies and the\n // card renders blank with nothing in the console. Only a genuine hot-swap invalidates.\n if (registry[specifier] === namespace) continue;\n registry[specifier] = namespace;\n // A namespace that really changed: the old blob would re-export stale bindings.\n const stale = urls.get(specifier);\n if (stale !== undefined) {\n URL.revokeObjectURL(stale);\n urls.delete(specifier);\n }\n }\n}\n\nexport function moduleUrl(specifier: string): string {\n const cached = urls.get(specifier);\n if (cached !== undefined) return cached;\n const url = URL.createObjectURL(new Blob([buildModuleSource(specifier)], { type: \"text/javascript\" }));\n urls.set(specifier, url);\n return url;\n}\n\nexport const registryImports = (): Record<string, string> => Object.fromEntries(Object.keys(registry).map((specifier) => [specifier, moduleUrl(specifier)]));\n\n/** Drops every synthesized blob. The plugin's dispose path must call this or each HMR round leaks one URL per specifier. */\nexport function disposeRegistry(): void {\n for (const url of urls.values()) URL.revokeObjectURL(url);\n urls.clear();\n}\n",
|
|
23
25
|
"/**\n * The ui4a path contract — the single place that decides what counts as a canvas.\n * Shared by both halves; never re-derive these patterns with an inline regex.\n */\n\n/**\n * Where generated files live, under the workspace's own dsh directory.\n *\n * `.dsh/` is the harness's project convention, not ours — `dsh-skill-filesystem` reads\n * `join(projectRoot, \".dsh/skills\")` and labels that source `project-dsh`. Sitting beside\n * it keeps a plain `ls` of the user's repo clean and puts our files where they would look\n * for anything dsh wrote. `ui4a` beneath it names the format, which is the honest nesting:\n * this is a dsh plugin writing ui4a files, not a ui4a project with a dsh corner.\n */\nexport const UI4A_DIR = \".dsh/ui4a\";\nexport const CANVAS_DIR = `${UI4A_DIR}/canvases`;\nexport const CANVAS_SUFFIX = \".ui4a.tsx\";\n/**\n * Info string of an inline fence, as the model writes it. Slash, not dash — matches\n * ui4a-playground. Note the host's markdown renderer truncates it at the first\n * non-identifier character, so it reaches the DOM as `ui4a`; nothing matches on it.\n */\nexport const FENCE_LANG = \"ui4a/tsx\";\n\n/**\n * Import prefix for the capabilities the plugin lends to generated code.\n *\n * `$dsh/`, not `$ui4a/`: what these expose is the harness — the conversation, its model,\n * its filesystem — and none of it is part of the ui4a rendering contract that `FENCE_LANG`\n * and the canvas paths above define. A card written against them only runs inside dsh.\n */\nexport const CAPABILITY_PREFIX = \"$dsh\";\nexport const capabilityModule = (group: string) => `${CAPABILITY_PREFIX}/${group}`;\n\n/**\n * Canvas ids are path segments, so anything that could escape the directory is not one.\n *\n * Stated as an exclusion rather than an allowlist: `[\\w-]+` reads as \"safe\" but is really\n * \"ASCII\", and a model answering in Chinese names the file in Chinese — `背单词.ui4a.tsx`\n * was silently not a canvas, so the panel never opened and the reply still said it had.\n * What actually has to be barred is separators and traversal; the rest is a filename.\n */\nconst CANVAS_ID = /^[^/\\\\.\\s]+$/;\n\nexport const isCanvasId = (id: string) => CANVAS_ID.test(id);\n\nexport const canvasPath = (id: string) => `${CANVAS_DIR}/${id}${CANVAS_SUFFIX}`;\nexport const canvasChildDir = (id: string) => `${CANVAS_DIR}/${id}`;\n\n/**\n * Resolves a relative specifier written inside a canvas to a workspace path.\n *\n * `from` is the path the specifier was written in — the canvas file itself, or one of its\n * children — because **a relative specifier is relative to its importer, not to the canvas\n * root**. The entry writes `./<id>/board`; a child of that entry writes `./types` for its\n * sibling, and resolving both against the canvases directory sends the second one nowhere.\n * Measured on a real split: the model produced 7 files whose cross-imports are all sibling\n * form, and every one of them resolved to null before `from` existed.\n *\n * Every segment goes through the same exclusion test as an id, and the result must stay\n * inside `canvasChildDir(id)` — `..` is rejected outright rather than normalised, so there\n * is no arithmetic that could walk out.\n *\n * Returns null for anything outside that shape rather than throwing: the caller is a route\n * answering an arbitrary page, and a bad specifier is a 400, not a crash.\n */\nexport function canvasChildPath(id: string, specifier: string, from?: string): string | null {\n if (!isCanvasId(id)) return null;\n const segments = specifier.replace(/^\\.\\//, \"\").split(\"/\");\n if (segments.length === 0 || !segments.every(isCanvasId)) return null;\n const root = canvasChildDir(id);\n // No `from`, or one naming the entry file: the specifier is written beside the canvas, so\n // it must open with the id. With a `from` inside the child directory, it is written beside\n // that file instead and the id never appears.\n const within = from === undefined ? null : from.replace(/\\\\/g, \"/\").split(`${root}/`)[1];\n if (within === undefined || within === null) {\n if (segments.length < 2 || segments[0] !== id) return null;\n return `${root}/${segments.slice(1).join(\"/\")}`;\n }\n const dir = within.split(\"/\").slice(0, -1);\n return [root, ...dir, ...segments].join(\"/\");\n}\n\n/**\n * Reduces a path to its workspace-relative form.\n *\n * Tool arguments carry absolute paths, so the contract is matched on the trailing\n * `ui4a/canvases/…` portion rather than anchored at the string start.\n */\nconst normalize = (path: string) => {\n const at = path.replace(/\\\\/g, \"/\").lastIndexOf(`${CANVAS_DIR}/`);\n return at === -1 ? path.replace(/^\\.?\\//, \"\") : path.slice(at);\n};\n\n/** The canvas id of an entry path, or null when the path is not a canvas entry. */\nexport function canvasIdOf(path: string): string | null {\n const relative = normalize(path);\n if (!relative.startsWith(`${CANVAS_DIR}/`) || !relative.endsWith(CANVAS_SUFFIX)) return null;\n const id = relative.slice(CANVAS_DIR.length + 1, -CANVAS_SUFFIX.length);\n return isCanvasId(id) ? id : null;\n}\n\n/** The owning canvas of any path under the contract — entry file or child module. */\nexport function owningCanvasIdOf(path: string): string | null {\n const direct = canvasIdOf(path);\n if (direct !== null) return direct;\n const relative = normalize(path);\n if (!relative.startsWith(`${CANVAS_DIR}/`)) return null;\n const id = relative.slice(CANVAS_DIR.length + 1).split(\"/\")[0];\n return id !== undefined && isCanvasId(id) ? id : null;\n}\n",
|
|
24
|
-
"/**\n * Everything generated code may import as a \"local\" module.\n *\n * The react family MUST be here: generated code shares the shell's single React\n * instance or hooks blow up with an invalid-hook-call.
|
|
25
|
-
"/**\n * `$dsh/state` — the one capability the model asks for without being told it exists.\n *\n * Three runs of a habit-tracker prompt each wrote `import { usePersistedState } from \"$dsh/state\"`\n * against a module that did not exist, which does not degrade: the browser refuses the module and\n * the card renders blank. Rewording the skill to deny it did not help — the prior survives the\n * denial. So the module exists now, with the signature all three runs assumed.\n *\n * Unlike the other capabilities this needs nothing from the host: `localStorage` and React are\n * both already there. That is also why it is worth having — the alternative the skill used to\n * prescribe is fifteen lines of try/catch that every card rewrites and half of them skip.\n */\nimport * as React from \"react\";\n\n
|
|
26
|
-
"/**\n * The `$dsh/*` capability modules generated code may import.\n *\n * These are real TypeScript that lives in our bundle; generated code reaches them through\n * a per-surface blob shim, because a blob URL cannot carry a query string and the surface\n * identity therefore has to be compiled into the module body.\n *\n * Ported from ui4a-playground, minus what this host cannot back: there is no browser-side\n * filesystem service in dsh (`dsh-fs` is the Node half only) and no client-facing model\n * gateway, so `$dsh/fs` and `$dsh/ai` have no implementation here yet.\n */\nimport { moduleUrl, registerModules, registryImports } from \"./registry.ts\";\nimport { AI_STREAM_PATH, EXEC_PATH, FS_PATH, WEB_SEARCH_PATH } from \"../../contract-assets.ts\";\nimport { capabilityModule } from \"../../contract.ts\";\nimport { registerRuntimeModules } from \"./register.ts\";\nimport { usePersistedState } from \"./state.ts\";\n\n/** What the plugin's client half lends to generated code. Registered once, at apply. */\nexport type Ui4aHost = {\n /** Sends a prompt into the current session, exactly as the composer would. */\n send: (text: string) => void;\n /** The current session's workspace, which the AI route authorizes against. */\n cwd: () => string | undefined;\n /** The open session, so a write runs under the access mode the composer shows. */\n sessionId: () => string;\n};\n\nconst INTERNAL = capabilityModule(\"internal\");\nlet host: Ui4aHost | null = null;\n\n/** Named so the round trip can be tested against the real code rather than a copy of it. */\nexport function decodeBase64(base64: string): Uint8Array<ArrayBuffer> {\n const binary = atob(base64);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i += 1) bytes[i] = binary.charCodeAt(i);\n return bytes;\n}\n\nexport function registerUi4aHost(next: Ui4aHost): () => void {\n host = next;\n return () => {\n if (host === next) host = null;\n };\n}\n\n/**\n * The capability surface, one group per `$dsh/<group>` module.\n *\n * A function rather than a constant so the host can be swapped (or torn down) without the\n * already-imported blob modules going stale — they close over `bind`, not over a host.\n */\nexport function bind() {\n const chat = {\n /**\n * Drives the next turn from inside a card. The text is what the user would have typed:\n * it lands in the transcript as their message, because a turn nobody can see arriving\n * reads as the app talking to itself.\n */\n sendMessage: (text: string) => {\n if (host === null) throw new Error(\"[dsh-generative-ui] no host bound\");\n host.send(text);\n },\n };\n const ai = {\n /**\n * Streams text from the app's own model, one piece per network chunk.\n *\n * Nothing here holds a credential: the Node half forwards to `ctx.llm`, which owns the\n * provider route and the keys. Reach for it when the *content* is the variable part —\n * the recipe, the five candidate names — and skip it when the data is genuinely fixed.\n */\n streamText: (options: Ui4aStreamOptions | string): AsyncIterable<string> => {\n if (host === null) throw new Error(\"[dsh-generative-ui] no host bound\");\n const workspace = host.cwd();\n if (workspace === undefined) throw new Error(\"[dsh-generative-ui] $dsh/ai needs a session workspace\");\n const request = typeof options === \"string\" ? { prompt: options } : options;\n return streamFrom(workspace, request, request.signal);\n },\n };\n\n const fs = {\n /** The file's text. Throws when it does not exist or the session may not read it. */\n readFile: (path: string) => request<{ content: string }>(\"GET\", path).then((body) => body.content),\n /**\n * Directory entries: the name, whether it is a file or a directory, and a file's size.\n *\n * An array of objects rather than of names, because without `type` a card cannot draw a\n * tree — it would have to probe every entry with a second call to find out whether it\n * can be descended into. The host has all three already; we used to drop two of them.\n */\n readdir: (path: string) => request<{ entries: Ui4aDirEntry[] }>(\"GET\", path, undefined, \"list=1\").then((body) => body.entries),\n /**\n * The file's bytes, for anything that is not text.\n *\n * `readFile` decodes as UTF-8, so a .mid, a wav or a png read that way comes back with\n * every byte above 0x7f replaced by U+FFFD — corrupt, and silently so. Anything handed to\n * `decodeAudioData`, a MIDI parser or an image decoder has to come through here.\n */\n readBytes: (path: string) => request<{ base64: string }>(\"GET\", path, undefined, \"bytes=1\").then((body) => decodeBase64(body.base64)),\n /**\n * Writes the file, subject to the session's own access mode.\n *\n * Under `Read Only` this rejects exactly as the model's own `write` would — the fence\n * is the host's, not ours, so what a card may do never diverges from what the composer\n * says the session may do.\n */\n // `Promise<void>`, not the `Promise<undefined>` a bare `.then(() => undefined)` infers:\n // what a caller may do with the result is the contract, and `types/chat.d.ts` says void.\n writeFile: async (path: string, content: string): Promise<void> => {\n await request<{ written: string }>(\"POST\", path, content);\n },\n };\n\n const exec = {\n /**\n * Runs one command in the workspace and resolves with its output.\n *\n * A non-zero exit resolves rather than rejects: `git status` failing outside a repo is\n * something a card wants to show, not an outage. Only a failure to run at all rejects.\n * The session's own sandbox mode applies, so this is no wider than the model's own bash.\n */\n bash: (command: string, options?: { signal?: AbortSignal }): Promise<Ui4aExecResult> => {\n if (host === null) throw new Error(\"[dsh-generative-ui] no host bound\");\n const workspace = host.cwd();\n if (workspace === undefined) throw new Error(\"[dsh-generative-ui] $dsh/exec needs a session workspace\");\n return execRequest(workspace, host.sessionId(), command, options?.signal);\n },\n };\n\n const web = {\n /**\n * One web search, through whichever provider the host composed.\n *\n * Search only: `ctx.web` also does `fetch`, and this deployment turns that off for its own\n * tools because the local backend can reach private-network addresses. A card wanting a page\n * body should ask the user for it or search for a quotable source instead.\n */\n search: (query: string, options?: { maxResults?: number; signal?: AbortSignal }): Promise<Ui4aSearchResult> => {\n if (host === null) throw new Error(\"[dsh-generative-ui] no host bound\");\n const workspace = host.cwd();\n if (workspace === undefined) throw new Error(\"[dsh-generative-ui] $dsh/web needs a session workspace\");\n return searchRequest(workspace, query, options);\n },\n };\n\n // No host behind this one — `localStorage` and React are both already in the page. It exists\n // because the model reaches for it unprompted: five of six habit-tracker runs wrote\n // `import { usePersistedState } from \"$dsh/state\"` against a module that did not exist, and a\n // reworded denial in the skill did not stop it. An unresolvable specifier takes the whole module\n // with it, so the card renders blank.\n const state = { usePersistedState };\n\n return { chat, ai, fs, exec, web, state };\n}\n\n/** What one search returns. Mirrors the seam's `WebSearchResult`, which is what the route forwards. */\nexport type Ui4aSearchResult = {\n /** A provider-generated answer or summary, when the provider makes one (Exa and DeepSeek do not). */\n content?: string;\n sources: readonly { url: string; title?: string; snippet?: string; publishedAt?: string }[];\n /** True when the seam cut `sources` down to the requested bound. */\n truncated: boolean;\n};\n\nasync function searchRequest(cwd: string, query: string, options?: { maxResults?: number; signal?: AbortSignal }): Promise<Ui4aSearchResult> {\n const response = await fetch(`${WEB_SEARCH_PATH}?cwd=${encodeURIComponent(cwd)}`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ query, ...(options?.maxResults === undefined ? {} : { maxResults: options.maxResults }) }),\n signal: options?.signal,\n });\n const body = (await response.json().catch(() => ({}))) as Ui4aSearchResult & { error?: string };\n if (!response.ok) throw new Error(`[dsh-generative-ui] $dsh/web: ${body.error ?? response.statusText}`);\n return body;\n}\n\n/** Talks to the fs route, carrying the workspace and the session whose policy applies. */\nasync function request<T>(method: \"GET\" | \"POST\", path: string, content?: string, extra?: string): Promise<T> {\n if (host === null) throw new Error(\"[dsh-generative-ui] no host bound\");\n const workspace = host.cwd();\n if (workspace === undefined) throw new Error(\"[dsh-generative-ui] $dsh/fs needs a session workspace\");\n const query = `cwd=${encodeURIComponent(workspace)}&session=${encodeURIComponent(host.sessionId())}&path=${encodeURIComponent(path)}${extra === undefined ? \"\" : `&${extra}`}`;\n const response = await fetch(`${FS_PATH}?${query}`, content === undefined ? { method } : { method, headers: { \"content-type\": \"application/json\" }, body: JSON.stringify({ content }) });\n const body = (await response.json().catch(() => ({}))) as { error?: string };\n // A denial is not an outage. Naming it lets the card say \"this session is read-only\"\n // rather than \"something went wrong\".\n if (!response.ok) throw new Error(`[dsh-generative-ui] $dsh/fs ${path}: ${body.error ?? response.statusText}`);\n return body as T;\n}\n\n/** What a command left behind. `truncated` means the output was cut, not that it failed. */\nexport type Ui4aExecResult = { stdout: string; stderr: string; exitCode: number | null; truncated: { stdout: boolean; stderr: boolean }; timedOut: boolean };\n\n/** Talks to the exec route. Separate from `request` because the shape and the failure mode differ. */\nasync function execRequest(cwd: string, sessionId: string, command: string, signal?: AbortSignal): Promise<Ui4aExecResult> {\n const query = `cwd=${encodeURIComponent(cwd)}&session=${encodeURIComponent(sessionId)}`;\n // Aborting really kills the command: the route hangs its own controller off `req.on(\"close\")`,\n // so dropping the request is what a polling card needs to not stack runs on a slow one.\n const response = await fetch(`${EXEC_PATH}?${query}`, { method: \"POST\", headers: { \"content-type\": \"application/json\" }, body: JSON.stringify({ command }), signal });\n const body = (await response.json().catch(() => ({}))) as Ui4aExecResult & { error?: string };\n if (!response.ok) throw new Error(`[dsh-generative-ui] $dsh/exec: ${body.error ?? response.statusText}`);\n return body;\n}\n\n/** One entry of a directory listing. `size` is absent for directories. */\nexport type Ui4aDirEntry = { name: string; type?: \"file\" | \"directory\"; size?: number };\n\n/** One user turn plus an optional system prompt — see the route's note on why not more. */\nexport type Ui4aStreamOptions = { prompt: string; system?: string; signal?: AbortSignal };\n\n/**\n * Decodes the route's plain-text stream into characters.\n *\n * Character-at-a-time rather than chunk-at-a-time because that is what the consumer wants:\n * generated cards append to a buffer and re-parse it, and a card that grows by whole network\n * chunks reads as stuttering rather than typing.\n */\nasync function* streamFrom(cwd: string, request: Ui4aStreamOptions, signal?: AbortSignal): AsyncIterable<string> {\n // Aborting stops the model too, not just the reading: the route drops its own generation when\n // the request closes. A card that regenerates per keystroke needs that, or what the reader\n // ends up seeing is whichever of several in-flight calls happens to finish last.\n const response = await fetch(`${AI_STREAM_PATH}?cwd=${encodeURIComponent(cwd)}`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify(request),\n signal,\n });\n if (!response.ok) throw new Error(`[dsh-generative-ui] $dsh/ai: ${response.status} ${response.statusText}`);\n if (response.body === null) throw new Error(\"[dsh-generative-ui] $dsh/ai: no response body\");\n const reader = response.body.getReader();\n const decoder = new TextDecoder();\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n // `stream: true` so a multi-byte character split across chunks is not mangled — the\n // failure mode is a replacement character mid-word in any non-ASCII answer.\n //\n // `yield`, not `yield*`: spreading the string hands the consumer one character at a time,\n // which for a card that re-renders per piece is a setState per character. Measured on 560\n // characters of Chinese: 560 iterations spread, 27 by chunk, identical text either way.\n const text = decoder.decode(value, { stream: true });\n if (text !== \"\") yield text;\n }\n}\n\n/** Blob URLs for every `$dsh/*` module, built once and reused by every surface. */\nlet cached: Record<string, string> | null = null;\n\nexport function bindingImports(): Record<string, string> {\n if (cached !== null) return cached;\n // Registered here rather than in `registerUi4aHost`: what goes in the registry is `bind` itself,\n // which does not depend on the host *value*. Hanging it off host registration meant a page with\n // no host — a preview, a harness, the first frame of a session, any profile without\n // `conversation` — got capability blobs importing an EMPTY `$dsh/internal`. The first mount\n // reported `Unresolvable imports` and every one after it rendered silently blank. Verified: with\n // this moved, a `$dsh/state` card mounts and persists with nothing else registered, and a\n // `$dsh/chat` card lays out correctly and only throws `no host bound` when the button is pressed.\n registerModules({ [INTERNAL]: { bind } });\n const internal = moduleUrl(INTERNAL);\n const imports: Record<string, string> = {};\n const bound = bind();\n // Enumerated from `bind()`, not from a list beside it: a group added to the implementation and\n // missed here would simply have no blob module, and a card importing it renders blank with\n // nothing in the console — the failure mode this project spends the most effort on.\n for (const [group, members] of Object.entries(bound)) {\n const names = Object.keys(members);\n // One `export const` per name: ESM export names must be statically visible.\n const source = [`import { bind } from ${JSON.stringify(internal)};`, `const g = bind().${group};`, ...names.map((name) => `export const ${name} = g.${name};`), \"export default g;\"].join(\"\\n\");\n imports[capabilityModule(group)] = URL.createObjectURL(new Blob([source], { type: \"text/javascript\" }));\n }\n cached = imports;\n return imports;\n}\n\nexport function releaseBindings(): void {\n for (const url of Object.values(cached ?? {})) URL.revokeObjectURL(url);\n cached = null;\n}\n\n/**\n * Every module generated code can import without reaching the network: the shell's React\n * family, plus the `$dsh/*` capabilities.\n *\n * Exported from the plugin's client entry as well, so `bun run smoke` can build the blob\n * modules and parse them. They are synthesized strings that nothing type-checks, and a\n * syntax error in one fails the way an unresolvable import does — the whole module graph\n * dies and the card renders blank with no console error.\n */\nexport function localImports(): Record<string, string> {\n registerRuntimeModules();\n return { ...registryImports(), ...bindingImports() };\n}\n",
|
|
26
|
+
"/**\n * Everything generated code may import as a \"local\" module.\n *\n * The react family MUST be here: generated code shares the shell's single React\n * instance or hooks blow up with an invalid-hook-call. Four of the five come from\n * the shell's platform table (see platform.ts), so registering them costs no\n * bundle weight — it only republishes the instances we already received.\n *\n * `scheduler` is the fifth, and it is NOT a platform module (see platform.ts's own\n * comment) — build.ts bundles a real copy of it into this file. It still has to be\n * registered here, because `partial-react`'s `DEFAULT_ESM_SH_EXTERNALS` lists it\n * alongside `react`/`react-dom` and asks esm.sh to leave it unbundled in every\n * `@react-three/*`-shaped fallback fetch (`?...&external=react,react-dom,scheduler`).\n * Those packages' compiled output therefore contains a literal `import ... from\n * \"scheduler\"` that only resolves against the document import map this module\n * installs — omitting the entry here is a silent `Failed to resolve module\n * specifier \"scheduler\"` at the browser level, not a compile-time error.\n *\n * We otherwise pre-register no component library. Anything else resolves through\n * the esm.sh fallback at compile time.\n */\nimport * as React from \"react\";\nimport * as ReactJsxRuntime from \"react/jsx-runtime\";\nimport * as ReactDom from \"react-dom\";\nimport * as ReactDomClient from \"react-dom/client\";\nimport * as Scheduler from \"scheduler\";\nimport { registerModules, registryImports } from \"./registry.ts\";\n\nlet installed = false;\n\n/**\n * Installs a real `<script type=\"importmap\">`.\n *\n * Compile-time rewriting only covers the code we generate. Packages pulled from\n * esm.sh arrive as already-compiled JS whose `import ... from \"react\"` survives\n * verbatim, and the browser resolves those bare specifiers against the document\n * import map alone — without it, any generated UI that uses a third-party\n * package dies on `Failed to resolve module specifier \"react\"`.\n *\n * It can only be installed once, and only before the first module resolution.\n */\nfunction installDocumentImportMap(): void {\n if (installed || typeof document === \"undefined\") return;\n installed = true;\n // A host-owned map wins: overwriting it would break whoever installed it, and a\n // second map is ignored by the browser anyway.\n if (document.querySelector('script[type=\"importmap\"]') !== null) {\n console.warn(\"[dsh-generative-ui] the shell already installs an import map; bare specifiers from esm.sh packages may not resolve\");\n return;\n }\n const script = document.createElement(\"script\");\n script.type = \"importmap\";\n script.textContent = JSON.stringify({ imports: registryImports() });\n document.head.prepend(script);\n}\n\nexport function registerRuntimeModules(): void {\n registerModules({\n react: React,\n \"react/jsx-runtime\": ReactJsxRuntime,\n \"react/jsx-dev-runtime\": ReactJsxRuntime,\n \"react-dom\": ReactDom,\n \"react-dom/client\": ReactDomClient,\n scheduler: Scheduler,\n });\n installDocumentImportMap();\n}\n\nexport const hostReactVersion = React.version;\n",
|
|
27
|
+
"/**\n * `$dsh/state` — the one capability the model asks for without being told it exists.\n *\n * Three runs of a habit-tracker prompt each wrote `import { usePersistedState } from \"$dsh/state\"`\n * against a module that did not exist, which does not degrade: the browser refuses the module and\n * the card renders blank. Rewording the skill to deny it did not help — the prior survives the\n * denial. So the module exists now, with the signature all three runs assumed.\n *\n * Unlike the other capabilities this needs nothing from the host: `localStorage` and React are\n * both already there. That is also why it is worth having — the alternative the skill used to\n * prescribe is fifteen lines of try/catch that every card rewrites and half of them skip.\n */\nimport * as React from \"react\";\n\n/**\n * Namespaced away from the host's own storage — and **not** from other cards, which this comment\n * used to claim. Two cards that both pick `\"todos\"` share one entry, because the prefix is\n * constant. The design note for this feature keys on the message id as well\n * (`key + message id`), which would isolate them; we do not, and the measured consequence is\n * small: across 36 uses in four waves, 35 keys were distinct — the model reaches for descriptive\n * names (`plan-semanal:eaten`) rather than `todos`, and the one collision was the same question\n * sampled twice, where sharing is arguably right.\n *\n * Adding the message id is not free either: it would make a card's state vanish when the card is\n * re-delivered under a new id, which is the remount this hook exists to survive. Left as is\n * deliberately, recorded so the next reader does not have to re-derive it.\n */\nconst scope = (key: string) => `dsh-genui:${key}`;\n\nfunction read<T>(key: string, initial: T | (() => T)): T {\n // `initial` may be a lazy initialiser — the idiom `useState` teaches, and what a card writing\n // `usePersistedState(KEY, loadFromSomewhere())` ends up passing by accident either way.\n const fallback = () => (typeof initial === \"function\" ? (initial as () => T)() : initial);\n try {\n const raw = globalThis.localStorage?.getItem(scope(key));\n return raw === null || raw === undefined ? fallback() : (JSON.parse(raw) as T);\n } catch {\n // Private mode, a full quota, or a value someone else wrote that is not JSON. A tracker that\n // starts empty is worth more than one that throws during render.\n return fallback();\n }\n}\n\n/**\n * `useState`, except the value survives a reload — and, more often, survives the remount that\n * every canvas revision and every inline transcript re-render causes.\n */\nexport function usePersistedState<T>(key: string, initial: T | (() => T)): [T, React.Dispatch<React.SetStateAction<T>>] {\n const [value, setValue] = React.useState<T>(() => read(key, initial));\n React.useEffect(() => {\n try {\n globalThis.localStorage?.setItem(scope(key), JSON.stringify(value));\n } catch {\n // Quota or private mode. The card keeps working in memory; failing the write must not\n // fail the render.\n }\n }, [key, value]);\n return [value, setValue];\n}\n",
|
|
28
|
+
"/**\n * The `$dsh/*` capability modules generated code may import.\n *\n * These are real TypeScript that lives in our bundle; generated code reaches them through\n * a per-surface blob shim, because a blob URL cannot carry a query string and the surface\n * identity therefore has to be compiled into the module body.\n *\n * Ported from ui4a-playground, minus what this host cannot back: there is no browser-side\n * filesystem service in dsh (`dsh-fs` is the Node half only) and no client-facing model\n * gateway, so `$dsh/fs` and `$dsh/ai` have no implementation here yet.\n */\nimport { moduleUrl, registerModules, registryImports } from \"./registry.ts\";\nimport { AI_STREAM_PATH, EXEC_PATH, FS_PATH, WEB_SEARCH_PATH } from \"../../contract-assets.ts\";\nimport { capabilityModule } from \"../../contract.ts\";\nimport { registerRuntimeModules } from \"./register.ts\";\nimport { usePersistedState } from \"./state.ts\";\n\n/** What the plugin's client half lends to generated code. Registered once, at apply. */\nexport type Ui4aHost = {\n /** Sends a prompt into the current session, exactly as the composer would. */\n send: (text: string) => void;\n /** The current session's workspace, which the AI route authorizes against. */\n cwd: () => string | undefined;\n /** The open session, so a write runs under the access mode the composer shows. */\n sessionId: () => string;\n};\n\nconst INTERNAL = capabilityModule(\"internal\");\nlet host: Ui4aHost | null = null;\n\n/** Named so the round trip can be tested against the real code rather than a copy of it. */\nexport function decodeBase64(base64: string): Uint8Array<ArrayBuffer> {\n const binary = atob(base64);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i += 1) bytes[i] = binary.charCodeAt(i);\n return bytes;\n}\n\nexport function registerUi4aHost(next: Ui4aHost): () => void {\n host = next;\n return () => {\n if (host === next) host = null;\n };\n}\n\n/**\n * The capability surface, one group per `$dsh/<group>` module.\n *\n * A function rather than a constant so the host can be swapped (or torn down) without the\n * already-imported blob modules going stale — they close over `bind`, not over a host.\n */\nexport function bind() {\n const chat = {\n /**\n * Drives the next turn from inside a card. The text is what the user would have typed:\n * it lands in the transcript as their message, because a turn nobody can see arriving\n * reads as the app talking to itself.\n */\n sendMessage: (text: string) => {\n if (host === null) throw new Error(\"[dsh-generative-ui] no host bound\");\n host.send(text);\n },\n };\n const ai = {\n /**\n * Streams text from the app's own model, one piece per network chunk.\n *\n * Nothing here holds a credential: the Node half forwards to `ctx.llm`, which owns the\n * provider route and the keys. Reach for it when the *content* is the variable part —\n * the recipe, the five candidate names — and skip it when the data is genuinely fixed.\n */\n streamText: (options: Ui4aStreamOptions | string): AsyncIterable<string> => {\n if (host === null) throw new Error(\"[dsh-generative-ui] no host bound\");\n const workspace = host.cwd();\n if (workspace === undefined) throw new Error(\"[dsh-generative-ui] $dsh/ai needs a session workspace\");\n const request = typeof options === \"string\" ? { prompt: options } : options;\n return streamFrom(workspace, request, request.signal);\n },\n };\n\n const fs = {\n /** The file's text. Throws when it does not exist or the session may not read it. */\n readFile: (path: string) => request<{ content: string }>(\"GET\", path).then((body) => body.content),\n /**\n * Directory entries: the name, whether it is a file or a directory, and a file's size.\n *\n * An array of objects rather than of names, because without `type` a card cannot draw a\n * tree — it would have to probe every entry with a second call to find out whether it\n * can be descended into. The host has all three already; we used to drop two of them.\n */\n readdir: (path: string) => request<{ entries: Ui4aDirEntry[] }>(\"GET\", path, undefined, \"list=1\").then((body) => body.entries),\n /**\n * The file's bytes, for anything that is not text.\n *\n * `readFile` decodes as UTF-8, so a .mid, a wav or a png read that way comes back with\n * every byte above 0x7f replaced by U+FFFD — corrupt, and silently so. Anything handed to\n * `decodeAudioData`, a MIDI parser or an image decoder has to come through here.\n */\n readBytes: (path: string) => request<{ base64: string }>(\"GET\", path, undefined, \"bytes=1\").then((body) => decodeBase64(body.base64)),\n /**\n * Writes the file, subject to the session's own access mode.\n *\n * Under `Read Only` this rejects exactly as the model's own `write` would — the fence\n * is the host's, not ours, so what a card may do never diverges from what the composer\n * says the session may do.\n */\n // `Promise<void>`, not the `Promise<undefined>` a bare `.then(() => undefined)` infers:\n // what a caller may do with the result is the contract, and `types/chat.d.ts` says void.\n writeFile: async (path: string, content: string): Promise<void> => {\n await request<{ written: string }>(\"POST\", path, content);\n },\n };\n\n const exec = {\n /**\n * Runs one command in the workspace and resolves with its output.\n *\n * A non-zero exit resolves rather than rejects: `git status` failing outside a repo is\n * something a card wants to show, not an outage. Only a failure to run at all rejects.\n * The session's own sandbox mode applies, so this is no wider than the model's own bash.\n */\n bash: (command: string, options?: { signal?: AbortSignal }): Promise<Ui4aExecResult> => {\n if (host === null) throw new Error(\"[dsh-generative-ui] no host bound\");\n const workspace = host.cwd();\n if (workspace === undefined) throw new Error(\"[dsh-generative-ui] $dsh/exec needs a session workspace\");\n return execRequest(workspace, host.sessionId(), command, options?.signal);\n },\n };\n\n const web = {\n /**\n * One web search, through whichever provider the host composed.\n *\n * Search only: `ctx.web` also does `fetch`, and this deployment turns that off for its own\n * tools because the local backend can reach private-network addresses. A card wanting a page\n * body should ask the user for it or search for a quotable source instead.\n */\n search: (query: string, options?: { maxResults?: number; signal?: AbortSignal }): Promise<Ui4aSearchResult> => {\n if (host === null) throw new Error(\"[dsh-generative-ui] no host bound\");\n const workspace = host.cwd();\n if (workspace === undefined) throw new Error(\"[dsh-generative-ui] $dsh/web needs a session workspace\");\n return searchRequest(workspace, query, options);\n },\n };\n\n // No host behind this one — `localStorage` and React are both already in the page. It exists\n // because the model reaches for it unprompted: five of six habit-tracker runs wrote\n // `import { usePersistedState } from \"$dsh/state\"` against a module that did not exist, and a\n // reworded denial in the skill did not stop it. An unresolvable specifier takes the whole module\n // with it, so the card renders blank.\n const state = { usePersistedState };\n\n return { chat, ai, fs, exec, web, state };\n}\n\n/** What one search returns. Mirrors the seam's `WebSearchResult`, which is what the route forwards. */\nexport type Ui4aSearchResult = {\n /** A provider-generated answer or summary, when the provider makes one (Exa and DeepSeek do not). */\n content?: string;\n sources: readonly { url: string; title?: string; snippet?: string; publishedAt?: string }[];\n /** True when the seam cut `sources` down to the requested bound. */\n truncated: boolean;\n};\n\nasync function searchRequest(cwd: string, query: string, options?: { maxResults?: number; signal?: AbortSignal }): Promise<Ui4aSearchResult> {\n const response = await fetch(`${WEB_SEARCH_PATH}?cwd=${encodeURIComponent(cwd)}`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify({ query, ...(options?.maxResults === undefined ? {} : { maxResults: options.maxResults }) }),\n signal: options?.signal,\n });\n const body = (await response.json().catch(() => ({}))) as Ui4aSearchResult & { error?: string };\n if (!response.ok) throw new Error(`[dsh-generative-ui] $dsh/web: ${body.error ?? response.statusText}`);\n return body;\n}\n\n/** Talks to the fs route, carrying the workspace and the session whose policy applies. */\nasync function request<T>(method: \"GET\" | \"POST\", path: string, content?: string, extra?: string): Promise<T> {\n if (host === null) throw new Error(\"[dsh-generative-ui] no host bound\");\n const workspace = host.cwd();\n if (workspace === undefined) throw new Error(\"[dsh-generative-ui] $dsh/fs needs a session workspace\");\n const query = `cwd=${encodeURIComponent(workspace)}&session=${encodeURIComponent(host.sessionId())}&path=${encodeURIComponent(path)}${extra === undefined ? \"\" : `&${extra}`}`;\n const response = await fetch(`${FS_PATH}?${query}`, content === undefined ? { method } : { method, headers: { \"content-type\": \"application/json\" }, body: JSON.stringify({ content }) });\n const body = (await response.json().catch(() => ({}))) as { error?: string };\n // A denial is not an outage. Naming it lets the card say \"this session is read-only\"\n // rather than \"something went wrong\" — and `denied` carries that as a field, because the\n // alternative is every card string-matching our message, which then cannot be reworded.\n if (!response.ok) throw Object.assign(new Error(`[dsh-generative-ui] $dsh/fs ${path}: ${body.error ?? response.statusText}`), { code: body.error, denied: response.status === 403 });\n return body as T;\n}\n\n/** What a command left behind. `truncated` means the output was cut, not that it failed. */\nexport type Ui4aExecResult = { stdout: string; stderr: string; exitCode: number | null; truncated: { stdout: boolean; stderr: boolean }; timedOut: boolean };\n\n/** Talks to the exec route. Separate from `request` because the shape and the failure mode differ. */\nasync function execRequest(cwd: string, sessionId: string, command: string, signal?: AbortSignal): Promise<Ui4aExecResult> {\n const query = `cwd=${encodeURIComponent(cwd)}&session=${encodeURIComponent(sessionId)}`;\n // Aborting really kills the command: the route hangs its own controller off `req.on(\"close\")`,\n // so dropping the request is what a polling card needs to not stack runs on a slow one.\n const response = await fetch(`${EXEC_PATH}?${query}`, { method: \"POST\", headers: { \"content-type\": \"application/json\" }, body: JSON.stringify({ command }), signal });\n const body = (await response.json().catch(() => ({}))) as Ui4aExecResult & { error?: string };\n if (!response.ok) throw new Error(`[dsh-generative-ui] $dsh/exec: ${body.error ?? response.statusText}`);\n return body;\n}\n\n/** One entry of a directory listing. `size` is absent for directories. */\nexport type Ui4aDirEntry = { name: string; type?: \"file\" | \"directory\"; size?: number };\n\n/** One user turn plus an optional system prompt — see the route's note on why not more. */\nexport type Ui4aStreamOptions = { prompt: string; system?: string; signal?: AbortSignal };\n\n/**\n * Decodes the route's plain-text stream into characters.\n *\n * Character-at-a-time rather than chunk-at-a-time because that is what the consumer wants:\n * generated cards append to a buffer and re-parse it, and a card that grows by whole network\n * chunks reads as stuttering rather than typing.\n */\nasync function* streamFrom(cwd: string, request: Ui4aStreamOptions, signal?: AbortSignal): AsyncIterable<string> {\n // Aborting stops the model too, not just the reading: the route drops its own generation when\n // the request closes. A card that regenerates per keystroke needs that, or what the reader\n // ends up seeing is whichever of several in-flight calls happens to finish last.\n const response = await fetch(`${AI_STREAM_PATH}?cwd=${encodeURIComponent(cwd)}`, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify(request),\n signal,\n });\n if (!response.ok) throw new Error(`[dsh-generative-ui] $dsh/ai: ${response.status} ${response.statusText}`);\n if (response.body === null) throw new Error(\"[dsh-generative-ui] $dsh/ai: no response body\");\n const reader = response.body.getReader();\n const decoder = new TextDecoder();\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n // `stream: true` so a multi-byte character split across chunks is not mangled — the\n // failure mode is a replacement character mid-word in any non-ASCII answer.\n //\n // `yield`, not `yield*`: spreading the string hands the consumer one character at a time,\n // which for a card that re-renders per piece is a setState per character. Measured on 560\n // characters of Chinese: 560 iterations spread, 27 by chunk, identical text either way.\n const text = decoder.decode(value, { stream: true });\n if (text !== \"\") yield text;\n }\n}\n\n/** Blob URLs for every `$dsh/*` module, built once and reused by every surface. */\nlet cached: Record<string, string> | null = null;\n\nexport function bindingImports(): Record<string, string> {\n if (cached !== null) return cached;\n // Registered here rather than in `registerUi4aHost`: what goes in the registry is `bind` itself,\n // which does not depend on the host *value*. Hanging it off host registration meant a page with\n // no host — a preview, a harness, the first frame of a session, any profile without\n // `conversation` — got capability blobs importing an EMPTY `$dsh/internal`. The first mount\n // reported `Unresolvable imports` and every one after it rendered silently blank. Verified: with\n // this moved, a `$dsh/state` card mounts and persists with nothing else registered, and a\n // `$dsh/chat` card lays out correctly and only throws `no host bound` when the button is pressed.\n registerModules({ [INTERNAL]: { bind } });\n const internal = moduleUrl(INTERNAL);\n const imports: Record<string, string> = {};\n const bound = bind();\n // Enumerated from `bind()`, not from a list beside it: a group added to the implementation and\n // missed here would simply have no blob module, and a card importing it renders blank with\n // nothing in the console — the failure mode this project spends the most effort on.\n for (const [group, members] of Object.entries(bound)) {\n const names = Object.keys(members);\n // One `export const` per name: ESM export names must be statically visible.\n const source = [`import { bind } from ${JSON.stringify(internal)};`, `const g = bind().${group};`, ...names.map((name) => `export const ${name} = g.${name};`), \"export default g;\"].join(\"\\n\");\n imports[capabilityModule(group)] = URL.createObjectURL(new Blob([source], { type: \"text/javascript\" }));\n }\n cached = imports;\n return imports;\n}\n\nexport function releaseBindings(): void {\n for (const url of Object.values(cached ?? {})) URL.revokeObjectURL(url);\n cached = null;\n}\n\n/**\n * Every module generated code can import without reaching the network: the shell's React\n * family, plus the `$dsh/*` capabilities.\n *\n * Exported from the plugin's client entry as well, so `bun run smoke` can build the blob\n * modules and parse them. They are synthesized strings that nothing type-checks, and a\n * syntax error in one fails the way an unresolvable import does — the whole module graph\n * dies and the card renders blank with no console error.\n */\nexport function localImports(): Record<string, string> {\n registerRuntimeModules();\n return { ...registryImports(), ...bindingImports() };\n}\n",
|
|
27
29
|
"//#region src/constants.ts\nconst LAYER_DEFAULT = \"default\";\nconst LAYER_PREFLIGHTS = \"preflights\";\nconst LAYER_SHORTCUTS = \"shortcuts\";\nconst LAYER_IMPORTS = \"imports\";\nconst DEFAULT_LAYERS = {\n\t[LAYER_IMPORTS]: -200,\n\t[LAYER_PREFLIGHTS]: -100,\n\t[LAYER_SHORTCUTS]: -10,\n\t[LAYER_DEFAULT]: 0\n};\n//#endregion\n//#region src/extractors/split.ts\nconst defaultSplitRE = /[\\\\:]?[\\s'\"`;{}]+/g;\nconst splitWithVariantGroupRE = /([\\\\:]?[\\s\"'`;<>]|:\\(|\\)\"|\\)\\s)/g;\nfunction splitCode(code) {\n\treturn code.split(defaultSplitRE);\n}\nconst extractorSplit = {\n\tname: \"@unocss/core/extractor-split\",\n\torder: 0,\n\textract({ code }) {\n\t\treturn splitCode(code);\n\t}\n};\n//#endregion\n//#region src/utils/basic.ts\nfunction toArray(value = []) {\n\treturn Array.isArray(value) ? value : [value];\n}\nfunction uniq(value) {\n\treturn Array.from(new Set(value));\n}\nfunction uniqueBy(array, equalFn) {\n\treturn array.reduce((acc, cur) => {\n\t\tif (acc.findIndex((item) => equalFn(cur, item)) === -1) acc.push(cur);\n\t\treturn acc;\n\t}, []);\n}\nfunction isString(s) {\n\treturn typeof s === \"string\";\n}\n//#endregion\n//#region src/utils/countable-set.ts\nvar CountableSet = class extends Set {\n\t_map = /* @__PURE__ */ new Map();\n\tconstructor(values) {\n\t\tsuper();\n\t\tif (values) for (const key of values) this.add(key);\n\t}\n\tadd(key) {\n\t\tthis._map.set(key, (this._map.get(key) ?? 0) + 1);\n\t\treturn super.add(key);\n\t}\n\tdelete(key) {\n\t\tif (!this._map.has(key)) return false;\n\t\tthis._map.delete(key);\n\t\treturn super.delete(key);\n\t}\n\tclear() {\n\t\tthis._map.clear();\n\t\tsuper.clear();\n\t}\n\tgetCount(key) {\n\t\treturn this._map.get(key) ?? 0;\n\t}\n\tsetCount(key, count) {\n\t\tthis._map.set(key, count);\n\t\treturn super.add(key);\n\t}\n};\nfunction isCountableSet(value) {\n\treturn value instanceof CountableSet;\n}\n//#endregion\n//#region src/utils/escape.ts\nfunction escapeRegExp(string) {\n\treturn string.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n/**\n* CSS Selector Escape\n*/\nfunction escapeSelector(str) {\n\tconst length = str.length;\n\tlet index = -1;\n\tlet codeUnit;\n\tlet result = \"\";\n\tconst firstCodeUnit = str.charCodeAt(0);\n\twhile (++index < length) {\n\t\tcodeUnit = str.charCodeAt(index);\n\t\tif (codeUnit === 0) {\n\t\t\tresult += \"�\";\n\t\t\tcontinue;\n\t\t}\n\t\tif (codeUnit === 37) {\n\t\t\tresult += \"\\\\%\";\n\t\t\tcontinue;\n\t\t}\n\t\tif (codeUnit === 44) {\n\t\t\tresult += \"\\\\,\";\n\t\t\tcontinue;\n\t\t}\n\t\tif (codeUnit >= 1 && codeUnit <= 31 || codeUnit === 127 || index === 0 && codeUnit >= 48 && codeUnit <= 57 || index === 1 && codeUnit >= 48 && codeUnit <= 57 && firstCodeUnit === 45) {\n\t\t\tresult += `\\\\${codeUnit.toString(16)} `;\n\t\t\tcontinue;\n\t\t}\n\t\tif (index === 0 && length === 1 && codeUnit === 45) {\n\t\t\tresult += `\\\\${str.charAt(index)}`;\n\t\t\tcontinue;\n\t\t}\n\t\tif (codeUnit >= 128 || codeUnit === 45 || codeUnit === 95 || codeUnit >= 48 && codeUnit <= 57 || codeUnit >= 65 && codeUnit <= 90 || codeUnit >= 97 && codeUnit <= 122) {\n\t\t\tresult += str.charAt(index);\n\t\t\tcontinue;\n\t\t}\n\t\tresult += `\\\\${str.charAt(index)}`;\n\t}\n\treturn result;\n}\nconst e = escapeSelector;\n//#endregion\n//#region src/utils/events.ts\n/**\n* Create event emitter.\n*\n* ```js\n* import { createNanoEvents } from 'nanoevents'\n*\n* class Ticker {\n* constructor() {\n* this.emitter = createNanoEvents()\n* }\n* on(...args) {\n* return this.emitter.on(...args)\n* }\n* tick() {\n* this.emitter.emit('tick')\n* }\n* }\n* ```\n*/\nfunction createNanoEvents() {\n\treturn {\n\t\tevents: {},\n\t\temit(event, ...args) {\n\t\t\t(this.events[event] || []).forEach((i) => i(...args));\n\t\t},\n\t\ton(event, cb) {\n\t\t\t(this.events[event] = this.events[event] || []).push(cb);\n\t\t\treturn () => this.events[event] = (this.events[event] || []).filter((i) => i !== cb);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/utils/helpers.ts\nconst attributifyRE = /^\\[(.+?)~?=\"(.*)\"\\]$/;\nconst cssIdRE = /\\.(css|postcss|sass|scss|less|stylus|styl)($|\\?)/;\nconst validateFilterRE = /[\\w\\u00A0-\\uFFFF%-?]/;\nfunction isAttributifySelector(selector) {\n\treturn selector.match(attributifyRE);\n}\nfunction isValidSelector(selector = \"\") {\n\treturn validateFilterRE.test(selector);\n}\nfunction normalizeVariant(variant) {\n\treturn typeof variant === \"function\" ? { match: variant } : variant;\n}\nfunction isRawUtil(util) {\n\treturn util.length === 3;\n}\nfunction notNull(value) {\n\treturn value != null;\n}\nfunction noop() {}\n//#endregion\n//#region src/utils/layer.ts\nfunction withLayer(layer, rules) {\n\trules.forEach((r) => {\n\t\tif (!r[2]) r[2] = { layer };\n\t\telse r[2].layer = layer;\n\t});\n\treturn rules;\n}\n//#endregion\n//#region src/utils/map.ts\nvar TwoKeyMap = class {\n\t_map = /* @__PURE__ */ new Map();\n\tget(key1, key2) {\n\t\tconst m2 = this._map.get(key1);\n\t\tif (m2) return m2.get(key2);\n\t}\n\tgetFallback(key1, key2, fallback) {\n\t\tlet m2 = this._map.get(key1);\n\t\tif (!m2) {\n\t\t\tm2 = /* @__PURE__ */ new Map();\n\t\t\tthis._map.set(key1, m2);\n\t\t}\n\t\tif (!m2.has(key2)) m2.set(key2, fallback);\n\t\treturn m2.get(key2);\n\t}\n\tset(key1, key2, value) {\n\t\tlet m2 = this._map.get(key1);\n\t\tif (!m2) {\n\t\t\tm2 = /* @__PURE__ */ new Map();\n\t\t\tthis._map.set(key1, m2);\n\t\t}\n\t\tm2.set(key2, value);\n\t\treturn this;\n\t}\n\thas(key1, key2) {\n\t\treturn this._map.get(key1)?.has(key2);\n\t}\n\tdelete(key1, key2) {\n\t\treturn this._map.get(key1)?.delete(key2) || false;\n\t}\n\tdeleteTop(key1) {\n\t\treturn this._map.delete(key1);\n\t}\n\tmap(fn) {\n\t\treturn Array.from(this._map.entries()).flatMap(([k1, m2]) => Array.from(m2.entries()).map(([k2, v]) => {\n\t\t\treturn fn(v, k1, k2);\n\t\t}));\n\t}\n};\nvar BetterMap = class extends Map {\n\tgetFallback(key, fallback) {\n\t\tconst v = this.get(key);\n\t\tif (v === void 0) {\n\t\t\tthis.set(key, fallback);\n\t\t\treturn fallback;\n\t\t}\n\t\treturn v;\n\t}\n\tmap(mapFn) {\n\t\tconst result = [];\n\t\tthis.forEach((v, k) => {\n\t\t\tresult.push(mapFn(v, k));\n\t\t});\n\t\treturn result;\n\t}\n\tflatMap(mapFn) {\n\t\tconst result = [];\n\t\tthis.forEach((v, k) => {\n\t\t\tresult.push(...mapFn(v, k));\n\t\t});\n\t\treturn result;\n\t}\n};\n//#endregion\n//#region src/utils/object.ts\nfunction normalizeCSSEntries(obj) {\n\tif (isString(obj)) return obj;\n\treturn (!Array.isArray(obj) ? Object.entries(obj) : obj).filter((i) => i[1] != null);\n}\nfunction normalizeCSSValues(obj) {\n\tif (Array.isArray(obj)) {\n\t\tif (obj.some((i) => !Array.isArray(i) || Array.isArray(i[0]))) return obj.map((i) => normalizeCSSEntries(i));\n\t\telse return [obj];\n\t} else return [normalizeCSSEntries(obj)];\n}\nfunction clearIdenticalEntries(entry) {\n\treturn entry.filter(([k, v], idx) => {\n\t\tif (k.startsWith(\"$$\")) return false;\n\t\tfor (let i = idx - 1; i >= 0; i--) if (entry[i][0] === k && entry[i][1] === v) return false;\n\t\treturn true;\n\t});\n}\nconst VirtualKey = \"__virtual_key__\";\nfunction entriesToCss(arr) {\n\tif (arr == null) return \"\";\n\treturn clearIdenticalEntries(arr).map(([key, value]) => value != null && typeof value !== \"function\" ? key !== \"__virtual_key__\" ? `${key}:${value};` : value : void 0).filter(Boolean).join(\"\");\n}\nfunction isObject(item) {\n\treturn item && typeof item === \"object\" && !Array.isArray(item);\n}\n/**\n* Deep merge two objects\n*/\nfunction mergeDeep(original, patch, mergeArray = false) {\n\tconst o = original;\n\tconst p = patch;\n\tif (Array.isArray(p)) {\n\t\tif (mergeArray && Array.isArray(p)) return [...o, ...p];\n\t\telse return [...p];\n\t}\n\tconst output = { ...o };\n\tif (isObject(o) && isObject(p)) Object.keys(p).forEach((key) => {\n\t\tif (isObject(o[key]) && isObject(p[key]) || Array.isArray(o[key]) && Array.isArray(p[key])) output[key] = mergeDeep(o[key], p[key], mergeArray);\n\t\telse Object.assign(output, { [key]: p[key] });\n\t});\n\treturn output;\n}\nfunction clone(val) {\n\tlet k, out, tmp;\n\tif (Array.isArray(val)) {\n\t\tout = Array.from({ length: k = val.length });\n\t\twhile (k--) out[k] = (tmp = val[k]) && typeof tmp === \"object\" ? clone(tmp) : tmp;\n\t\treturn out;\n\t}\n\tif (Object.prototype.toString.call(val) === \"[object Object]\") {\n\t\tout = {};\n\t\tfor (k in val) if (k === \"__proto__\") Object.defineProperty(out, k, {\n\t\t\tvalue: clone(val[k]),\n\t\t\tconfigurable: true,\n\t\t\tenumerable: true,\n\t\t\twritable: true\n\t\t});\n\t\telse out[k] = (tmp = val[k]) && typeof tmp === \"object\" ? clone(tmp) : tmp;\n\t\treturn out;\n\t}\n\treturn val;\n}\nfunction isStaticRule(rule) {\n\treturn isString(rule[0]);\n}\nfunction isStaticShortcut(sc) {\n\treturn isString(sc[0]);\n}\n//#endregion\n//#region src/utils/variant-group.ts\nconst regexCache = {};\nfunction makeRegexClassGroup(separators = [\"-\", \":\"]) {\n\tconst key = separators.map((s) => escapeRegExp(s)).join(\"|\");\n\tif (!regexCache[key]) regexCache[key] = new RegExp(`((?:[!@*<~\\\\w+:_-]|\\\\[&?>?:?\\\\S*\\\\])+?)(${key})\\\\(((?:[~!<>\\\\w\\\\s:/\\\\\\\\,%#.$?-]|\\\\[[^\\\\]]*?\\\\])+?)\\\\)(?!\\\\s*?=>)`, \"gm\");\n\tregexCache[key].lastIndex = 0;\n\treturn regexCache[key];\n}\nfunction parseVariantGroup(str, separators = [\"-\", \":\"], depth = 5) {\n\tconst regexClassGroup = makeRegexClassGroup(separators);\n\tlet hasChanged;\n\tlet content = str.toString();\n\tconst prefixes = /* @__PURE__ */ new Set();\n\tconst groupsByOffset = /* @__PURE__ */ new Map();\n\tdo {\n\t\thasChanged = false;\n\t\tcontent = content.replace(regexClassGroup, (from, pre, sep, body, groupOffset) => {\n\t\t\tif (!separators.includes(sep)) return from;\n\t\t\thasChanged = true;\n\t\t\tprefixes.add(pre + sep);\n\t\t\tconst bodyOffset = groupOffset + pre.length + sep.length + 1;\n\t\t\tconst group = {\n\t\t\t\tlength: from.length,\n\t\t\t\titems: []\n\t\t\t};\n\t\t\tgroupsByOffset.set(groupOffset, group);\n\t\t\tfor (const itemMatch of [...body.matchAll(/\\S+/g)]) {\n\t\t\t\tconst itemOffset = bodyOffset + itemMatch.index;\n\t\t\t\tlet innerItems = groupsByOffset.get(itemOffset)?.items;\n\t\t\t\tif (innerItems) groupsByOffset.delete(itemOffset);\n\t\t\t\telse innerItems = [{\n\t\t\t\t\toffset: itemOffset,\n\t\t\t\t\tlength: itemMatch[0].length,\n\t\t\t\t\tclassName: itemMatch[0]\n\t\t\t\t}];\n\t\t\t\tfor (const item of innerItems) {\n\t\t\t\t\titem.className = item.className === \"~\" ? sep === \":\" ? `${pre}${sep}~` : pre : item.className.replace(/^(!?)(.*)/, `$1${pre}${sep}$2`);\n\t\t\t\t\tgroup.items.push(item);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn \"$\".repeat(from.length);\n\t\t});\n\t\tdepth -= 1;\n\t} while (hasChanged && depth);\n\tlet expanded;\n\tif (typeof str === \"string\") {\n\t\texpanded = \"\";\n\t\tlet prevOffset = 0;\n\t\tfor (const [offset, group] of groupsByOffset) {\n\t\t\texpanded += str.slice(prevOffset, offset);\n\t\t\texpanded += group.items.map((item) => item.className).join(\" \");\n\t\t\tprevOffset = offset + group.length;\n\t\t}\n\t\texpanded += str.slice(prevOffset);\n\t} else {\n\t\texpanded = str;\n\t\tfor (const [offset, group] of groupsByOffset) expanded.overwrite(offset, offset + group.length, group.items.map((item) => item.className).join(\" \"));\n\t}\n\treturn {\n\t\tprefixes: Array.from(prefixes),\n\t\thasChanged,\n\t\tgroupsByOffset,\n\t\tget expanded() {\n\t\t\treturn expanded.toString();\n\t\t}\n\t};\n}\nfunction collapseVariantGroup(str, prefixes) {\n\tconst collection = /* @__PURE__ */ new Map();\n\tconst sortedPrefix = prefixes.sort((a, b) => b.length - a.length);\n\treturn str.split(/\\s+/g).map((part) => {\n\t\tconst prefix = sortedPrefix.find((prefix) => part.startsWith(prefix));\n\t\tif (!prefix) return part;\n\t\tconst body = part.slice(prefix.length);\n\t\tif (collection.has(prefix)) {\n\t\t\tcollection.get(prefix).push(body);\n\t\t\treturn null;\n\t\t} else {\n\t\t\tconst items = [body];\n\t\t\tcollection.set(prefix, items);\n\t\t\treturn {\n\t\t\t\tprefix,\n\t\t\t\titems\n\t\t\t};\n\t\t}\n\t}).filter(notNull).map((i) => {\n\t\tif (typeof i === \"string\") return i;\n\t\treturn `${i.prefix}(${i.items.join(\" \")})`;\n\t}).join(\" \");\n}\nfunction expandVariantGroup(str, separators = [\"-\", \":\"], depth = 5) {\n\tconst res = parseVariantGroup(str, separators, depth);\n\treturn typeof str === \"string\" ? res.expanded : str;\n}\n//#endregion\n//#region src/utils/warn.ts\nconst warned = /* @__PURE__ */ new Set();\nfunction warnOnce(msg) {\n\tif (warned.has(msg)) return;\n\tconsole.warn(\"[unocss]\", msg);\n\twarned.add(msg);\n}\n//#endregion\n//#region src/config.ts\nfunction resolveShortcuts(shortcuts) {\n\treturn toArray(shortcuts).flatMap((s) => {\n\t\tif (Array.isArray(s)) return [s];\n\t\treturn Object.entries(s);\n\t});\n}\nfunction createDynamicRuleFilters(rules) {\n\tconst filterSources = /* @__PURE__ */ new Map();\n\tconst fallback = [];\n\tfor (const rule of rules) {\n\t\tconst [matcher, , meta] = rule;\n\t\tif (meta?.prefix || matcher.global || matcher.sticky || /\\\\(?:[1-9]|k<)|\\(\\?</.test(matcher.source)) {\n\t\t\tfallback.push(rule);\n\t\t\tcontinue;\n\t\t}\n\t\tconst sources = filterSources.get(matcher.flags) ?? [];\n\t\tsources.push(`(?:${matcher.source})`);\n\t\tfilterSources.set(matcher.flags, sources);\n\t}\n\ttry {\n\t\treturn {\n\t\t\tfallback,\n\t\t\tfilters: Array.from(filterSources, ([flags, sources]) => new RegExp(sources.join(\"|\"), flags))\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\tfallback: [...rules],\n\t\t\tfilters: []\n\t\t};\n\t}\n}\nconst __RESOLVED = \"_uno_resolved\";\n/**\n* Resolve a single preset, nested presets are ignored\n*/\nasync function resolvePreset(presetInput) {\n\tlet preset = typeof presetInput === \"function\" ? await presetInput() : await presetInput;\n\tif (__RESOLVED in preset) return preset;\n\tpreset = { ...preset };\n\tObject.defineProperty(preset, __RESOLVED, {\n\t\tvalue: true,\n\t\tenumerable: false\n\t});\n\tconst shortcuts = preset.shortcuts ? resolveShortcuts(preset.shortcuts) : void 0;\n\tpreset.shortcuts = shortcuts;\n\tif (preset.prefix || preset.layer) {\n\t\tconst apply = (i) => {\n\t\t\tif (!i[2]) i[2] = {};\n\t\t\tconst meta = i[2];\n\t\t\tif (meta.prefix == null && preset.prefix) meta.prefix = toArray(preset.prefix);\n\t\t\tif (meta.layer == null && preset.layer) meta.layer = preset.layer;\n\t\t};\n\t\tshortcuts?.forEach(apply);\n\t\tpreset.rules?.forEach(apply);\n\t}\n\treturn preset;\n}\n/**\n* Resolve presets with nested presets\n*/\nasync function resolvePresets(preset) {\n\tconst root = await resolvePreset(preset);\n\tif (!root.presets) return [root];\n\treturn [root, ...(await Promise.all((root.presets || []).flatMap(toArray).flatMap(resolvePresets))).flat()];\n}\nfunction mergeContentOptions(optionsArray) {\n\tif (optionsArray.length === 0) return {};\n\tconst pipelineIncludes = [];\n\tconst pipelineExcludes = [];\n\tlet pipelineDisabled = false;\n\tconst filesystem = [];\n\tconst inline = [];\n\tfor (const options of optionsArray) {\n\t\tif (options.pipeline === false) {\n\t\t\tpipelineDisabled = true;\n\t\t\tbreak;\n\t\t} else {\n\t\t\tif (options.pipeline?.include) pipelineIncludes.push(options.pipeline.include);\n\t\t\tif (options.pipeline?.exclude) pipelineExcludes.push(options.pipeline.exclude);\n\t\t}\n\t\tif (options.filesystem) filesystem.push(options.filesystem);\n\t\tif (options.inline) inline.push(options.inline);\n\t}\n\tconst mergedContent = { pipeline: pipelineDisabled ? false : {\n\t\tinclude: uniq(mergeFilterPatterns(...pipelineIncludes)),\n\t\texclude: uniq(mergeFilterPatterns(...pipelineExcludes))\n\t} };\n\tif (filesystem.length) mergedContent.filesystem = uniq(filesystem.flat());\n\tif (inline.length) mergedContent.inline = uniq(inline.flat());\n\treturn mergedContent;\n}\nasync function resolveConfig(userConfig = {}, defaults = {}) {\n\tconst config = Object.assign({}, defaults, userConfig);\n\tconst rawPresets = uniqueBy((await Promise.all((config.presets || []).flatMap(toArray).flatMap(resolvePresets))).flat(), (a, b) => a.name === b.name);\n\tconst sortedPresets = [\n\t\t...rawPresets.filter((p) => p.enforce === \"pre\"),\n\t\t...rawPresets.filter((p) => !p.enforce),\n\t\t...rawPresets.filter((p) => p.enforce === \"post\")\n\t];\n\tconst sources = [...sortedPresets, config];\n\tconst sourcesReversed = [...sources].reverse();\n\tconst layers = Object.assign({}, DEFAULT_LAYERS, ...sources.map((i) => i.layers));\n\tfunction getMerged(key) {\n\t\treturn uniq(sources.flatMap((p) => toArray(p[key] || [])));\n\t}\n\tconst extractors = getMerged(\"extractors\");\n\tlet extractorDefault = sourcesReversed.find((i) => i.extractorDefault !== void 0)?.extractorDefault;\n\tif (extractorDefault === void 0) extractorDefault = extractorSplit;\n\tif (extractorDefault && !extractors.includes(extractorDefault)) extractors.unshift(extractorDefault);\n\textractors.sort((a, b) => (a.order || 0) - (b.order || 0));\n\tconst rules = getMerged(\"rules\");\n\tconst rulesSize = rules.length;\n\tconst rulesStaticMap = {};\n\tconst rulesDynamic = [];\n\tfor (const [index, rule] of rules.entries()) {\n\t\tconst meta = rule[2] ?? (rule[2] = {});\n\t\tmeta.__index = index;\n\t\tif (isStaticRule(rule)) toArray(meta.prefix ?? \"\").forEach((prefix) => {\n\t\t\trulesStaticMap[prefix + rule[0]] = rule;\n\t\t});\n\t\telse rulesDynamic.unshift(rule);\n\t}\n\tconst autocomplete = {\n\t\ttemplates: uniq(sources.flatMap((p) => toArray(p.autocomplete?.templates))),\n\t\textractors: sources.flatMap((p) => toArray(p.autocomplete?.extractors)).sort((a, b) => (a.order || 0) - (b.order || 0)),\n\t\tshorthands: mergeAutocompleteShorthands(sources.map((p) => p.autocomplete?.shorthands || {}))\n\t};\n\tlet separators = getMerged(\"separators\");\n\tif (!separators.length) separators = [\":\", \"-\"];\n\tconst content = mergeContentOptions(getMerged(\"content\"));\n\tconst resolved = {\n\t\tmergeSelectors: true,\n\t\twarn: true,\n\t\tsortLayers: (layers) => layers,\n\t\t...config,\n\t\tblocklist: getMerged(\"blocklist\"),\n\t\tpresets: sortedPresets,\n\t\tenvMode: config.envMode || \"build\",\n\t\tshortcutsLayer: config.shortcutsLayer || \"shortcuts\",\n\t\tlayers,\n\t\ttheme: mergeThemes(sources.map((p) => p.theme)),\n\t\trules,\n\t\trulesSize,\n\t\trulesDynamic,\n\t\trulesStaticMap,\n\t\tpreprocess: getMerged(\"preprocess\"),\n\t\tpostprocess: getMerged(\"postprocess\"),\n\t\tpreflights: getMerged(\"preflights\"),\n\t\tautocomplete,\n\t\tvariants: getMerged(\"variants\").map(normalizeVariant).sort((a, b) => (a.order || 0) - (b.order || 0)),\n\t\tshortcuts: resolveShortcuts(getMerged(\"shortcuts\")).reverse(),\n\t\textractors,\n\t\tsafelist: getMerged(\"safelist\"),\n\t\tseparators,\n\t\tdetails: config.details ?? config.envMode === \"dev\",\n\t\tcontent,\n\t\ttransformers: uniqueBy(getMerged(\"transformers\"), (a, b) => a.name === b.name)\n\t};\n\tconst extendThemes = getMerged(\"extendTheme\");\n\tfor (const extendTheme of extendThemes) resolved.theme = extendTheme(resolved.theme, resolved) || resolved.theme;\n\tfor (const p of sources) p?.configResolved?.(resolved);\n\tresolved.rulesDynamicFilter = createDynamicRuleFilters(resolved.rulesDynamic);\n\treturn resolved;\n}\n/**\n* Merge multiple configs into one, later ones have higher priority\n*/\nfunction mergeConfigs(configs) {\n\tconst maybeArrays = [\n\t\t\"shortcuts\",\n\t\t\"preprocess\",\n\t\t\"postprocess\"\n\t];\n\treturn configs.map((config) => Object.entries(config).reduce((acc, [key, value]) => ({\n\t\t...acc,\n\t\t[key]: maybeArrays.includes(key) ? toArray(value) : value\n\t}), {})).reduce(({ theme: themeA, content: contentA, ...a }, { theme: themeB, content: contentB, ...b }) => {\n\t\tconst c = mergeDeep(a, b, true);\n\t\tif (themeA || themeB) c.theme = mergeThemes([themeA, themeB]);\n\t\tif (contentA || contentB) c.content = mergeContentOptions([contentA || {}, contentB || {}]);\n\t\treturn c;\n\t}, {});\n}\nfunction mergeThemes(themes) {\n\treturn themes.map((theme) => theme ? clone(theme) : {}).reduce((a, b) => mergeDeep(a, b), {});\n}\nfunction mergeAutocompleteShorthands(shorthands) {\n\treturn shorthands.reduce((a, b) => {\n\t\tconst rs = {};\n\t\tfor (const key in b) {\n\t\t\tconst value = b[key];\n\t\t\tif (Array.isArray(value)) rs[key] = `(${value.join(\"|\")})`;\n\t\t\telse rs[key] = value;\n\t\t}\n\t\treturn {\n\t\t\t...a,\n\t\t\t...rs\n\t\t};\n\t}, {});\n}\nfunction mergeFilterPatterns(...filterPatterns) {\n\treturn filterPatterns.flatMap(flatternFilterPattern);\n}\nfunction flatternFilterPattern(pattern) {\n\treturn Array.isArray(pattern) ? pattern : pattern ? [pattern] : [];\n}\nfunction definePreset(preset) {\n\treturn preset;\n}\n//#endregion\n//#region package.json\nvar version = \"66.8.1\";\n//#endregion\n//#region src/generator.ts\nconst symbols = {\n\tshortcutsNoMerge: \"$$symbol-shortcut-no-merge\",\n\tnoMerge: \"$$symbol-no-merge\",\n\tnoScope: \"$$symbol-no-scope\",\n\tvariants: \"$$symbol-variants\",\n\tparent: \"$$symbol-parent\",\n\tselector: \"$$symbol-selector\",\n\tlayer: \"$$symbol-layer\",\n\tsort: \"$$symbol-sort\",\n\tbody: \"$$symbol-body\"\n};\nconst TOKEN_PARSE_BATCH_SIZE = 4096;\nvar TokenProcessor = class {\n\tcache = /* @__PURE__ */ new Map();\n\tblocked = /* @__PURE__ */ new Set();\n\tparentOrders = /* @__PURE__ */ new Map();\n\tactivatedRules = /* @__PURE__ */ new Set();\n\tasync parse(generator, raw, alias) {\n\t\tif (this.blocked.has(raw)) return;\n\t\tconst cacheKey = `${raw}${alias ? ` ${alias}` : \"\"}`;\n\t\tif (this.cache.has(cacheKey)) return this.cache.get(cacheKey);\n\t\tconst current = generator.config.preprocess.reduce((acc, p) => p(acc) ?? acc, raw);\n\t\tif (generator.isBlocked(current)) {\n\t\t\tthis.blocked.add(raw);\n\t\t\tthis.cache.set(cacheKey, null);\n\t\t\treturn;\n\t\t}\n\t\tconst variantResults = await generator.matchVariants(raw, current);\n\t\tif (variantResults.every((i) => !i || generator.isBlocked(i[1]))) {\n\t\t\tthis.blocked.add(raw);\n\t\t\tthis.cache.set(cacheKey, null);\n\t\t\treturn;\n\t\t}\n\t\tconst data = (await Promise.all(variantResults.map(async (matched) => {\n\t\t\tconst context = generator.makeContext(raw, [\n\t\t\t\talias || matched[0],\n\t\t\t\tmatched[1],\n\t\t\t\tmatched[2],\n\t\t\t\tmatched[3]\n\t\t\t]);\n\t\t\tif (generator.config.details) context.variants = [...matched[3]];\n\t\t\tconst expanded = await generator.expandShortcut(context.currentSelector, context, 5, true);\n\t\t\treturn expanded ? await generator.stringifyShortcuts(context.variantMatch, context, expanded[0], expanded[1]) : (await generator.parseUtil(context.variantMatch, context))?.flatMap((i) => generator.stringifyUtil(i, context)).filter(notNull);\n\t\t}))).flat().filter(notNull);\n\t\tthis.cache.set(cacheKey, data.length ? data : null);\n\t\treturn data.length ? data : void 0;\n\t}\n\tisBlocked(raw, blocklist) {\n\t\tif (!raw) return true;\n\t\tfor (const rule of blocklist) {\n\t\t\tconst value = Array.isArray(rule) ? rule[0] : rule;\n\t\t\tif (typeof value === \"function\" ? value(raw) : isString(value) ? value === raw : value.test(raw)) return true;\n\t\t}\n\t\treturn false;\n\t}\n\tgetBlocked(raw, blocklist) {\n\t\tconst rule = blocklist.find((e) => {\n\t\t\tconst value = Array.isArray(e) ? e[0] : e;\n\t\t\treturn typeof value === \"function\" ? value(raw) : isString(value) ? value === raw : value.test(raw);\n\t\t});\n\t\treturn rule ? Array.isArray(rule) ? rule : [rule, void 0] : void 0;\n\t}\n\tsetParentOrder(parent, order) {\n\t\tthis.parentOrders.set(parent, order);\n\t}\n\tgetParentOrder(parent) {\n\t\treturn this.parentOrders.get(parent);\n\t}\n\tactivateRule(rule) {\n\t\tthis.activatedRules.add(rule);\n\t}\n\tgetActivatedRules() {\n\t\treturn this.activatedRules;\n\t}\n\tgetCachedTokens(input) {\n\t\treturn Array.from(this.cache).filter(([token, result]) => result && token.startsWith(input)).map(([token]) => token);\n\t}\n\tgetCachedAliases(token) {\n\t\tconst target = this.cache.get(token);\n\t\tif (!target) return;\n\t\treturn Array.from(this.cache).filter(([, utilities]) => utilities?.length === target.length && utilities.every((utility, index) => utility[2] === target[index][2])).map(([alias]) => alias);\n\t}\n\tblock(tokens) {\n\t\tfor (const token of tokens) this.blocked.add(token);\n\t}\n\tinvalidate(token) {\n\t\tthis.cache.delete(token);\n\t\tthis.blocked.delete(token);\n\t}\n};\nvar UnoGeneratorInternal = class UnoGeneratorInternal {\n\tuserConfig;\n\tdefaults;\n\tversion = version;\n\tevents = createNanoEvents();\n\tconfig = void 0;\n\ttokenProcessor = new TokenProcessor();\n\tconstructor(userConfig = {}, defaults = {}) {\n\t\tthis.userConfig = userConfig;\n\t\tthis.defaults = defaults;\n\t}\n\tstatic async create(userConfig = {}, defaults = {}) {\n\t\tconst uno = new UnoGeneratorInternal(userConfig, defaults);\n\t\tuno.config = await resolveConfig(uno.userConfig, uno.defaults);\n\t\tuno.events.emit(\"config\", uno.config);\n\t\treturn uno;\n\t}\n\tasync setConfig(userConfig, defaults) {\n\t\tif (!userConfig) return;\n\t\tif (defaults) this.defaults = defaults;\n\t\tthis.userConfig = userConfig;\n\t\tthis.config = await resolveConfig(userConfig, this.defaults);\n\t\tthis.resetTokenProcessing();\n\t\tthis.events.emit(\"config\", this.config);\n\t}\n\tasync applyExtractors(code, id, extracted = /* @__PURE__ */ new Set()) {\n\t\tconst context = {\n\t\t\toriginal: code,\n\t\t\tcode,\n\t\t\tid,\n\t\t\textracted,\n\t\t\tenvMode: this.config.envMode\n\t\t};\n\t\tfor (const extractor of this.config.extractors) {\n\t\t\tconst result = await extractor.extract?.(context);\n\t\t\tif (!result) continue;\n\t\t\tif (isCountableSet(result) && isCountableSet(extracted)) for (const token of result) extracted.setCount(token, extracted.getCount(token) + result.getCount(token));\n\t\t\telse for (const token of result) extracted.add(token);\n\t\t}\n\t\treturn extracted;\n\t}\n\tmakeContext(raw, applied) {\n\t\tconst context = {\n\t\t\trawSelector: raw,\n\t\t\tcurrentSelector: applied[1],\n\t\t\ttheme: this.config.theme,\n\t\t\tgenerator: this,\n\t\t\tsymbols,\n\t\t\tvariantHandlers: applied[2],\n\t\t\tconstructCSS: (...args) => this.constructCustomCSS(context, ...args),\n\t\t\tvariantMatch: applied\n\t\t};\n\t\treturn context;\n\t}\n\t/** @internal */\n\tresetTokenProcessing() {\n\t\tthis.tokenProcessor = new TokenProcessor();\n\t}\n\tgetParentOrder(parent) {\n\t\treturn this.tokenProcessor.getParentOrder(parent);\n\t}\n\tgetActivatedRules() {\n\t\treturn new Set(this.tokenProcessor.getActivatedRules());\n\t}\n\tgetCachedTokens(input) {\n\t\treturn this.tokenProcessor.getCachedTokens(input);\n\t}\n\tgetCachedAliases(token) {\n\t\treturn this.tokenProcessor.getCachedAliases(token);\n\t}\n\tblockTokens(tokens) {\n\t\tthis.tokenProcessor.block(tokens);\n\t}\n\tinvalidateToken(token) {\n\t\tthis.tokenProcessor.invalidate(token);\n\t}\n\tasync parseToken(raw, alias) {\n\t\treturn this.tokenProcessor.parse(this, raw, alias);\n\t}\n\tasync generate(input, options = {}) {\n\t\tconst { id, scope, preflights = true, safelist = true, minify = false, extendedInfo = false } = options;\n\t\tconst tokens = isString(input) ? await this.applyExtractors(input, id, extendedInfo ? new CountableSet() : /* @__PURE__ */ new Set()) : Array.isArray(input) ? new Set(input) : input;\n\t\tif (safelist) {\n\t\t\tconst safelistContext = {\n\t\t\t\tgenerator: this,\n\t\t\t\ttheme: this.config.theme\n\t\t\t};\n\t\t\tthis.config.safelist.flatMap((s) => typeof s === \"function\" ? s(safelistContext) : s).forEach((s) => {\n\t\t\t\tconst trimmedS = s.trim();\n\t\t\t\tif (trimmedS && !tokens.has(trimmedS)) tokens.add(trimmedS);\n\t\t\t});\n\t\t}\n\t\tconst nl = minify ? \"\" : \"\\n\";\n\t\tconst layerSet = /* @__PURE__ */ new Set([LAYER_DEFAULT]);\n\t\tconst matched = extendedInfo ? /* @__PURE__ */ new Map() : /* @__PURE__ */ new Set();\n\t\tconst sheet = /* @__PURE__ */ new Map();\n\t\tlet preflightsMap = {};\n\t\tconst tokenList = Array.from(tokens);\n\t\tfor (let offset = 0; offset < tokenList.length; offset += TOKEN_PARSE_BATCH_SIZE) {\n\t\t\tconst batchSize = Math.min(TOKEN_PARSE_BATCH_SIZE, tokenList.length - offset);\n\t\t\tconst tokenPromises = [];\n\t\t\tfor (let index = 0; index < batchSize; index++) {\n\t\t\t\tconst raw = tokenList[offset + index];\n\t\t\t\ttokenPromises[index] = (async () => {\n\t\t\t\t\tif (matched.has(raw)) return;\n\t\t\t\t\tconst payload = await this.parseToken(raw);\n\t\t\t\t\tif (payload == null) return;\n\t\t\t\t\tif (matched instanceof Map) matched.set(raw, {\n\t\t\t\t\t\tdata: payload,\n\t\t\t\t\t\tcount: isCountableSet(tokens) ? tokens.getCount(raw) : -1\n\t\t\t\t\t});\n\t\t\t\t\telse matched.add(raw);\n\t\t\t\t\tfor (const item of payload) {\n\t\t\t\t\t\tconst parent = item[3] || \"\";\n\t\t\t\t\t\tconst layer = item[4]?.layer;\n\t\t\t\t\t\tif (!sheet.has(parent)) sheet.set(parent, []);\n\t\t\t\t\t\tsheet.get(parent).push(item);\n\t\t\t\t\t\tif (layer) layerSet.add(layer);\n\t\t\t\t\t}\n\t\t\t\t})();\n\t\t\t}\n\t\t\tawait Promise.all(tokenPromises);\n\t\t}\n\t\tawait (async () => {\n\t\t\tif (!preflights) return;\n\t\t\tconst preflightContext = {\n\t\t\t\tgenerator: this,\n\t\t\t\ttheme: this.config.theme\n\t\t\t};\n\t\t\tconst preflightLayerSet = /* @__PURE__ */ new Set([]);\n\t\t\tthis.config.preflights.forEach(({ layer = LAYER_PREFLIGHTS }) => {\n\t\t\t\tlayerSet.add(layer);\n\t\t\t\tpreflightLayerSet.add(layer);\n\t\t\t});\n\t\t\tpreflightsMap = Object.fromEntries(await Promise.all(Array.from(preflightLayerSet).map(async (layer) => {\n\t\t\t\treturn [layer, (await Promise.all(this.config.preflights.filter((i) => (i.layer || \"preflights\") === layer).map(async (i) => await i.getCSS(preflightContext)))).filter(Boolean).join(nl)];\n\t\t\t})));\n\t\t})();\n\t\tconst sortLayers = (layers) => this.config.sortLayers(layers.sort((a, b) => (this.config.layers[a] ?? 0) - (this.config.layers[b] ?? 0) || a.localeCompare(b)));\n\t\tconst layers = sortLayers(Array.from(layerSet));\n\t\tconst layerCache = {};\n\t\tconst outputCssLayers = this.config.outputToCssLayers;\n\t\tconst getLayerAlias = (layer) => {\n\t\t\tlet alias = layer;\n\t\t\tif (typeof outputCssLayers === \"object\") alias = outputCssLayers.cssLayerName?.(layer);\n\t\t\treturn alias === null ? null : alias ?? layer;\n\t\t};\n\t\tconst getLayer = (layer = LAYER_DEFAULT) => {\n\t\t\tif (layerCache[layer]) return layerCache[layer];\n\t\t\tlet css = Array.from(sheet).sort((a, b) => (this.tokenProcessor.getParentOrder(a[0]) ?? 0) - (this.tokenProcessor.getParentOrder(b[0]) ?? 0) || a[0]?.localeCompare(b[0] || \"\") || 0).map(([parent, items]) => {\n\t\t\t\tconst sorted = items.filter((i) => (i[4]?.layer || \"default\") === layer).sort((a, b) => {\n\t\t\t\t\treturn a[0] - b[0] || (a[4]?.sort || 0) - (b[4]?.sort || 0) || a[5]?.currentSelector?.localeCompare(b[5]?.currentSelector ?? \"\") || a[1]?.localeCompare(b[1] || \"\") || a[2]?.localeCompare(b[2] || \"\") || 0;\n\t\t\t\t}).map(([, selector, body, , meta, , variantNoMerge]) => {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t[[(selector && !meta?.noScope ? applyScope(selector, scope) : selector) ?? \"\", meta?.sort ?? 0]],\n\t\t\t\t\t\tbody,\n\t\t\t\t\t\t!!(variantNoMerge ?? meta?.noMerge)\n\t\t\t\t\t];\n\t\t\t\t});\n\t\t\t\tif (!sorted.length) return void 0;\n\t\t\t\tsorted.reverse();\n\t\t\t\tconst mergedRules = /* @__PURE__ */ new Set();\n\t\t\t\tif (this.config.mergeSelectors) {\n\t\t\t\t\tconst mergeIndex = /* @__PURE__ */ new Map();\n\t\t\t\t\tfor (let i = sorted.length - 1; i >= 0; i--) {\n\t\t\t\t\t\tconst rule = sorted[i];\n\t\t\t\t\t\tconst [selectorSortPair, body, noMerge] = rule;\n\t\t\t\t\t\tif (noMerge) continue;\n\t\t\t\t\t\tconst selectorIndex = selectorSortPair ? 1 : 0;\n\t\t\t\t\t\tconst candidates = mergeIndex.get(body) || [void 0, void 0];\n\t\t\t\t\t\tconst candidate = candidates[selectorIndex];\n\t\t\t\t\t\tif (candidate) {\n\t\t\t\t\t\t\tif (selectorSortPair && candidate[0]) candidate[0].push(...selectorSortPair);\n\t\t\t\t\t\t\tmergedRules.add(rule);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcandidates[selectorIndex] = rule;\n\t\t\t\t\t\t\tmergeIndex.set(body, candidates);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst ruleLines = sorted.map(([selectorSortPair, body], idx) => {\n\t\t\t\t\tif (mergedRules.has(sorted[idx])) return null;\n\t\t\t\t\tconst selectors = selectorSortPair ? uniq(selectorSortPair.sort((a, b) => a[1] - b[1] || a[0]?.localeCompare(b[0] || \"\") || 0).map((pair) => pair[0]).filter(Boolean)) : [];\n\t\t\t\t\treturn selectors.length ? `${selectors.join(`,${nl}`)}{${body}}` : body;\n\t\t\t\t}).filter(Boolean);\n\t\t\t\tconst rules = Array.from(new Set(ruleLines)).reverse().join(nl);\n\t\t\t\tif (!parent) return rules;\n\t\t\t\tconst parents = parent.split(\" $$ \");\n\t\t\t\treturn `${parents.join(\"{\")}{${nl}${rules}${nl}${\"}\".repeat(parents.length)}`;\n\t\t\t}).filter(Boolean).join(nl);\n\t\t\tif (preflights) css = [preflightsMap[layer], css].filter(Boolean).join(nl);\n\t\t\tlet alias;\n\t\t\tif (outputCssLayers && css) {\n\t\t\t\talias = getLayerAlias(layer);\n\t\t\t\tif (alias !== null) css = `@layer ${alias}{${nl}${css}${nl}}`;\n\t\t\t}\n\t\t\tconst layerMark = minify ? \"\" : `/* layer: ${layer}${alias && alias !== layer ? `, alias: ${alias}` : \"\"} */${nl}`;\n\t\t\treturn layerCache[layer] = css ? layerMark + css : \"\";\n\t\t};\n\t\tconst getLayers = (includes = layers, excludes) => {\n\t\t\tconst layers = includes.filter((i) => !excludes?.includes(i));\n\t\t\tconst css = layers.map(getLayer).filter(Boolean);\n\t\t\tif (outputCssLayers) {\n\t\t\t\tlet layerNames = layers;\n\t\t\t\tif (typeof outputCssLayers === \"object\" && outputCssLayers.allLayers) layerNames = sortLayers(Object.keys(this.config.layers));\n\t\t\t\tif (layerNames.length > 0) css.unshift(`@layer ${layerNames.map(getLayerAlias).filter(notNull).join(\", \")};`);\n\t\t\t}\n\t\t\treturn css.join(nl);\n\t\t};\n\t\tconst setLayer = async (layer, callback) => {\n\t\t\tconst content = await callback(getLayer(layer));\n\t\t\tlayerCache[layer] = content;\n\t\t\treturn content;\n\t\t};\n\t\treturn {\n\t\t\tget css() {\n\t\t\t\treturn getLayers();\n\t\t\t},\n\t\t\tlayers,\n\t\t\tmatched,\n\t\t\tgetLayers,\n\t\t\tgetLayer,\n\t\t\tsetLayer\n\t\t};\n\t}\n\tasync matchVariants(raw, current) {\n\t\tconst context = {\n\t\t\trawSelector: raw,\n\t\t\ttheme: this.config.theme,\n\t\t\tgenerator: this\n\t\t};\n\t\tconst match = async (result) => {\n\t\t\tlet applied = true;\n\t\t\tconst [, , handlers, variants] = result;\n\t\t\twhile (applied) {\n\t\t\t\tapplied = false;\n\t\t\t\tconst processed = result[1];\n\t\t\t\tfor (const v of this.config.variants) {\n\t\t\t\t\tif (!v.multiPass && variants.has(v)) continue;\n\t\t\t\t\tlet handler = await v.match(processed, context);\n\t\t\t\t\tif (!handler) continue;\n\t\t\t\t\tif (isString(handler)) {\n\t\t\t\t\t\tif (handler === processed) continue;\n\t\t\t\t\t\thandler = { matcher: handler };\n\t\t\t\t\t}\n\t\t\t\t\tif (Array.isArray(handler)) {\n\t\t\t\t\t\tif (!handler.length) continue;\n\t\t\t\t\t\tif (handler.length === 1) handler = handler[0];\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tif (v.multiPass) throw new Error(\"multiPass can not be used together with array return variants\");\n\t\t\t\t\t\t\tconst clones = handler.map((h) => {\n\t\t\t\t\t\t\t\tconst _processed = h.matcher ?? processed;\n\t\t\t\t\t\t\t\tconst _handlers = [h, ...handlers];\n\t\t\t\t\t\t\t\tconst _variants = new Set(variants);\n\t\t\t\t\t\t\t\t_variants.add(v);\n\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\tresult[0],\n\t\t\t\t\t\t\t\t\t_processed,\n\t\t\t\t\t\t\t\t\t_handlers,\n\t\t\t\t\t\t\t\t\t_variants\n\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn (await Promise.all(clones.map((c) => match(c)))).flat();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tresult[1] = handler.matcher ?? processed;\n\t\t\t\t\thandlers.unshift(handler);\n\t\t\t\t\tvariants.add(v);\n\t\t\t\t\tapplied = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (!applied) break;\n\t\t\t\tif (handlers.length > 500) throw new Error(`Too many variants applied to \"${raw}\"`);\n\t\t\t}\n\t\t\treturn [result];\n\t\t};\n\t\treturn await match([\n\t\t\traw,\n\t\t\tcurrent || raw,\n\t\t\t[],\n\t\t\t/* @__PURE__ */ new Set()\n\t\t]);\n\t}\n\tapplyVariants(parsed, variantHandlers = parsed[4], raw = parsed[1]) {\n\t\tconst variantContextResult = variantHandlers.slice().sort((a, b) => (a.order || 0) - (b.order || 0)).reduceRight((previous, v) => (input) => {\n\t\t\tconst entries = v.body?.(input.entries) || input.entries;\n\t\t\tconst parents = Array.isArray(v.parent) ? v.parent : [v.parent, void 0];\n\t\t\tconst selector = v.selector?.(input.selector, entries);\n\t\t\treturn (v.handle ?? defaultVariantHandler)({\n\t\t\t\t...input,\n\t\t\t\tentries,\n\t\t\t\tselector: selector || input.selector,\n\t\t\t\tparent: parents[0] || input.parent,\n\t\t\t\tparentOrder: parents[1] || input.parentOrder,\n\t\t\t\tlayer: v.layer || input.layer,\n\t\t\t\tsort: v.sort || input.sort\n\t\t\t}, previous);\n\t\t}, (input) => input)({\n\t\t\tprefix: \"\",\n\t\t\tselector: toEscapedSelector(raw),\n\t\t\tpseudo: \"\",\n\t\t\tentries: parsed[2]\n\t\t});\n\t\tconst { parent, parentOrder } = variantContextResult;\n\t\tif (parent != null && parentOrder != null) this.tokenProcessor.setParentOrder(parent, parentOrder);\n\t\tconst obj = {\n\t\t\tselector: [\n\t\t\t\tvariantContextResult.prefix,\n\t\t\t\tvariantContextResult.selector,\n\t\t\t\tvariantContextResult.pseudo\n\t\t\t].join(\"\"),\n\t\t\tentries: variantContextResult.entries,\n\t\t\tparent,\n\t\t\tlayer: variantContextResult.layer,\n\t\t\tsort: variantContextResult.sort,\n\t\t\tnoMerge: variantContextResult.noMerge\n\t\t};\n\t\treturn this.config.postprocess.reduce((utilities, p) => {\n\t\t\tconst result = [];\n\t\t\tfor (const util of utilities) {\n\t\t\t\tconst processed = p(util);\n\t\t\t\tif (Array.isArray(processed)) result.push(...processed.filter(notNull));\n\t\t\t\telse result.push(processed || util);\n\t\t\t}\n\t\t\treturn result;\n\t\t}, [obj]);\n\t}\n\tconstructCustomCSS(context, body, overrideSelector) {\n\t\tconst normalizedBody = normalizeCSSEntries(body);\n\t\tif (isString(normalizedBody)) return normalizedBody;\n\t\treturn this.applyVariants([\n\t\t\t0,\n\t\t\toverrideSelector || context.rawSelector,\n\t\t\tnormalizedBody,\n\t\t\tvoid 0,\n\t\t\tcontext.variantHandlers\n\t\t]).map(({ selector, entries, parent }) => {\n\t\t\tconst cssBody = `${selector}{${entriesToCss(entries)}}`;\n\t\t\tif (parent) return `${parent}{${cssBody}}`;\n\t\t\treturn cssBody;\n\t\t}).join(\"\");\n\t}\n\tasync parseUtil(input, context, internal = false, shortcutPrefix) {\n\t\tconst variantResults = isString(input) ? await this.matchVariants(input) : [input];\n\t\tconst parse = async ([raw, processed, variantHandlers]) => {\n\t\t\tif (this.config.details) context.rules = context.rules ?? [];\n\t\t\tconst scopeContext = {\n\t\t\t\t...context,\n\t\t\t\tvariantHandlers\n\t\t\t};\n\t\t\tconst staticMatch = this.config.rulesStaticMap[processed];\n\t\t\tif (staticMatch) {\n\t\t\t\tif (staticMatch[1] && (internal || !staticMatch[2]?.internal)) return this.resolveCSSResult(raw, staticMatch[1], staticMatch, scopeContext);\n\t\t\t}\n\t\t\tconst dynamicRuleFilter = this.config.rulesDynamicFilter;\n\t\t\tconst dynamicRules = dynamicRuleFilter?.filters.length && !dynamicRuleFilter.filters.some((filter) => filter.test(processed)) ? dynamicRuleFilter.fallback : this.config.rulesDynamic;\n\t\t\tfor (const rule of dynamicRules) {\n\t\t\t\tconst [matcher, handler, meta] = rule;\n\t\t\t\tif (meta?.internal && !internal) continue;\n\t\t\t\tlet unprefixed = processed;\n\t\t\t\tif (meta?.prefix) {\n\t\t\t\t\tconst prefixes = toArray(meta.prefix);\n\t\t\t\t\tif (shortcutPrefix) {\n\t\t\t\t\t\tconst shortcutPrefixes = toArray(shortcutPrefix);\n\t\t\t\t\t\tif (!prefixes.some((i) => shortcutPrefixes.includes(i))) continue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst prefix = prefixes.find((i) => processed.startsWith(i));\n\t\t\t\t\t\tif (prefix == null) continue;\n\t\t\t\t\t\tunprefixed = processed.slice(prefix.length);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst match = unprefixed.match(matcher);\n\t\t\t\tif (!match) continue;\n\t\t\t\tlet result = await handler(match, scopeContext);\n\t\t\t\tif (!result) continue;\n\t\t\t\tif (typeof result !== \"string\") {\n\t\t\t\t\tif (Symbol.asyncIterator in result) {\n\t\t\t\t\t\tconst entries = [];\n\t\t\t\t\t\tfor await (const r of result) if (r) entries.push(r);\n\t\t\t\t\t\tresult = entries;\n\t\t\t\t\t} else if (Symbol.iterator in result && !Array.isArray(result)) result = Array.from(result).filter(notNull);\n\t\t\t\t}\n\t\t\t\tconst resolvedResult = this.resolveCSSResult(raw, result, rule, scopeContext);\n\t\t\t\tif (resolvedResult) return resolvedResult;\n\t\t\t}\n\t\t};\n\t\tconst parsed = (await Promise.all(variantResults.map((i) => parse(i)))).flat().filter((x) => !!x);\n\t\tif (!parsed.length) return void 0;\n\t\treturn parsed;\n\t}\n\tresolveCSSResult = (raw, result, rule, context) => {\n\t\tconst entries = normalizeCSSValues(result).filter((i) => i.length);\n\t\tif (entries.length) {\n\t\t\tif (this.config.details) context.rules.push(rule);\n\t\t\tthis.tokenProcessor.activateRule(rule);\n\t\t\tconst meta = rule[2];\n\t\t\treturn entries.map((css) => {\n\t\t\t\tif (isString(css)) return [\n\t\t\t\t\tmeta.__index,\n\t\t\t\t\tcss,\n\t\t\t\t\tmeta\n\t\t\t\t];\n\t\t\t\tlet variants = context.variantHandlers;\n\t\t\t\tlet entryMeta = meta;\n\t\t\t\tconst setVariant = (variant) => {\n\t\t\t\t\tvariants = [variant, ...variants];\n\t\t\t\t};\n\t\t\t\tconst setMeta = (partial) => {\n\t\t\t\t\tentryMeta = {\n\t\t\t\t\t\t...entryMeta,\n\t\t\t\t\t\t...partial\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t\tfor (const entry of css) switch (entry[0]) {\n\t\t\t\t\tcase symbols.variants:\n\t\t\t\t\t\tif (typeof entry[1] === \"function\") variants = entry[1](variants) || variants;\n\t\t\t\t\t\telse variants = [...toArray(entry[1]), ...variants];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase symbols.parent:\n\t\t\t\t\t\tsetVariant({ parent: entry[1] });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase symbols.selector:\n\t\t\t\t\t\tsetVariant({ selector: entry[1] });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase symbols.layer:\n\t\t\t\t\t\tsetVariant({ layer: entry[1] });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase symbols.sort:\n\t\t\t\t\t\tsetMeta({ sort: entry[1] });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase symbols.noMerge:\n\t\t\t\t\t\tsetMeta({ noMerge: entry[1] });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase symbols.noScope:\n\t\t\t\t\t\tsetMeta({ noScope: entry[1] });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase symbols.body: entry[0] = VirtualKey;\n\t\t\t\t}\n\t\t\t\treturn [\n\t\t\t\t\tmeta.__index,\n\t\t\t\t\traw,\n\t\t\t\t\tcss,\n\t\t\t\t\tentryMeta,\n\t\t\t\t\tvariants\n\t\t\t\t];\n\t\t\t});\n\t\t}\n\t};\n\tstringifyUtil(parsed, context) {\n\t\tif (!parsed) return;\n\t\tif (isRawUtil(parsed)) return [[\n\t\t\tparsed[0],\n\t\t\tvoid 0,\n\t\t\tparsed[1],\n\t\t\tvoid 0,\n\t\t\tparsed[2],\n\t\t\tthis.config.details ? context : void 0,\n\t\t\tvoid 0\n\t\t]];\n\t\tconst utilities = this.applyVariants(parsed);\n\t\tconst result = [];\n\t\tfor (const util of utilities) {\n\t\t\tconst { selector, entries, parent, layer: variantLayer, sort: variantSort, noMerge } = util;\n\t\t\tconst body = entriesToCss(entries);\n\t\t\tif (!body) continue;\n\t\t\tconst { layer: metaLayer, sort: metaSort, ...meta } = parsed[3] ?? {};\n\t\t\tconst ruleMeta = {\n\t\t\t\t...meta,\n\t\t\t\tlayer: variantLayer ?? metaLayer,\n\t\t\t\tsort: variantSort ?? metaSort\n\t\t\t};\n\t\t\tresult.push([\n\t\t\t\tparsed[0],\n\t\t\t\tselector,\n\t\t\t\tbody,\n\t\t\t\tparent,\n\t\t\t\truleMeta,\n\t\t\t\tthis.config.details ? context : void 0,\n\t\t\t\tnoMerge\n\t\t\t]);\n\t\t}\n\t\treturn result;\n\t}\n\tasync expandShortcut(input, context, depth = 5, skipVariantMatch = false) {\n\t\tif (depth === 0) return;\n\t\tconst recordShortcut = this.config.details ? (s) => {\n\t\t\tcontext.shortcuts = context.shortcuts ?? [];\n\t\t\tcontext.shortcuts.push(s);\n\t\t} : noop;\n\t\tlet meta;\n\t\tlet result;\n\t\tlet stringResult;\n\t\tlet inlineResult;\n\t\tfor (const s of this.config.shortcuts) {\n\t\t\tlet unprefixed = input;\n\t\t\tif (s[2]?.prefix) {\n\t\t\t\tconst prefix = toArray(s[2].prefix).find((i) => input.startsWith(i));\n\t\t\t\tif (prefix == null) continue;\n\t\t\t\tunprefixed = input.slice(prefix.length);\n\t\t\t}\n\t\t\tif (isStaticShortcut(s)) {\n\t\t\t\tif (s[0] === unprefixed) {\n\t\t\t\t\tmeta = meta || s[2];\n\t\t\t\t\tresult = s[1];\n\t\t\t\t\trecordShortcut(s);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst match = unprefixed.match(s[0]);\n\t\t\t\tif (match) result = s[1](match, context);\n\t\t\t\tif (result) {\n\t\t\t\t\tmeta = meta || s[2];\n\t\t\t\t\trecordShortcut(s);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (result) {\n\t\t\tstringResult = uniq(toArray(result).filter(isString).map((s) => expandVariantGroup(s.trim()).split(/\\s+/g)).flat());\n\t\t\tinlineResult = toArray(result).filter((i) => !isString(i)).map((i) => ({\n\t\t\t\thandles: [],\n\t\t\t\tvalue: i\n\t\t\t}));\n\t\t}\n\t\tif (!result && !skipVariantMatch) {\n\t\t\tconst matched = isString(input) ? await this.matchVariants(input) : [input];\n\t\t\tfor (const match of matched) {\n\t\t\t\tconst [raw, inputWithoutVariant, handles] = match;\n\t\t\t\tif (raw !== inputWithoutVariant) {\n\t\t\t\t\tconst expanded = await this.expandShortcut(inputWithoutVariant, context, depth - 1);\n\t\t\t\t\tif (expanded) {\n\t\t\t\t\t\tstringResult = expanded[0].filter(isString).map((item) => raw.replace(inputWithoutVariant, item));\n\t\t\t\t\t\tinlineResult = expanded[0].filter((i) => !isString(i)).map((item) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\thandles: [...item.handles, ...handles],\n\t\t\t\t\t\t\t\tvalue: item.value\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!stringResult?.length && !inlineResult?.length) return;\n\t\treturn [[await Promise.all(toArray(stringResult).map(async (s) => (await this.expandShortcut(s, context, depth - 1))?.[0] || [s])), inlineResult].flat(2).filter((x) => !!x), meta];\n\t}\n\tasync stringifyShortcuts(parent, context, expanded, meta = { layer: this.config.shortcutsLayer }) {\n\t\tconst layerMap = new BetterMap();\n\t\tconst parsed = (await Promise.all(uniq(expanded).map(async (i) => {\n\t\t\tconst result = isString(i) ? await this.parseUtil(i, context, true, meta.prefix) : [[\n\t\t\t\tNumber.POSITIVE_INFINITY,\n\t\t\t\t\"{inline}\",\n\t\t\t\tnormalizeCSSEntries(i.value),\n\t\t\t\tvoid 0,\n\t\t\t\ti.handles\n\t\t\t]];\n\t\t\tif (!result && this.config.warn) warnOnce(`unmatched utility \"${i}\" in shortcut \"${parent[1]}\"`);\n\t\t\treturn result || [];\n\t\t}))).flat(1).filter(Boolean).sort((a, b) => a[0] - b[0]);\n\t\tconst [raw, , parentVariants] = parent;\n\t\tconst rawStringifiedUtil = [];\n\t\tfor (const item of parsed) {\n\t\t\tif (isRawUtil(item)) {\n\t\t\t\trawStringifiedUtil.push([\n\t\t\t\t\titem[0],\n\t\t\t\t\tvoid 0,\n\t\t\t\t\titem[1],\n\t\t\t\t\tvoid 0,\n\t\t\t\t\titem[2],\n\t\t\t\t\tcontext,\n\t\t\t\t\tvoid 0\n\t\t\t\t]);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst isNoMerge = Object.fromEntries(item[2])[symbols.shortcutsNoMerge];\n\t\t\tconst variants = [...item[4], ...!isNoMerge ? parentVariants : []];\n\t\t\tfor (const { selector, entries, parent, sort, noMerge, layer } of this.applyVariants(item, variants, raw)) layerMap.getFallback(layer ?? meta.layer, new TwoKeyMap()).getFallback(selector, parent, [[], item[0]])[0].push([\n\t\t\t\tentries,\n\t\t\t\t!!(noMerge ?? item[3]?.noMerge),\n\t\t\t\tsort ?? 0\n\t\t\t]);\n\t\t}\n\t\treturn rawStringifiedUtil.concat(layerMap.flatMap((selectorMap, layer) => selectorMap.map(([e, index], selector, joinedParents) => {\n\t\t\tconst stringify = (flatten, noMerge, entrySortPair) => {\n\t\t\t\tconst maxSort = Math.max(...entrySortPair.map((e) => e[1]));\n\t\t\t\tconst entriesList = entrySortPair.map((e) => e[0]);\n\t\t\t\treturn (flatten ? [entriesList.flat(1)] : entriesList).map((entries) => {\n\t\t\t\t\tconst body = entriesToCss(entries);\n\t\t\t\t\tif (body) return [\n\t\t\t\t\t\tindex,\n\t\t\t\t\t\tselector,\n\t\t\t\t\t\tbody,\n\t\t\t\t\t\tjoinedParents,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...meta,\n\t\t\t\t\t\t\tnoMerge,\n\t\t\t\t\t\t\tsort: maxSort,\n\t\t\t\t\t\t\tlayer\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tvoid 0\n\t\t\t\t\t];\n\t\t\t\t});\n\t\t\t};\n\t\t\treturn [[e.filter(([, noMerge]) => noMerge).map(([entries, , sort]) => [entries, sort]), true], [e.filter(([, noMerge]) => !noMerge).map(([entries, , sort]) => [entries, sort]), false]].map(([e, noMerge]) => [...stringify(false, noMerge, e.filter(([entries]) => entries.some((entry) => entry[0] === symbols.shortcutsNoMerge))), ...stringify(true, noMerge, e.filter(([entries]) => entries.every((entry) => entry[0] !== symbols.shortcutsNoMerge)))]);\n\t\t}).flat(2).filter(Boolean)));\n\t}\n\tisBlocked(raw) {\n\t\treturn this.tokenProcessor.isBlocked(raw, this.config.blocklist);\n\t}\n\tgetBlocked(raw) {\n\t\treturn this.tokenProcessor.getBlocked(raw, this.config.blocklist);\n\t}\n};\nvar UnoGenerator = class extends UnoGeneratorInternal {\n\t/**\n\t* @deprecated `new UnoGenerator` is deprecated, please use `createGenerator()` instead\n\t*/\n\tconstructor(userConfig = {}, defaults = {}) {\n\t\tsuper(userConfig, defaults);\n\t\tconsole.warn(\"`new UnoGenerator()` is deprecated, please use `createGenerator()` instead\");\n\t}\n};\nasync function createGenerator(config, defaults) {\n\treturn await UnoGeneratorInternal.create(config, defaults);\n}\nconst regexScopePlaceholder = /\\s\\$\\$\\s+/g;\nfunction hasScopePlaceholder(css) {\n\treturn regexScopePlaceholder.test(css);\n}\nfunction applyScope(css, scope) {\n\tif (hasScopePlaceholder(css)) return css.replace(regexScopePlaceholder, scope ? ` ${scope} ` : \" \");\n\telse return scope ? `${scope} ${css}` : css;\n}\nconst attributifyRe = /^\\[(.+?)(~?=)\"(.*)\"\\]$/;\nfunction toEscapedSelector(raw) {\n\tif (attributifyRe.test(raw)) return raw.replace(attributifyRe, (_, n, s, i) => `[${e(n)}${s}\"${e(i)}\"]`);\n\treturn `.${e(raw)}`;\n}\nfunction defaultVariantHandler(input, next) {\n\treturn next(input);\n}\n//#endregion\nexport { BetterMap, CountableSet, DEFAULT_LAYERS, LAYER_DEFAULT, LAYER_IMPORTS, LAYER_PREFLIGHTS, LAYER_SHORTCUTS, TwoKeyMap, UnoGenerator, VirtualKey, attributifyRE, clearIdenticalEntries, clone, collapseVariantGroup, createGenerator, createNanoEvents, cssIdRE, defaultSplitRE, definePreset, e, entriesToCss, escapeRegExp, escapeSelector, expandVariantGroup, extractorSplit as extractorDefault, extractorSplit, hasScopePlaceholder, isAttributifySelector, isCountableSet, isObject, isRawUtil, isStaticRule, isStaticShortcut, isString, isValidSelector, makeRegexClassGroup, mergeConfigs, mergeDeep, noop, normalizeCSSEntries, normalizeCSSValues, normalizeVariant, notNull, parseVariantGroup, regexScopePlaceholder, resolveConfig, resolvePreset, resolvePresets, resolveShortcuts, splitWithVariantGroupRE, symbols, toArray, toEscapedSelector, uniq, uniqueBy, validateFilterRE, warnOnce, withLayer };\n",
|
|
28
30
|
"//#region src/postprocess/important.ts\nfunction important({ important: option }) {\n\tif (option == null || option === false) return [];\n\tconst wrapWithIs = (selector) => {\n\t\tif (selector.startsWith(\":is(\") && selector.endsWith(\")\")) return selector;\n\t\tif (selector.includes(\"::\")) return selector.replace(/(.*?)((?:\\s\\*)?::.*)/, \":is($1)$2\");\n\t\treturn `:is(${selector})`;\n\t};\n\treturn [(util) => {\n\t\tif (util.layer === \"properties\") return;\n\t\tif (option === true) util.entries.forEach((i) => {\n\t\t\tif (i[1] != null && !String(i[1]).endsWith(\"!important\")) i[1] += \" !important\";\n\t\t});\n\t\telse if (!util.selector.startsWith(option)) util.selector = `${option} ${wrapWithIs(util.selector)}`;\n\t}];\n}\n//#endregion\n//#region src/postprocess/varPrefix.ts\nfunction varPrefix({ variablePrefix: prefix }) {\n\tconst processor = (obj) => {\n\t\tif (obj.layer === \"properties\") obj.selector = obj.selector.replace(/^@property --un-/, `@property --${prefix}`);\n\t\tobj.entries.forEach((i) => {\n\t\t\ti[0] = i[0].replace(/^--un-/, `--${prefix}`);\n\t\t\tif (typeof i[1] === \"string\") i[1] = i[1].replace(/var\\(--un-/g, `var(--${prefix}`);\n\t\t});\n\t};\n\treturn prefix !== \"un-\" ? [processor] : [];\n}\n//#endregion\n//#region src/postprocess/default.ts\nfunction postprocessors(options) {\n\treturn [important, varPrefix].flatMap((i) => i(options));\n}\n//#endregion\nexport { important, postprocessors, varPrefix };\n",
|
|
29
31
|
"//#region \\0rolldown/runtime.js\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __exportAll = (all, no_symbols) => {\n\tlet target = {};\n\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n\tif (!no_symbols) __defProp(target, Symbol.toStringTag, { value: \"Module\" });\n\treturn target;\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\tkey = keys[i];\n\t\tif (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\n//#endregion\nexport { __reExport as n, __exportAll as t };\n",
|
|
@@ -39,15 +41,15 @@
|
|
|
39
41
|
"import { D as h, N as cssMathFnRE, P as cssVarFnRE, g as hasParseableColor, w as resolveBreakpoints } from \"./utils-q7HDXEs0.mjs\";\nimport { toArray } from \"@unocss/core\";\nimport { calcMaxWidthBySize, createPartClasses, createPseudoClassFunctions, createPseudoClassesAndElements, createTaggedPseudoClasses, getBracket, getStringComponent, hasThemeFn, transformThemeFn, variantGetBracket, variantGetParameter, variantMatcher, variantParentMatcher } from \"@unocss/rule-utils\";\n//#region src/variants/aria.ts\nconst variantAria = {\n\tname: \"aria\",\n\tmatch(matcher, ctx) {\n\t\tconst variant = variantGetParameter(\"aria-\", matcher, ctx.generator.config.separators);\n\t\tif (variant) {\n\t\t\tconst [match, rest] = variant;\n\t\t\tconst aria = h.bracket(match, ctx.theme) ?? ctx.theme.aria?.[match] ?? \"\";\n\t\t\tif (aria) return {\n\t\t\t\tmatcher: rest,\n\t\t\t\tselector: (s) => `${s}[aria-${aria}]`\n\t\t\t};\n\t\t}\n\t},\n\tmultiPass: true,\n\tautocomplete: \"aria-$aria\"\n};\nfunction taggedAria(tagName) {\n\treturn {\n\t\tname: `${tagName}-aria`,\n\t\tmatch(matcher, ctx) {\n\t\t\tconst variant = variantGetParameter(`${tagName}-aria-`, matcher, ctx.generator.config.separators);\n\t\t\tif (variant) {\n\t\t\t\tconst [match, rest, label] = variant;\n\t\t\t\tconst ariaAttribute = h.bracket(match, ctx.theme) ?? ctx.theme.aria?.[match] ?? \"\";\n\t\t\t\tif (ariaAttribute) {\n\t\t\t\t\tconst tagSelectorMap = {\n\t\t\t\t\t\tgroup: `&:is(:where(.group${label ? `\\\\/${label}` : \"\"})[aria-${ariaAttribute}] *)`,\n\t\t\t\t\t\tpeer: `&:is(:where(.peer${label ? `\\\\/${label}` : \"\"})[aria-${ariaAttribute}] ~ *)`,\n\t\t\t\t\t\tprevious: `:where(*[aria-${ariaAttribute}] + &)`,\n\t\t\t\t\t\tparent: `:where(*[aria-${ariaAttribute}] > &)`,\n\t\t\t\t\t\thas: `&:has(*[aria-${ariaAttribute}])`,\n\t\t\t\t\t\tin: `:where(*[aria-${ariaAttribute}]) &`\n\t\t\t\t\t};\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmatcher: rest,\n\t\t\t\t\t\thandle: (input, next) => next({\n\t\t\t\t\t\t\t...input,\n\t\t\t\t\t\t\tparent: `${input.parent ? `${input.parent} $$ ` : \"\"}${input.selector}`,\n\t\t\t\t\t\t\tselector: tagSelectorMap[tagName]\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tmultiPass: true\n\t};\n}\nconst variantTaggedAriaAttributes = [\n\ttaggedAria(\"group\"),\n\ttaggedAria(\"peer\"),\n\ttaggedAria(\"parent\"),\n\ttaggedAria(\"previous\"),\n\ttaggedAria(\"has\"),\n\ttaggedAria(\"in\")\n];\n//#endregion\n//#region src/variants/breakpoints.ts\nconst sizePseudo = /(max|min)-\\[([^\\]]*)\\]:/;\nfunction variantBreakpoints() {\n\tconst regexCache = {};\n\treturn {\n\t\tname: \"breakpoints\",\n\t\tmatch(matcher, context) {\n\t\t\tif (sizePseudo.test(matcher)) {\n\t\t\t\tconst match = matcher.match(sizePseudo);\n\t\t\t\treturn {\n\t\t\t\t\tmatcher: matcher.replace(match[0], \"\"),\n\t\t\t\t\thandle: (input, next) => next({\n\t\t\t\t\t\t...input,\n\t\t\t\t\t\tparent: `${input.parent ? `${input.parent} $$ ` : \"\"}@media (${match[1]}-width: ${match[2]})`\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst variantEntries = (resolveBreakpoints(context) ?? []).map(({ point, size }, idx) => [\n\t\t\t\tpoint,\n\t\t\t\tsize,\n\t\t\t\tidx\n\t\t\t]);\n\t\t\tfor (const [point, size, idx] of variantEntries) {\n\t\t\t\tif (!regexCache[point]) regexCache[point] = new RegExp(`^((?:([al]t-|[<~]|max-))?${point}(?:${context.generator.config.separators.join(\"|\")}))`);\n\t\t\t\tconst match = matcher.match(regexCache[point]);\n\t\t\t\tif (!match) continue;\n\t\t\t\tconst [, pre] = match;\n\t\t\t\tconst m = matcher.slice(pre.length);\n\t\t\t\tif (m === \"container\") continue;\n\t\t\t\tconst isLtPrefix = pre.startsWith(\"lt-\") || pre.startsWith(\"<\") || pre.startsWith(\"max-\");\n\t\t\t\tconst isAtPrefix = pre.startsWith(\"at-\") || pre.startsWith(\"~\");\n\t\t\t\tlet order = 3e3;\n\t\t\t\tif (isLtPrefix) {\n\t\t\t\t\torder -= idx + 1;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmatcher: m,\n\t\t\t\t\t\thandle: (input, next) => next({\n\t\t\t\t\t\t\t...input,\n\t\t\t\t\t\t\tparent: `${input.parent ? `${input.parent} $$ ` : \"\"}@media (max-width: ${calcMaxWidthBySize(size)})`,\n\t\t\t\t\t\t\tparentOrder: order\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\torder += idx + 1;\n\t\t\t\tif (isAtPrefix && idx < variantEntries.length - 1) return {\n\t\t\t\t\tmatcher: m,\n\t\t\t\t\thandle: (input, next) => next({\n\t\t\t\t\t\t...input,\n\t\t\t\t\t\tparent: `${input.parent ? `${input.parent} $$ ` : \"\"}@media (min-width: ${size}) and (max-width: ${calcMaxWidthBySize(variantEntries[idx + 1][1])})`,\n\t\t\t\t\t\tparentOrder: order\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\tmatcher: m,\n\t\t\t\t\thandle: (input, next) => next({\n\t\t\t\t\t\t...input,\n\t\t\t\t\t\tparent: `${input.parent ? `${input.parent} $$ ` : \"\"}@media (min-width: ${size})`,\n\t\t\t\t\t\tparentOrder: order\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\tmultiPass: true,\n\t\tautocomplete: \"(at-|lt-|max-|)$breakpoint:\"\n\t};\n}\n//#endregion\n//#region src/variants/children.ts\nconst variantChildren = [variantMatcher(\"*\", (input) => ({ selector: `${input.selector} > *` }), { order: -1 }), variantMatcher(\"**\", (input) => ({ selector: `${input.selector} *` }), { order: -1 })];\n//#endregion\n//#region src/variants/combinators.ts\nfunction scopeMatcher(name, combinator) {\n\treturn {\n\t\tname: `combinator:${name}`,\n\t\tmatch(matcher, ctx) {\n\t\t\tif (!matcher.startsWith(name)) return;\n\t\t\tconst separators = ctx.generator.config.separators;\n\t\t\tlet body = variantGetBracket(`${name}-`, matcher, separators);\n\t\t\tif (!body) {\n\t\t\t\tfor (const separator of separators) if (matcher.startsWith(`${name}${separator}`)) {\n\t\t\t\t\tbody = [\"\", matcher.slice(name.length + separator.length)];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (!body) return;\n\t\t\t}\n\t\t\tlet bracketValue = h.bracket(body[0], ctx.theme) ?? \"\";\n\t\t\tif (bracketValue === \"\") bracketValue = \"*\";\n\t\t\treturn {\n\t\t\t\tmatcher: body[1],\n\t\t\t\tselector: (s) => `${s}${combinator}${bracketValue}`\n\t\t\t};\n\t\t},\n\t\tmultiPass: true\n\t};\n}\nconst variantCombinators = [\n\tscopeMatcher(\"all\", \" \"),\n\tscopeMatcher(\"children\", \">\"),\n\tscopeMatcher(\"next\", \"+\"),\n\tscopeMatcher(\"sibling\", \"+\"),\n\tscopeMatcher(\"siblings\", \"~\")\n];\nconst variantSvgCombinators = [variantMatcher(\"svg\", (input) => ({ selector: `${input.selector} svg` }))];\n//#endregion\n//#region src/variants/container.ts\nconst variantContainerQuery = {\n\tname: \"@\",\n\tmatch(matcher, ctx) {\n\t\tif (matcher.startsWith(\"@container\")) return;\n\t\tconst variant = variantGetParameter(\"@\", matcher, ctx.generator.config.separators);\n\t\tif (variant) {\n\t\t\tconst [match, rest, label] = variant;\n\t\t\tconst unbracket = h.bracket(match, ctx.theme);\n\t\t\tlet container;\n\t\t\tif (unbracket) container = h.numberWithUnit(unbracket);\n\t\t\telse container = ctx.theme.container?.[match] ?? \"\";\n\t\t\tif (container) {\n\t\t\t\tlet order = 1e3 + Object.keys(ctx.theme.container ?? {}).indexOf(match);\n\t\t\t\tif (label) order += 1e3;\n\t\t\t\treturn {\n\t\t\t\t\tmatcher: rest,\n\t\t\t\t\thandle: (input, next) => next({\n\t\t\t\t\t\t...input,\n\t\t\t\t\t\tparent: `${input.parent ? `${input.parent} $$ ` : \"\"}@container${label ? ` ${label} ` : \" \"}(min-width: ${container})`,\n\t\t\t\t\t\tparentOrder: order\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t},\n\tmultiPass: true\n};\n//#endregion\n//#region src/variants/dark.ts\nfunction variantColorsMediaOrClass(options = {}) {\n\tif (options?.dark === \"class\" || typeof options.dark === \"object\") {\n\t\tconst { dark = \".dark\", light = \".light\" } = typeof options.dark === \"string\" ? {} : options.dark;\n\t\treturn [variantMatcher(\"dark\", (input) => ({ prefix: `${dark} $$ ${input.prefix}` })), variantMatcher(\"light\", (input) => ({ prefix: `${light} $$ ${input.prefix}` }))];\n\t}\n\treturn [variantParentMatcher(\"dark\", \"@media (prefers-color-scheme: dark)\"), variantParentMatcher(\"light\", \"@media (prefers-color-scheme: light)\")];\n}\nconst variantColorsScheme = [\n\tvariantMatcher(\".dark\", (input) => ({ prefix: `.dark $$ ${input.prefix}` })),\n\tvariantMatcher(\".light\", (input) => ({ prefix: `.light $$ ${input.prefix}` })),\n\tvariantParentMatcher(\"@dark\", \"@media (prefers-color-scheme: dark)\"),\n\tvariantParentMatcher(\"@light\", \"@media (prefers-color-scheme: light)\"),\n\tvariantParentMatcher(\"not-dark\", \"@media not (prefers-color-scheme: dark)\")\n];\n//#endregion\n//#region src/variants/data.ts\nconst variantDataAttribute = {\n\tname: \"data\",\n\tmatch(matcher, ctx) {\n\t\tconst variant = variantGetParameter(\"data-\", matcher, ctx.generator.config.separators);\n\t\tif (variant) {\n\t\t\tconst [match, rest] = variant;\n\t\t\tconst dataAttribute = h.bracket(match, ctx.theme) ?? ctx.theme.data?.[match] ?? \"\";\n\t\t\tif (dataAttribute) return {\n\t\t\t\tmatcher: rest,\n\t\t\t\tselector: (s) => `${s}[data-${dataAttribute}]`\n\t\t\t};\n\t\t}\n\t},\n\tmultiPass: true\n};\nfunction taggedData(tagName) {\n\treturn {\n\t\tname: `${tagName}-data`,\n\t\tmatch(matcher, ctx) {\n\t\t\tconst variant = variantGetParameter(`${tagName}-data-`, matcher, ctx.generator.config.separators);\n\t\t\tif (variant) {\n\t\t\t\tconst [match, rest, label] = variant;\n\t\t\t\tconst dataAttribute = h.bracket(match, ctx.theme) ?? ctx.theme.data?.[match] ?? \"\";\n\t\t\t\tif (dataAttribute) {\n\t\t\t\t\tconst tagSelectorMap = {\n\t\t\t\t\t\tgroup: `&:is(:where(.group${label ? `\\\\/${label}` : \"\"})[data-${dataAttribute}] *)`,\n\t\t\t\t\t\tpeer: `&:is(:where(.peer${label ? `\\\\/${label}` : \"\"})[data-${dataAttribute}] ~ *)`,\n\t\t\t\t\t\tprevious: `:where(*[data-${dataAttribute}] + &)`,\n\t\t\t\t\t\tparent: `:where(*[data-${dataAttribute}] > &)`,\n\t\t\t\t\t\thas: `&:has(*[data-${dataAttribute}])`,\n\t\t\t\t\t\tin: `:where(*[data-${dataAttribute}]) &`\n\t\t\t\t\t};\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmatcher: rest,\n\t\t\t\t\t\thandle: (input, next) => next({\n\t\t\t\t\t\t\t...input,\n\t\t\t\t\t\t\tparent: `${input.parent ? `${input.parent} $$ ` : \"\"}${input.selector}`,\n\t\t\t\t\t\t\tselector: tagSelectorMap[tagName]\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tmultiPass: true\n\t};\n}\nconst variantTaggedDataAttributes = [\n\ttaggedData(\"group\"),\n\ttaggedData(\"peer\"),\n\ttaggedData(\"parent\"),\n\ttaggedData(\"previous\"),\n\ttaggedData(\"has\"),\n\ttaggedData(\"in\")\n];\n//#endregion\n//#region src/variants/directions.ts\nconst variantLanguageDirections = [variantMatcher(\"rtl\", (input) => ({ prefix: `[dir=\"rtl\"] $$ ${input.prefix}` })), variantMatcher(\"ltr\", (input) => ({ prefix: `[dir=\"ltr\"] $$ ${input.prefix}` }))];\n//#endregion\n//#region src/variants/important.ts\nfunction variantImportant() {\n\tlet re;\n\treturn {\n\t\tname: \"important\",\n\t\tmatch(matcher, ctx) {\n\t\t\tif (!re) re = new RegExp(`^(important(?:${ctx.generator.config.separators.join(\"|\")})|!)`);\n\t\t\tlet base;\n\t\t\tconst match = matcher.match(re);\n\t\t\tif (match) base = matcher.slice(match[0].length);\n\t\t\telse if (matcher.endsWith(\"!\")) base = matcher.slice(0, -1);\n\t\t\tif (base) return {\n\t\t\t\tmatcher: base,\n\t\t\t\tbody: (body) => {\n\t\t\t\t\tbody.forEach((v) => {\n\t\t\t\t\t\tif (v[1] != null) v[1] += \" !important\";\n\t\t\t\t\t});\n\t\t\t\t\treturn body;\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t};\n}\n//#endregion\n//#region src/variants/inert.ts\nconst variantInert = variantMatcher(\"inert\", (input) => ({\n\tparent: `${input.parent ? `${input.parent} $$ ` : \"\"}${input.selector}`,\n\tselector: \"&:is([inert],[inert] *)\"\n}));\n//#endregion\n//#region src/variants/media.ts\nconst variantNoscript = variantParentMatcher(\"noscript\", \"@media (scripting: none)\");\nconst variantScripting = {\n\tname: \"scripting\",\n\tmatch(matcher, ctx) {\n\t\tconst variant = variantGetParameter([\"script-\", \"scripting-\"], matcher, ctx.generator.config.separators);\n\t\tif (variant) {\n\t\t\tconst [match, rest] = variant;\n\t\t\tif ([\n\t\t\t\t\"none\",\n\t\t\t\t\"initial-only\",\n\t\t\t\t\"enabled\"\n\t\t\t].includes(match)) return {\n\t\t\t\tmatcher: rest,\n\t\t\t\thandle: (input, next) => next({\n\t\t\t\t\t...input,\n\t\t\t\t\tparent: `${input.parent ? `${input.parent} $$ ` : \"\"}@media (scripting: ${match})`\n\t\t\t\t})\n\t\t\t};\n\t\t}\n\t},\n\tmultiPass: true,\n\tautocomplete: [\"(scripting|script)-(none|initial-only|enabled)\"]\n};\nconst variantPrint = variantParentMatcher(\"print\", \"@media print\");\nconst variantCustomMedia = {\n\tname: \"media\",\n\tmatch(matcher, ctx) {\n\t\tconst variant = variantGetParameter(\"media-\", matcher, ctx.generator.config.separators);\n\t\tif (variant) {\n\t\t\tconst [match, rest] = variant;\n\t\t\tlet media = h.bracket(match, ctx.theme) ?? \"\";\n\t\t\tif (media === \"\") media = ctx.theme.media?.[match] ?? \"\";\n\t\t\tif (media) return {\n\t\t\t\tmatcher: rest,\n\t\t\t\thandle: (input, next) => next({\n\t\t\t\t\t...input,\n\t\t\t\t\tparent: `${input.parent ? `${input.parent} $$ ` : \"\"}@media ${media}`\n\t\t\t\t})\n\t\t\t};\n\t\t}\n\t},\n\tmultiPass: true,\n\tautocomplete: \"media-$media\"\n};\nconst variantContrasts = [variantParentMatcher(\"contrast-more\", \"@media (prefers-contrast: more)\"), variantParentMatcher(\"contrast-less\", \"@media (prefers-contrast: less)\")];\nconst variantMotions = [variantParentMatcher(\"motion-reduce\", \"@media (prefers-reduced-motion: reduce)\"), variantParentMatcher(\"motion-safe\", \"@media (prefers-reduced-motion: no-preference)\")];\nconst variantOrientations = [variantParentMatcher(\"landscape\", \"@media (orientation: landscape)\"), variantParentMatcher(\"portrait\", \"@media (orientation: portrait)\")];\nconst variantForcedColors = [variantParentMatcher(\"forced-colors\", \"@media (forced-colors: active)\")];\n//#endregion\n//#region src/variants/misc.ts\nconst variantSelector = {\n\tname: \"selector\",\n\tmatch(matcher, ctx) {\n\t\tconst variant = variantGetBracket(\"selector-\", matcher, ctx.generator.config.separators);\n\t\tif (variant) {\n\t\t\tconst [match, rest] = variant;\n\t\t\tconst selector = h.bracket(match, ctx.theme);\n\t\t\tif (selector) return {\n\t\t\t\tmatcher: rest,\n\t\t\t\tselector: () => selector\n\t\t\t};\n\t\t}\n\t}\n};\nconst variantCssLayer = {\n\tname: \"layer\",\n\tmatch(matcher, ctx) {\n\t\tconst variant = variantGetParameter(\"layer-\", matcher, ctx.generator.config.separators);\n\t\tif (variant) {\n\t\t\tconst [match, rest] = variant;\n\t\t\tconst layer = h.bracket(match, ctx.theme) ?? match;\n\t\t\tif (layer) return {\n\t\t\t\tmatcher: rest,\n\t\t\t\thandle: (input, next) => next({\n\t\t\t\t\t...input,\n\t\t\t\t\tparent: `${input.parent ? `${input.parent} $$ ` : \"\"}@layer ${layer}`\n\t\t\t\t})\n\t\t\t};\n\t\t}\n\t}\n};\nconst variantInternalLayer = {\n\tname: \"uno-layer\",\n\tmatch(matcher, ctx) {\n\t\tconst variant = variantGetParameter(\"uno-layer-\", matcher, ctx.generator.config.separators);\n\t\tif (variant) {\n\t\t\tconst [match, rest] = variant;\n\t\t\tconst layer = h.bracket(match, ctx.theme) ?? match;\n\t\t\tif (layer) return {\n\t\t\t\tmatcher: rest,\n\t\t\t\tlayer\n\t\t\t};\n\t\t}\n\t}\n};\nconst variantScope = {\n\tname: \"scope\",\n\tmatch(matcher, ctx) {\n\t\tconst variant = variantGetBracket(\"scope-\", matcher, ctx.generator.config.separators);\n\t\tif (variant) {\n\t\t\tconst [match, rest] = variant;\n\t\t\tconst scope = h.bracket(match, ctx.theme);\n\t\t\tif (scope) return {\n\t\t\t\tmatcher: rest,\n\t\t\t\tselector: (s) => `${scope} $$ ${s}`\n\t\t\t};\n\t\t}\n\t}\n};\nconst variantVariables = {\n\tname: \"variables\",\n\tmatch(matcher, ctx) {\n\t\tif (!matcher.startsWith(\"[\")) return;\n\t\tconst [match, rest] = getBracket(matcher, \"[\", \"]\") ?? [];\n\t\tif (!(match && rest)) return;\n\t\tlet newMatcher;\n\t\tfor (const separator of ctx.generator.config.separators) if (rest.startsWith(separator)) {\n\t\t\tnewMatcher = rest.slice(separator.length);\n\t\t\tbreak;\n\t\t}\n\t\tif (newMatcher == null) return;\n\t\tconst variant = h.bracket(match, ctx.theme) ?? \"\";\n\t\tconst useParent = variant.startsWith(\"@\");\n\t\tif (!(useParent || variant.includes(\"&\"))) return;\n\t\treturn {\n\t\t\tmatcher: newMatcher,\n\t\t\thandle(input, next) {\n\t\t\t\tconst updates = useParent ? { parent: `${input.parent ? `${input.parent} $$ ` : \"\"}${variant}` } : { selector: variant.replace(/&/g, input.selector) };\n\t\t\t\treturn next({\n\t\t\t\t\t...input,\n\t\t\t\t\t...updates\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t},\n\tmultiPass: true\n};\nconst variantTheme = {\n\tname: \"theme-variables\",\n\tmatch(matcher, ctx) {\n\t\tif (!hasThemeFn(matcher)) return;\n\t\treturn {\n\t\t\tmatcher,\n\t\t\thandle(input, next) {\n\t\t\t\treturn next({\n\t\t\t\t\t...input,\n\t\t\t\t\tentries: JSON.parse(transformThemeFn(JSON.stringify(input.entries), ctx.theme))\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}\n};\nconst variantStickyHover = [variantMatcher(\"@hover\", (input) => ({\n\tparent: `${input.parent ? `${input.parent} $$ ` : \"\"}@media (hover: hover) and (pointer: fine)`,\n\tselector: `${input.selector || \"\"}:hover`\n}))];\nconst variantImplicitGroup = {\n\tname: \"implicit-group\",\n\tmatch(matcher, ctx) {\n\t\tconst variant = variantGetParameter(\"in-\", matcher, ctx.generator.config.separators);\n\t\tif (variant) {\n\t\t\tconst [match, rest] = variant;\n\t\t\tconst group = h.bracket(match, ctx.theme) ?? match;\n\t\t\tif (group) return {\n\t\t\t\tmatcher: rest,\n\t\t\t\thandle: (input, next) => next({\n\t\t\t\t\t...input,\n\t\t\t\t\tparent: `${input.parent ? `${input.parent} $$ ` : \"\"}${input.selector}`,\n\t\t\t\t\tselector: `:where(*:is(${group})) &`\n\t\t\t\t})\n\t\t\t};\n\t\t}\n\t}\n};\n//#endregion\n//#region src/variants/negative.ts\nconst anchoredNumberRE = /^-?[0-9.]+(?:[a-z]+|%)?$/;\nconst numberRE = /-?[0-9.]+(?:[a-z]+|%)?/;\nconst spacingMultiplyRE = /var\\(--spacing(?:-[\\w-]+)?\\)\\s*\\*\\s*(-?[0-9.]+(?:[a-z]+|%)?)/;\nconst ignoreProps = [/\\b(opacity|color|flex|backdrop-filter|^filter|^scale|transform|mask-image)\\b/];\nfunction negateMathFunction(value) {\n\tconst match = value.match(cssMathFnRE) || value.match(cssVarFnRE);\n\tif (match) {\n\t\tconst [fnBody, rest] = getStringComponent(`(${match[2]})${match[3]}`, \"(\", \")\", \" \") ?? [];\n\t\tif (fnBody) {\n\t\t\tconst spacingMultiplyMatch = fnBody.match(spacingMultiplyRE);\n\t\t\tif (spacingMultiplyMatch) {\n\t\t\t\tconst num = spacingMultiplyMatch[1];\n\t\t\t\tconst nextNum = num.startsWith(\"-\") ? num.slice(1) : `-${num}`;\n\t\t\t\tconst nextFnBody = fnBody.replace(spacingMultiplyRE, (segment) => {\n\t\t\t\t\treturn segment.replace(num, nextNum);\n\t\t\t\t});\n\t\t\t\treturn `${match[1]}${nextFnBody}${rest ? ` ${rest}` : \"\"}`;\n\t\t\t}\n\t\t\treturn `calc(${match[1]}${fnBody} * -1)${rest ? ` ${rest}` : \"\"}`;\n\t\t}\n\t}\n}\nconst negateFunctionBodyRE = /\\b(hue-rotate)\\s*(\\(.*)/;\nfunction negateFunctionBody(value) {\n\tconst match = value.match(negateFunctionBodyRE);\n\tif (match) {\n\t\tconst [fnBody, rest] = getStringComponent(match[2], \"(\", \")\", \" \") ?? [];\n\t\tif (fnBody) {\n\t\t\tconst body = anchoredNumberRE.test(fnBody.slice(1, -1)) ? fnBody.replace(numberRE, (i) => i.startsWith(\"-\") ? i.slice(1) : `-${i}`) : `(calc(${fnBody} * -1))`;\n\t\t\treturn `${match[1]}${body}${rest ? ` ${rest}` : \"\"}`;\n\t\t}\n\t}\n}\nconst variantNegative = {\n\tname: \"negative\",\n\tmatch(matcher) {\n\t\tif (!matcher.startsWith(\"-\")) return;\n\t\treturn {\n\t\t\tmatcher: matcher.slice(1),\n\t\t\tbody: (body) => {\n\t\t\t\tif (body.some((v) => v[0] === \"$$mini-no-negative\")) return;\n\t\t\t\tlet changed = false;\n\t\t\t\tfor (const v of body) {\n\t\t\t\t\tconst [prop, rawValue, meta] = v;\n\t\t\t\t\tif (typeof rawValue === \"object\") continue;\n\t\t\t\t\tif (meta && toArray(meta).includes(\"$$mini-no-negative\")) continue;\n\t\t\t\t\tconst value = rawValue?.toString();\n\t\t\t\t\tif (!value || value === \"0\" || ignoreProps.some((i) => i.test(prop))) continue;\n\t\t\t\t\tconst nextValue = negateMathFunction(value) ?? negateFunctionBody(value) ?? (anchoredNumberRE.test(value) ? value.replace(numberRE, (i) => i.startsWith(\"-\") ? i.slice(1) : `-${i}`) : void 0);\n\t\t\t\t\tif (!nextValue || nextValue === value) continue;\n\t\t\t\t\tv[1] = nextValue;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t\tif (changed) return body;\n\t\t\t\treturn [];\n\t\t\t}\n\t\t};\n\t}\n};\n//#endregion\n//#region src/variants/placeholder.ts\nconst placeholderModifier = (input, { theme }) => {\n\tconst m = input.match(/^(.*)\\b(placeholder-)(.+)$/);\n\tif (m) {\n\t\tconst [, pre = \"\", p, body] = m;\n\t\tif (hasParseableColor(body, theme) || hasOpacityValue(body, theme)) return { matcher: `${pre}placeholder-$ ${p}${body}` };\n\t}\n};\nfunction hasOpacityValue(body, theme) {\n\tconst match = body.match(/^op(?:acity)?-?(.+)$/);\n\tif (match && match[1] != null) return h.bracket.percent(match[1], theme) != null;\n\treturn false;\n}\n//#endregion\n//#region src/variants/pseudo.ts\nfunction variantPseudoClassesAndElements() {\n\treturn createPseudoClassesAndElements({\n\t\tgetBracket,\n\t\th,\n\t\tvariantGetBracket\n\t});\n}\nfunction variantPseudoClassFunctions() {\n\treturn createPseudoClassFunctions({\n\t\tgetBracket,\n\t\th,\n\t\tvariantGetBracket\n\t});\n}\nfunction variantTaggedPseudoClasses(options = {}) {\n\treturn createTaggedPseudoClasses(options, {\n\t\tgetBracket,\n\t\th,\n\t\tvariantGetBracket\n\t});\n}\nconst variantPartClasses = createPartClasses();\n//#endregion\n//#region src/variants/startingstyle.ts\nconst variantStartingStyle = {\n\tname: \"starting\",\n\tmatch(matcher) {\n\t\tif (!matcher.startsWith(\"starting:\")) return;\n\t\treturn {\n\t\t\tmatcher: matcher.slice(9),\n\t\t\thandle: (input, next) => next({\n\t\t\t\t...input,\n\t\t\t\tparent: `@starting-style`\n\t\t\t})\n\t\t};\n\t}\n};\n//#endregion\n//#region src/variants/supports.ts\nconst variantSupports = {\n\tname: \"supports\",\n\tmatch(matcher, ctx) {\n\t\tconst variant = variantGetParameter(\"supports-\", matcher, ctx.generator.config.separators);\n\t\tif (variant) {\n\t\t\tconst [match, rest] = variant;\n\t\t\tlet supports = h.bracket(match, ctx.theme) ?? \"\";\n\t\t\tif (supports === \"\") supports = ctx.theme.supports?.[match] ?? \"\";\n\t\t\tif (supports) {\n\t\t\t\tif (/^[\\w-]+$/.test(supports)) supports = `(${supports}: var(--un))`;\n\t\t\t\tsupports = supports.replace(/\\b(and|or|not)\\b/gi, \" $1 \").replace(/\\s+/g, \" \").trim();\n\t\t\t\tif (!(supports.startsWith(\"(\") && supports.endsWith(\")\")) && !/^not\\b/i.test(supports)) supports = `(${supports})`;\n\t\t\t\treturn {\n\t\t\t\t\tmatcher: rest,\n\t\t\t\t\thandle: (input, next) => next({\n\t\t\t\t\t\t...input,\n\t\t\t\t\t\tparent: `${input.parent ? `${input.parent} $$ ` : \"\"}@supports ${supports}`\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t},\n\tmultiPass: true\n};\n//#endregion\n//#region src/variants/default.ts\nfunction variants(options) {\n\treturn [\n\t\tvariantAria,\n\t\tvariantDataAttribute,\n\t\tvariantCssLayer,\n\t\tvariantSelector,\n\t\tvariantInternalLayer,\n\t\tvariantNegative,\n\t\tvariantStartingStyle,\n\t\tvariantImportant(),\n\t\tvariantSupports,\n\t\tvariantNoscript,\n\t\tvariantScripting,\n\t\tvariantPrint,\n\t\tvariantCustomMedia,\n\t\t...variantContrasts,\n\t\t...variantMotions,\n\t\t...variantOrientations,\n\t\t...variantForcedColors,\n\t\tvariantBreakpoints(),\n\t\t...variantCombinators,\n\t\t...variantSvgCombinators,\n\t\tplaceholderModifier,\n\t\t...variantPseudoClassesAndElements(),\n\t\tvariantPseudoClassFunctions(),\n\t\t...variantTaggedPseudoClasses(options),\n\t\tvariantPartClasses,\n\t\t...variantColorsMediaOrClass(options),\n\t\t...variantColorsScheme,\n\t\t...variantLanguageDirections,\n\t\tvariantScope,\n\t\t...variantChildren,\n\t\tvariantInert,\n\t\tvariantContainerQuery,\n\t\tvariantVariables,\n\t\t...variantTaggedDataAttributes,\n\t\t...variantTaggedAriaAttributes,\n\t\tvariantTheme,\n\t\t...variantStickyHover,\n\t\tvariantImplicitGroup\n\t].flat();\n}\n//#endregion\nexport { variantColorsMediaOrClass as A, variantOrientations as C, variantLanguageDirections as D, variantImportant as E, variantChildren as F, variantBreakpoints as I, variantAria as L, variantContainerQuery as M, variantCombinators as N, variantDataAttribute as O, variantSvgCombinators as P, variantTaggedAriaAttributes as R, variantNoscript as S, variantScripting as T, variantVariables as _, variantPseudoClassFunctions as a, variantForcedColors as b, placeholderModifier as c, variantImplicitGroup as d, variantInternalLayer as f, variantTheme as g, variantStickyHover as h, variantPartClasses as i, variantColorsScheme as j, variantTaggedDataAttributes as k, variantNegative as l, variantSelector as m, variantSupports as n, variantPseudoClassesAndElements as o, variantScope as p, variantStartingStyle as r, variantTaggedPseudoClasses as s, variants as t, variantCssLayer as u, variantContrasts as v, variantPrint as w, variantMotions as x, variantCustomMedia as y };\n",
|
|
40
42
|
"import { defaultSplitRE, isValidSelector } from \"@unocss/core\";\n//#region ../../virtual-shared/integration/src/utils.ts\nfunction hash(str) {\n\tlet i;\n\tlet l;\n\tlet hval = 2166136261;\n\tfor (i = 0, l = str.length; i < l; i++) {\n\t\thval ^= str.charCodeAt(i);\n\t\thval += (hval << 1) + (hval << 4) + (hval << 7) + (hval << 8) + (hval << 24);\n\t}\n\treturn `00000${(hval >>> 0).toString(36)}`.slice(-6);\n}\nfunction transformSkipCode(code, map, SKIP_RULES_RE, keyFlag) {\n\tfor (const item of Array.from(code.matchAll(SKIP_RULES_RE))) if (item != null) {\n\t\tconst matched = item[0];\n\t\tconst withHashKey = `${keyFlag}${hash(matched)}`;\n\t\tmap.set(withHashKey, matched);\n\t\tcode = code.replace(matched, withHashKey);\n\t}\n\treturn code;\n}\nfunction restoreSkipCode(code, map) {\n\tfor (const [withHashKey, matched] of map.entries()) code = code.replaceAll(withHashKey, matched);\n\treturn code;\n}\n//#endregion\n//#region src/source-map.ts\nconst sourceMapRE = /\\/\\/#\\s*sourceMappingURL=.*\\n?/g;\nfunction removeSourceMap(code) {\n\tif (code.includes(\"sourceMappingURL=\")) return code.replace(sourceMapRE, \"\");\n\treturn code;\n}\n//#endregion\n//#region src/index.ts\nconst quotedArbitraryValuesRE = /(?:[\\w&:[\\]-]|\\[\\S{1,64}=\\S{1,64}\\]){1,64}\\[\\\\?['\"]?\\S{1,64}?['\"]\\]\\]?[\\w:-]{0,64}/g;\nconst arbitraryPropertyRE = /\\[(\\\\\\W|[\\w-]){1,64}:[^\\s:]{0,64}?(\"\\S{1,64}?\"|'\\S{1,64}?'|`\\S{1,64}?`|[^\\s:]{1,64}?)[^\\s:]{0,64}?\\)?\\]/g;\nconst arbitraryPropertyCandidateRE = /^\\[(?:\\\\\\W|[\\w-]){1,64}:['\"]?\\S{1,64}?['\"]?\\]$/;\nfunction splitCodeWithArbitraryVariants(code) {\n\tconst result = [];\n\tfor (const match of code.matchAll(arbitraryPropertyRE)) {\n\t\tif (match.index !== 0 && !/^[\\s'\"`]/.test(code[match.index - 1] ?? \"\")) continue;\n\t\tresult.push(match[0]);\n\t}\n\tfor (const match of code.matchAll(quotedArbitraryValuesRE)) result.push(match[0]);\n\tconst skipMap = /* @__PURE__ */ new Map();\n\tconst skipFlag = \"@unocss-skip-arbitrary-brackets\";\n\tcode = transformSkipCode(code, skipMap, /-\\[(?!&.+?;)[^\\]]*\\]/g, skipFlag);\n\tif (!code) return result;\n\tcode.split(defaultSplitRE).forEach((match) => {\n\t\tif (match.includes(skipFlag)) match = restoreSkipCode(match, skipMap);\n\t\tif (isValidSelector(match) && !arbitraryPropertyCandidateRE.test(match)) result.push(match);\n\t});\n\treturn result;\n}\nfunction extractorArbitraryVariants() {\n\treturn {\n\t\tname: \"@unocss/extractor-arbitrary-variants\",\n\t\torder: 0,\n\t\textract({ code }) {\n\t\t\treturn splitCodeWithArbitraryVariants(removeSourceMap(code));\n\t\t}\n\t};\n}\n//#endregion\nexport { arbitraryPropertyRE, extractorArbitraryVariants, quotedArbitraryValuesRE, splitCodeWithArbitraryVariants };\n",
|
|
41
43
|
"import { postprocessors } from \"./postprocess.mjs\";\nimport { H as PRESET_NAME, I as globalKeywords, a as themeTracking, f as compressCSS, h as getThemeByKey, n as detectThemeValue, o as trackedProperties, s as trackedTheme } from \"./utils-q7HDXEs0.mjs\";\nimport { rules } from \"./rules.mjs\";\nimport { shortcuts } from \"./shortcuts.mjs\";\nimport { theme } from \"./theme.mjs\";\nimport { t as variants } from \"./variants-DqGWM6pS.mjs\";\nimport { definePreset, escapeSelector, toArray, uniq } from \"@unocss/core\";\nimport { extractorArbitraryVariants } from \"@unocss/extractor-arbitrary-variants\";\nimport { alphaPlaceholdersRE } from \"@unocss/rule-utils\";\n//#region src/preflights/property.ts\nfunction property(options) {\n\tif (options.preflights?.property === false) return void 0;\n\tconst propertyConfig = typeof options.preflights?.property === \"object\" ? options.preflights.property : void 0;\n\tconst parentSelector = propertyConfig?.parent !== void 0 ? propertyConfig.parent : \"@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b))))\";\n\tconst selector = propertyConfig?.selector ?? \"*, ::before, ::after, ::backdrop\";\n\tconst prefix = options.variablePrefix ?? \"un-\";\n\treturn {\n\t\tgetCSS: () => {\n\t\t\tif (trackedProperties.size === 0) return;\n\t\t\tconst css = Array.from(trackedProperties.entries()).sort(([a], [b]) => a.localeCompare(b)).map(([property, value]) => `${property.replace(/^--un-/, `--${prefix}`)}:${value};`).join(\"\");\n\t\t\treturn parentSelector === false ? `${selector}{${css}}` : `${parentSelector}{${selector}{${css}}}`;\n\t\t},\n\t\tlayer: \"properties\"\n\t};\n}\n//#endregion\n//#region src/preflights/reset.ts\nconst resetCSS = `\n/*\n 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n 2. Remove default margins and padding\n 3. Reset all borders.\n*/\n\n*,\n::after,\n::before,\n::backdrop,\n::file-selector-button {\n box-sizing: border-box; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 2 */\n border: 0 solid; /* 3 */\n}\n\n/*\n 1. Use a consistent sensible line-height in all browsers.\n 2. Prevent adjustments of font size after orientation changes in iOS.\n 3. Use a more readable tab size.\n 4. Use the user's configured \\`sans\\` font-family by default.\n 5. Use the user's configured \\`sans\\` font-feature-settings by default.\n 6. Use the user's configured \\`sans\\` font-variation-settings by default.\n 7. Disable tap highlights on iOS.\n*/\n\nhtml,\n:host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n tab-size: 4; /* 3 */\n font-family: var(\n --default-font-family,\n -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n 'Helvetica Neue',\n 'Noto Sans',\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji'\n ); /* 4 */\n font-feature-settings: var(--default-font-featureSettings, normal); /* 5 */\n font-variation-settings: var(--default-font-variationSettings, normal); /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}\n\n/*\n 1. Add the correct height in Firefox.\n 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n 3. Reset the default border style to a 1px solid border.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\n Add the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\n Remove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\n Reset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n}\n\n/*\n Add the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n 1. Use the user's configured \\`mono\\` font-family by default.\n 2. Use the user's configured \\`mono\\` font-feature-settings by default.\n 3. Use the user's configured \\`mono\\` font-variation-settings by default.\n 4. Correct the odd \\`em\\` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: var(\n --default-monoFont-family,\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n 'Liberation Mono',\n 'Courier New',\n monospace\n ); /* 1 */\n font-feature-settings: var(--default-monoFont-featureSettings, normal); /* 2 */\n font-variation-settings: var(--default-monoFont-variationSettings, normal); /* 3 */\n font-size: 1em; /* 4 */\n}\n\n/*\n Add the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\n Prevent \\`sub\\` and \\`sup\\` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n 3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n Use the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring:where(:not(iframe)) {\n outline: auto;\n}\n\n/*\n Add the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\n Add the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\n Make lists unstyled by default.\n*/\n\nol,\nul,\nmenu {\n list-style: none;\n}\n\n/*\n 1. Make replaced elements \\`display: block\\` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n 2. Add \\`vertical-align: middle\\` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\n Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/*\n 1. Inherit font styles in all browsers.\n 2. Remove border radius in all browsers.\n 3. Remove background color in all browsers.\n 4. Ensure consistent opacity for disabled states in all browsers.\n*/\n\nbutton,\ninput,\nselect,\noptgroup,\ntextarea,\n::file-selector-button {\n font: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n border-radius: 0; /* 2 */\n background-color: transparent; /* 3 */\n opacity: 1; /* 4 */\n}\n\n/*\n Restore default font weight.\n*/\n\n:where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n}\n\n/*\n Restore indentation.\n*/\n\n:where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n}\n\n/*\n Restore space after button.\n*/\n\n::file-selector-button {\n margin-inline-end: 4px;\n}\n\n/*\n Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n*/\n\n::placeholder {\n opacity: 1;\n}\n\n/*\n Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not\n crash when using \\`color-mix(…)\\` with \\`currentcolor\\`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)\n*/\n\n@supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or\n (contain-intrinsic-size: 1px) /* Safari 17+ */ {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n}\n\n/*\n Prevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n Remove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n 1. Ensure date/time inputs have the same height when empty in iOS Safari.\n 2. Ensure text alignment can be changed on date/time inputs in iOS Safari.\n*/\n\n::-webkit-date-and-time-value {\n min-height: 1lh; /* 1 */\n text-align: inherit; /* 2 */\n}\n\n/*\n Prevent height from changing on date/time inputs in macOS Safari when the input is set to \\`display: block\\`.\n*/\n\n::-webkit-datetime-edit {\n display: inline-flex;\n}\n\n/*\n Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.\n*/\n\n::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n}\n\n::-webkit-datetime-edit,\n::-webkit-datetime-edit-year-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-minute-field,\n::-webkit-datetime-edit-second-field,\n::-webkit-datetime-edit-millisecond-field,\n::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n}\n\n/*\n Center dropdown marker shown on inputs with paired \\`<datalist>\\`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)\n*/\n\n::-webkit-calendar-picker-indicator {\n line-height: 1;\n}\n\n/*\n Remove the additional \\`:invalid\\` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\n Correct the inability to style the border radius in iOS Safari.\n*/\n\nbutton,\ninput:where([type='button'], [type='reset'], [type='submit']),\n::file-selector-button {\n appearance: button;\n}\n\n/*\n Correct the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n Make elements with the HTML hidden attribute stay hidden by default.\n*/\n\n[hidden]:where(:not([hidden~='until-found'])) {\n display: none !important;\n}\n`;\nfunction reset(options) {\n\tif (options.preflights?.reset === false) return void 0;\n\treturn {\n\t\tgetCSS: ({ generator }) => {\n\t\t\tthemeTracking(\"font\", \"sans\");\n\t\t\tthemeTracking(\"font\", \"mono\");\n\t\t\tthemeTracking(\"default\", [\"font\", \"family\"]);\n\t\t\tthemeTracking(\"default\", [\"monoFont\", \"family\"]);\n\t\t\treturn compressCSS(resetCSS, generator.config.envMode === \"dev\");\n\t\t},\n\t\tlayer: \"base\"\n\t};\n}\n//#endregion\n//#region src/preflights/theme.ts\n/** Exclude output for CSS Variables */\nconst ExcludeCssVarKeys = [\n\t\"spacing\",\n\t\"breakpoint\",\n\t\"verticalBreakpoint\",\n\t\"shadow\",\n\t\"insetShadow\",\n\t\"dropShadow\",\n\t\"textShadow\",\n\t\"animation\",\n\t\"property\",\n\t\"aria\",\n\t\"media\",\n\t\"supports\",\n\t\"containers\"\n];\nfunction getThemeVarsMap(theme, keys) {\n\tconst themeMap = /* @__PURE__ */ new Map([[\"--spacing\", theme.spacing.DEFAULT]]);\n\tconst normalizeValue = (value) => value.replace(alphaPlaceholdersRE, \"1\");\n\tfunction process(obj, prefix) {\n\t\tfor (const key in obj) if (Array.isArray(obj[key])) themeMap.set(`--${prefix}-${key}`, normalizeValue(obj[key].join(\",\")));\n\t\telse if (typeof obj[key] === \"object\") process(obj[key], `${prefix}-${key}`);\n\t\telse themeMap.set(`--${prefix}-${key}`, normalizeValue(obj[key]));\n\t}\n\tfor (const key in theme) {\n\t\tif (!keys.includes(key)) continue;\n\t\tprocess(theme[key], key);\n\t}\n\treturn themeMap;\n}\nfunction theme$1(options) {\n\tconst preflightsTheme = typeof options.preflights?.theme === \"boolean\" || typeof options.preflights?.theme === \"string\" ? { mode: options.preflights.theme ?? \"on-demand\" } : {\n\t\tmode: options.preflights?.theme?.mode ?? \"on-demand\",\n\t\t...options.preflights?.theme\n\t};\n\treturn {\n\t\tlayer: \"theme\",\n\t\tgetCSS(ctx) {\n\t\t\tconst { theme, generator } = ctx;\n\t\t\tconst safelist = uniq(generator.config.safelist.flatMap((s) => typeof s === \"function\" ? s(ctx) : s));\n\t\t\tconst { mode, process } = preflightsTheme;\n\t\t\tif (mode === false) return;\n\t\t\tif (safelist.length > 0) for (const s of safelist) {\n\t\t\t\tconst [key, ...prop] = s.trim().split(\":\");\n\t\t\t\tif (key in theme && prop.length <= 1) {\n\t\t\t\t\tconst props = prop.length === 0 ? [\"DEFAULT\"] : prop[0].split(\"-\");\n\t\t\t\t\tconst v = getThemeByKey(theme, key, props);\n\t\t\t\t\tif (typeof v === \"string\") {\n\t\t\t\t\t\tthemeTracking(key, props);\n\t\t\t\t\t\tdetectThemeValue(v, theme);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet deps;\n\t\t\tconst generateCSS = (deps) => {\n\t\t\t\tif (process) for (const utility of deps) for (const p of toArray(process)) p(utility, ctx);\n\t\t\t\tconst resolvedDeps = deps.map(([key, value]) => key && value ? `${escapeSelector(key)}: ${value};` : void 0).filter(Boolean);\n\t\t\t\tif (resolvedDeps.length === 0) return;\n\t\t\t\tconst depCSS = resolvedDeps.join(\"\\n\");\n\t\t\t\treturn compressCSS(`\n:root, :host {\n${depCSS}\n}`, generator.config.envMode === \"dev\");\n\t\t\t};\n\t\t\tif (mode === \"on-demand\") {\n\t\t\t\tif (trackedTheme.size === 0) return void 0;\n\t\t\t\tdeps = Array.from(trackedTheme).map((k) => {\n\t\t\t\t\tconst [key, prop] = k.split(\":\");\n\t\t\t\t\tconst v = getThemeByKey(theme, key, prop.split(\"-\"));\n\t\t\t\t\tif (typeof v === \"string\") return [`--${key}${`${key === \"spacing\" && prop === \"DEFAULT\" ? \"\" : `-${prop}`}`}`, v];\n\t\t\t\t}).filter(Boolean);\n\t\t\t} else {\n\t\t\t\tconst keys = Object.keys(theme).filter((k) => !ExcludeCssVarKeys.includes(k));\n\t\t\t\tdeps = Array.from(getThemeVarsMap(theme, keys));\n\t\t\t}\n\t\t\treturn generateCSS(deps);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/preflights/index.ts\nconst preflights = (options) => {\n\treturn [\n\t\treset(options),\n\t\ttheme$1(options),\n\t\tproperty(options)\n\t].filter(Boolean);\n};\n//#endregion\n//#region src/shorthands.ts\nconst shorthands = {\n\tposition: [\n\t\t\"relative\",\n\t\t\"absolute\",\n\t\t\"fixed\",\n\t\t\"sticky\",\n\t\t\"static\"\n\t],\n\tglobalKeyword: globalKeywords\n};\n//#endregion\n//#region src/index.ts\nconst presetWind4 = definePreset((options = {}) => {\n\toptions.dark = options.dark ?? \"class\";\n\toptions.attributifyPseudo = options.attributifyPseudo ?? false;\n\toptions.variablePrefix = options.variablePrefix ?? \"un-\";\n\toptions.important = options.important ?? false;\n\treturn {\n\t\tname: PRESET_NAME,\n\t\tdocs: \"https://unocss.dev/presets/wind4\",\n\t\trules,\n\t\tshortcuts,\n\t\ttheme,\n\t\tlayers: {\n\t\t\tproperties: -200,\n\t\t\ttheme: -150,\n\t\t\tbase: -100\n\t\t},\n\t\tpreflights: preflights(options),\n\t\tvariants: variants(options),\n\t\tprefix: options.prefix,\n\t\tpostprocess: postprocessors(options),\n\t\textractorDefault: options.arbitraryVariants === false ? void 0 : extractorArbitraryVariants(),\n\t\tautocomplete: { shorthands },\n\t\toptions,\n\t\tconfigResolved() {\n\t\t\ttrackedTheme.clear();\n\t\t\ttrackedProperties.clear();\n\t\t},\n\t\tmeta: {\n\t\t\tthemeDeps: trackedTheme,\n\t\t\tpropertyDeps: trackedProperties\n\t\t}\n\t};\n});\n//#endregion\nexport { presetWind4 as default, presetWind4, postprocessors, preflights, rules, shortcuts, shorthands, theme, variants };\n",
|
|
42
|
-
"import { presetWind4 } from \"@unocss/preset-wind4\";\nimport type { UserConfig } from \"@unocss/core\";\n\n/**\n * Two things the host forces on this config, both non-negotiable:\n *\n * `important` receives a SELECTOR STRING, which is how UnoCSS scopes: every rule comes out\n * `.ui4a-root :is(.gap-4){…}`. The runtime sheet is appended to `<head>` last, so an unscoped\n * `hidden` written by a card would win over the shell's own `hidden` and make part of the app\n * vanish. The playground has that bug on record (a sidebar disappearing); we start scoped.\n *\n * `preflights: { reset: false }` drops presetWind4's global reset — 3.5KB of `*, ::before,\n * ::after { margin: 0; border: 0 solid }` that would land on the HOST's DOM, not just ours.\n * The `theme` layer survives it and is the part we need: `--spacing` and `--radius-*`, which\n * every `gap-*` and `rounded-*` resolves against. Without preflights entirely those rules\n * generate but compute to nothing.\n */\nexport const unoConfig = (scope: string): UserConfig => ({\n presets: [presetWind4({ important: scope, preflights: { reset: false } })],\n // The reset above is dropped because it targets `*` and would land on the HOST's DOM. But\n // dropping it leaves form controls carrying the browser's own chrome, and that is not\n // theme-aware: measured on a card in dark mode, two unselected `<button>`s rendered as light\n // grey blocks with black text, because a button with no background class falls back to the UA's\n // `buttonface`. The card looked right in light and broken in dark, which is the failure this\n // whole colour system exists to prevent.\n //\n // So: the same normalisation, scoped to our root.\n //\n // `box-sizing: border-box` is in here for the same reason, and I left it out at first on the\n // theory that cards set their own sizing. They cannot: `w-full` is `width: 100%`, and under the\n // UA's `content-box` that 100% is the content alone, so every `<input className=\"w-full px-3\n // border\">` is padding-plus-border wider than its parent. Measured on wave 2 — every card with a\n // text field overflowed its own edge by 10px at 320, 440 AND 720, which is the tell that it was\n // never a breakpoint problem. The clip in a screenshot is taken at the card width, so the\n // overflowing strip is not cut off, it is absent.\n preflights: [\n {\n // Same class of bug as box-sizing: a card writes `<ul className=\"grid gap-1.5\">`, which is\n // correct — a grid list has no use for UA markers — and dropping the reset put them back, so\n // a column of stray bullets sits OUTSIDE the card border at every width. Not something to\n // ask the model to write `list-none` for on every list.\n getCSS: () => `${scope} *, ${scope} *::before, ${scope} *::after { box-sizing: border-box; }\n ${scope} ul, ${scope} ol { list-style: none; margin: 0; padding: 0; }\n ${scope} button, ${scope} input, ${scope} select, ${scope} textarea {\n background: transparent; color: inherit; font: inherit; border: 0 solid; cursor: pointer;\n }\n ${scope} input, ${scope} select, ${scope} textarea { cursor: auto; }`,\n },\n ],\n theme: {\n colors: {\n // The host's 12 semantic tokens, under names short enough to write in a class.\n // A card can still reach any variable through an arbitrary value: `bg-[var(--dsw-…)]`.\n // NOT `base`: `text-base` is Wind4's body font size, and a colour of that name wins the\n // token, so `<h2 className=\"text-base\">` computed `color: #ffffff` on a white card — present,\n // laid out, invisible, and no probe can see it. 18 corpus cards wrote `text-base`.\n page: \"var(--dsw-alias-bg-base)\",\n layer: \"var(--dsw-alias-bg-layer-1)\",\n \"layer-2\": \"var(--dsw-alias-bg-layer-2)\",\n line: \"var(--dsw-alias-border-l1)\",\n \"line-2\": \"var(--dsw-alias-border-l2)\",\n label: \"var(--dsw-alias-label-primary)\",\n muted: \"var(--dsw-alias-label-secondary)\",\n accent: \"var(--dsw-alias-state-business-primary)\",\n hover: \"var(--dsw-alias-interactive-bg-hover)\",\n danger: \"var(--dsw-alias-state-error-primary)\",\n success: \"var(--dsw-alias-state-success-primary)\",\n warn: \"var(--dsw-alias-state-warn-primary)\",\n },\n },\n});\n",
|
|
44
|
+
"import { presetWind4 } from \"@unocss/preset-wind4\";\nimport type { UserConfig } from \"@unocss/core\";\n\n/**\n * Two things the host forces on this config, both non-negotiable:\n *\n * `important` receives a SELECTOR STRING, which is how UnoCSS scopes: every rule comes out\n * `.ui4a-root :is(.gap-4){…}`. The runtime sheet is appended to `<head>` last, so an unscoped\n * `hidden` written by a card would win over the shell's own `hidden` and make part of the app\n * vanish. The playground has that bug on record (a sidebar disappearing); we start scoped.\n *\n * `preflights: { reset: false }` drops presetWind4's global reset — 3.5KB of `*, ::before,\n * ::after { margin: 0; border: 0 solid }` that would land on the HOST's DOM, not just ours.\n * The `theme` layer survives it and is the part we need: `--spacing` and `--radius-*`, which\n * every `gap-*` and `rounded-*` resolves against. Without preflights entirely those rules\n * generate but compute to nothing.\n */\nexport const unoConfig = (scope: string): UserConfig => ({\n presets: [presetWind4({ important: scope, preflights: { reset: false } })],\n // The reset above is dropped because it targets `*` and would land on the HOST's DOM. But\n // dropping it leaves form controls carrying the browser's own chrome, and that is not\n // theme-aware: measured on a card in dark mode, two unselected `<button>`s rendered as light\n // grey blocks with black text, because a button with no background class falls back to the UA's\n // `buttonface`. The card looked right in light and broken in dark, which is the failure this\n // whole colour system exists to prevent.\n //\n // So: the same normalisation, scoped to our root.\n //\n // `box-sizing: border-box` is in here for the same reason, and I left it out at first on the\n // theory that cards set their own sizing. They cannot: `w-full` is `width: 100%`, and under the\n // UA's `content-box` that 100% is the content alone, so every `<input className=\"w-full px-3\n // border\">` is padding-plus-border wider than its parent. Measured on wave 2 — every card with a\n // text field overflowed its own edge by 10px at 320, 440 AND 720, which is the tell that it was\n // never a breakpoint problem. The clip in a screenshot is taken at the card width, so the\n // overflowing strip is not cut off, it is absent.\n preflights: [\n {\n // Same class of bug as box-sizing: a card writes `<ul className=\"grid gap-1.5\">`, which is\n // correct — a grid list has no use for UA markers — and dropping the reset put them back, so\n // a column of stray bullets sits OUTSIDE the card border at every width. Not something to\n // ask the model to write `list-none` for on every list.\n //\n // Headings and paragraphs are the same omission, found later and from the other end: a\n // reader asking why there is ALWAYS a band of empty space above a card's title. Measured on\n // the surface, the UA margins still standing were h1 21.4px, h2 19.9, h3 18.7, h4 21.3,\n // p/blockquote/figure 16, pre 13 — while `ul` read 0, which is what proves the line above\n // works and these tags were simply not in it. A card's first child is almost always a\n // heading, so it pushes itself down by more than the card's own `p-3`, and `<p>` margins\n // then fight whatever `gap-*` the layout uses. `important: scope` makes every utility\n // `.ui4a-root :is(.mt-4)` at (0,2,0), which outranks these (0,1,1) rules — so a card that\n // asks for a margin still gets one, and only the browser's uninvited ones go.\n getCSS: () => `${scope} *, ${scope} *::before, ${scope} *::after { box-sizing: border-box; }\n ${scope} ul, ${scope} ol { list-style: none; margin: 0; padding: 0; }\n ${scope} h1, ${scope} h2, ${scope} h3, ${scope} h4, ${scope} h5, ${scope} h6,\n ${scope} p, ${scope} blockquote, ${scope} figure, ${scope} figcaption,\n ${scope} dl, ${scope} dd, ${scope} pre, ${scope} hr { margin: 0; }\n ${scope} button, ${scope} input, ${scope} select, ${scope} textarea {\n background: transparent; color: inherit; font: inherit; border: 0 solid; cursor: pointer;\n }\n ${scope} input, ${scope} select, ${scope} textarea { cursor: auto; }`,\n },\n ],\n theme: {\n colors: {\n // The host's 12 semantic tokens, under names short enough to write in a class.\n // A card can still reach any variable through an arbitrary value: `bg-[var(--dsw-…)]`.\n // NOT `base`: `text-base` is Wind4's body font size, and a colour of that name wins the\n // token, so `<h2 className=\"text-base\">` computed `color: #ffffff` on a white card — present,\n // laid out, invisible, and no probe can see it. 18 corpus cards wrote `text-base`.\n page: \"var(--dsw-alias-bg-base)\",\n layer: \"var(--dsw-alias-bg-layer-1)\",\n \"layer-2\": \"var(--dsw-alias-bg-layer-2)\",\n line: \"var(--dsw-alias-border-l1)\",\n \"line-2\": \"var(--dsw-alias-border-l2)\",\n label: \"var(--dsw-alias-label-primary)\",\n muted: \"var(--dsw-alias-label-secondary)\",\n accent: \"var(--dsw-alias-state-business-primary)\",\n hover: \"var(--dsw-alias-interactive-bg-hover)\",\n danger: \"var(--dsw-alias-state-error-primary)\",\n success: \"var(--dsw-alias-state-success-primary)\",\n warn: \"var(--dsw-alias-state-warn-primary)\",\n },\n },\n});\n",
|
|
43
45
|
"import { createGenerator, type UnoGenerator } from \"@unocss/core\";\nimport { unoConfig } from \"./uno-config.ts\";\n\n/**\n * Runtime UnoCSS for generated cards.\n *\n * A build-time pass would scan OUR source, and the classes a card is written with do not exist\n * there — they are typed by the model seconds ago. Responsive is where that shows worst: not one\n * `@container` breakpoint would be generated, so every card would be single-column at any width.\n * The CSS therefore has to be produced in the browser, as the code streams in.\n *\n * Accumulate rather than replace: several cards share one document, and each one's classes must\n * stay in the sheet after another card is added.\n */\n/**\n * The class every generated rule is prefixed with, and the one the surface carries.\n *\n * Named after the contract rather than after this plugin: the same class exists in\n * `ui4a-playground` under the same constant name, so the two runtimes can be diffed line for\n * line. It is also the only marker on the surface node — a second `data-*` hook naming the same\n * thing was removed because nothing read it.\n */\nexport const UI4A_ROOT_CLASS = \"ui4a-root\";\nconst PLUGIN_ID = \"dsh-generative-ui\";\n\nlet generator: Promise<UnoGenerator> | null = null;\nconst tokens = new Set<string>();\nlet sheet: HTMLStyleElement | null = null;\n/** Whether the sheet already carries the preflight block. Reset with the sheet, not with the tokens. */\nlet preflighted = false;\n\n/**\n * Per frame this does the two cheap things only: EXTRACT the class names out of the code\n * (no CSS generated), and generate CSS for the ones not seen before.\n *\n * The expensive spellings, both measured in the playground this is ported from:\n * `uno.generate(code)` regenerates every class in the file each time — 119s of main thread over\n * one streaming canvas; and regenerating the whole accumulated token set on each new class costs\n * more the longer the file gets. Throttling does not help when a single call is what is\n * expensive.\n *\n * Appended rules sort after existing ones, so two same-priority utilities can resolve differently\n * than a single authoritative pass would. Once the stream settles we regenerate the whole set to\n * restore that order.\n */\nexport async function ensureUnoStyles(code: string, streaming = false): Promise<void> {\n if (typeof document === \"undefined\") return;\n const uno = await (generator ??= createGenerator(unoConfig(`.${UI4A_ROOT_CLASS}`)));\n const extracted = await uno.applyExtractors(code);\n const fresh = [...extracted].filter((token) => !tokens.has(token));\n if (fresh.length === 0 && streaming && preflighted) return;\n for (const token of fresh) tokens.add(token);\n sheet ??= createSheet();\n if (streaming) {\n // Preflights FIRST, on the very first streaming frame, and never again. They were reachable\n // only through the settled path, so for the whole of a stream the card rendered without\n // `box-sizing: border-box` and without the button/list reset — measured on a first card in a\n // fresh page: 31 seconds of streaming with `pre: false` and a painting card whose `<input>`\n // computed `content-box`. That is not \"unstyled until it settles\", it is *wrongly* styled\n // while the reader watches: a `w-full px-3 border` input is padding-plus-border wider than\n // its parent, so the layout is visibly broken and then jumps when the stream ends.\n //\n // They are a fixed block that depends on nothing the model types, so there is no reason for\n // them to wait for anything, and generating them once costs a single call.\n if (!preflighted) {\n preflighted = true;\n const { css } = await uno.generate([], { preflights: true });\n sheet.textContent += splitVendorRules(css);\n }\n if (fresh.length === 0) return;\n const { css } = await uno.generate(fresh, { preflights: false });\n sheet.textContent += splitVendorRules(css);\n return;\n }\n preflighted = true;\n const { css } = await uno.generate(tokens, { preflights: true });\n sheet.textContent = splitVendorRules(css);\n}\n\n/**\n * Split a rule whose selector list mixes vendor pseudo-elements into one rule per vendor.\n *\n * UnoCSS merges selectors that share a declaration, so a card styling a slider for both engines\n * gets `…::-moz-range-thumb, …::-webkit-slider-thumb { height: … }` as ONE rule — and Chromium\n * drops the whole rule because it does not recognise the `-moz-` half. Measured: the browser\n * parsed 75 of the 87 rules in a real card's sheet, the slider came out `height: 0px`, and the\n * card shipped three invisible controls. Order does not matter and neither does which vendor is\n * first; one unknown pseudo-element poisons the list.\n *\n * The model is doing the right thing by writing both prefixes, so the fix belongs here.\n */\nexport function splitVendorRules(css: string): string {\n return css.replaceAll(/(^|\\})\\s*([^{}]*::-moz-[^{}]*)\\{([^}]*)\\}/g, (whole, lead: string, selectors: string, body: string) => {\n const parts = selectors\n .split(\",\")\n .map((s) => s.trim())\n .filter(Boolean);\n if (parts.length < 2) return whole;\n const moz = parts.filter((s) => s.includes(\"::-moz-\"));\n const rest = parts.filter((s) => !s.includes(\"::-moz-\"));\n if (moz.length === 0 || rest.length === 0) return whole;\n return `${lead}\\n${rest.join(\",\\n\")}{${body}}\\n${moz.join(\",\\n\")}{${body}}`;\n });\n}\n\n/**\n * `data-plugin` is required, not decorative — see `canvas/mount.ts`: the loader claims every\n * unmarked `<style>` for whichever plugin is materializing, and would tear this one out with it.\n */\nfunction createSheet(): HTMLStyleElement {\n const style = document.createElement(\"style\");\n style.setAttribute(\"data-plugin\", PLUGIN_ID);\n style.setAttribute(\"data-plugin-css\", `${PLUGIN_ID}/uno`);\n return document.head.appendChild(style);\n}\n\n/** Drops the sheet and the generator. HMR reloads the module; the old sheet must not survive it. */\nexport function disposeUnoStyles(): void {\n sheet?.remove();\n sheet = null;\n generator = null;\n preflighted = false;\n tokens.clear();\n}\n",
|
|
44
|
-
"/**\n * Sends a card's compile error back to the model as a chat message.\n *\n * Until this existed, `onError` had no consumer at all: a card that failed to compile painted a\n * red panel for the reader and the model never learned anything. Measured on a real session —\n * a card imported `MonacoEditor` from `modern-monaco`, the surface reported *\"has no export named\n * 'MonacoEditor'; module exports: Workspace, errors, hydrate, init, lazy\"*, and the transcript\n * ends there: `MonacoEditor` appears 6 times in the records after that point and `no export named`\n * zero. The reader saw the answer on screen; the one party who could act on it did not.\n *\n *
|
|
45
|
-
"/**\n * Renders ```` ```ui4a/tsx ```` blocks in assistant prose live, in place, between the\n * surrounding paragraphs — the ui4a-playground inline contract.\n *\n * Two sources, each doing what only it can:\n *\n * - **The session snapshot owns the code.** The host's markdown renderer withholds a\n * fence's info string until the closing fence arrives, so a DOM-only implementation\n * cannot tell a half-written ui4a block from any other code block, and can only claim\n * it after the model has stopped typing. The raw assistant text has the opening fence\n * from its very first token, so that is where the code and its language come from.\n * - **The DOM owns the position.** There is no slot for a markdown code block, so the\n * rendered block is what tells us where in the prose to mount. `md-code-block` is a\n * hard-coded class on the host's CodeBlock wrapper.\n *\n * Blocks are matched to segments by content (a rendered block's text is a prefix of, or\n * equal to, its segment's code), not by order, so unrelated code blocks in the same reply\n * are left alone.\n *\n * The claimed block is hidden rather than removed: it belongs to the host's React tree,\n * and detaching a node React still owns invites a NotFoundError on its next commit.\n */\nimport { createRoot, type Root } from \"react-dom/client\";\nimport { createElement } from \"react\";\nimport { CodeBlock } from \"@deepseek-ai/dsh-client-ui-primitives\";\nimport type { ReactElement } from \"react\";\nimport type { Ui4aSegment } from \"./segments.ts\";\nimport { observeTranscript } from \"./observe.ts\";\n\nconst CLAIMED = \"data-ui4a-claimed\";\nconst MOUNT = \"data-ui4a-mount\";\nconst PREVIEW = \"data-ui4a-preview\";\n\n/** Unmounting a root during React's own commit throws; defer it like every other teardown here. */\nconst dropPreview = (claim: { preview: { host: HTMLElement; root: Root } | null }) => {\n const preview = claim.preview;\n if (preview === null) return;\n claim.preview = null;\n queueMicrotask(() => {\n preview.root.unmount();\n preview.host.remove();\n });\n};\n\ntype Claim = { block: HTMLElement; mount: HTMLElement; root: Root; code: string; complete: boolean; rendered: string; painted: MutationObserver | null; preview: { host: HTMLElement; root: Root } | null };\n\n/**\n * Whether the card has actually painted something a reader can see.\n *\n * **Compiling is not the same as having something to look at.** Mid-stream the default\n * export usually exists while the body is still an empty shell, so hiding the source block\n * at claim time leaves a blank gap that fills in with a pop seconds later — and the source\n * was sitting right there the whole time. Text, or an element that draws its own\n * pixels **and has a box**, is the signal; a wrapper with layout classes is not.\n *\n * Measured against the alternatives: a bare `getBoundingClientRect()` test passes a styled-but-\n * empty `div` — `height: 200px`, a grid with a gap, a padded skeleton card — which is precisely\n * the mid-stream shell this exists to reject. Enumerating tags alone missed `<video>`, custom\n * elements and iframes. Requiring both catches everything the tag list caught, plus those three,\n * and still rejects all three empty shells.\n */\n/** Elements that paint their own pixels; a custom element (any tag with a dash) counts too. */\nconst DRAWS = new Set([\"SVG\", \"CANVAS\", \"IMG\", \"VIDEO\", \"IFRAME\", \"PICTURE\"]);\n\n/**\n * partial-react's error boundary renders a bare text node — `ERROR` or `ERROR: <message>`.\n * That is text, so a naive check reads it as a painted card and hides the source block\n * underneath it, leaving the reader one red line and no way to see what the model wrote.\n * Measured: exactly the case where the source is most worth keeping.\n */\nconst BOUNDARY_ERROR = /^ERROR(:|$)/;\n\n/** Split out from `hasPainted` so the rule can be tested without a DOM. */\nexport const isPaintedText = (text: string) => {\n const trimmed = text.trim();\n return trimmed !== \"\" && !BOUNDARY_ERROR.test(trimmed);\n};\n\nexport const hasPainted = (mount: HTMLElement) => {\n if (isPaintedText(mount.textContent ?? \"\")) return true;\n for (const el of mount.querySelectorAll(\"*\")) {\n const tag = el.tagName.toUpperCase();\n if (!DRAWS.has(tag) && !tag.includes(\"-\")) continue;\n const box = el.getBoundingClientRect();\n if (box.width > 0 && box.height > 0) return true;\n }\n return false;\n};\n\n/** The block's source. `pre` when the grammar was unknown, the highlighted div otherwise. */\nconst codeOf = (block: HTMLElement) => block.querySelector(\"pre\")?.textContent ?? \"\";\n\n/** CodeBlock trims one trailing newline for display, so compare on trimmed ends. */\nexport const sameCode = (a: string, b: string) => a.trimEnd() === b.trimEnd();\n\n/**\n * The segment a rendered block belongs to.\n *\n * Mid-stream the block shows a prefix of its segment; once settled the two are equal.\n */\nexport const matchSegment = (segments: readonly Ui4aSegment[], rendered: string) => segments.find((segment) => sameCode(segment.code, rendered) || segment.code.startsWith(rendered));\n\nexport type InlineFenceOptions = {\n /** Every ui4a segment currently in the transcript, in document order. */\n segments: () => readonly Ui4aSegment[];\n render: (props: { code: string; streaming: boolean }) => ReactElement;\n scope?: HTMLElement;\n};\n\nexport function claimInlineFences({ segments, render, scope }: InlineFenceOptions): () => void {\n const claims = new Map<HTMLElement, Claim>();\n const root = scope ?? document.body;\n\n const release = (claim: Claim, restore: boolean) => {\n claim.painted?.disconnect();\n claim.root.unmount();\n claim.mount.remove();\n dropPreview(claim);\n if (restore && claim.block.isConnected) {\n claim.block.style.display = \"\";\n claim.block.removeAttribute(CLAIMED);\n }\n claims.delete(claim.block);\n };\n\n const sweep = () => {\n const current = segments();\n\n for (const block of root.querySelectorAll<HTMLElement>(`.md-code-block:not([${CLAIMED}])`)) {\n const code = codeOf(block);\n if (code === \"\") continue;\n // A streaming block's rendered text is a prefix of its segment; a settled one equals it.\n const segment = matchSegment(current, code);\n if (segment === undefined) continue;\n block.setAttribute(CLAIMED, \"\");\n const mount = document.createElement(\"div\");\n mount.setAttribute(MOUNT, \"\");\n block.parentElement?.insertBefore(mount, block.nextSibling);\n // Swap the host's block for our own CodeBlock while the card is still compiling. Two\n // reasons, both reported from a real transcript: the host keys highlighting on the fence\n // language, and its markdown parser truncates `ui4a/tsx` at the slash — so `ui4a` reaches\n // shiki, matches no grammar, and the source renders as unhighlighted plain text. Passing\n // `lang=\"tsx\"` is all it takes; `dsh-client-ui-primitives` is in the platform table, so\n // this resolves to the shell's own component and costs nothing to bundle. The second\n // reason is height: a 300-line card streams for over a minute with all of it on screen,\n // and this preview is capped.\n const previewHost = document.createElement(\"div\");\n previewHost.setAttribute(PREVIEW, \"\");\n block.parentElement?.insertBefore(previewHost, block);\n block.style.display = \"none\";\n const claim: Claim = { block, mount, root: createRoot(mount), code: \"\", complete: false, rendered: \"\", painted: null, preview: { host: previewHost, root: createRoot(previewHost) } };\n // The source stays visible until the card paints. Checked at most once per frame and\n // torn down the moment it fires: a streaming card mutates thousands of times, and\n // `textContent` walks the whole subtree, so a per-mutation check would be\n // O(mutations x subtree). The cost only exists during the gap it closes.\n let queued = 0;\n claim.painted = new MutationObserver(() => {\n if (queued !== 0) return;\n queued = requestAnimationFrame(() => {\n queued = 0;\n if (!hasPainted(mount)) return;\n claim.painted?.disconnect();\n claim.painted = null;\n dropPreview(claim);\n });\n });\n claim.painted.observe(mount, { childList: true, subtree: true, characterData: true });\n claims.set(block, claim);\n }\n\n for (const claim of claims.values()) {\n if (!claim.block.isConnected) {\n release(claim, false);\n continue;\n }\n const rendered = codeOf(claim.block);\n // The block's own text is what locates its segment, so an unchanged block cannot\n // have changed its match — skip the scan rather than re-run it every frame.\n //\n // Only once it has settled, though. `complete` flips on the segment, not in the block, so\n // a card whose last token closes the fence without changing the rendered text would never\n // leave the streaming path — and the streaming path cuts back the still-being-typed tail,\n // so it would keep rendering a card with its last statement missing. The skip is an\n // optimization for the steady state (most blocks in a long transcript), and a claim that\n // is still streaming is being re-scanned every frame regardless.\n if (rendered === claim.rendered && claim.code !== \"\" && claim.complete) continue;\n claim.rendered = rendered;\n const segment = matchSegment(current, rendered);\n // The snapshot is authoritative while it still describes this block: mid-stream its\n // code runs ahead of what markdown has painted. Once it stops describing it — an\n // older page dropped out of the loaded window — the last good frame stands, because\n // re-deriving from the hidden block would hand the renderer a truncated prefix and\n // blank a card that was already complete.\n //\n // Unless the block stopped being this card's at all: React reconciles `.md-code-block`\n // wrappers positionally, so a re-render can drop unrelated content into the very node\n // we hid. Its text is then no longer a prefix of what we rendered, and holding the\n // claim would leave a stale card on screen with the real block invisible behind it.\n if (segment === undefined) {\n if (claim.code.startsWith(rendered)) continue;\n release(claim, true);\n continue;\n }\n const { code, complete } = segment;\n if (code === claim.code && complete === claim.complete) continue;\n claim.code = code;\n claim.complete = complete;\n claim.root.render(render({ code, streaming: !complete }));\n // The preview follows the SEGMENT, not the block: mid-stream the snapshot runs ahead of\n // what markdown has painted, so this is the newer text and the one the reader wants while\n // waiting. Dropped the moment the card paints.\n claim.preview?.root.render(createElement(CodeBlock, { code, lang: \"tsx\" }));\n }\n };\n\n const stop = observeTranscript(sweep);\n\n return () => {\n stop();\n for (const claim of claims.values()) release(claim, true);\n };\n}\n",
|
|
46
|
-
"/**\n * One document observer, shared by every consumer that reacts to transcript mutations.\n *\n * Both the inline-fence claimer and the canvas host are driven by the same event — a\n * streamed token landing in the chat DOM — so a second observer over the same subtree only\n * doubles the browser's mutation bookkeeping and the number of frames scheduled. The\n * coalescing is not optional either: a streaming reply mutates the transcript dozens of\n * times per second, and one sweep per mutation is how a renderer melts the main thread.\n */\ntype Listener = () => void;\n\nconst listeners = new Set<Listener>();\nlet observer: MutationObserver | null = null;\nlet frame = 0;\n\nconst flush = () => {\n frame = 0;\n for (const listener of listeners) listener();\n};\n\nconst schedule = () => {\n if (frame !== 0) return;\n frame = requestAnimationFrame(flush);\n};\n\n/**\n * Runs `listener` at most once per frame while the document changes, starting immediately.\n * @returns a disposer that also tears the observer down once nothing is left listening.\n */\nexport function observeTranscript(listener: Listener): () => void {\n listeners.add(listener);\n if (observer === null) {\n observer = new MutationObserver(schedule);\n observer.observe(document.body, { subtree: true, childList: true, characterData: true });\n }\n schedule();\n return () => {\n listeners.delete(listener);\n if (listeners.size > 0) return;\n observer?.disconnect();\n observer = null;\n if (frame !== 0) cancelAnimationFrame(frame);\n frame = 0;\n };\n}\n\n/** Requests a frame outside a mutation — for state that changed without the DOM changing. */\nexport const scheduleSweep = schedule;\n\n/**\n * Drop every listener and tear the observer down.\n *\n * The set above is module scope, so it is shared by everything in a process — which is right in\n * a browser (one transcript, one observer) and is a trap in a test run, where a listener left by\n * one file goes on being swept by every later one. A sweep captures its root at registration, so\n * a stale one runs against a document that has since been replaced.\n *\n * Nothing in the plugin calls this: the shell disposes each host and that is the real path.\n */\nexport function resetTranscriptObservers(): void {\n listeners.clear();\n observer?.disconnect();\n observer = null;\n frame = 0;\n}\n",
|
|
46
|
+
"/**\n * Sends a card's compile error back to the model as a chat message.\n *\n * Until this existed, `onError` had no consumer at all: a card that failed to compile painted a\n * red panel for the reader and the model never learned anything. Measured on a real session —\n * a card imported `MonacoEditor` from `modern-monaco`, the surface reported *\"has no export named\n * 'MonacoEditor'; module exports: Workspace, errors, hydrate, init, lazy\"*, and the transcript\n * ends there: `MonacoEditor` appears 6 times in the records after that point and `no export named`\n * zero. The reader saw the answer on screen; the one party who could act on it did not.\n *\n * Four constraints, each of which this got wrong in an obvious first version:\n *\n * - **Only errors that survived.** `GenUISurface` already separates a mid-stream prefix failure\n * and a retryable network blip from a real one — the `report` branch of its error action. That\n * branch is the only caller, so a half-written expression never reaches the model.\n *\n * It is not sufficient on its own, though. `isUnfinishedFrame` excludes the RENDER phase by\n * design — a card whose own render throws is usually a real error — but a half-written\n * component rendering mid-stream throws too, and the next frame is fine. Measured in a browser:\n * a card that ultimately rendered correctly reported `Cannot read properties of undefined\n * (reading 'getCurrentStack')`, a React internal, to the model. Painting a red panel for a\n * frame costs nothing; sending the model a message about a card that then worked costs it a\n * turn spent fixing what is not broken. So the send is DEFERRED, and a paint cancels it.\n * - **Once per card, not once per frame.** A settled card that fails re-renders on every later\n * frame of the transcript, and a turn per render is a loop the user has to kill. Deduplication\n * lives HOST-side now (`CardFailures.set`), because this half is thrown away by every\n * navigation and a dedup set that resets on reload wakes the model about a card it already\n * knows. What stays here is the settling, which is about frames, not about turns.\n * - **Recovery is reported too.** The report is state, not an event: a card that starts working\n * sends `null`, and the host drops it out of the model's context. As a chat message that was\n * impossible, which is why the old body had to carry a paragraph explaining that nobody had\n * typed it.\n * - **Only the newest card counts.** An earlier card that cannot render stays in the transcript\n * and re-renders on every later frame, so it goes on failing for the rest of the session.\n * Measured on a real one: the model wrote a card importing `Github` from `lucide-react`\n * (removed upstream), was told, fixed it to `GitBranch` in its very next reply — and the\n * failure notice kept coming back from the message it had already superseded. There is nothing\n * the model can do with that; it cannot edit a reply it has sent. `isLastSegment` is the gate, on both the report and the retraction.\n */\n\n/** Exported for the test: a fresh card in a fresh session should be able to report again. */\nexport const forgetReportedErrors = () => {\n cancelPendingReport();\n outstanding = null;\n};\n\n/** `null` means the card recovered. */\nexport type ErrorReporter = (report: { message: string; phase: string } | null) => void;\n\n/**\n * How long an error must stand before the model hears about it. A streaming card recompiles many\n * times a second, so a frame that throws and a frame that paints are milliseconds apart; a second\n * is far longer than that gap and far shorter than a reader's patience with a broken card.\n */\nconst SETTLE_MS = 1000;\n\n/**\n * The one report waiting out its settle window, and the card it belongs to.\n *\n * One slot, not one per card, because only one report can be outstanding host-side. But the slot\n * being shared is what made the gate below dangerous: a superseded card re-compiles on every later\n * frame — that is the premise of this whole file — and evicting the newest card's armed timer to\n * install its own meant the newest card's report died when the superseded one was gated off. So\n * eviction is now conditional on the incoming card actually being reportable.\n */\nlet pending: { timer: ReturnType<typeof setTimeout>; message: string } | null = null;\n/**\n * Whether the host currently holds a failure for this surface.\n *\n * The report is state, so recovery has to be reported too — otherwise a card that failed once\n * stays in the model's context for the rest of the session. Kept here rather than derived from\n * `pending`, which is only the not-yet-sent window.\n */\nlet outstanding: ErrorReporter | null = null;\n\n/** Drop a report the page is going away before it can deliver. NOT a recovery — nothing is fixed. */\nexport function cancelPendingReport(): void {\n if (pending === null) return;\n clearTimeout(pending.timer);\n pending = null;\n}\n\n/**\n * Called when a surface paints. Cancels a report the very next frame made untrue.\n *\n * **`restored` is not a detail.** partial-react answers a render throw by re-mounting the LAST\n * GOOD component (`runtime.ts:416-419`, whenever `preserve` is on — which is every inline card),\n * and that re-mount paints, and painting used to cancel the report that the very same throw had\n * just armed. So the one case the reporting exists for — a card that worked, then broke on an\n * edit — showed the reader stale content and told the model nothing. A paint only means the card\n * is fine when it is the NEW code that painted.\n */\n/**\n * @param current whether the painting card is the one the gate would let report. Defaults to\n * permissive for the canvas path, which shows one card at a time.\n */\nexport function cardRendered(restored = false, current: () => boolean = () => true): void {\n if (restored) return;\n cancelPendingReport();\n // **A card may only retract its OWN failure.** The error path is gated on `isLastSegment`; without\n // the same gate here the asymmetry is that a superseded card cannot report a failure but can\n // still clear someone else's. That is reachable by scrolling: an old card enters the\n // IntersectionObserver margin, gets claimed, compiles and paints, and the model's context is\n // told nothing is broken while the newest card is still a red panel — and it cannot re-report,\n // because `reportStranded`'s `reportedFor` guard already fired for that code.\n if (!current()) return;\n // A card that is working again must be taken OUT of the model's context, or it reads about a\n // failure that no longer exists on every step for the rest of the session.\n const send = outstanding;\n outstanding = null;\n send?.(null);\n}\n\nexport function reportCardError(send: ErrorReporter | undefined, message: string, phase: string, current: () => boolean = () => true): void {\n if (send === undefined) return;\n // **Asked twice, and the first time is not redundant.** A superseded card that will be gated off\n // must not evict an armed report belonging to a card that will not be — otherwise the newest\n // card, which IS broken, reports nothing: its timer is cleared, the evictor's own timer fires\n // 1000ms later, `current()` is false, and the slot empties with nothing sent. The newest card\n // cannot re-arm either, because `reportStranded`'s `reportedFor` guard suppresses a second\n // report for the same code. Measured: with the old card re-failing every 300ms the newest\n // card's reporter stayed empty indefinitely.\n if (!current()) return;\n if (pending !== null) clearTimeout(pending.timer);\n // Asked AGAIN when the report is about to be SENT, because that is the question that matters:\n // a card is the newest one in the transcript at the instant it throws and stops being so the\n // moment the model's next reply lands — which is precisely the second this timer waits out.\n pending = { timer: setTimeout(() => {\n pending = null;\n if (!current()) return;\n outstanding = send;\n send({ message, phase });\n }, SETTLE_MS), message };\n}\n",
|
|
47
|
+
"/**\n * Renders ```` ```ui4a/tsx ```` blocks in assistant prose live, in place, between the\n * surrounding paragraphs — the ui4a-playground inline contract.\n *\n * Two sources, each doing what only it can:\n *\n * - **The session snapshot owns the code.** The host's markdown renderer withholds a\n * fence's info string until the closing fence arrives, so a DOM-only implementation\n * cannot tell a half-written ui4a block from any other code block, and can only claim\n * it after the model has stopped typing. The raw assistant text has the opening fence\n * from its very first token, so that is where the code and its language come from.\n * - **The DOM owns the position.** There is no slot for a markdown code block, so the\n * rendered block is what tells us where in the prose to mount. `md-code-block` is a\n * hard-coded class on the host's CodeBlock wrapper.\n *\n * Blocks are matched to segments by content (a rendered block's text is a prefix of, or\n * equal to, its segment's code), not by order, so unrelated code blocks in the same reply\n * are left alone.\n *\n * The claimed block is hidden rather than removed: it belongs to the host's React tree,\n * and detaching a node React still owns invites a NotFoundError on its next commit.\n */\nimport { createRoot, type Root } from \"react-dom/client\";\nimport { createElement } from \"react\";\nimport { CodeBlock } from \"@deepseek-ai/dsh-client-ui-primitives\";\nimport type { ReactElement } from \"react\";\nimport { FENCE_LANG } from \"../../contract.ts\";\nimport { parseUi4aSegments, type Ui4aSegment } from \"./segments.ts\";\nimport { observeTranscript } from \"./observe.ts\";\n\nconst CLAIMED = \"data-ui4a-claimed\";\nconst MOUNT = \"data-ui4a-mount\";\nconst PREVIEW = \"data-ui4a-preview\";\n\n/** Unmounting a root during React's own commit throws; defer it like every other teardown here. */\nconst dropPreview = (claim: { preview: { host: HTMLElement; root: Root } | null }) => {\n const preview = claim.preview;\n if (preview === null) return;\n claim.preview = null;\n queueMicrotask(() => {\n preview.root.unmount();\n preview.host.remove();\n });\n};\n\n/** `reserved` is the segment code this claim owns, so no other block can be matched to it — see `sweep`. */\ntype Claim = { block: HTMLElement; mount: HTMLElement; root: Root; code: string; reserved: string; complete: boolean; rendered: string; painted: MutationObserver | null; preview: { host: HTMLElement; root: Root } | null };\n\n/**\n * Whether the card has actually painted something a reader can see.\n *\n * **Compiling is not the same as having something to look at.** Mid-stream the default\n * export usually exists while the body is still an empty shell, so hiding the source block\n * at claim time leaves a blank gap that fills in with a pop seconds later — and the source\n * was sitting right there the whole time. Text, or an element that draws its own\n * pixels **and has a box**, is the signal; a wrapper with layout classes is not.\n *\n * Measured against the alternatives: a bare `getBoundingClientRect()` test passes a styled-but-\n * empty `div` — `height: 200px`, a grid with a gap, a padded skeleton card — which is precisely\n * the mid-stream shell this exists to reject. Enumerating tags alone missed `<video>`, custom\n * elements and iframes. Requiring both catches everything the tag list caught, plus those three,\n * and still rejects all three empty shells.\n */\n/** Elements that paint their own pixels; a custom element (any tag with a dash) counts too. */\nconst DRAWS = new Set([\"SVG\", \"CANVAS\", \"IMG\", \"VIDEO\", \"IFRAME\", \"PICTURE\"]);\n\n/**\n * partial-react's error boundary renders a bare text node — `ERROR` or `ERROR: <message>`.\n * That is text, so a naive check reads it as a painted card and hides the source block\n * underneath it, leaving the reader one red line and no way to see what the model wrote.\n * Measured: exactly the case where the source is most worth keeping.\n */\nconst BOUNDARY_ERROR = /^ERROR(:|$)/;\n\n/** Split out from `hasPainted` so the rule can be tested without a DOM. */\nexport const isPaintedText = (text: string) => {\n const trimmed = text.trim();\n return trimmed !== \"\" && !BOUNDARY_ERROR.test(trimmed);\n};\n\nexport const hasPainted = (mount: HTMLElement) => {\n if (isPaintedText(mount.textContent ?? \"\")) return true;\n for (const el of mount.querySelectorAll(\"*\")) {\n const tag = el.tagName.toUpperCase();\n if (!DRAWS.has(tag) && !tag.includes(\"-\")) continue;\n const box = el.getBoundingClientRect();\n if (box.width > 0 && box.height > 0) return true;\n }\n return false;\n};\n\n/** A wider Markdown fence leaves the real ui4a opener as the first line of the rendered code. */\nconst LEADING_UI4A_FENCE = new RegExp(String.raw`^\\s*\\x60{3,}${FENCE_LANG.replace(\"/\", \"\\\\/\")}(?:[^\\n]*)(?:\\n|$)`);\n\n/** The block's source. `pre` when the grammar was unknown, the highlighted div otherwise. */\nconst codeOf = (block: HTMLElement) => {\n const rendered = block.querySelector(\"pre\")?.textContent ?? \"\";\n if (!LEADING_UI4A_FENCE.test(rendered)) return rendered;\n // The snapshot parser already owns every malformed-closer tolerance. Reusing it here keeps the\n // DOM half on the same recovered body instead of growing a second fence grammar.\n return parseUi4aSegments(rendered)[0]?.code ?? rendered;\n};\n\n/** CodeBlock trims one trailing newline for display, so compare on trimmed ends. */\nexport const sameCode = (a: string, b: string) => a.trimEnd() === b.trimEnd();\n\n/**\n * The segment a rendered block belongs to.\n *\n * Mid-stream the block shows a prefix of its segment; once settled the two are equal.\n */\nexport const matchSegment = (segments: readonly Ui4aSegment[], rendered: string) => segments.find((segment) => sameCode(segment.code, rendered) || segment.code.startsWith(rendered));\n\nexport type InlineFenceOptions = {\n /** Every ui4a segment currently in the transcript, in document order. */\n segments: () => readonly Ui4aSegment[];\n /** `last` answers whether this card is still the transcript's newest — asked at report time, not render time. */\n render: (props: { code: string; streaming: boolean; last: () => boolean }) => ReactElement;\n /** 在预览渲染时读取当前语言,而不是捕获挂载时的翻译。 */\n t: (key: \"copy\" | \"copied\") => string;\n /** 语言或字典变化只刷新源码预览,不重新挂载卡片。 */\n subscribeLocale: (refresh: () => void) => () => void;\n scope?: HTMLElement;\n};\n\n/**\n * Whether this card's code is the last ui4a segment in the transcript.\n *\n * **Only the last block's failure is worth telling the model about.** An earlier card that cannot\n * render stays in the transcript and re-renders on every later frame, so it fails again, and\n * again, for the rest of the session — measured on a real one where the model wrote a card\n * importing `Github` from `lucide-react` (removed upstream), was told, fixed it to `GitBranch` in\n * the very next reply, and the failure notice kept coming back from the reply it had already\n * superseded. The model cannot act on it: editing a message it already sent is not a thing it\n * can do.\n *\n * Evaluated when the report is about to be SENT, not when the error is raised. A card is the last\n * one at the moment it breaks and stops being so as soon as the next card appears, which is\n * exactly the second in between.\n *\n * **Segments, not mounts.** Comparing DOM nodes was wrong three separate ways, all of them\n * silent: `release` calls `claim.mount.remove()` on every markdown re-render, so a broken card\n * followed by any trailing prose compared a detached node and dropped its own report; `defer`\n * parks a far-offscreen block without ever creating a mount, so a reader scrolled up while the fix\n * streams left an older card holding the last mount and reporting as though it were newest; and an\n * empty node list has to mean false, since a session switch inside the settle window empties it\n * while `sendToModel` reads `currentSession()` at send time — session A's error into session B's\n * store. The segment list is the transcript's own order and survives all three.\n */\nexport const isLastSegment = (segments: readonly Ui4aSegment[], code: string): boolean => {\n const last = segments.at(-1);\n return last !== undefined && (sameCode(last.code, code) || last.code.startsWith(code));\n};\n\n/**\n * How far outside the viewport a card is still worth compiling.\n *\n * One viewport in each direction: the reader who scrolls towards a card finds it already\n * rendered, because compiling starts a screen before it arrives. Smaller and a fast scroll\n * outruns it; much larger and the whole transcript is \"near\" again, which is the state this\n * exists to leave.\n */\nconst NEAR_VIEWPORT = \"100% 0px\";\n\nexport function claimInlineFences({ segments, render, t, subscribeLocale, scope }: InlineFenceOptions): () => void {\n const claims = new Map<HTMLElement, Claim>();\n const root = scope ?? document.body;\n\n // Blocks parked until they come near the viewport. Kept so the disposer can stop observing\n // them, and so `sweep` does not re-observe one it is already watching.\n const parked = new Set<HTMLElement>();\n // Blocks the observer has woken. Kept separately because waking does NOT move the block: the\n // observer fires on entering the margin, while `getBoundingClientRect` still reads whatever\n // the layout says, so re-measuring in the sweep that the wake triggered parks it straight back\n // and the card never renders. Membership here is the permission; the sweep clears it.\n const woken = new Set<HTMLElement>();\n const nearby: IntersectionObserver | null =\n typeof IntersectionObserver === \"undefined\"\n ? null\n : new IntersectionObserver(\n (entries) => {\n let woke = false;\n for (const entry of entries) {\n if (!entry.isIntersecting) continue;\n const block = entry.target as HTMLElement;\n nearby?.unobserve(block);\n parked.delete(block);\n woken.add(block);\n woke = true;\n }\n // One sweep for the batch, not one per block: a scroll can bring a dozen into range\n // in the same frame, and `sweep` walks the whole transcript each time it runs.\n if (woke) sweep();\n },\n { rootMargin: NEAR_VIEWPORT },\n );\n\n /** True when this block should wait. An incomplete (still streaming) segment never waits — it is what the reader is watching. */\n const defer = (block: HTMLElement, segment: Ui4aSegment): boolean => {\n if (nearby === null || !segment.complete) return false;\n if (woken.delete(block)) return false;\n if (parked.has(block)) return true;\n // `getBoundingClientRect` rather than waiting for the observer's first callback: the observer\n // reports asynchronously, so a block would be claimed before its first entry ever arrives and\n // the deferral would never happen at all.\n const box = block.getBoundingClientRect();\n const limit = (globalThis.innerHeight || 0) || 0;\n // A zero-height box means the block is not laid out yet (display:none, or an ancestor still\n // hidden). That is not \"far away\", and treating it as such parks a card that is about to be\n // visible, so measure it again next sweep instead of parking it.\n if (limit === 0 || (box.height === 0 && box.width === 0)) return false;\n if (box.bottom > -limit && box.top < limit * 2) return false;\n parked.add(block);\n nearby.observe(block);\n return true;\n };\n\n const release = (claim: Claim, restore: boolean) => {\n claim.painted?.disconnect();\n claim.root.unmount();\n claim.mount.remove();\n dropPreview(claim);\n if (restore && claim.block.isConnected) {\n claim.block.style.display = \"\";\n claim.block.removeAttribute(CLAIMED);\n }\n claims.delete(claim.block);\n };\n\n const sweep = () => {\n const current = segments();\n // Dead claims first, because the reservation below is built from what claims hold. A block\n // the host's markdown re-render replaced is gone but its claim is not, and releasing it in\n // the loop *after* the claim loop let it reserve its segment for one more sweep — long\n // enough for the replacement block to find nothing free and paint nothing. With the\n // re-render happening every streamed frame that alternates, and the card flickers.\n for (const claim of claims.values()) if (!claim.block.isConnected) release(claim, false);\n // A segment backs at most one block. `matchSegment` matches by PREFIX and takes the first\n // hit in document order, and every generated card opens with the same line — measured on a\n // real transcript, all three cards started `import { useState } from \"react\"`, so the third\n // card's opening 40 characters were still a prefix of the FIRST card's code. Its slot\n // rendered card one in full, then blanked for 2.8s when the texts diverged and the partial\n // buffer had no `export default` yet: content, then nothing, then finally the right card.\n // Excluding what live claims already own leaves each new block only the segments still going\n // spare, which in a growing transcript is the one still streaming.\n const taken = new Set([...claims.values()].map((claim) => claim.reserved));\n\n for (const block of root.querySelectorAll<HTMLElement>(`.md-code-block:not([${CLAIMED}])`)) {\n // OUR OWN nodes are not candidates. `CodeBlock` — the host component the source preview is\n // rendered with — puts `md-code-block` on its own root, so every preview we mount is itself\n // a match for this selector, and a card that renders a code block is another. Claiming one\n // mounts a card inside it, whose preview is a third block, and so on.\n //\n // Measured in a live session: `blocks` climbed 1 → 2 → 3 while `mounts` and `prev` climbed\n // with it, then the whole stack collapsed to 0 and rebuilt, several times a second — the\n // flicker. The reservation below does NOT stop it: it holds `claim.reserved`, the code from\n // the PREVIOUS frame, while the segment has already grown, so mid-stream the two never\n // match and nothing is excluded.\n if (block.closest(`[${PREVIEW}]`) !== null || block.closest(`[${MOUNT}]`) !== null) continue;\n const code = codeOf(block);\n if (code === \"\") continue;\n // A streaming block's rendered text is a prefix of its segment; a settled one equals it.\n const segment = matchSegment(\n current.filter((candidate) => !taken.has(candidate.code)),\n code,\n );\n if (segment === undefined) continue;\n // A DEFERRED block still owns its segment. Deferring means \"do not mount this yet\", not\n // \"this segment is free\" — and the card that gets parked is by definition a settled one far\n // off screen, which in a live transcript is the oldest card while the reader sits at the\n // bottom watching a new one arrive. Reserving only on the claim path left that segment\n // spare, and the new block — still showing nothing but the opening line every generated\n // card shares — matched it by prefix and painted the OLD card where the new one belonged.\n //\n // Reserve BEFORE the deferral check, or the two earlier fixes to this class (the per-claim\n // reservation, and pruning dead claims before building it) go on missing it: both hold only\n // what a live claim owns, and a parked block has no claim. Reserving here also covers the\n // within-one-sweep case a reload presents — every block unclaimed at once, all of them\n // otherwise matching the same segment.\n taken.add(segment.code);\n // FAR OFFSCREEN AND NOT YET STREAMING: leave it for later. Claiming a block compiles it,\n // mounts a React root, runs every effect it declares and pulls its third-party imports off\n // esm.sh — a Monaco card costs megabytes and starts a language service. `isConnected` was\n // the only liveness test here, and the host keeps a long transcript's messages in the DOM,\n // so scrolling back through twenty cards paid all of that twenty times over for cards\n // nobody was looking at.\n //\n // A STREAMING block is never deferred: it is what the reader is watching, and its segment\n // is still growing. `defer` also answers false when there is no observer (no\n // IntersectionObserver, or `scope` is detached in a test), so the behaviour without one is\n // exactly what it was before.\n //\n // Called ONCE. It has side effects — it consumes the wake flag, parks the block and starts\n // observing it — so asking twice in one sweep eats the wake and re-parks a block that had\n // just come into view.\n if (defer(block, segment)) continue;\n block.setAttribute(CLAIMED, \"\");\n const mount = document.createElement(\"div\");\n mount.setAttribute(MOUNT, \"\");\n block.parentElement?.insertBefore(mount, block.nextSibling);\n // Swap the host's block for our own CodeBlock while the card is still compiling. Two\n // reasons, both reported from a real transcript: the host keys highlighting on the fence\n // language, and its markdown parser truncates `ui4a/tsx` at the slash — so `ui4a` reaches\n // shiki, matches no grammar, and the source renders as unhighlighted plain text. Passing\n // `lang=\"tsx\"` is all it takes; `dsh-client-ui-primitives` is in the platform table, so\n // this resolves to the shell's own component and costs nothing to bundle. The second\n // reason is height: a 300-line card streams for over a minute with all of it on screen,\n // and this preview is capped.\n const previewHost = document.createElement(\"div\");\n previewHost.setAttribute(PREVIEW, \"\");\n block.parentElement?.insertBefore(previewHost, block);\n block.style.display = \"none\";\n const claim: Claim = { block, mount, root: createRoot(mount), code: \"\", reserved: segment.code, complete: false, rendered: \"\", painted: null, preview: { host: previewHost, root: createRoot(previewHost) } };\n // The source stays visible until the card paints. Checked at most once per frame and\n // torn down the moment it fires: a streaming card mutates thousands of times, and\n // `textContent` walks the whole subtree, so a per-mutation check would be\n // O(mutations x subtree). The cost only exists during the gap it closes.\n let queued = 0;\n claim.painted = new MutationObserver(() => {\n if (queued !== 0) return;\n queued = requestAnimationFrame(() => {\n queued = 0;\n if (!hasPainted(mount)) return;\n claim.painted?.disconnect();\n claim.painted = null;\n dropPreview(claim);\n });\n });\n claim.painted.observe(mount, { childList: true, subtree: true, characterData: true });\n claims.set(block, claim);\n }\n\n for (const claim of claims.values()) {\n // Already pruned at the top of the sweep; a block can still go while the claim loop above\n // runs, so this stays as the guard for the rest of this pass.\n if (!claim.block.isConnected) {\n release(claim, false);\n continue;\n }\n const rendered = codeOf(claim.block);\n // The block's own text is what locates its segment, so an unchanged block cannot\n // have changed its match — skip the scan rather than re-run it every frame.\n //\n // Only once it has settled, though. `complete` flips on the segment, not in the block, so\n // a card whose last token closes the fence without changing the rendered text would never\n // leave the streaming path — and the streaming path cuts back the still-being-typed tail,\n // so it would keep rendering a card with its last statement missing. The skip is an\n // optimization for the steady state (most blocks in a long transcript), and a claim that\n // is still streaming is being re-scanned every frame regardless.\n if (rendered === claim.rendered && claim.code !== \"\" && claim.complete) continue;\n claim.rendered = rendered;\n // Same reservation as the claim loop, minus this claim's own segment: a block whose text is\n // still the shared opening line matches an older card here too, and the newest block would\n // be handed the oldest card's code on the very sweep that claimed it.\n const segment = matchSegment(\n current.filter((candidate) => candidate.code === claim.reserved || !taken.has(candidate.code)),\n rendered,\n );\n // The snapshot is authoritative while it still describes this block: mid-stream its\n // code runs ahead of what markdown has painted. Once it stops describing it — an\n // older page dropped out of the loaded window — the last good frame stands, because\n // re-deriving from the hidden block would hand the renderer a truncated prefix and\n // blank a card that was already complete.\n //\n // Unless the block stopped being this card's at all: React reconciles `.md-code-block`\n // wrappers positionally, so a re-render can drop unrelated content into the very node\n // we hid. Its text is then no longer a prefix of what we rendered, and holding the\n // claim would leave a stale card on screen with the real block invisible behind it.\n if (segment === undefined) {\n if (claim.code.startsWith(rendered)) continue;\n release(claim, true);\n continue;\n }\n const { code, complete } = segment;\n // Follow the segment as it grows, or the reservation still names the prefix it was claimed on.\n taken.delete(claim.reserved);\n taken.add(code);\n claim.reserved = code;\n if (code === claim.code && complete === claim.complete) continue;\n claim.code = code;\n claim.complete = complete;\n // `code` is captured, `segments()` is read at call time: that is exactly the report-time\n // question, and it stays correct across the re-render that replaces this claim's own block.\n claim.root.render(render({ code, streaming: !complete, last: () => isLastSegment(segments(), code) }));\n // The preview follows the SEGMENT, not the block: mid-stream the snapshot runs ahead of\n // what markdown has painted, so this is the newer text and the one the reader wants while\n // waiting. Dropped the moment the card paints.\n claim.preview?.root.render(createElement(CodeBlock, { code, lang: \"tsx\", copyLabel: t(\"copy\"), copiedLabel: t(\"copied\") }));\n }\n };\n\n const stop = observeTranscript(sweep);\n const stopLocale = subscribeLocale(() => {\n for (const claim of claims.values()) claim.preview?.root.render(createElement(CodeBlock, { code: claim.code, lang: \"tsx\", copyLabel: t(\"copy\"), copiedLabel: t(\"copied\") }));\n });\n\n return () => {\n stop();\n stopLocale();\n // `disconnect` rather than unobserving each: the observer is going away with us, and a\n // parked block that is never claimed would otherwise keep it alive through its target list.\n nearby?.disconnect();\n parked.clear();\n woken.clear();\n for (const claim of claims.values()) release(claim, true);\n };\n}\n",
|
|
47
48
|
"/**\n * Splits assistant prose into markdown and inline-ui4a segments.\n *\n * Ported from ui4a-playground/src/components/chat/segments.ts. We only consume the ui4a\n * side — the host renders the markdown — but the parser must still walk the whole text,\n * because a fence's position depends on everything before it.\n */\nimport { FENCE_LANG } from \"../../contract.ts\";\n\nexport type Ui4aSegment = { code: string; complete: boolean };\n\n/**\n * Opening fence. Both tolerances here were measured; do not tighten them.\n *\n * - **The fence need not start a line.** The prompt says \"on its own line\", but the model\n * routinely continues it straight after a sentence (`……完整元素周期表。\\`\\`\\`\\`ui4a/tsx`).\n * Anchoring with `^` drops that whole reply back to markdown, and hundreds of lines of\n * TSX get pasted into the conversation as prose — far worse than a loose match. So the\n * only requirement is that a backtick does not precede it (which would cut a longer\n * fence in half).\n * - **No newline is required after the language.** Same cause: the model glues the first\n * line of code onto the fence line. `[^\\n]*` was there for meta like `title=`, and it\n * swallows that code too — hence `inlineCode` below hands it back.\n */\nconst FENCE = new RegExp(String.raw`(?<!\\x60)(\\x60{3,})${FENCE_LANG.replace(\"/\", \"\\\\/\")}([^\\n]*)(\\n|$)`);\n\n/**\n * Where the closing fence is, or `-1`.\n *\n * Try the line-anchored form first (nearly every case) and only then scan for an inline\n * one. Running the permissive regex alone would make the lookbehind re-test at every\n * character — and the closing fence is absent for the whole streaming phase, so that is\n * the most expensive possible scan of the whole body, once per frame (measured on a 25KB\n * body: 1µs → 121µs).\n */\nfunction findClose(body: string, fence: string): number {\n const anchored = body.indexOf(`\\n${fence}`);\n if (anchored >= 0 && /^[^\\S\\n]*(?:\\n|$)/.test(body.slice(anchored + 1 + fence.length)) && body[anchored + 1 + fence.length] !== \"`\") return anchored + 1;\n for (let at = body.indexOf(fence); at >= 0; at = body.indexOf(fence, at + 1)) {\n if (body[at - 1] === \"`\" || body[at + fence.length] === \"`\") continue;\n if (/^[^\\S\\n]*(?:\\n|$)/.test(body.slice(at + fence.length))) return at;\n }\n // A closer SHORTER than the opener. Markdown says this does not close the fence, and the\n // model writes it anyway: 18 of 385 openers in the corpus are closed by a shorter run\n // (`open=6 close=4` nine times), and each one is a card that streams forever because nothing\n // ever ends it. Accepting any standalone run of three-plus rescues 16 and cuts 0 short — the\n // single card where a shorter run precedes the matching one had closed itself twice, so\n // cutting at the first is the same body. Tried last so an exact match always wins.\n const short = /(?:^|\\n)[^\\S\\n]*(`{3,})[^\\S\\n]*(?:\\n|$)/.exec(body);\n return short === undefined || short === null ? -1 : short.index + (short[0].startsWith(\"\\n\") ? 1 : 0);\n}\n\n/**\n * Tool-call markup the model leaked into its own prose. The reply ends mid-fence with the\n * closing tags glued to the last line of TSX, so the body reaches the compiler with those tags\n * in it and fails to parse — the whole card is lost, not just the closing fence.\n *\n * Two spellings, and the rarer one was found first: `</parameter></invoke>` appeared once in\n * the corpus, while the model's own `</||DSML||parameter>` form accounts for three more and\n * was invisible to a regex written from that single sample. Those full-width bars are U+FF5C,\n * not ASCII `|`. Only stripped at the very end of an unterminated body, where nothing\n * legitimate can follow — which is true of a closed fence too: the model leaks the tags and then\n * still writes the closing fence, and stripping only the unterminated case loses that card outright.\n */\nexport const TOOL_CALL_MARKUP = /\\n?(?:<\\/(?:antml:|||DSML||)?(?:parameter|invoke|tool_calls)>\\s*)+$/;\n\n/**\n * The prompt asks for four backticks — generated TSX contains triple-backtick strings often\n * enough that a triple-backtick fence would be closed early by its own body. Three or more\n * are accepted anyway: models do not always comply, and one backtick short should not\n * demote the whole block to a plain code listing. The closing fence matches the opening\n * length, so the four-backtick form still tolerates triples inside.\n *\n * An unterminated fence still yields a segment with `complete: false` — that is exactly the\n * frame a streaming reply is in, and rendering it is the entire point.\n */\nconst CODE_LINE = /^(import|export|const|function|type|interface|let|\\/\\/)\\b/;\nconst FENCE_META = /^[\\w-]+=/;\n\nexport function parseUi4aSegments(text: string): Ui4aSegment[] {\n const segments: Ui4aSegment[] = [];\n let rest = text;\n while (true) {\n const open = FENCE.exec(rest);\n if (open === null) return segments;\n // Leftovers after `ui4a/tsx` on the fence line: normally empty (or meta like `title=`),\n // but the model sometimes puts the first line of code there. If it looks like code,\n // hand it back as the body's first line rather than dropping it.\n const trailing = open[2].trim();\n const bodyStart = open.index + open[0].length;\n // A fence opener the model is *talking about* rather than opening. Measured: 19 of 405\n // openers in the corpus are prose, and 14 of them put the sentence right after the\n // language (`\\`\\`\\`\\`ui4a/tsx\\`\\`\\`\\` 块,原地渲染成…`). Anything that is not code and not\n // `key=value` meta is one; skipping the whole opener costs 0 of 390 real cards.\n if (trailing !== \"\" && !CODE_LINE.test(trailing) && !FENCE_META.test(trailing)) {\n rest = rest.slice(bodyStart);\n continue;\n }\n // A wrapper: the model opened a wider fence and then opened the real one inside it, the way\n // this project's own prompt shows the block (`\\`\\`\\`\\`\\`` around `\\`\\`\\`\\`ui4a/tsx`). Taking the\n // outer one gives a body that is the inner fence AS TEXT — which compiles, silently, to a\n // card that renders nothing. Once in 389 corpus openers, and it costs the reader the card.\n if (/^[^\\S\\n]*`{3,}ui4a\\/tsx/.test(rest.slice(bodyStart))) {\n rest = rest.slice(bodyStart);\n continue;\n }\n const inlineCode = CODE_LINE.test(trailing) ? `${trailing}\\n` : \"\";\n const closeIndex = findClose(rest.slice(bodyStart), open[1]);\n if (closeIndex === -1) {\n segments.push({ code: (inlineCode + rest.slice(bodyStart)).replace(TOOL_CALL_MARKUP, \"\"), complete: false });\n return segments;\n }\n segments.push({ code: (inlineCode + rest.slice(bodyStart, bodyStart + closeIndex)).replace(TOOL_CALL_MARKUP, \"\"), complete: true });\n rest = rest.slice(bodyStart + closeIndex).replace(new RegExp(String.raw`^${open[1]}[^\\n]*\\n?`), \"\");\n }\n}\n",
|
|
48
|
-
"/**\n *
|
|
49
|
-
"/**\n * Wires the canvas column: watch the transcript for canvas writes, mount the panel when\n * there are any, unmount when there are none.\n */\nimport { createElement } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { CanvasPanel, type Canvas } from \"./CanvasPanel.tsx\";\nimport { CanvasLauncher } from \"./CanvasLauncher.tsx\";\nimport { PANEL_CSS } from \"./panel-css.ts\";\nimport { collectCanvases, type ToolCallView } from \"./collect.ts\";\nimport { listCanvasIds, readCanvasFile } from \"./read.ts\";\nimport { createColumn, injectStyles, whenFrameReady } from \"./mount.ts\";\nimport { observeTranscript, scheduleSweep } from \"../runtime/observe.ts\";\n\nexport type CanvasHostOptions = {\n /** Every tool call in the current session, oldest first. */\n calls: () => readonly ToolCallView[];\n /** The current session's workspace directory, when it has one. */\n cwd: () => string | undefined;\n /** Identity of the current session; dismissals are remembered against it. */\n sessionId: () => string;\n /**\n * Where a canvas's compile failure goes. Optional because a host may have no chat channel;\n * absent, the error is still painted for the reader and simply reaches nobody else.\n */\n onCardError?: (message: string, phase: string) => void;\n /** A canvas that painted; cancels a deferred error report the next frame made untrue. */\n onCardRendered?: () => void;\n};\n\nconst EMPTY: ReadonlySet<string> = new Set();\n\n/**\n * A call whose arguments carry executable code rather than a file operation.\n *\n * Matched on the argument text, not the tool name, for the same reason `collect.ts` classifies\n * by shape: the day the host renames `run_code`, a name list stops matching and canvases\n * silently stop appearing.\n *\n * It must also mention the canvases directory. All 29 opaque canvas writes in the corpus do,\n * even the 27 whose path is built from a variable — and without that clause a session doing\n * ordinary shell work re-lists once per command (measured: median 0, but one session hit 94).\n */\n/**\n * What a sweep would paint, as a string. Equal signatures mean nothing to do.\n *\n * The observer fires on every streamed token, so this is what stands between the panel and a\n * React render per token. `code.length` rather than the code: a growing card changes length on\n * every frame, which is exactly when it should repaint, and comparing megabytes of source per\n * token would cost more than the render. The offerable list belongs in it too — closing the\n * last canvas changes nothing about the visible list, and without it the launcher never paints.\n */\nexport const paintSignature = (canvases: readonly Canvas[], offerable: readonly string[]): string => `${canvases.map((c) => `${c.id}:${c.code.length}:${String(c.streaming)}`).join(\"|\")}#${offerable.join(\",\")}`;\n\nexport const OPAQUE_WRITE = /\"(?:code|command)\"\\s*:[\\s\\S]*canvases/;\n\nexport function mountCanvasHost({ calls, cwd, sessionId, onCardError, onCardRendered }: CanvasHostOptions): { dispose: () => void; show: (id: string) => void } {\n /**\n * Canvas bodies re-read from disk, for the ones a patch left stale.\n *\n * Keyed by canvas id and versioned by how many mutating calls it has seen, so a further\n * edit invalidates the entry while repeated sweeps over the same state reuse it. Without\n * the version the choice is between never refetching and refetching every frame.\n */\n const fromFile = new Map<string, { version: number; code?: string }>();\n const disposers: (() => void)[] = [injectStyles(PANEL_CSS)];\n /**\n * Canvases the reader dismissed, per session.\n *\n * Closing hides what is on screen without opting out of the feature — a canvas written\n * afterwards still opens. Keyed by session because ids are only unique within one: a\n * dismissal must not follow the reader into another conversation, and returning to a\n * session should find it as they left it.\n */\n const dismissed = new Map<string, Set<string>>();\n /**\n * Canvases the reader opened from the launcher that this session never wrote.\n *\n * A canvas outlives its session, so the launcher offers everything in the workspace —\n * but those have no tool call to reconstruct them from, and their bodies come off disk.\n * Keyed by session for the same reason `dismissed` is.\n */\n const opened = new Map<string, Set<string>>();\n /** Bodies of the launcher-opened canvases. Read once: nothing in this session changes them. */\n const openedCode = new Map<string, string>();\n /** Every canvas on disk, for the launcher. Refreshed per workspace, not per sweep. */\n let workspaceIds: readonly string[] = [];\n let listedFor: string | undefined;\n /** Settled opaque calls at the time of the last listing — see the sweep for why. */\n let listedAfter = -1;\n // `null` until the first paint, so an empty first paint is still a paint. An empty string\n // would collide with the signature of \"no canvases\" and skip it.\n let signature: string | null = null;\n\n /**\n * Show a canvas the reader picked, whether or not this session wrote it.\n *\n * Defined out here rather than inside the sweep because callers outside the panel reach\n * it too — the transcript's file links, which would otherwise hand a `.ui4a.tsx` to the\n * OS file opener.\n */\n const show = (id: string): void => {\n const session = sessionId();\n dismissed.get(session)?.delete(id);\n const showing = opened.get(session) ?? new Set<string>();\n showing.add(id);\n opened.set(session, showing);\n signature = null;\n scheduleSweep();\n };\n\n const stopWaiting = whenFrameReady((frameElement) => {\n const column = createColumn(frameElement);\n const root = createRoot(column.element);\n disposers.push(() => root.unmount(), column.remove);\n\n // `collectCanvases` walks every argument string by hand, which is what makes it correct on a\n // half-arrived JSON prefix — and it costs 0.16ms per canvas per sweep. The sweep runs on\n // every transcript mutation, so a session with 34 canvas calls (the corpus maximum) spent\n // ~5ms per streamed token re-deriving a result that had not changed. Keyed on the calls'\n // own bytes: a streamed argument grows, so its length moves on every frame that matters and\n // on none that do not.\n let callsKey: string | null = null;\n let collected = collectCanvases([]);\n\n const paint = () => {\n const allCalls = calls();\n const key = `${allCalls.length}:${allCalls.reduce((total, call) => total + call.argsRaw.length + (call.settled ? 1 : 0), 0)}`;\n if (key !== callsKey) {\n callsKey = key;\n collected = collectCanvases(allCalls);\n }\n const workspace = cwd();\n const session = sessionId();\n const hidden = dismissed.get(session) ?? EMPTY;\n // The workspace listing backs the launcher. Fetched once per workspace rather than per\n // sweep — the sweep runs per streamed token, and a directory listing is not free.\n // A call that ran arbitrary code may have written a canvas without any argument saying\n // so: 29 canvas writes in the corpus go through `run_code`, and in 27 of them the path is\n // built from a variable, so nothing in the arguments names the id. `collect.ts` cannot\n // classify what the arguments do not contain — but the workspace listing already knows,\n // it just never refreshed. Counting settled opaque calls re-lists once each time one\n // finishes, which is a directory read per code execution and nothing per streamed token.\n let opaque = 0;\n for (const call of allCalls) if (call.settled && OPAQUE_WRITE.test(call.argsRaw)) opaque += 1;\n if (workspace !== undefined && (workspace !== listedFor || opaque !== listedAfter)) {\n listedFor = workspace;\n listedAfter = opaque;\n void listCanvasIds(workspace).then((ids) => {\n workspaceIds = ids;\n signature = null;\n scheduleSweep();\n });\n }\n const canvases: Canvas[] = collected.canvases\n .filter((canvas) => !hidden.has(canvas.id))\n .map((canvas) => {\n const version = collected.stale.get(canvas.id);\n // Not patched: the write's own arguments are the canvas, streaming included.\n if (version === undefined) return canvas;\n // One entry per canvas covers both states: `code` absent means a read is in\n // flight, present means it settled. Two collections would only be two things to\n // keep in sync.\n const cached = fromFile.get(canvas.id);\n if (cached?.version === version) return cached.code === undefined ? canvas : { ...canvas, code: cached.code };\n if (workspace !== undefined) {\n fromFile.set(canvas.id, { version });\n void readCanvasFile(workspace, canvas.id).then((code) => {\n // A miss keeps the entry (with no body) rather than dropping it: deleting it\n // makes the very next sweep — one per streamed token — fire the same failing\n // read again, forever. The version already invalidates it when a real change\n // lands, which is the only thing that could make the answer differ.\n if (code === null) return;\n fromFile.set(canvas.id, { version, code });\n // The body changed underneath the signature, so force the next sweep to paint.\n signature = null;\n scheduleSweep();\n });\n }\n // Until it arrives, the previous body still beats an empty panel.\n return cached?.code === undefined ? canvas : { ...canvas, code: cached.code };\n });\n\n // Canvases the reader picked out of the launcher. Their code is not in any tool call,\n // so it comes off disk once and then stays — nothing this session does can change it.\n for (const id of opened.get(session) ?? EMPTY) {\n if (hidden.has(id) || canvases.some((canvas) => canvas.id === id)) continue;\n const code = openedCode.get(id);\n if (code !== undefined) canvases.push({ id, code, streaming: false });\n else if (workspace !== undefined) {\n openedCode.set(id, \"\");\n void readCanvasFile(workspace, id).then((body) => {\n if (body === null) return;\n openedCode.set(id, body);\n signature = null;\n scheduleSweep();\n });\n }\n }\n\n // What the launcher can offer: everything on disk, plus anything written this session\n // whose file has not landed yet. Sorted so the button does not reshuffle between sweeps.\n const offerable = [...new Set([...workspaceIds, ...collected.canvases.map((canvas) => canvas.id)])].toSorted();\n\n const next = paintSignature(canvases, offerable);\n if (next === signature) return;\n signature = next;\n if (canvases.length === 0) column.setWidth(0);\n\n const repaint = () => {\n signature = null;\n scheduleSweep();\n };\n\n root.render(\n canvases.length > 0\n ? createElement(CanvasPanel, {\n canvases,\n offerable,\n cwd: cwd(),\n onOpen: show,\n onCardError,\n onCardRendered,\n onWidth: column.setWidth,\n onClose: () => {\n const hiding = dismissed.get(session) ?? new Set<string>();\n for (const canvas of canvases) hiding.add(canvas.id);\n dismissed.set(session, hiding);\n // Anything opened from the launcher is closed for good rather than left to\n // reappear on the next sweep: `dismissed` covers the ones with a tool call\n // behind them, and this covers the ones without.\n opened.delete(session);\n repaint();\n },\n })\n : offerable.length > 0\n ? createElement(CanvasLauncher, {\n ids: offerable,\n onOpen: show,\n })\n : null,\n );\n };\n\n disposers.push(observeTranscript(paint));\n });\n\n disposers.push(stopWaiting);\n return {\n dispose: () => {\n for (const dispose of disposers.toReversed()) dispose();\n },\n show,\n };\n}\n",
|
|
50
|
-
"/**\n * The canvas column: one mini app per `ui4a/canvases/<id>.ui4a.tsx`, rendered beside the\n * conversation rather than inside it.\n *\n * Composed rather than configured — the panel owns chrome and selection, `GenUISurface`\n * owns rendering, and the caller owns where canvases come from. That is what lets the\n * same surface back both this and the inline cards.\n */\nimport { useEffect, useRef, useState } from \"react\";\nimport { compiler, GenUISurface } from \"../runtime/GenUISurface.tsx\";\nimport { canvasPath } from \"../../contract.ts\";\nimport { readCanvasChild } from \"./read.ts\";\nimport { importsSibling, inlineSubPages } from \"./subpages.ts\";\nimport { useDismissable } from \"./useDismissable.ts\";\n\nexport type Canvas = { id: string; code: string; streaming: boolean };\n\nexport type CanvasPanelProps = {\n canvases: readonly Canvas[];\n /** Every canvas in the workspace, so the header can reach ones this session never wrote. */\n offerable: readonly string[];\n /** The session's workspace, needed to fetch a canvas's sub-page files. */\n cwd: string | undefined;\n onOpen: (id: string) => void;\n onClose: () => void;\n /** Reports the panel's width so the host frame can reserve matching space. */\n onWidth: (width: number) => void;\n /** A canvas that failed to compile; see `runtime/report-error.ts`. */\n onCardError?: (message: string, phase: string) => void;\n /** A canvas that painted; see `runtime/report-error.ts`. */\n onCardRendered?: () => void;\n};\n\n/**\n * Rewrites a canvas's relative sub-page imports into blob URLs before it is compiled.\n *\n * Only for a settled canvas: mid-stream the sibling files are usually not written yet, and a\n * canvas does not stream under the default PTC mode anyway (see CLAUDE.md §3.6). Until the\n * rewrite lands the original source is rendered, which fails exactly as it does today rather\n * than blanking a canvas that was working.\n */\nexport function useSubPages(cwd: string | undefined, canvas: Canvas | undefined) {\n const [resolved, setResolved] = useState<{ key: string; code: string } | null>(null);\n // Destructured so the effect depends on scalars: the store rebuilds `canvas` on every sweep,\n // and depending on the object would re-run the whole resolve for an unchanged canvas.\n const id = canvas?.id;\n const code = canvas?.code;\n const streaming = canvas?.streaming;\n\n useEffect(() => {\n if (cwd === undefined || id === undefined || code === undefined) return;\n if (!needsResolve(code, streaming)) return;\n const key = `${id}:${code.length}`;\n let live = true;\n const urls: string[] = [];\n const compile = async (filename: string, source: string) => (await compiler().compile(source, { filename })).code;\n void inlineSubPages(code, canvasPath(id), (specifier, from) => readCanvasChild(cwd, id, specifier, from), compile, urls).then((next) => {\n // Resolved after teardown: nobody will ever render these, so revoke them here — the\n // disposer already ran and cannot see urls the pass appended after it.\n if (!live) return void revokeAll(urls);\n setResolved({ key, code: next });\n });\n return () => {\n live = false;\n // The surface holds the previous code, so its blobs stay reachable until it re-renders;\n // revoking on the next resolve rather than here would leak one set per edit.\n revokeAll(urls);\n };\n }, [cwd, id, code, streaming]);\n\n if (id === undefined || code === undefined) return \"\";\n return resolved !== null && resolved.key === `${id}:${code.length}` ? resolved.code : code;\n}\n\n/**\n * Revoke every blob URL in a list, exactly once each.\n *\n * Both callers hand it the SAME array — the disposer, and the resolve that lands after it. The\n * array is filled by `inlineSubPages` as it goes, so the two can see different lengths, and a\n * URL revoked twice is harmless while one revoked never is a leak per edit. Emptying the list\n * as it goes makes the pair idempotent regardless of which runs first or what arrived between.\n */\n/**\n * Whether this canvas needs the sub-page pass at all. Extracted from the effect because the\n * mutation audit could not constrain it there — flipping `streaming` or dropping the\n * `importsSibling` check survived every test, and both are load-bearing: resolving mid-stream\n * inlines a prefix that the next frame supersedes, and a canvas with no sibling imports would\n * pay a compile per frame to produce the code it already had.\n *\n * The `undefined` checks stay in the effect: a type predicate narrows only one parameter, and\n * moving them here would cost the compiler its knowledge that `cwd` and `id` are strings after.\n */\nexport const needsResolve = (code: string, streaming: boolean | undefined): boolean => !streaming && importsSibling(code);\n\nexport const revokeAll = (urls: string[]): void => {\n while (urls.length > 0) URL.revokeObjectURL(urls.pop()!);\n};\n\n/** Cheap gate: only a canvas that actually writes a relative import pays for the pass. */\nconst MIN_WIDTH = 320;\nconst MAX_WIDTH = 720;\n/** Exported for `test/panel-css.test.ts`: the default must be draggable-to. */\nexport { MIN_WIDTH as MIN_WIDTH_FOR_TEST, MAX_WIDTH as MAX_WIDTH_FOR_TEST };\n/**\n * Must equal the `--dgu-panel-width` fallback in `panel.css`.\n *\n * The CSS default is what the panel is painted at before React's inline style lands; this is\n * what the resize state starts from. Different values mean the panel visibly jumps on its first\n * frame — a `panel-css.test.ts` assertion holds them together, since a stylesheet cannot import\n * a constant.\n */\nexport const DEFAULT_WIDTH = 420;\n\n/**\n * The panel's width for a pointer at `clientX`, clamped to what is usable.\n *\n * Extracted from the drag handler because it is the whole of the arithmetic and none of the\n * DOM: a swapped bound or a flipped subtraction gives a panel that snaps shut or eats the\n * conversation, and the drag itself cannot be exercised without a browser.\n */\n/**\n * Which canvas the panel shows, and which ids the \"other canvases\" menu offers.\n *\n * Both are pure functions of the props and both decide what the reader is looking at, so they\n * are here rather than inline: the fallback is what covers a selected canvas disappearing\n * mid-stream (no cleanup needed — clearing the state as well would be a second render saying\n * the same thing), and `offerable` minus the tabs is what keeps the menu from listing what is\n * already on screen.\n */\nexport const activeCanvas = (canvases: readonly Canvas[], activeId: string | null) => canvases.find((canvas) => canvas.id === activeId) ?? canvases[canvases.length - 1];\n\nexport const otherCanvases = (canvases: readonly Canvas[], offerable: readonly string[]) => offerable.filter((id) => !canvases.some((canvas) => canvas.id === id));\n\nexport const widthForPointer = (clientX: number, viewportWidth: number) => Math.min(MAX_WIDTH, Math.max(MIN_WIDTH, viewportWidth - clientX));\n\n/** Drag-to-resize on the panel's left edge, mirroring the host's own invisible hit strip. */\nexport function useResize(initial: number) {\n const [width, setWidth] = useState(initial);\n const frame = useRef(0);\n const start = (event: React.PointerEvent<HTMLDivElement>) => {\n event.currentTarget.setPointerCapture(event.pointerId);\n event.currentTarget.setAttribute(\"data-dragging\", \"\");\n const move = (moveEvent: PointerEvent) => {\n // One update per frame: pointermove fires far faster than the panel can lay out.\n if (frame.current !== 0) return;\n frame.current = requestAnimationFrame(() => {\n frame.current = 0;\n setWidth(widthForPointer(moveEvent.clientX, window.innerWidth));\n });\n };\n const stop = () => {\n window.removeEventListener(\"pointermove\", move);\n window.removeEventListener(\"pointerup\", stop);\n document.querySelector(\"[data-dragging]\")?.removeAttribute(\"data-dragging\");\n if (frame.current !== 0) cancelAnimationFrame(frame.current);\n frame.current = 0;\n };\n window.addEventListener(\"pointermove\", move);\n window.addEventListener(\"pointerup\", stop);\n };\n return { width, start };\n}\n\nexport function CanvasPanel({ canvases, offerable, cwd, onOpen, onClose, onWidth, onCardError, onCardRendered }: CanvasPanelProps) {\n const { width, start } = useResize(DEFAULT_WIDTH);\n useEffect(() => onWidth(width), [width, onWidth]);\n const [activeId, setActiveId] = useState<string | null>(null);\n const { open: picking, setOpen: setPicking, anchor: picker } = useDismissable();\n // Only what is not already a tab: the tabs cover this session, this covers the rest.\n const elsewhere = otherCanvases(canvases, offerable);\n\n // Follow the newest canvas unless the reader has picked one that still exists. A\n // selection that disappears needs no cleanup: the fallback already covers it, and\n // clearing the state as well would only be a second render saying the same thing.\n const active = activeCanvas(canvases, activeId);\n const resolved = useSubPages(cwd, active);\n\n return (\n <div className=\"dgu-panel\" style={{ \"--dgu-panel-width\": `${width}px` } as React.CSSProperties}>\n <div className=\"dgu-resize\" onPointerDown={start} style={{ left: 0 }} />\n <div className=\"dgu-header\">\n <span className=\"dgu-title\">{active?.id ?? \"Canvas\"}</span>\n <span className=\"dgu-spacer\" />\n {elsewhere.length > 0 && (\n <div className=\"dgu-picker\" ref={picker}>\n <button type=\"button\" className=\"dgu-icon-button\" onClick={() => setPicking(!picking)} aria-expanded={picking} aria-label={`其他画布(${elsewhere.length})`} title={`其他画布(${elsewhere.length})`}>\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M3 5.5l4 3.5 4-3.5\" stroke=\"currentColor\" strokeWidth=\"1.4\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </button>\n {picking && (\n <ul className=\"dgu-launcher-menu dgu-picker-menu\">\n {elsewhere.map((id) => (\n <li key={id}>\n <button\n type=\"button\"\n className=\"dgu-launcher-item\"\n onClick={() => {\n setPicking(false);\n setActiveId(id);\n onOpen(id);\n }}\n >\n {id}\n </button>\n </li>\n ))}\n </ul>\n )}\n </div>\n )}\n <button type=\"button\" className=\"dgu-icon-button\" onClick={onClose} aria-label=\"关闭画布\" title=\"关闭画布\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M3 3l8 8M11 3l-8 8\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n </svg>\n </button>\n </div>\n {canvases.length > 1 && (\n <div className=\"dgu-tabs\" role=\"tablist\">\n {canvases.map((canvas) => (\n <button key={canvas.id} type=\"button\" role=\"tab\" className=\"dgu-tab\" aria-selected={canvas.id === active?.id} onClick={() => setActiveId(canvas.id)}>\n {canvas.id}\n </button>\n ))}\n </div>\n )}\n <div className=\"dgu-body\">\n {active === undefined ? (\n <div className=\"dgu-empty\">写入 ui4a/canvases/<id>.ui4a.tsx 后,画布会出现在这里</div>\n ) : (\n // A canvas arrives as whole files, so recompiles replace rather than extend —\n // preserving state would make an edited canvas silently keep the old render.\n <GenUISurface key={active.id} code={resolved} streaming={active.streaming} preserveState={false} onError={(error, phase) => onCardError?.(error.message, phase)} onRendered={onCardRendered} />\n )}\n </div>\n </div>\n );\n}\n",
|
|
49
|
+
"/**\n * One document observer, shared by every consumer that reacts to transcript mutations.\n *\n * Both the inline-fence claimer and the canvas host are driven by the same event — a\n * streamed token landing in the chat DOM — so a second observer over the same subtree only\n * doubles the browser's mutation bookkeeping and the number of frames scheduled. The\n * coalescing is not optional either: a streaming reply mutates the transcript dozens of\n * times per second, and one sweep per mutation is how a renderer melts the main thread.\n */\ntype Listener = () => void;\n\nconst listeners = new Set<Listener>();\nlet observer: MutationObserver | null = null;\nlet frame = 0;\n\nconst flush = () => {\n frame = 0;\n for (const listener of listeners) listener();\n};\n\nconst schedule = () => {\n if (frame !== 0) return;\n frame = requestAnimationFrame(flush);\n};\n\n/**\n * Runs `listener` at most once per frame while the document changes, starting immediately.\n * @returns a disposer that also tears the observer down once nothing is left listening.\n */\nexport function observeTranscript(listener: Listener): () => void {\n listeners.add(listener);\n if (observer === null) {\n observer = new MutationObserver(schedule);\n observer.observe(document.body, { subtree: true, childList: true, characterData: true });\n }\n schedule();\n return () => {\n listeners.delete(listener);\n if (listeners.size > 0) return;\n observer?.disconnect();\n observer = null;\n if (frame !== 0) cancelAnimationFrame(frame);\n frame = 0;\n };\n}\n\n/** Requests a frame outside a mutation — for state that changed without the DOM changing. */\nexport const scheduleSweep = schedule;\n\n/**\n * Drop every listener and tear the observer down.\n *\n * The set above is module scope, so it is shared by everything in a process — which is right in\n * a browser (one transcript, one observer) and is a trap in a test run, where a listener left by\n * one file goes on being swept by every later one. A sweep captures its root at registration, so\n * a stale one runs against a document that has since been replaced.\n *\n * Nothing in the plugin calls this: the shell disposes each host and that is the real path.\n */\nexport function resetTranscriptObservers(): void {\n listeners.clear();\n observer?.disconnect();\n observer = null;\n frame = 0;\n}\n",
|
|
50
|
+
"/**\n * Reading the current session's chat nodes.\n *\n * Both consumers — inline fences and canvases — need the same unwrap, and both run it on\n * every frame while a reply streams. Sharing it keeps the guards in one place, and lets\n * the per-node work be cached against a node's identity rather than redone per frame.\n */\nimport type { ClientContext } from \"@deepseek-ai/dsh-client-runtime/client\";\n\nexport type ChatNodeView = { readonly kind: string; readonly data: unknown; readonly anchorSeq: number };\n\ntype ChatSnapshotLike = { readonly nodes: { values(): Iterable<unknown> } };\ntype UiConversationLike = { binding(source: unknown): { target(name: \"chat\"): { getSnapshot(): ChatSnapshotLike | undefined } } };\n\n/** The current session's chat nodes, or an empty list when no session is open. */\nexport function chatNodes(ctx: ClientContext): readonly ChatNodeView[] {\n const sessionId = ctx.sessions.list.getSnapshot().current;\n if (sessionId === undefined) return [];\n const binding = ctx.sessions.binding(sessionId);\n if (binding === undefined) return [];\n // A static inject would disable older hosts, so feature-detect the 0.1.2 service per sweep.\n const uiConversation = ctx.get(\"uiConversation\") as UiConversationLike | undefined;\n const chat = uiConversation === undefined ? (binding.session.getSnapshot() as unknown as { readonly chat?: ChatSnapshotLike } | undefined)?.chat : uiConversation.binding(binding).target(\"chat\").getSnapshot();\n if (chat === undefined) return [];\n return [...chat.nodes.values()] as readonly ChatNodeView[];\n}\n\n/**\n * Derives a value per chat node, reusing the previous result when the node has not changed.\n *\n * A sweep runs on every frame of a streaming reply, but only the tail node is actually\n * growing — re-deriving finished nodes means re-scanning the whole transcript dozens of\n * times a second, which grows with session length rather than with what changed.\n *\n * @param key - identity of a node's current content; equal keys must mean equal results.\n * @param derive - the per-node work to memoize.\n */\nexport function perNode<T>(key: (node: ChatNodeView) => string, derive: (node: ChatNodeView) => T) {\n let cache = new Map<string, T>();\n return (nodes: readonly ChatNodeView[]): T[] => {\n const next = new Map<string, T>();\n const results: T[] = [];\n for (const node of nodes) {\n const id = key(node);\n const value = cache.get(id) ?? derive(node);\n next.set(id, value);\n results.push(value);\n }\n // Replacing the map drops entries for nodes that left the loaded window.\n cache = next;\n return results;\n };\n}\n",
|
|
51
|
+
"/**\n * Wires the canvas column: watch the transcript for canvas writes, mount the panel when\n * there are any, unmount when there are none.\n */\nimport { createElement } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { CanvasPanel, type Canvas } from \"./CanvasPanel.tsx\";\nimport { CanvasLauncher } from \"./CanvasLauncher.tsx\";\nimport { PANEL_CSS } from \"./panel-css.ts\";\nimport { collectCanvases, type ToolCallView } from \"./collect.ts\";\nimport { listCanvasIds, readCanvasFile } from \"./read.ts\";\nimport { createColumn, injectStyles, whenFrameReady } from \"./mount.ts\";\nimport { observeTranscript, scheduleSweep } from \"../runtime/observe.ts\";\n\nexport type CanvasHostOptions = {\n /** Every tool call in the current session, oldest first. */\n calls: () => readonly ToolCallView[];\n /** The current session's workspace directory, when it has one. */\n cwd: () => string | undefined;\n /** Identity of the current session; dismissals are remembered against it. */\n sessionId: () => string;\n /**\n * Where a canvas's compile failure goes. Optional because a host may have no chat channel;\n * absent, the error is still painted for the reader and simply reaches nobody else.\n */\n onCardError?: (message: string, phase: string) => void;\n /** A canvas that painted; cancels a deferred error report the next frame made untrue. */\n onCardRendered?: (restored: boolean) => void;\n};\n\nconst EMPTY: ReadonlySet<string> = new Set();\n\n/**\n * A call whose arguments carry executable code rather than a file operation.\n *\n * Matched on the argument text, not the tool name, for the same reason `collect.ts` classifies\n * by shape: the day the host renames `run_code`, a name list stops matching and canvases\n * silently stop appearing.\n *\n * It must also mention the canvases directory. All 29 opaque canvas writes in the corpus do,\n * even the 27 whose path is built from a variable — and without that clause a session doing\n * ordinary shell work re-lists once per command (measured: median 0, but one session hit 94).\n */\n/**\n * What a sweep would paint, as a string. Equal signatures mean nothing to do.\n *\n * The observer fires on every streamed token, so this is what stands between the panel and a\n * React render per token. `code.length` rather than the code: a growing card changes length on\n * every frame, which is exactly when it should repaint, and comparing megabytes of source per\n * token would cost more than the render. The offerable list belongs in it too — closing the\n * last canvas changes nothing about the visible list, and without it the launcher never paints.\n */\nexport const paintSignature = (canvases: readonly Canvas[], offerable: readonly string[]): string => `${canvases.map((c) => `${c.id}:${c.code.length}:${String(c.streaming)}`).join(\"|\")}#${offerable.join(\",\")}`;\n\nexport const OPAQUE_WRITE = /\"(?:code|command)\"\\s*:[\\s\\S]*canvases/;\n\nexport function mountCanvasHost({ calls, cwd, sessionId, onCardError, onCardRendered }: CanvasHostOptions): { dispose: () => void; show: (id: string) => void } {\n /**\n * Canvas bodies re-read from disk, for the ones a patch left stale.\n *\n * Keyed by canvas id and versioned by how many mutating calls it has seen, so a further\n * edit invalidates the entry while repeated sweeps over the same state reuse it. Without\n * the version the choice is between never refetching and refetching every frame.\n */\n const fromFile = new Map<string, { version: number; code?: string }>();\n const disposers: (() => void)[] = [injectStyles(PANEL_CSS)];\n /**\n * Canvases the reader dismissed, per session.\n *\n * Closing hides what is on screen without opting out of the feature — a canvas written\n * afterwards still opens. Keyed by session because ids are only unique within one: a\n * dismissal must not follow the reader into another conversation, and returning to a\n * session should find it as they left it.\n */\n const dismissed = new Map<string, Set<string>>();\n /**\n * Canvases the reader opened from the launcher that this session never wrote.\n *\n * A canvas outlives its session, so the launcher offers everything in the workspace —\n * but those have no tool call to reconstruct them from, and their bodies come off disk.\n * Keyed by session for the same reason `dismissed` is.\n */\n const opened = new Map<string, Set<string>>();\n /** Bodies of the launcher-opened canvases. Read once: nothing in this session changes them. */\n const openedCode = new Map<string, string>();\n /** Every canvas on disk, for the launcher. Refreshed per workspace, not per sweep. */\n let workspaceIds: readonly string[] = [];\n let listedFor: string | undefined;\n /** Settled opaque calls at the time of the last listing — see the sweep for why. */\n let listedAfter = -1;\n // `null` until the first paint, so an empty first paint is still a paint. An empty string\n // would collide with the signature of \"no canvases\" and skip it.\n let signature: string | null = null;\n\n /**\n * Show a canvas the reader picked, whether or not this session wrote it.\n *\n * Defined out here rather than inside the sweep because callers outside the panel reach\n * it too — the transcript's file links, which would otherwise hand a `.ui4a.tsx` to the\n * OS file opener.\n */\n const show = (id: string): void => {\n const session = sessionId();\n dismissed.get(session)?.delete(id);\n const showing = opened.get(session) ?? new Set<string>();\n showing.add(id);\n opened.set(session, showing);\n signature = null;\n scheduleSweep();\n };\n\n const stopWaiting = whenFrameReady((frameElement) => {\n const column = createColumn(frameElement);\n const root = createRoot(column.element);\n disposers.push(() => root.unmount(), column.remove);\n\n // `collectCanvases` walks every argument string by hand, which is what makes it correct on a\n // half-arrived JSON prefix — and it costs 0.16ms per canvas per sweep. The sweep runs on\n // every transcript mutation, so a session with 34 canvas calls (the corpus maximum) spent\n // ~5ms per streamed token re-deriving a result that had not changed. Keyed on the calls'\n // own bytes: a streamed argument grows, so its length moves on every frame that matters and\n // on none that do not.\n let callsKey: string | null = null;\n let collected = collectCanvases([]);\n\n const paint = () => {\n const allCalls = calls();\n const key = `${allCalls.length}:${allCalls.reduce((total, call) => total + call.argsRaw.length + (call.settled ? 1 : 0), 0)}`;\n if (key !== callsKey) {\n callsKey = key;\n collected = collectCanvases(allCalls);\n }\n const workspace = cwd();\n const session = sessionId();\n const hidden = dismissed.get(session) ?? EMPTY;\n // The workspace listing backs the launcher. Fetched once per workspace rather than per\n // sweep — the sweep runs per streamed token, and a directory listing is not free.\n // A call that ran arbitrary code may have written a canvas without any argument saying\n // so: 29 canvas writes in the corpus go through `run_code`, and in 27 of them the path is\n // built from a variable, so nothing in the arguments names the id. `collect.ts` cannot\n // classify what the arguments do not contain — but the workspace listing already knows,\n // it just never refreshed. Counting settled opaque calls re-lists once each time one\n // finishes, which is a directory read per code execution and nothing per streamed token.\n let opaque = 0;\n for (const call of allCalls) if (call.settled && OPAQUE_WRITE.test(call.argsRaw)) opaque += 1;\n if (workspace !== undefined && (workspace !== listedFor || opaque !== listedAfter)) {\n listedFor = workspace;\n listedAfter = opaque;\n void listCanvasIds(workspace).then((ids) => {\n workspaceIds = ids;\n signature = null;\n scheduleSweep();\n });\n }\n const canvases: Canvas[] = collected.canvases\n .filter((canvas) => !hidden.has(canvas.id))\n .map((canvas) => {\n const version = collected.stale.get(canvas.id);\n // Not patched: the write's own arguments are the canvas, streaming included.\n if (version === undefined) return canvas;\n // One entry per canvas covers both states: `code` absent means a read is in\n // flight, present means it settled. Two collections would only be two things to\n // keep in sync.\n const cached = fromFile.get(canvas.id);\n if (cached?.version === version) return cached.code === undefined ? canvas : { ...canvas, code: cached.code };\n if (workspace !== undefined) {\n fromFile.set(canvas.id, { version });\n void readCanvasFile(workspace, canvas.id).then((code) => {\n // A miss keeps the entry (with no body) rather than dropping it: deleting it\n // makes the very next sweep — one per streamed token — fire the same failing\n // read again, forever. The version already invalidates it when a real change\n // lands, which is the only thing that could make the answer differ.\n if (code === null) return;\n fromFile.set(canvas.id, { version, code });\n // The body changed underneath the signature, so force the next sweep to paint.\n signature = null;\n scheduleSweep();\n });\n }\n // Until it arrives, the previous body still beats an empty panel.\n return cached?.code === undefined ? canvas : { ...canvas, code: cached.code };\n });\n\n // Canvases the reader picked out of the launcher. Their code is not in any tool call,\n // so it comes off disk once and then stays — nothing this session does can change it.\n for (const id of opened.get(session) ?? EMPTY) {\n if (hidden.has(id) || canvases.some((canvas) => canvas.id === id)) continue;\n const code = openedCode.get(id);\n if (code !== undefined) canvases.push({ id, code, streaming: false });\n else if (workspace !== undefined) {\n openedCode.set(id, \"\");\n void readCanvasFile(workspace, id).then((body) => {\n if (body === null) return;\n openedCode.set(id, body);\n signature = null;\n scheduleSweep();\n });\n }\n }\n\n // What the launcher can offer: everything on disk, plus anything written this session\n // whose file has not landed yet. Sorted so the button does not reshuffle between sweeps.\n const offerable = [...new Set([...workspaceIds, ...collected.canvases.map((canvas) => canvas.id)])].toSorted();\n\n const next = paintSignature(canvases, offerable);\n if (next === signature) return;\n signature = next;\n if (canvases.length === 0) column.setWidth(0);\n\n const repaint = () => {\n signature = null;\n scheduleSweep();\n };\n\n root.render(\n canvases.length > 0\n ? createElement(CanvasPanel, {\n canvases,\n offerable,\n cwd: cwd(),\n onOpen: show,\n onCardError,\n onCardRendered,\n onWidth: column.setWidth,\n onClose: () => {\n const hiding = dismissed.get(session) ?? new Set<string>();\n for (const canvas of canvases) hiding.add(canvas.id);\n dismissed.set(session, hiding);\n // Anything opened from the launcher is closed for good rather than left to\n // reappear on the next sweep: `dismissed` covers the ones with a tool call\n // behind them, and this covers the ones without.\n opened.delete(session);\n repaint();\n },\n })\n : offerable.length > 0\n ? createElement(CanvasLauncher, {\n ids: offerable,\n onOpen: show,\n })\n : null,\n );\n };\n\n disposers.push(observeTranscript(paint));\n });\n\n disposers.push(stopWaiting);\n return {\n dispose: () => {\n for (const dispose of disposers.toReversed()) dispose();\n },\n show,\n };\n}\n",
|
|
52
|
+
"/**\n * The canvas column: one mini app per `ui4a/canvases/<id>.ui4a.tsx`, rendered beside the\n * conversation rather than inside it.\n *\n * Composed rather than configured — the panel owns chrome and selection, `GenUISurface`\n * owns rendering, and the caller owns where canvases come from. That is what lets the\n * same surface back both this and the inline cards.\n */\nimport { useEffect, useRef, useState } from \"react\";\nimport { compiler, GenUISurface } from \"../runtime/GenUISurface.tsx\";\nimport { canvasPath } from \"../../contract.ts\";\nimport { readCanvasChild } from \"./read.ts\";\nimport { importsSibling, inlineSubPages } from \"./subpages.ts\";\nimport { useDismissable } from \"./useDismissable.ts\";\n\nexport type Canvas = { id: string; code: string; streaming: boolean };\n\nexport type CanvasPanelProps = {\n canvases: readonly Canvas[];\n /** Every canvas in the workspace, so the header can reach ones this session never wrote. */\n offerable: readonly string[];\n /** The session's workspace, needed to fetch a canvas's sub-page files. */\n cwd: string | undefined;\n onOpen: (id: string) => void;\n onClose: () => void;\n /** Reports the panel's width so the host frame can reserve matching space. */\n onWidth: (width: number) => void;\n /** A canvas that failed to compile; see `runtime/report-error.ts`. */\n onCardError?: (message: string, phase: string) => void;\n /** A canvas that painted; see `runtime/report-error.ts`. */\n onCardRendered?: (restored: boolean) => void;\n};\n\n/**\n * Rewrites a canvas's relative sub-page imports into blob URLs before it is compiled.\n *\n * Only for a settled canvas: mid-stream the sibling files are usually not written yet, and a\n * canvas does not stream under the default PTC mode anyway (see CLAUDE.md §3.6). Until the\n * rewrite lands the original source is rendered, which fails exactly as it does today rather\n * than blanking a canvas that was working.\n */\nexport function useSubPages(cwd: string | undefined, canvas: Canvas | undefined) {\n const [resolved, setResolved] = useState<{ key: string; code: string } | null>(null);\n // Destructured so the effect depends on scalars: the store rebuilds `canvas` on every sweep,\n // and depending on the object would re-run the whole resolve for an unchanged canvas.\n const id = canvas?.id;\n const code = canvas?.code;\n const streaming = canvas?.streaming;\n\n useEffect(() => {\n if (cwd === undefined || id === undefined || code === undefined) return;\n if (!needsResolve(code, streaming)) return;\n const key = `${id}:${code.length}`;\n let live = true;\n const urls: string[] = [];\n const compile = async (filename: string, source: string) => (await compiler().compile(source, { filename })).code;\n void inlineSubPages(code, canvasPath(id), (specifier, from) => readCanvasChild(cwd, id, specifier, from), compile, urls).then((next) => {\n // Resolved after teardown: nobody will ever render these, so revoke them here — the\n // disposer already ran and cannot see urls the pass appended after it.\n if (!live) return void revokeAll(urls);\n setResolved({ key, code: next });\n });\n return () => {\n live = false;\n // The surface holds the previous code, so its blobs stay reachable until it re-renders;\n // revoking on the next resolve rather than here would leak one set per edit.\n revokeAll(urls);\n };\n }, [cwd, id, code, streaming]);\n\n if (id === undefined || code === undefined) return \"\";\n return resolved !== null && resolved.key === `${id}:${code.length}` ? resolved.code : code;\n}\n\n/**\n * Revoke every blob URL in a list, exactly once each.\n *\n * Both callers hand it the SAME array — the disposer, and the resolve that lands after it. The\n * array is filled by `inlineSubPages` as it goes, so the two can see different lengths, and a\n * URL revoked twice is harmless while one revoked never is a leak per edit. Emptying the list\n * as it goes makes the pair idempotent regardless of which runs first or what arrived between.\n */\n/**\n * Whether this canvas needs the sub-page pass at all. Extracted from the effect because the\n * mutation audit could not constrain it there — flipping `streaming` or dropping the\n * `importsSibling` check survived every test, and both are load-bearing: resolving mid-stream\n * inlines a prefix that the next frame supersedes, and a canvas with no sibling imports would\n * pay a compile per frame to produce the code it already had.\n *\n * The `undefined` checks stay in the effect: a type predicate narrows only one parameter, and\n * moving them here would cost the compiler its knowledge that `cwd` and `id` are strings after.\n */\nexport const needsResolve = (code: string, streaming: boolean | undefined): boolean => !streaming && importsSibling(code);\n\nexport const revokeAll = (urls: string[]): void => {\n while (urls.length > 0) URL.revokeObjectURL(urls.pop()!);\n};\n\n/** Cheap gate: only a canvas that actually writes a relative import pays for the pass. */\nconst MIN_WIDTH = 320;\nconst MAX_WIDTH = 720;\n/** Exported for `test/panel-css.test.ts`: the default must be draggable-to. */\nexport { MIN_WIDTH as MIN_WIDTH_FOR_TEST, MAX_WIDTH as MAX_WIDTH_FOR_TEST };\n/**\n * Must equal the `--dgu-panel-width` fallback in `panel.css`.\n *\n * The CSS default is what the panel is painted at before React's inline style lands; this is\n * what the resize state starts from. Different values mean the panel visibly jumps on its first\n * frame — a `panel-css.test.ts` assertion holds them together, since a stylesheet cannot import\n * a constant.\n */\nexport const DEFAULT_WIDTH = 420;\n\n/**\n * The panel's width for a pointer at `clientX`, clamped to what is usable.\n *\n * Extracted from the drag handler because it is the whole of the arithmetic and none of the\n * DOM: a swapped bound or a flipped subtraction gives a panel that snaps shut or eats the\n * conversation, and the drag itself cannot be exercised without a browser.\n */\n/**\n * Which canvas the panel shows, and which ids the \"other canvases\" menu offers.\n *\n * Both are pure functions of the props and both decide what the reader is looking at, so they\n * are here rather than inline: the fallback is what covers a selected canvas disappearing\n * mid-stream (no cleanup needed — clearing the state as well would be a second render saying\n * the same thing), and `offerable` minus the tabs is what keeps the menu from listing what is\n * already on screen.\n */\nexport const activeCanvas = (canvases: readonly Canvas[], activeId: string | null) => canvases.find((canvas) => canvas.id === activeId) ?? canvases[canvases.length - 1];\n\nexport const otherCanvases = (canvases: readonly Canvas[], offerable: readonly string[]) => offerable.filter((id) => !canvases.some((canvas) => canvas.id === id));\n\nexport const widthForPointer = (clientX: number, viewportWidth: number) => Math.min(MAX_WIDTH, Math.max(MIN_WIDTH, viewportWidth - clientX));\n\n/** Drag-to-resize on the panel's left edge, mirroring the host's own invisible hit strip. */\nexport function useResize(initial: number) {\n const [width, setWidth] = useState(initial);\n const frame = useRef(0);\n const start = (event: React.PointerEvent<HTMLDivElement>) => {\n event.currentTarget.setPointerCapture(event.pointerId);\n event.currentTarget.setAttribute(\"data-dragging\", \"\");\n const move = (moveEvent: PointerEvent) => {\n // One update per frame: pointermove fires far faster than the panel can lay out.\n if (frame.current !== 0) return;\n frame.current = requestAnimationFrame(() => {\n frame.current = 0;\n setWidth(widthForPointer(moveEvent.clientX, window.innerWidth));\n });\n };\n const stop = () => {\n window.removeEventListener(\"pointermove\", move);\n window.removeEventListener(\"pointerup\", stop);\n document.querySelector(\"[data-dragging]\")?.removeAttribute(\"data-dragging\");\n if (frame.current !== 0) cancelAnimationFrame(frame.current);\n frame.current = 0;\n };\n window.addEventListener(\"pointermove\", move);\n window.addEventListener(\"pointerup\", stop);\n };\n return { width, start };\n}\n\nexport function CanvasPanel({ canvases, offerable, cwd, onOpen, onClose, onWidth, onCardError, onCardRendered }: CanvasPanelProps) {\n const { width, start } = useResize(DEFAULT_WIDTH);\n useEffect(() => onWidth(width), [width, onWidth]);\n const [activeId, setActiveId] = useState<string | null>(null);\n const { open: picking, setOpen: setPicking, anchor: picker } = useDismissable();\n // Only what is not already a tab: the tabs cover this session, this covers the rest.\n const elsewhere = otherCanvases(canvases, offerable);\n\n // Follow the newest canvas unless the reader has picked one that still exists. A\n // selection that disappears needs no cleanup: the fallback already covers it, and\n // clearing the state as well would only be a second render saying the same thing.\n const active = activeCanvas(canvases, activeId);\n const resolved = useSubPages(cwd, active);\n\n return (\n <div className=\"dgu-panel\" style={{ \"--dgu-panel-width\": `${width}px` } as React.CSSProperties}>\n <div className=\"dgu-resize\" onPointerDown={start} style={{ left: 0 }} />\n <div className=\"dgu-header\">\n <span className=\"dgu-title\">{active?.id ?? \"Canvas\"}</span>\n <span className=\"dgu-spacer\" />\n {elsewhere.length > 0 && (\n <div className=\"dgu-picker\" ref={picker}>\n <button type=\"button\" className=\"dgu-icon-button\" onClick={() => setPicking(!picking)} aria-expanded={picking} aria-label={`其他画布(${elsewhere.length})`} title={`其他画布(${elsewhere.length})`}>\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M3 5.5l4 3.5 4-3.5\" stroke=\"currentColor\" strokeWidth=\"1.4\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </button>\n {picking && (\n <ul className=\"dgu-launcher-menu dgu-picker-menu\">\n {elsewhere.map((id) => (\n <li key={id}>\n <button\n type=\"button\"\n className=\"dgu-launcher-item\"\n onClick={() => {\n setPicking(false);\n setActiveId(id);\n onOpen(id);\n }}\n >\n {id}\n </button>\n </li>\n ))}\n </ul>\n )}\n </div>\n )}\n <button type=\"button\" className=\"dgu-icon-button\" onClick={onClose} aria-label=\"关闭画布\" title=\"关闭画布\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M3 3l8 8M11 3l-8 8\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n </svg>\n </button>\n </div>\n {canvases.length > 1 && (\n <div className=\"dgu-tabs\" role=\"tablist\">\n {canvases.map((canvas) => (\n <button key={canvas.id} type=\"button\" role=\"tab\" className=\"dgu-tab\" aria-selected={canvas.id === active?.id} onClick={() => setActiveId(canvas.id)}>\n {canvas.id}\n </button>\n ))}\n </div>\n )}\n <div className=\"dgu-body\">\n {active === undefined ? (\n <div className=\"dgu-empty\">写入 ui4a/canvases/<id>.ui4a.tsx 后,画布会出现在这里</div>\n ) : (\n // `preserveState` was false here, on the theory that a whole-file replace could\n // \"silently keep the old render\". It cannot: both of partial-react's reuse branches\n // (`runtime.ts:317` and `:404`) require `updateMode === \"push\"`, and a canvas arrives\n // whole, so it always runs in `\"render\"` — measured, the edit lands either way.\n // What preserving buys is the state: `:426` calls the generated component from inside\n // a stable slot wrapper, so its hooks stay on the same fiber across a recompile, and\n // `:424` keys the error boundary off the hook signature instead of the render round.\n // Without it every edit remounted the tree and a running timer went back to zero.\n <GenUISurface key={active.id} code={resolved} streaming={active.streaming} onError={(error, phase) => onCardError?.(error.message, phase)} onRendered={onCardRendered} />\n )}\n </div>\n </div>\n );\n}\n",
|
|
51
53
|
"/**\n * Reads a canvas's current file contents through the plugin's own host route.\n *\n * Needed because `edit`-style tool calls carry a patch rather than the file: after one,\n * the tool-call stream no longer describes the canvas and only the file does.\n */\nimport { CANVAS_READ_PATH } from \"../../contract-assets.ts\";\n\n/** Monotonic per-read, so no two reads of one canvas can share a cache entry. */\nlet readSerial = 0;\n\n/** Every canvas in the workspace, including ones this session never wrote. */\nexport async function listCanvasIds(cwd: string): Promise<readonly string[]> {\n try {\n const response = await fetch(`${CANVAS_READ_PATH}?cwd=${encodeURIComponent(cwd)}`, { cache: \"no-store\" });\n return response.ok ? ((await response.json()) as string[]) : [];\n } catch {\n return [];\n }\n}\n\nexport async function readCanvasFile(cwd: string, id: string): Promise<string | null> {\n // A distinct URL per read on top of `no-store`: the file is re-read precisely because it\n // changed, so any reuse of an earlier response is guaranteed to be the wrong answer.\n readSerial += 1;\n const url = `${CANVAS_READ_PATH}?cwd=${encodeURIComponent(cwd)}&id=${encodeURIComponent(id)}&r=${readSerial}`;\n try {\n // `cache: \"no-store\"` on the request as well as the response: a canvas is re-read\n // precisely because it just changed, and a cached body is the one answer that is\n // guaranteed wrong.\n const response = await fetch(url, { cache: \"no-store\" });\n // 404 is ordinary: a canvas whose write is still streaming has no file yet.\n return response.ok ? await response.text() : null;\n } catch {\n return null;\n }\n}\n\n/**\n * Reads one of a canvas's sub-page files, named by the relative specifier as written in the\n * canvas source. The server resolves it through the contract; anything outside this canvas's\n * own child directory comes back 400 and reads here as null.\n */\nexport async function readCanvasChild(cwd: string, id: string, specifier: string, from: string): Promise<{ source: string; filename: string } | null> {\n readSerial += 1;\n const url = `${CANVAS_READ_PATH}?cwd=${encodeURIComponent(cwd)}&id=${encodeURIComponent(id)}&child=${encodeURIComponent(specifier)}&from=${encodeURIComponent(from)}&r=${readSerial}`;\n try {\n const response = await fetch(url, { cache: \"no-store\" });\n if (!response.ok) return null;\n // The server resolved the extension; the compiler needs it to pick a syntax.\n return { source: await response.text(), filename: response.headers.get(\"x-ui4a-filename\") ?? `${specifier}.tsx` };\n } catch {\n return null;\n }\n}\n",
|
|
52
54
|
"/**\n * Rewrites a canvas's relative imports into blob URLs, before the source is compiled.\n *\n * `src/prompt.ts` tells the model that a canvas's sub-pages live in `<id>/` and are imported\n * with relative paths, and the model does exactly that. But a card is imported as a blob URL,\n * and `blob:` is not a hierarchical scheme — the browser rejects `./tarot/deck` with\n * \"Invalid relative url or base scheme isn't hierarchical\" before any import map is consulted,\n * so `setImportMap` cannot help. Measured: an import map keyed on the relative specifier fails\n * identically, because resolution against the importer's URL happens first.\n *\n * Replacing the specifier with the child's own blob URL removes the question: an absolute URL\n * has no base to resolve against. Children may import their siblings, which works for the same\n * reason once they too have been rewritten.\n */\n/**\n * Matches the specifier of a static import or re-export; the second capture is the specifier.\n *\n * NOT global, and that is load-bearing. It was `/g`, shared by all three call sites, and `.test`\n * on a global regex leaves `lastIndex` past the match it found — so `importsSibling` returning\n * TRUE made the very next `matchAll` on the same string return ZERO. That is the order\n * `CanvasPanel` calls them in: ask whether there are sibling imports, then go resolve them. The\n * panel found none to resolve and the card rendered without its sub-pages.\n *\n * `matchAll` requires `/g`, so it gets its own copy; the shared one stays sticky-free and no\n * caller has to remember to reset anything.\n */\nconst SPECIFIER = /(\\bfrom\\s*|\\bimport\\s*\\(\\s*)[\"'](\\.[^\"']*)[\"']/;\nconst SPECIFIER_ALL = new RegExp(SPECIFIER, \"g\");\n\n/**\n * Whether the card imports a sibling at all — the cheap question `CanvasPanel` asks before\n * paying for a resolve pass. It had its own copy of the regex, identical but for the `g` flag;\n * a widening applied to one and not the other means the panel never calls `inlineSubPages` and\n * the card silently renders without its sub-pages. Sharing one pattern fixed that and introduced\n * the `lastIndex` bug above — hence two derived regexes rather than two literals.\n */\nexport const importsSibling = (code: string) => SPECIFIER.test(code);\n\n/**\n * @param read fetches one child by its specifier, returning its source and the real filename\n * it was found under — the compiler picks its syntax from the extension, and a specifier is\n * written without one, so passing the specifier makes a `.ts` file fail to parse.\n * @param compile turns one child's TSX into JS. Children go through the same compiler as the\n * card, so a sub-page may be TSX and may itself import a sibling.\n * @param urls collects every blob created, so the caller can revoke them with the surface.\n */\nexport async function inlineSubPages(code: string, entry: string, read: (specifier: string, from: string) => Promise<{ source: string; filename: string } | null>, compile: (filename: string, source: string) => Promise<string>, urls: string[]): Promise<string> {\n // Keyed by the RESOLVED filename, never by the specifier: `./types` written in two different\n // child files is two different targets, and a specifier-keyed map silently serves the first\n // one to both. Measured on a real split — the model gives every child a sibling import.\n const sources = new Map<string, { source: string; filename: string; specifiers: Map<string, string> }>();\n const missing = new Set<string>();\n\n const specifiersIn = (source: string) => new Set([...source.matchAll(SPECIFIER_ALL)].map((match) => match[2]));\n\n // Collected breadth-first, then compiled in one pass. Resolving a child's own imports\n // *during* its fetch deadlocks on a cycle — a imports b imports a, and each awaits the\n // other's URL forever. Measured: it hung. Reading every reachable child first, and only\n // then handing out URLs, has no such wait.\n let frontier: { specifier: string; from: string }[] = [...specifiersIn(code)].map((specifier) => ({ specifier, from: entry }));\n const entryTargets = new Map<string, string>();\n while (frontier.length > 0) {\n const bodies = await Promise.all(frontier.map(async (want) => [want, await read(want.specifier, want.from)] as const));\n const next: { specifier: string; from: string }[] = [];\n for (const [want, found] of bodies) {\n const targets = want.from === entry ? entryTargets : sources.get(want.from)?.specifiers;\n if (found === null) {\n missing.add(want.specifier);\n continue;\n }\n targets?.set(want.specifier, found.filename);\n if (sources.has(found.filename)) continue;\n sources.set(found.filename, { ...found, specifiers: new Map() });\n for (const specifier of specifiersIn(found.source)) next.push({ specifier, from: found.filename });\n }\n frontier = next;\n }\n\n // A blob's contents are fixed at creation, so a child can only be minted once every sibling\n // it imports already has a URL. Repeat until nothing moves: a cycle never becomes mintable\n // and keeps its original specifiers, failing exactly as it does today rather than hanging.\n const urlFor = new Map<string, string>();\n for (const filename of sources.keys()) urlFor.set(filename, \"\");\n\n // Rewrites through `SPECIFIER_ALL`, not `replaceAll`, so only an actual import position moves.\n // A bare `replaceAll(\"./board\")` also rewrites the string in `const label = \"./board\"` — the\n // card then renders a blob URL as its label, or passes one where a path was meant. No corpus\n // card does this today; the regex that finds the imports already knows the difference, so\n // there is no reason to throw that away when putting them back.\n const rewrite = (source: string, specifiers: Map<string, string>) =>\n source.replace(SPECIFIER_ALL, (whole, lead: string, specifier: string) => {\n const url = urlFor.get(specifiers.get(specifier) ?? \"\");\n return url === undefined || url === \"\" ? whole : `${lead}${JSON.stringify(url)}`;\n });\n\n for (let progress = true; progress;) {\n progress = false;\n const ready = [...sources].filter(([filename, found]) => urlFor.get(filename) === \"\" && [...found.specifiers.values()].every((dep) => urlFor.get(dep) !== \"\"));\n const built = await Promise.all(ready.map(async ([filename, found]) => [filename, await compile(filename, rewrite(found.source, found.specifiers))] as const));\n for (const [filename, compiled] of built) {\n const url = URL.createObjectURL(new Blob([compiled], { type: \"text/javascript\" }));\n urlFor.set(filename, url);\n urls.push(url);\n progress = true;\n }\n }\n\n return rewrite(code, entryTargets);\n}\n",
|
|
53
55
|
"/**\n * Open/close state for a menu, closed by a click anywhere else.\n *\n * `pointerdown` on the document rather than a click handler on a backdrop: a backdrop\n * element would sit over the canvas and swallow the first click into it.\n */\nimport { useEffect, useRef, useState } from \"react\";\n\n/**\n * Closes on a pointerdown anywhere but `anchor`, while `open`. Returns its own disposer.\n *\n * Split out of the hook so the four things that matter are testable without a renderer: that it\n * does not listen while closed, that an outside press closes, that a press inside the anchor\n * does **not**, and that it unsubscribes. A `pointerdown` listener on the document rather than a\n * backdrop element, because a backdrop would sit over the canvas and swallow the first click\n * into it.\n */\nexport function dismissOnOutsidePointer(open: boolean, anchor: HTMLElement | null, close: () => void): (() => void) | undefined {\n if (!open) return undefined;\n const onPointerDown = (event: Event) => {\n // The toggle button lives inside the anchor, so ignoring the anchor is what keeps a click on\n // it from closing here and reopening in the button's own handler.\n if (anchor?.contains(event.target as Node) === true) return;\n close();\n };\n document.addEventListener(\"pointerdown\", onPointerDown);\n return () => document.removeEventListener(\"pointerdown\", onPointerDown);\n}\n\nexport function useDismissable() {\n const [open, setOpen] = useState(false);\n const anchor = useRef<HTMLDivElement>(null);\n\n useEffect(() => dismissOnOutsidePointer(open, anchor.current, () => setOpen(false)), [open]);\n\n return { open, setOpen, anchor };\n}\n",
|
|
@@ -56,7 +58,7 @@
|
|
|
56
58
|
"/**\n * Finds canvases in the transcript's tool calls.\n *\n * The model writes `ui4a/canvases/<id>.ui4a.tsx` with the host's ordinary file tools — no\n * bespoke tool, no new session event, nothing for the node half to do. `argsRaw` grows\n * token by token while the call streams, which is what makes a canvas render as it is\n * written (the same \"streaming from tool arguments\" contract as ui4a-playground).\n *\n * Parsing has to survive half a JSON object. Rather than depend on a partial-JSON parser\n * for two fields, the two we need are pulled out directly: the path decides whether this\n * is a canvas at all, and the content is a JSON string literal we can decode up to\n * wherever the stream currently ends.\n */\nimport { owningCanvasIdOf } from \"../../contract.ts\";\nimport type { Canvas } from \"./CanvasPanel.tsx\";\n\n/**\n * A call is classified by the SHAPE of its arguments, never by the tool's name.\n *\n * Enumerating names would mean a canvas silently stops rendering the day the host adds or\n * renames a file tool — no error, no stale marker, just an invisible no-op. What actually\n * matters is answerable from the arguments alone: does this call name a canvas path, and\n * does it carry the whole file or only a patch of it.\n */\nconst PATH_KEYS = [\"path\", \"file_path\", \"filename\", \"file\", \"target_file\"];\n\n/**\n * Keys that carry a whole file body.\n *\n * Deliberately excludes the patch-shaped keys (`old_str`/`new_str`, `old_string`/\n * `new_string`, `diff`, `patch`): a call carrying one of those changes the canvas without\n * describing it, so the file on disk becomes the only correct source. `str_replace_editor`\n * is exactly this case — its `new_str` is the replacement snippet, not the file, and\n * treating it as a body replaces the whole canvas with a few lines.\n */\nconst CONTENT_KEYS = [\"content\", \"contents\", \"text\", \"file_text\"];\n\n/**\n * Keys that mean \"this call changed the file without saying what it now contains\".\n *\n * The counterpart to CONTENT_KEYS, and the thing that separates an edit from a read: both\n * name a canvas path and neither carries a body, so without this a plain `read` would mark\n * the canvas stale and — for a canvas this session never wrote — open a panel the user\n * never asked for, just for looking at the file.\n */\nconst PATCH_KEYS = [\"old_str\", \"new_str\", \"old_string\", \"new_string\", \"diff\", \"patch\", \"edits\", \"replacements\"];\n\nconst ESCAPES: Record<string, string> = { n: \"\\n\", t: \"\\t\", r: \"\\r\", b: \"\\b\", f: \"\\f\" };\n\n/**\n * The value of whichever key appears EARLIEST in the arguments, from complete JSON or a\n * truncated prefix of it.\n *\n * Earliest position rather than first-in-`keys`: a file body routinely contains the\n * literal text of another candidate key (a canvas that renders the word `\"content\"`, say),\n * and scanning key by key would find that occurrence inside the body and decode the rest\n * of the body as if it were the value — silently rendering a fragment as the whole canvas.\n * The real key can only precede its own value, so the leftmost hit is the right one.\n */\nfunction readString(argsRaw: string, keys: readonly string[]): string | undefined {\n let at = -1;\n let key: string | undefined;\n for (const candidate of keys) {\n const found = argsRaw.indexOf(`\"${candidate}\"`);\n if (found !== -1 && (at === -1 || found < at)) {\n at = found;\n key = candidate;\n }\n }\n if (key === undefined) return undefined;\n const colon = argsRaw.indexOf(\":\", at + key.length + 2);\n if (colon === -1) return undefined;\n const quote = argsRaw.indexOf('\"', colon + 1);\n if (quote === -1) return undefined;\n // Walk the string literal by hand: it may simply stop mid-escape while streaming.\n let out = \"\";\n for (let i = quote + 1; i < argsRaw.length; i += 1) {\n const char = argsRaw[i];\n if (char === \"\\\\\") {\n const escape = argsRaw[i + 1];\n if (escape === undefined) return out;\n if (escape === \"u\") {\n const hex = argsRaw.slice(i + 2, i + 6);\n // A \\u escape cut in half by the stream carries no character yet; the next frame has it.\n if (hex.length < 4) return out;\n out += String.fromCharCode(Number.parseInt(hex, 16) || 0);\n i += 5;\n continue;\n }\n out += ESCAPES[escape] ?? escape;\n i += 1;\n continue;\n }\n if (char === '\"') return out;\n out += char;\n }\n return out;\n}\n\nexport type ToolCallView = { name: string; argsRaw: string; settled: boolean };\n\n/**\n * One call in the tree a `tool-call` node owns.\n *\n * A running call carries its arguments inline; a settled one wraps them in `call`. Either\n * may own `subCalls` — `run_code` dispatches the file tools as children, so a canvas\n * written from inside a code block is nested rather than top-level.\n */\nexport type CallBlock = {\n kind?: string;\n name?: string;\n argsRaw?: string;\n call?: { name?: string; argsRaw?: string };\n subCalls?: readonly CallBlock[];\n};\n\n/** The call's own identity, ignoring its children. */\nfunction viewOf(block: CallBlock): ToolCallView | null {\n const name = block.call?.name ?? block.name;\n const argsRaw = block.call?.argsRaw ?? block.argsRaw;\n if (name === undefined || argsRaw === undefined) return null;\n // `tool-result` is the settled shape; anything else is still running.\n return { name, argsRaw, settled: block.kind === \"tool-result\" };\n}\n\n/**\n * Every call a `tool-call` node contains, parents before children.\n *\n * Flattening rather than reading only the root is what lets a canvas written through\n * `run_code` (or any other dispatching tool) be found: the write is a sub-call, and the\n * root's own arguments are the code that ran, not the file.\n */\nexport function toolCallsOf(data: unknown): ToolCallView[] {\n const root = (data as { root?: CallBlock } | undefined)?.root;\n if (root === undefined) return [];\n const found: ToolCallView[] = [];\n const walk = (block: CallBlock) => {\n const view = viewOf(block);\n if (view !== null) found.push(view);\n for (const child of block.subCalls ?? []) walk(child);\n };\n walk(root);\n return found;\n}\n\n/**\n * Latest canvas per id, in first-seen order.\n * @param calls - every tool call in the transcript, oldest first.\n */\nexport type CollectedCanvases = {\n canvases: Canvas[];\n /**\n * Canvases whose newest change was a patch, mapped to how many patches they have seen.\n * The count is a cache version: the caller re-reads the file when it changes, and\n * reuses what it already has when it does not.\n */\n stale: Map<string, number>;\n};\n\nexport function collectCanvases(calls: readonly ToolCallView[]): CollectedCanvases {\n const byId = new Map<string, Canvas>();\n const stale = new Map<string, number>();\n for (const call of calls) {\n // Reads name a canvas too; only a call that writes one is interesting.\n const path = readString(call.argsRaw, PATH_KEYS);\n if (path === undefined) continue;\n const id = owningCanvasIdOf(path);\n if (id === null) continue;\n const code = readString(call.argsRaw, CONTENT_KEYS);\n const isWrite = code !== undefined && code !== \"\";\n\n if (!isWrite) {\n // A patch changed the file without describing it, so the body on disk is now the only\n // correct source. A call with neither a body nor a patch only read it — leave it alone.\n const patches = PATCH_KEYS.some((key) => call.argsRaw.includes(`\"${key}\"`));\n if (patches && call.settled) stale.set(id, (stale.get(id) ?? 0) + 1);\n continue;\n }\n // A later write to the same id replaces the earlier one; insertion order is kept.\n byId.delete(id);\n byId.set(id, { id, code, streaming: !call.settled });\n // A whole-file write supersedes every patch before it.\n stale.delete(id);\n }\n // An edit to a canvas never written in this session still deserves a panel.\n for (const id of stale.keys()) if (!byId.has(id)) byId.set(id, { id, code: \"\", streaming: false });\n return { canvases: [...byId.values()], stale };\n}\n",
|
|
57
59
|
"/**\n * Mounts the canvas column into the host's AppFrame.\n *\n * There is no additive slot for a whole column: `details` is a single-occupant slot the\n * conversation already owns, and taking it would remove the tool-details seat declared\n * inside it. A portal into the frame's own flex row adds a column without contending for\n * anything — the same shape dsh-better-sidebar uses for its right sidebar.\n */\nconst FRAME = \".pI_x6G_frame, [class*='_frame']\";\nconst PLUGIN_ID = \"dsh-generative-ui\";\n\n/**\n * Injects the panel stylesheet.\n *\n * The `data-plugin` attribute is required, not decorative: the client module loader\n * claims every `style:not([data-plugin])` for whichever plugin is currently\n * materializing, so an unmarked sheet gets adopted by a stranger and torn out with them.\n */\nexport function injectStyles(css: string): () => void {\n const style = document.createElement(\"style\");\n style.setAttribute(\"data-plugin\", PLUGIN_ID);\n style.setAttribute(\"data-plugin-css\", `${PLUGIN_ID}/panel`);\n style.textContent = css;\n document.head.append(style);\n return () => style.remove();\n}\n\n/**\n * Resolves the frame element, waiting for it when the shell has not painted yet.\n * @param onFound - called once with the container; not called if disposed first.\n */\nexport function whenFrameReady(onFound: (frame: HTMLElement) => void): () => void {\n const found = document.querySelector<HTMLElement>(FRAME);\n if (found !== null) {\n onFound(found);\n return () => {};\n }\n const observer = new MutationObserver(() => {\n const frame = document.querySelector<HTMLElement>(FRAME);\n if (frame === null) return;\n observer.disconnect();\n window.clearTimeout(timer);\n onFound(frame);\n });\n observer.observe(document.body, { subtree: true, childList: true });\n // The selector tracks a hashed class name, so a host rebuild can invalidate it. Without\n // this the failure is a canvas panel that silently never appears; one warning turns a\n // mystery into a starting point.\n const timer = window.setTimeout(() => {\n observer.disconnect();\n console.warn(`[dsh-generative-ui] no AppFrame matched ${FRAME} — canvases cannot mount. The host's layout markup likely changed.`);\n }, 15_000);\n return () => {\n observer.disconnect();\n window.clearTimeout(timer);\n };\n}\n\n/**\n * Creates the panel's host element and makes room for it.\n *\n * The frame's own columns are sized to fill the viewport exactly, so an extra flex child\n * is laid out past the right edge no matter where it is inserted — present in the DOM,\n * correctly sized, and entirely off screen (that is what the first attempt did). Instead\n * the panel is fixed to the right edge and the frame is given matching right padding, so\n * the conversation reflows into the remaining width and nothing overlaps.\n *\n * @param frame - the host's AppFrame element.\n * @param width - the panel's current width in pixels.\n */\nexport function createColumn(frame: HTMLElement): {\n element: HTMLElement;\n setWidth: (width: number) => void;\n remove: () => void;\n} {\n const element = document.createElement(\"div\");\n element.setAttribute(\"data-dgu-canvas-column\", \"\");\n document.body.append(element);\n const previousPadding = frame.style.paddingRight;\n const setWidth = (width: number) => {\n frame.style.paddingRight = width === 0 ? previousPadding : `${width}px`;\n };\n return {\n element,\n setWidth,\n remove: () => {\n frame.style.paddingRight = previousPadding;\n element.remove();\n },\n };\n}\n"
|
|
58
60
|
],
|
|
59
|
-
"mappings": "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",
|
|
60
|
-
"debugId": "
|
|
61
|
+
"mappings": "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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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",
|
|
62
|
+
"debugId": "29F4BEE313CA37F064756E2164756E21",
|
|
61
63
|
"names": []
|
|
62
64
|
}
|