@maxhealth.tech/prefab 0.2.34 → 0.2.35

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/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [0.2.36] — 2026-05-09
6
+
7
+ ### Bug Fixes
8
+ - **Fixed**: Subscribe `onDataCallback` no longer clobbers merged state with raw response data — when `display_update()` merges a state delta via `applyPrefabUpdate()`, `store.set(stateKey, data)` is now skipped, preventing `stateKey` collision with delta keys (closes #10)
9
+ - **Fixed**: ESLint config now ignores `docs/` (VitePress cache/dist) and `eslint.config.ts` — previously caused 60 spurious parsing errors
10
+
5
11
  ## [0.2.35] — 2026-05-09
6
12
 
7
13
  ### Bug Fixes
package/dist/app.d.ts CHANGED
@@ -9,7 +9,7 @@ import type { ComponentJSON } from './core/component.js';
9
9
  import type { Action, ActionJSON } from './actions/types.js';
10
10
  import type { PipeFn } from './rx/pipes.js';
11
11
  /** Package version — injected by build script, updated at release time. */
12
- export declare const VERSION = "0.2.34";
12
+ export declare const VERSION = "0.2.35";
13
13
  export interface Theme {
14
14
  light?: Record<string, string>;
15
15
  dark?: Record<string, string>;
package/dist/app.js CHANGED
@@ -7,7 +7,7 @@
7
7
  import {} from './core/component.js';
8
8
  import { drainAutoState } from './rx/state-collector.js';
9
9
  /** Package version — injected by build script, updated at release time. */
10
- export const VERSION = '0.2.34';
10
+ export const VERSION = '0.2.35';
11
11
  export class PrefabApp {
12
12
  title;
13
13
  view;
@@ -356,9 +356,10 @@ function handleSubscribe(action, ctx) {
356
356
  ctx.remount(wireData);
357
357
  }
358
358
  else {
359
- // State delta: $prefab + update.state
360
- applyPrefabUpdate(data, ctx);
361
- ctx.store.set(stateKey, data);
359
+ // State delta: $prefab + update.state — skip raw store.set when delta was merged
360
+ const merged = applyPrefabUpdate(data, ctx);
361
+ if (!merged)
362
+ ctx.store.set(stateKey, data);
362
363
  ctx.rerender();
363
364
  }
364
365
  void runCallbacks(action.onData, ctx, { $data: data });
@@ -504,13 +505,14 @@ function isPrefabUpdate(obj) {
504
505
  const update = obj.update;
505
506
  return update != null && typeof update === 'object' && 'state' in update;
506
507
  }
507
- /** If a result contains a display_update() payload, merge its state into the store. */
508
+ /** If a result contains a display_update() payload, merge its state into the store. Returns true if a state delta was applied. */
508
509
  function applyPrefabUpdate(result, ctx) {
509
510
  const updateData = extractPrefabUpdate(result);
510
511
  if (!updateData)
511
- return;
512
+ return false;
512
513
  const update = updateData.update;
513
514
  ctx.store.merge(update.state);
515
+ return true;
514
516
  }
515
517
  /** Blocked URL schemes that can execute code. */
516
518
  const UNSAFE_SCHEME_RE = /^\s*(javascript|vbscript|data):/i;
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/renderer/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/renderer/actions.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- (()=>{class J0{data={};subscribers=new Map;globalSubscribers=new Set;generation=0;constructor($){if($)this.data=structuredClone($)}get($){return W4(this.data,$)}getAll(){return this.data}set($,Z){J1(this.data,$,Z),this.notify($)}toggle($){let Z=this.get($),J=Z==null||Z===!1||Z===0||Z==="";this.set($,J)}append($,Z,J){let q=this.get($);if(!Array.isArray(q)){this.set($,[Z]);return}if(J!==void 0)q.splice(J,0,Z);else q.push(Z);this.notify($)}pop($,Z){let J=this.get($);if(!Array.isArray(J))return;if(typeof Z==="number")J.splice(Z,1);else{let q=J.indexOf(Z);if(q>=0)J.splice(q,1)}this.notify($)}merge($){for(let[Z,J]of Object.entries($))J1(this.data,Z,J);for(let Z of Object.keys($))this.notify(Z)}subscribe($,Z){if(!this.subscribers.has($))this.subscribers.set($,new Set);return this.subscribers.get($)?.add(Z),()=>this.subscribers.get($)?.delete(Z)}subscribeAll($){return this.globalSubscribers.add($),()=>this.globalSubscribers.delete($)}notify($){this.generation++;let Z=$.split(".");for(let J=1;J<=Z.length;J++){let q=Z.slice(0,J).join("."),Q=this.subscribers.get(q);if(Q)Q.forEach((Y)=>Y())}this.globalSubscribers.forEach((J)=>J())}}function W4($,Z){let J=Z.split("."),q=$;for(let Q of J){if(q==null||typeof q!=="object")return;q=q[Q]}return q}var H4=new Set(["__proto__","constructor","prototype"]);function J1($,Z,J){let q=Z.split(".");if(q.some((Y)=>H4.has(Y))){console.warn(`[prefab] Blocked prototype pollution attempt: ${Z}`);return}let Q=$;for(let Y=0;Y<q.length-1;Y++){let U=q[Y];if(Q[U]==null||typeof Q[U]!=="object")Q[U]={};Q=Q[U]}Q[q[q.length-1]]=J}var e=new Map;function f0($,Z){if(e.has($)&&e.get($)!==Z)console.warn(`[prefab] pipe "${$}" re-registered`);e.set($,Z)}function S0($){return e.delete($)}function q1(){return[...e.keys()]}function Q1($){return e.get($)}var Y1=-1,w0=new Map,M4=/\{\{\s*(.+?)\s*\}\}/g;function u($){return typeof $==="string"&&$.includes("{{")&&$.includes("}}")}function x($,Z,J){let q=$.trim();if(q.startsWith("{{")&&q.endsWith("}}")&&F4(q,"{{")===1){let Q=q.slice(2,-2).trim();return U1(Q,Z,J)}return $.replace(M4,(Q,Y)=>{let U=U1(Y.trim(),Z,J);return U==null?"":String(U)})}function U1($,Z,J){let[q,...Q]=B4($),Y=v(q.trim(),Z,J);for(let U of Q)Y=G4(U.trim(),Y,Z,J);return Y}function v($,Z,J){let q=N4($);if(q>=0){let U=$.slice(0,q).trim(),W=$.slice(q+1),H=E4(W);if(H>=0){let X=W.slice(0,H).trim(),N=W.slice(H+1).trim(),M=v(U,Z,J);return M!==null&&M!==void 0&&M!==!1&&M!==0&&M!==""?v(X,Z,J):v(N,Z,J)}}let Q=H0($,"||");if(Q>=0){let U=v($.slice(0,Q).trim(),Z,J);return U!==null&&U!==void 0&&U!==!1&&U!==0&&U!==""?U:v($.slice(Q+2).trim(),Z,J)}let Y=H0($,"&&");if(Y>=0){let U=v($.slice(0,Y).trim(),Z,J);if(U===null||U===void 0||U===!1||U===0||U==="")return U;return v($.slice(Y+2).trim(),Z,J)}for(let[U,W]of X4){let H=H0($,U);if(H>=0){let X=v($.slice(0,H).trim(),Z,J),N=v($.slice(H+U.length).trim(),Z,J);return W(X,N)}}if($.startsWith("!")){let U=v($.slice(1).trim(),Z,J);return U===null||U===void 0||U===!1||U===0||U===""}for(let[U,W]of _4){let H=H0($,U);if(H>=0){let X=v($.slice(0,H).trim(),Z,J),N=v($.slice(H+U.length).trim(),Z,J);return W(Number(X),Number(N))}}if($==="true")return!0;if($==="false")return!1;if($==="null"||$==="undefined")return null;if(/^-?\d+(\.\d+)?$/.test($))return Number($);if($.startsWith("'")&&$.endsWith("'")||$.startsWith('"')&&$.endsWith('"'))return $.slice(1,-1);if(J&&$.startsWith("$")){let U=$.indexOf(".");if(U>=0){let W=$.slice(0,U),H=$.slice(U+1),X=J[W];return M0(X,H)}return J[$]}if(J){let U=$.split(".")[0];if(U in J)return M0(J[U],$.includes(".")?$.slice(U.length+1):"")}return Z.get($)}function G4($,Z,J,q){let Q=$.indexOf(":"),Y=Q>=0?$.slice(0,Q).trim():$,U=Q>=0?$.slice(Q+1).trim():void 0,W=U?C0(U):void 0;switch(Y){case"find":{if(!Array.isArray(Z)||!U)return;let H=W1(U);if(H.length<2)return;let X=C0(H[0]),N=H[1].trim(),M;if(N.startsWith("'")&&N.endsWith("'")||N.startsWith('"')&&N.endsWith('"'))M=N.slice(1,-1);else if(J){if(q&&N.startsWith("$")){let F=N.indexOf(".");if(F>=0){let z=N.slice(0,F);if(z in q)M=M0(q[z],N.slice(F+1))}else if(N in q)M=q[N]}if(M===void 0&&!(q&&N.startsWith("$")))if(q){let F=N.split(".")[0];M=F in q?M0(q[F],N.includes(".")?N.slice(F.length+1):""):J.get(N)}else M=J.get(N)}else M=N;if(M==null)return;let E=J?.generation??0;if(E!==Y1)w0=new Map,Y1=E;let L=w0.get(Z);if(!L)L=new Map,w0.set(Z,L);let B=L.get(X);if(!B){B=new Map;for(let F of Z)if(F!=null&&typeof F==="object"){let z=F[X];if(z!=null)B.set(String(z),F)}L.set(X,B)}return B.get(String(M))}case"dot":{if(Z==null||typeof Z!=="object"||typeof W!=="string")return;return Z[W]}case"length":return Array.isArray(Z)?Z.length:typeof Z==="string"?Z.length:0;case"upper":return typeof Z==="string"?Z.toUpperCase():Z;case"lower":return typeof Z==="string"?Z.toLowerCase():Z;case"truncate":if(typeof Z==="string"&&typeof W==="number")return Z.slice(0,W);return Z;case"join":return Array.isArray(Z)?Z.join(typeof W==="string"?W:", "):Z;case"first":return Array.isArray(Z)?Z[0]:Z;case"last":return Array.isArray(Z)?Z[Z.length-1]:Z;case"abs":return Math.abs(Number(Z));case"round":return typeof W==="number"?Number(Number(Z).toFixed(W)):Math.round(Number(Z));case"number":return typeof W==="number"?Number(Number(Z).toFixed(W)):Number(Z);case"currency":{let H=typeof W==="string"?W:"USD";try{return new Intl.NumberFormat("en-US",{style:"currency",currency:H}).format(Number(Z))}catch{return Z}}case"percent":return typeof W==="number"?`${(Number(Z)*100).toFixed(W)}%`:`${Math.round(Number(Z)*100)}%`;case"compact":{let H=typeof W==="number"?W:1;try{return new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:H}).format(Number(Z))}catch{return Z}}case"date":try{return new Date(Z).toLocaleDateString()}catch{return Z}case"time":try{return new Date(Z).toLocaleTimeString()}catch{return Z}case"datetime":try{return new Date(Z).toLocaleString()}catch{return Z}case"pluralize":{let H=Number(Z),X=typeof W==="string"?W:"";return H===1?X:`${X}s`}case"default":return Z==null||Z===""?W:Z;case"selectattr":return Array.isArray(Z)&&typeof W==="string"?Z.filter((H)=>H!=null&&typeof H==="object"&&Boolean(H[W])):Z;case"rejectattr":return Array.isArray(Z)&&typeof W==="string"?Z.filter((H)=>{if(H==null||typeof H!=="object")return!1;let X=H[W];return X==null||X===!1||X===0||X===""}):Z;default:{let H=Q1(Y);if(H){let X=U?W1(U).map(C0):[];return H(Z,...X)}return Z}}}var X4=[["!==",($,Z)=>$!==Z],["===",($,Z)=>$===Z],["!=",($,Z)=>$!=Z],["==",($,Z)=>$==Z],[">=",($,Z)=>Number($)>=Number(Z)],["<=",($,Z)=>Number($)<=Number(Z)],[">",($,Z)=>Number($)>Number(Z)],["<",($,Z)=>Number($)<Number(Z)]],_4=[[" + ",($,Z)=>$+Z],[" - ",($,Z)=>$-Z],[" * ",($,Z)=>$*Z],[" / ",($,Z)=>Z!==0?$/Z:0],[" % ",($,Z)=>Z!==0?$%Z:0]];function H0($,Z){let J=null;for(let q=0;q<$.length;q++){let Q=$[q];if(Q==="'"||Q==='"')J=J===Q?null:J??Q;if(!J&&$.slice(q,q+Z.length)===Z)return q}return-1}function N4($){let Z=0,J=null;for(let q=0;q<$.length;q++){let Q=$[q];if(Q==="'"||Q==='"')J=J===Q?null:J??Q;if(!J){if(Q==="(")Z++;else if(Q===")")Z--;else if(Q==="?"&&Z===0)return q}}return-1}function E4($){let Z=0,J=null;for(let q=0;q<$.length;q++){let Q=$[q];if(Q==="'"||Q==='"')J=J===Q?null:J??Q;if(!J){if(Q==="?"||Q==="(")Z++;else if(Q===")")Z--;else if(Q===":"&&Z===0)return q}}return-1}function B4($){let Z=[],J="",q=null;for(let Q=0;Q<$.length;Q++){let Y=$[Q];if(Y==="'"||Y==='"')q=q===Y?null:q??Y;if(Y==="|"&&!q)if($[Q+1]==="|")J+="||",Q++;else Z.push(J),J="";else J+=Y}return Z.push(J),Z}function C0($){let Z=$.replace(/^['"]|['"]$/g,"");if(Z==="true")return!0;if(Z==="false")return!1;let J=Number(Z);return isNaN(J)?Z:J}function W1($){let Z=[],J="",q=null;for(let Q of $){if(Q==="'"||Q==='"')q=q===Q?null:q??Q;if(Q===","&&!q)Z.push(J),J="";else J+=Q}return Z.push(J),Z}function M0($,Z){if(!Z)return $;let J=Z.split("."),q=$;for(let Q of J){if(q==null||typeof q!=="object")return;q=q[Q]}return q}function F4($,Z){let J=0,q=0;while((q=$.indexOf(Z,q))!==-1)J++,q+=Z.length;return J}function G0($){return $.replace(/_([a-z])/g,(Z,J)=>J.toUpperCase())}function b0($){let Z={};for(let[J,q]of Object.entries($)){let Q=J.startsWith("$")?J:G0(J);if(Array.isArray(q))Z[Q]=q.map((Y)=>Y!=null&&typeof Y==="object"&&!Array.isArray(Y)?b0(Y):Y);else if(q!=null&&typeof q==="object"&&!Array.isArray(q))Z[Q]=b0(q);else Z[Q]=q}return Z}async function k($,Z){let J=Array.isArray($)?$:[$];for(let q of J)await K4(q,Z)}async function K4($,Z){let J=b0($),q=J.action;switch(q){case"setState":{z4(J,Z);return}case"toggleState":{L4(J,Z);return}case"appendState":{O4(J,Z);return}case"popState":{D4(J,Z);return}case"showToast":{V4(J,Z);return}case"closeOverlay":{T4(J,Z);return}case"openLink":{j4(J);return}case"setInterval":{R4(J,Z);return}case"toolCall":case"callTool":return P4(J,Z);case"sendMessage":return A4(J,Z);case"updateContext":{k4(J,Z);return}case"fetch":return f4(J,Z);case"openFilePicker":{S4(J,Z);return}case"callHandler":return w4(J,Z);case"requestDisplayMode":{C4(J,Z);return}case"subscribe":{m4(J,Z);return}case"unsubscribe":{h4(J);return}default:console.warn(`[prefab] Unknown action: ${q}`)}}function z4($,Z){let{key:J,value:q}=$;if(u(q))q=x(q,Z.store,Z.scope);Z.store.set(J,q),Z.rerender(),l($.onSuccess,Z)}function L4($,Z){Z.store.toggle($.key),Z.rerender()}function O4($,Z){let J=$.value??$.item;if(u(J))J=x(J,Z.store,Z.scope);Z.store.append($.key,J,$.index),Z.rerender()}function D4($,Z){Z.store.pop($.key,$.index),Z.rerender()}function V4($,Z){Z.onToast?.({message:_0($.message,Z),description:$.description!=null?_0($.description,Z):void 0,variant:$.variant,duration:$.duration})}function T4($,Z){if(typeof document<"u")document.dispatchEvent(new CustomEvent("prefab:close-overlay"))}function j4($){if(typeof window<"u"){let Z=$.url;if(!Z){console.warn("[prefab] openLink: missing url");return}if(!X1(Z)){console.warn(`[prefab] Blocked unsafe URL scheme: ${Z}`);return}window.open(Z,$.target??"_blank")}}var X0=new Set,I4=20,H1=100;function R4($,Z){let J=Math.max($.intervalMs,H1),q=$.onTick;if(typeof globalThis.setInterval!=="function")return;if(X0.size>=I4){console.warn("[prefab] Max intervals reached, ignoring new setInterval");return}let Q=globalThis.setInterval(()=>void k(q,Z),J);X0.add(Q)}function M1(){for(let $ of X0)globalThis.clearInterval($);X0.clear()}async function P4($,Z){if(!Z.transport){console.warn("[prefab] No MCP transport configured for toolCall");return}let J=$.tool,q=m0($.arguments,Z);try{let Q=await Z.transport.callTool(J,q);if($.resultKey!=null)Z.store.set($.resultKey,Q);let Y=N0(Q);if(Y&&Z.remount)Z.remount(Y);else E0(Q,Z),Z.rerender();await l($.onSuccess,Z,{$result:Q})}catch(Q){await l($.onError,Z,{$error:Q})}}async function A4($,Z){if(!Z.transport){console.warn("[prefab] No MCP transport configured for sendMessage");return}await Z.transport.sendMessage(_0($.message,Z))}function k4($,Z){let J=$.context;if(J!=null)Z.store.merge(J),Z.rerender()}async function f4($,Z){let J=_0($.url,Z);if(!X1(J)){console.warn(`[prefab] Blocked unsafe URL in fetch: ${J}`);return}let q=$.method??"GET",Q=$.headers,Y=$.body!==void 0?JSON.stringify($.body):void 0;try{let U=await globalThis.fetch(J,{method:q,headers:{"Content-Type":"application/json",...Q},...Y&&{body:Y}}),W=await U.json().catch(()=>U.text());if($.resultKey!=null)Z.store.set($.resultKey,W);let H=N0(W);if(H&&Z.remount)Z.remount(H);else E0(W,Z),Z.rerender();await l($.onSuccess,Z,{$result:W})}catch(U){await l($.onError,Z,{$error:U})}}function S4($,Z){if(typeof document>"u")return;let J=document.createElement("input");if(J.type="file",$.accept!=null)J.accept=$.accept;if($.multiple===!0)J.multiple=!0;J.addEventListener("change",()=>{let q=Array.from(J.files??[]);if($.resultKey!=null)Z.store.set($.resultKey,q);Z.rerender(),l($.onSuccess,Z,{$result:q})}),J.click()}async function w4($,Z){let J=$.handler,q=m0($.arguments,Z);if(!Z.transport){console.warn(`[prefab] No transport configured for callHandler: ${J}`);return}try{let Q=await Z.transport.callTool(J,q);if($.resultKey!=null)Z.store.set($.resultKey,Q);let Y=N0(Q);if(Y&&Z.remount)Z.remount(Y);else E0(Q,Z),Z.rerender();await l($.onSuccess,Z,{$result:Q})}catch(Q){await l($.onError,Z,{$error:Q})}}function C4($,Z){if(typeof document<"u")document.dispatchEvent(new CustomEvent("prefab:request-display-mode",{detail:{mode:$.mode}}))}var r=new Map,y4=50,b4=2000;function m4($,Z){let{uri:J,stateKey:q}=$;if(!J||!q){console.warn("[prefab] subscribe: missing uri or stateKey");return}if(r.has(J))return;if(r.size>=y4){console.warn("[prefab] Max subscriptions reached, ignoring new subscribe");return}let Q=(M)=>{let E=N0(M);if(E&&Z.remount)Z.remount(E);else E0(M,Z),Z.store.set(q,M),Z.rerender();l($.onData,Z,{$data:M})};if(Z.transport?.subscribe&&Z.transport.capabilities?.subscriptions){let M=Z.transport.subscribe(J,Q);r.set(J,M);return}let Y=$.fallbackTool,U=$.fallbackInterval??b4;if(!Y){console.warn("[prefab] subscribe: host lacks subscriptions and no fallbackTool specified");return}if(!Z.transport){console.warn("[prefab] No MCP transport configured for subscribe fallback");return}let W=$.fallbackArgs??{},H=Math.max(U,H1),X=Z.transport,N=globalThis.setInterval(()=>{(async()=>{try{let M=m0(W,Z),E=await X.callTool(Y,M);Q(E)}catch(M){l($.onError,Z,{$error:M})}})()},H);r.set(J,()=>globalThis.clearInterval(N))}function h4($){let Z=$.uri;if(!Z){console.warn("[prefab] unsubscribe: missing uri");return}let J=r.get(Z);if(J)J(),r.delete(Z)}function G1(){for(let[$,Z]of r)try{Z()}catch(J){console.warn(`[prefab] Error cleaning up subscription '${$}':`,J)}r.clear()}function N0($){if($==null||typeof $!=="object")return null;let Z=$;if("$prefab"in Z&&"view"in Z)return Z;if("structuredContent"in Z){let J=Z.structuredContent;if(J!=null&&typeof J==="object"){let q=J;if("$prefab"in q&&"view"in q)return q}}if("content"in Z&&Array.isArray(Z.content)){for(let J of Z.content)if(J.type==="text"&&typeof J.text==="string")try{let q=JSON.parse(J.text);if(q!=null&&typeof q==="object"){let Q=q;if("$prefab"in Q&&"view"in Q)return Q}}catch{}}return null}function v4($){if($==null||typeof $!=="object")return null;let Z=$;if(y0(Z))return Z;if("structuredContent"in Z){let J=Z.structuredContent;if(J!=null&&typeof J==="object"&&y0(J))return J}if("content"in Z&&Array.isArray(Z.content)){for(let J of Z.content)if(J.type==="text"&&typeof J.text==="string")try{let q=JSON.parse(J.text);if(q!=null&&typeof q==="object"&&y0(q))return q}catch{}}return null}function y0($){if(!("$prefab"in $)||!("update"in $))return!1;let Z=$.update;return Z!=null&&typeof Z==="object"&&"state"in Z}function E0($,Z){let J=v4($);if(!J)return;let q=J.update;Z.store.merge(q.state)}var g4=/^\s*(javascript|vbscript|data):/i;function X1($){return!g4.test($)}function _0($,Z){if(u($)){let J=x($,Z.store,Z.scope);return J==null?"":String(J)}return $==null?"":String($)}function m0($,Z){if(!$)return{};let J={};for(let[q,Q]of Object.entries($))J[q]=u(Q)?x(Q,Z.store,Z.scope):Q;return J}async function l($,Z,J){if($==null)return;let q={...Z.scope,...J};await k($,{...Z,scope:q})}function v0($){let Z={};for(let[J,q]of Object.entries($)){let Q=J.startsWith("$")?J:G0(J);if(Array.isArray(q))Z[Q]=q.map((Y)=>Y!=null&&typeof Y==="object"&&!Array.isArray(Y)?v0(Y):Y);else if(q!=null&&typeof q==="object"&&!Array.isArray(q))Z[Q]=v0(q);else Z[Q]=q}return Z}class u0{callbacks=[];track($){this.callbacks.push($)}flush(){for(let $ of this.callbacks)try{$()}catch(Z){console.warn("[prefab] destroy callback error:",Z)}this.callbacks=[]}get size(){return this.callbacks.length}}function u4($){return typeof $==="object"&&"element"in $}var g0=new Map;function G($,Z){if(g0.has($))console.warn(`[prefab] overriding existing renderer for "${$}"`);g0.set($,Z)}function w($,Z){let J=v0($);if(Z.defs?.[J.type]){let Y={...Z.defs[J.type],...J,type:Z.defs[J.type].type};return w(Y,Z)}let q=g0.get(J.type),Q;if(q){let Y=q(J,Z);if(u4(Y))Q=Y.element,Z.destroyRegistry?.track(Y.destroy);else Q=Y}else if(Q=document.createElement("div"),Q.setAttribute("data-prefab-type",J.type),J.children)for(let Y of J.children)Q.appendChild(w(Y,Z));if(Q instanceof HTMLElement){if(J.id)Q.id=J.id;if(J.cssClass){let Y=K(J.cssClass,Z);if(Y)Q.className=(Q.className?Q.className+" ":"")+Y}}if(J.onMount){let Y=J.onMount,U=y(Z);queueMicrotask(()=>void k(Y,U))}return Q}function V($,Z,J){if(!$.children)return;o($.children,Z,J)}function o($,Z,J){let q=0;while(q<$.length){let Q=$[q];if(Q.type==="If")q=x4($,q,Z,J);else if(Q.type==="Elif"||Q.type==="Else")q++;else Z.appendChild(w(Q,J)),q++}}function x4($,Z,J,q){let Q=!1,Y=Z,U=$[Y];if(_1(U.condition,q))h0(U,J,q),Q=!0;Y++;while(Y<$.length){let W=$[Y];if(W.type==="Elif"){if(!Q&&_1(W.condition,q))h0(W,J,q),Q=!0;Y++}else if(W.type==="Else"){if(!Q)h0(W,J,q);Y++;break}else break}return Y}function _1($,Z){if(!$)return!1;if(u($))return Boolean(x($,Z.store,Z.scope));return Boolean(Z.store.get($))}function h0($,Z,J){if(!$.children)return;o($.children,Z,J)}function K($,Z){if(u($)){let J=x($,Z.store,Z.scope);return J==null?"":String(J)}return $==null?"":String($)}function b($,Z){if(u($))return x($,Z.store,Z.scope);return $}function y($){return{store:$.store,transport:$.transport,scope:$.scope,rerender:$.rerender,onToast:$.onToast,remount:$.remount}}function _($,Z){let J=document.createElement($);if(Z)J.className=Z;return J}function x0($,Z){return $.textContent=Z,$}function F1(){G("Column",p4),G("Row",c4),G("Grid",N1),G("GridItem",E1),G("Container",d4),G("Div",B1),G("Span",l4),G("Dashboard",N1),G("DashboardItem",E1),G("Pages",s4),G("Page",B1),G("Detail",i4),G("MasterDetail",n4)}function p4($,Z){let J=_("div","pf-column");J.style.display="flex",J.style.flexDirection="column";let q=B0($);if(q!=null)J.style.gap=`${q*4}px`;if($.align!=null)J.style.alignItems=K1($.align);if($.justify!=null)J.style.justifyContent=z1($.justify);return V($,J,Z),J}function c4($,Z){let J=_("div","pf-row");J.style.display="flex",J.style.flexDirection="row";let q=B0($);if(q!=null)J.style.gap=`${q*4}px`;if($.align!=null)J.style.alignItems=K1($.align);if($.justify!=null)J.style.justifyContent=z1($.justify);if($.wrap===!0)J.style.flexWrap="wrap";return V($,J,Z),J}function N1($,Z){let J=_("div","pf-grid");J.style.display="grid";let q=$.columns??3;J.style.gridTemplateColumns=`repeat(${q}, 1fr)`;let Q=B0($);if(Q!=null)J.style.gap=`${Q*4}px`;return V($,J,Z),J}function E1($,Z){let J=_("div","pf-grid-item");if($.colSpan!=null)J.style.gridColumn=`span ${$.colSpan}`;if($.rowSpan!=null)J.style.gridRow=`span ${$.rowSpan}`;return V($,J,Z),J}function d4($,Z){let J=_("div","pf-container");if(J.style.maxWidth=$.maxWidth??"1200px",J.style.margin="0 auto",$.padding!=null)J.style.padding=`${$.padding*4}px`;return V($,J,Z),J}function B1($,Z){let J=_("div","pf-div");return V($,J,Z),J}function l4($,Z){let J=_("span","pf-span");return V($,J,Z),J}function s4($,Z){let J=_("div","pf-pages");return V($,J,Z),J}function i4($,Z){let J=_("div","pf-detail"),q=$.of!=null?b($.of,Z):void 0;if(q!=null&&q!==""&&q!==!1&&q!==0)V($,J,Z);else if($.empty!=null){let Q=$.empty;J.appendChild(w(Q,Z))}return J}function n4($,Z){let J=_("div","pf-master-detail");J.style.display="flex",J.style.flexDirection="row";let q=B0($);if(q!=null)J.style.gap=`${q*4}px`;let Q=$.masterWidth??"33%",Y=$.children??[];if(Y.length>0){let U=_("div","pf-master-detail-master");U.style.width=Q,U.style.flexShrink="0",U.style.overflow="auto",U.appendChild(w(Y[0],Z)),J.appendChild(U)}if(Y.length>1){let U=_("div","pf-master-detail-detail");U.style.flex="1",U.style.overflow="auto",U.appendChild(w(Y[1],Z)),J.appendChild(U)}return J}var r4=/\bgap-(\d+)\b/;function B0($){if($.gap!=null)return $.gap;if(typeof $.cssClass==="string"){let Z=r4.exec($.cssClass);if(Z)return Number(Z[1])}return null}function K1($){return{start:"flex-start",end:"flex-end",center:"center",stretch:"stretch",baseline:"baseline"}[$]??$}function z1($){return{start:"flex-start",end:"flex-end",center:"center",between:"space-between",around:"space-around",evenly:"space-evenly"}[$]??$}function O1(){G("Heading",o4),G("H1",($,Z)=>F0($,Z,"h1")),G("H2",($,Z)=>F0($,Z,"h2")),G("H3",($,Z)=>F0($,Z,"h3")),G("H4",($,Z)=>F0($,Z,"h4")),G("Text",a4),G("P",t4),G("Lead",($,Z)=>$0($,Z,"p","pf-lead")),G("Large",($,Z)=>$0($,Z,"span","pf-large")),G("Small",($,Z)=>$0($,Z,"small","pf-small")),G("Muted",($,Z)=>$0($,Z,"p","pf-muted")),G("BlockQuote",($,Z)=>$0($,Z,"blockquote","pf-blockquote")),G("Label",($,Z)=>$0($,Z,"label","pf-label")),G("Link",$8),G("Code",Z8),G("Markdown",J8),G("Kbd",q8)}function o4($,Z){let J=$.level??2,q=`h${Math.min(Math.max(J,1),6)}`,Q=document.createElement(q);return Q.className=`pf-heading pf-${q}`,Q.textContent=K($.content,Z),Q}function F0($,Z,J){let q=document.createElement(J);return q.className=`pf-heading pf-${J}`,q.textContent=K($.content,Z),q}function a4($,Z){return x0(_("span","pf-text"),K($.content,Z))}function t4($,Z){return x0(_("p","pf-p"),K($.content,Z))}function $0($,Z,J,q){let Q=document.createElement(J);return Q.className=q,Q.textContent=K($.content,Z),Q}var e4=/^\s*(javascript|vbscript|data):/i;function $8($,Z){let J=document.createElement("a");if(J.className="pf-link",J.textContent=K($.content,Z),$.href!=null){let q=K($.href,Z);if(!e4.test(q))J.href=q}if($.target!=null)J.target=K($.target,Z);return J}function Z8($,Z){let J=_("pre","pf-code"),q=_("code");if(q.textContent=K($.content,Z),$.language!=null)q.setAttribute("data-language",$.language);return J.appendChild(q),J}function J8($,Z){let J=_("div","pf-markdown"),q=K($.content,Z);return J.innerHTML=D1(q),J.setAttribute("data-markdown","true"),J}var L1=/^\s*(javascript|vbscript|data):/i;function z0($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function K0($){let Z=z0($),J=[];return Z=Z.replace(/`([^`]+)`/g,(q,Q)=>{return J.push(`<code>${Q}</code>`),`﷐CODE${J.length-1}﷐`}),Z=Z.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(q,Q,Y)=>{if(L1.test(Y))return z0(Q);return`<img src="${Y}" alt="${Q}" />`}),Z=Z.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(q,Q,Y)=>{if(L1.test(Y))return Q;return`<a href="${Y}">${Q}</a>`}),Z=Z.replace(/\*{3}(.+?)\*{3}/g,"<strong><em>$1</em></strong>"),Z=Z.replace(/_{3}(.+?)_{3}/g,"<strong><em>$1</em></strong>"),Z=Z.replace(/\*{2}(.+?)\*{2}/g,"<strong>$1</strong>"),Z=Z.replace(/_{2}(.+?)_{2}/g,"<strong>$1</strong>"),Z=Z.replace(/\*(.+?)\*/g,"<em>$1</em>"),Z=Z.replace(/(?<!\w)_(.+?)_(?!\w)/g,"<em>$1</em>"),Z=Z.replace(/~~(.+?)~~/g,"<del>$1</del>"),Z=Z.replace(/\uFDD0CODE(\d+)\uFDD0/g,(q,Q)=>J[parseInt(Q)]),Z}function D1($){let Z=$.replace(/\r\n?/g,`
1
+ (()=>{class J0{data={};subscribers=new Map;globalSubscribers=new Set;generation=0;constructor($){if($)this.data=structuredClone($)}get($){return W4(this.data,$)}getAll(){return this.data}set($,Z){J1(this.data,$,Z),this.notify($)}toggle($){let Z=this.get($),J=Z==null||Z===!1||Z===0||Z==="";this.set($,J)}append($,Z,J){let q=this.get($);if(!Array.isArray(q)){this.set($,[Z]);return}if(J!==void 0)q.splice(J,0,Z);else q.push(Z);this.notify($)}pop($,Z){let J=this.get($);if(!Array.isArray(J))return;if(typeof Z==="number")J.splice(Z,1);else{let q=J.indexOf(Z);if(q>=0)J.splice(q,1)}this.notify($)}merge($){for(let[Z,J]of Object.entries($))J1(this.data,Z,J);for(let Z of Object.keys($))this.notify(Z)}subscribe($,Z){if(!this.subscribers.has($))this.subscribers.set($,new Set);return this.subscribers.get($)?.add(Z),()=>this.subscribers.get($)?.delete(Z)}subscribeAll($){return this.globalSubscribers.add($),()=>this.globalSubscribers.delete($)}notify($){this.generation++;let Z=$.split(".");for(let J=1;J<=Z.length;J++){let q=Z.slice(0,J).join("."),Q=this.subscribers.get(q);if(Q)Q.forEach((Y)=>Y())}this.globalSubscribers.forEach((J)=>J())}}function W4($,Z){let J=Z.split("."),q=$;for(let Q of J){if(q==null||typeof q!=="object")return;q=q[Q]}return q}var H4=new Set(["__proto__","constructor","prototype"]);function J1($,Z,J){let q=Z.split(".");if(q.some((Y)=>H4.has(Y))){console.warn(`[prefab] Blocked prototype pollution attempt: ${Z}`);return}let Q=$;for(let Y=0;Y<q.length-1;Y++){let U=q[Y];if(Q[U]==null||typeof Q[U]!=="object")Q[U]={};Q=Q[U]}Q[q[q.length-1]]=J}var e=new Map;function f0($,Z){if(e.has($)&&e.get($)!==Z)console.warn(`[prefab] pipe "${$}" re-registered`);e.set($,Z)}function S0($){return e.delete($)}function q1(){return[...e.keys()]}function Q1($){return e.get($)}var Y1=-1,w0=new Map,M4=/\{\{\s*(.+?)\s*\}\}/g;function u($){return typeof $==="string"&&$.includes("{{")&&$.includes("}}")}function x($,Z,J){let q=$.trim();if(q.startsWith("{{")&&q.endsWith("}}")&&F4(q,"{{")===1){let Q=q.slice(2,-2).trim();return U1(Q,Z,J)}return $.replace(M4,(Q,Y)=>{let U=U1(Y.trim(),Z,J);return U==null?"":String(U)})}function U1($,Z,J){let[q,...Q]=B4($),Y=v(q.trim(),Z,J);for(let U of Q)Y=G4(U.trim(),Y,Z,J);return Y}function v($,Z,J){let q=N4($);if(q>=0){let U=$.slice(0,q).trim(),W=$.slice(q+1),H=E4(W);if(H>=0){let X=W.slice(0,H).trim(),N=W.slice(H+1).trim(),M=v(U,Z,J);return M!==null&&M!==void 0&&M!==!1&&M!==0&&M!==""?v(X,Z,J):v(N,Z,J)}}let Q=H0($,"||");if(Q>=0){let U=v($.slice(0,Q).trim(),Z,J);return U!==null&&U!==void 0&&U!==!1&&U!==0&&U!==""?U:v($.slice(Q+2).trim(),Z,J)}let Y=H0($,"&&");if(Y>=0){let U=v($.slice(0,Y).trim(),Z,J);if(U===null||U===void 0||U===!1||U===0||U==="")return U;return v($.slice(Y+2).trim(),Z,J)}for(let[U,W]of X4){let H=H0($,U);if(H>=0){let X=v($.slice(0,H).trim(),Z,J),N=v($.slice(H+U.length).trim(),Z,J);return W(X,N)}}if($.startsWith("!")){let U=v($.slice(1).trim(),Z,J);return U===null||U===void 0||U===!1||U===0||U===""}for(let[U,W]of _4){let H=H0($,U);if(H>=0){let X=v($.slice(0,H).trim(),Z,J),N=v($.slice(H+U.length).trim(),Z,J);return W(Number(X),Number(N))}}if($==="true")return!0;if($==="false")return!1;if($==="null"||$==="undefined")return null;if(/^-?\d+(\.\d+)?$/.test($))return Number($);if($.startsWith("'")&&$.endsWith("'")||$.startsWith('"')&&$.endsWith('"'))return $.slice(1,-1);if(J&&$.startsWith("$")){let U=$.indexOf(".");if(U>=0){let W=$.slice(0,U),H=$.slice(U+1),X=J[W];return M0(X,H)}return J[$]}if(J){let U=$.split(".")[0];if(U in J)return M0(J[U],$.includes(".")?$.slice(U.length+1):"")}return Z.get($)}function G4($,Z,J,q){let Q=$.indexOf(":"),Y=Q>=0?$.slice(0,Q).trim():$,U=Q>=0?$.slice(Q+1).trim():void 0,W=U?C0(U):void 0;switch(Y){case"find":{if(!Array.isArray(Z)||!U)return;let H=W1(U);if(H.length<2)return;let X=C0(H[0]),N=H[1].trim(),M;if(N.startsWith("'")&&N.endsWith("'")||N.startsWith('"')&&N.endsWith('"'))M=N.slice(1,-1);else if(J){if(q&&N.startsWith("$")){let F=N.indexOf(".");if(F>=0){let z=N.slice(0,F);if(z in q)M=M0(q[z],N.slice(F+1))}else if(N in q)M=q[N]}if(M===void 0&&!(q&&N.startsWith("$")))if(q){let F=N.split(".")[0];M=F in q?M0(q[F],N.includes(".")?N.slice(F.length+1):""):J.get(N)}else M=J.get(N)}else M=N;if(M==null)return;let E=J?.generation??0;if(E!==Y1)w0=new Map,Y1=E;let L=w0.get(Z);if(!L)L=new Map,w0.set(Z,L);let B=L.get(X);if(!B){B=new Map;for(let F of Z)if(F!=null&&typeof F==="object"){let z=F[X];if(z!=null)B.set(String(z),F)}L.set(X,B)}return B.get(String(M))}case"dot":{if(Z==null||typeof Z!=="object"||typeof W!=="string")return;return Z[W]}case"length":return Array.isArray(Z)?Z.length:typeof Z==="string"?Z.length:0;case"upper":return typeof Z==="string"?Z.toUpperCase():Z;case"lower":return typeof Z==="string"?Z.toLowerCase():Z;case"truncate":if(typeof Z==="string"&&typeof W==="number")return Z.slice(0,W);return Z;case"join":return Array.isArray(Z)?Z.join(typeof W==="string"?W:", "):Z;case"first":return Array.isArray(Z)?Z[0]:Z;case"last":return Array.isArray(Z)?Z[Z.length-1]:Z;case"abs":return Math.abs(Number(Z));case"round":return typeof W==="number"?Number(Number(Z).toFixed(W)):Math.round(Number(Z));case"number":return typeof W==="number"?Number(Number(Z).toFixed(W)):Number(Z);case"currency":{let H=typeof W==="string"?W:"USD";try{return new Intl.NumberFormat("en-US",{style:"currency",currency:H}).format(Number(Z))}catch{return Z}}case"percent":return typeof W==="number"?`${(Number(Z)*100).toFixed(W)}%`:`${Math.round(Number(Z)*100)}%`;case"compact":{let H=typeof W==="number"?W:1;try{return new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:H}).format(Number(Z))}catch{return Z}}case"date":try{return new Date(Z).toLocaleDateString()}catch{return Z}case"time":try{return new Date(Z).toLocaleTimeString()}catch{return Z}case"datetime":try{return new Date(Z).toLocaleString()}catch{return Z}case"pluralize":{let H=Number(Z),X=typeof W==="string"?W:"";return H===1?X:`${X}s`}case"default":return Z==null||Z===""?W:Z;case"selectattr":return Array.isArray(Z)&&typeof W==="string"?Z.filter((H)=>H!=null&&typeof H==="object"&&Boolean(H[W])):Z;case"rejectattr":return Array.isArray(Z)&&typeof W==="string"?Z.filter((H)=>{if(H==null||typeof H!=="object")return!1;let X=H[W];return X==null||X===!1||X===0||X===""}):Z;default:{let H=Q1(Y);if(H){let X=U?W1(U).map(C0):[];return H(Z,...X)}return Z}}}var X4=[["!==",($,Z)=>$!==Z],["===",($,Z)=>$===Z],["!=",($,Z)=>$!=Z],["==",($,Z)=>$==Z],[">=",($,Z)=>Number($)>=Number(Z)],["<=",($,Z)=>Number($)<=Number(Z)],[">",($,Z)=>Number($)>Number(Z)],["<",($,Z)=>Number($)<Number(Z)]],_4=[[" + ",($,Z)=>$+Z],[" - ",($,Z)=>$-Z],[" * ",($,Z)=>$*Z],[" / ",($,Z)=>Z!==0?$/Z:0],[" % ",($,Z)=>Z!==0?$%Z:0]];function H0($,Z){let J=null;for(let q=0;q<$.length;q++){let Q=$[q];if(Q==="'"||Q==='"')J=J===Q?null:J??Q;if(!J&&$.slice(q,q+Z.length)===Z)return q}return-1}function N4($){let Z=0,J=null;for(let q=0;q<$.length;q++){let Q=$[q];if(Q==="'"||Q==='"')J=J===Q?null:J??Q;if(!J){if(Q==="(")Z++;else if(Q===")")Z--;else if(Q==="?"&&Z===0)return q}}return-1}function E4($){let Z=0,J=null;for(let q=0;q<$.length;q++){let Q=$[q];if(Q==="'"||Q==='"')J=J===Q?null:J??Q;if(!J){if(Q==="?"||Q==="(")Z++;else if(Q===")")Z--;else if(Q===":"&&Z===0)return q}}return-1}function B4($){let Z=[],J="",q=null;for(let Q=0;Q<$.length;Q++){let Y=$[Q];if(Y==="'"||Y==='"')q=q===Y?null:q??Y;if(Y==="|"&&!q)if($[Q+1]==="|")J+="||",Q++;else Z.push(J),J="";else J+=Y}return Z.push(J),Z}function C0($){let Z=$.replace(/^['"]|['"]$/g,"");if(Z==="true")return!0;if(Z==="false")return!1;let J=Number(Z);return isNaN(J)?Z:J}function W1($){let Z=[],J="",q=null;for(let Q of $){if(Q==="'"||Q==='"')q=q===Q?null:q??Q;if(Q===","&&!q)Z.push(J),J="";else J+=Q}return Z.push(J),Z}function M0($,Z){if(!Z)return $;let J=Z.split("."),q=$;for(let Q of J){if(q==null||typeof q!=="object")return;q=q[Q]}return q}function F4($,Z){let J=0,q=0;while((q=$.indexOf(Z,q))!==-1)J++,q+=Z.length;return J}function G0($){return $.replace(/_([a-z])/g,(Z,J)=>J.toUpperCase())}function b0($){let Z={};for(let[J,q]of Object.entries($)){let Q=J.startsWith("$")?J:G0(J);if(Array.isArray(q))Z[Q]=q.map((Y)=>Y!=null&&typeof Y==="object"&&!Array.isArray(Y)?b0(Y):Y);else if(q!=null&&typeof q==="object"&&!Array.isArray(q))Z[Q]=b0(q);else Z[Q]=q}return Z}async function k($,Z){let J=Array.isArray($)?$:[$];for(let q of J)await K4(q,Z)}async function K4($,Z){let J=b0($),q=J.action;switch(q){case"setState":{z4(J,Z);return}case"toggleState":{L4(J,Z);return}case"appendState":{O4(J,Z);return}case"popState":{D4(J,Z);return}case"showToast":{V4(J,Z);return}case"closeOverlay":{T4(J,Z);return}case"openLink":{j4(J);return}case"setInterval":{R4(J,Z);return}case"toolCall":case"callTool":return P4(J,Z);case"sendMessage":return A4(J,Z);case"updateContext":{k4(J,Z);return}case"fetch":return f4(J,Z);case"openFilePicker":{S4(J,Z);return}case"callHandler":return w4(J,Z);case"requestDisplayMode":{C4(J,Z);return}case"subscribe":{m4(J,Z);return}case"unsubscribe":{h4(J);return}default:console.warn(`[prefab] Unknown action: ${q}`)}}function z4($,Z){let{key:J,value:q}=$;if(u(q))q=x(q,Z.store,Z.scope);Z.store.set(J,q),Z.rerender(),l($.onSuccess,Z)}function L4($,Z){Z.store.toggle($.key),Z.rerender()}function O4($,Z){let J=$.value??$.item;if(u(J))J=x(J,Z.store,Z.scope);Z.store.append($.key,J,$.index),Z.rerender()}function D4($,Z){Z.store.pop($.key,$.index),Z.rerender()}function V4($,Z){Z.onToast?.({message:_0($.message,Z),description:$.description!=null?_0($.description,Z):void 0,variant:$.variant,duration:$.duration})}function T4($,Z){if(typeof document<"u")document.dispatchEvent(new CustomEvent("prefab:close-overlay"))}function j4($){if(typeof window<"u"){let Z=$.url;if(!Z){console.warn("[prefab] openLink: missing url");return}if(!X1(Z)){console.warn(`[prefab] Blocked unsafe URL scheme: ${Z}`);return}window.open(Z,$.target??"_blank")}}var X0=new Set,I4=20,H1=100;function R4($,Z){let J=Math.max($.intervalMs,H1),q=$.onTick;if(typeof globalThis.setInterval!=="function")return;if(X0.size>=I4){console.warn("[prefab] Max intervals reached, ignoring new setInterval");return}let Q=globalThis.setInterval(()=>void k(q,Z),J);X0.add(Q)}function M1(){for(let $ of X0)globalThis.clearInterval($);X0.clear()}async function P4($,Z){if(!Z.transport){console.warn("[prefab] No MCP transport configured for toolCall");return}let J=$.tool,q=m0($.arguments,Z);try{let Q=await Z.transport.callTool(J,q);if($.resultKey!=null)Z.store.set($.resultKey,Q);let Y=N0(Q);if(Y&&Z.remount)Z.remount(Y);else E0(Q,Z),Z.rerender();await l($.onSuccess,Z,{$result:Q})}catch(Q){await l($.onError,Z,{$error:Q})}}async function A4($,Z){if(!Z.transport){console.warn("[prefab] No MCP transport configured for sendMessage");return}await Z.transport.sendMessage(_0($.message,Z))}function k4($,Z){let J=$.context;if(J!=null)Z.store.merge(J),Z.rerender()}async function f4($,Z){let J=_0($.url,Z);if(!X1(J)){console.warn(`[prefab] Blocked unsafe URL in fetch: ${J}`);return}let q=$.method??"GET",Q=$.headers,Y=$.body!==void 0?JSON.stringify($.body):void 0;try{let U=await globalThis.fetch(J,{method:q,headers:{"Content-Type":"application/json",...Q},...Y&&{body:Y}}),W=await U.json().catch(()=>U.text());if($.resultKey!=null)Z.store.set($.resultKey,W);let H=N0(W);if(H&&Z.remount)Z.remount(H);else E0(W,Z),Z.rerender();await l($.onSuccess,Z,{$result:W})}catch(U){await l($.onError,Z,{$error:U})}}function S4($,Z){if(typeof document>"u")return;let J=document.createElement("input");if(J.type="file",$.accept!=null)J.accept=$.accept;if($.multiple===!0)J.multiple=!0;J.addEventListener("change",()=>{let q=Array.from(J.files??[]);if($.resultKey!=null)Z.store.set($.resultKey,q);Z.rerender(),l($.onSuccess,Z,{$result:q})}),J.click()}async function w4($,Z){let J=$.handler,q=m0($.arguments,Z);if(!Z.transport){console.warn(`[prefab] No transport configured for callHandler: ${J}`);return}try{let Q=await Z.transport.callTool(J,q);if($.resultKey!=null)Z.store.set($.resultKey,Q);let Y=N0(Q);if(Y&&Z.remount)Z.remount(Y);else E0(Q,Z),Z.rerender();await l($.onSuccess,Z,{$result:Q})}catch(Q){await l($.onError,Z,{$error:Q})}}function C4($,Z){if(typeof document<"u")document.dispatchEvent(new CustomEvent("prefab:request-display-mode",{detail:{mode:$.mode}}))}var r=new Map,y4=50,b4=2000;function m4($,Z){let{uri:J,stateKey:q}=$;if(!J||!q){console.warn("[prefab] subscribe: missing uri or stateKey");return}if(r.has(J))return;if(r.size>=y4){console.warn("[prefab] Max subscriptions reached, ignoring new subscribe");return}let Q=(M)=>{let E=N0(M);if(E&&Z.remount)Z.remount(E);else{if(!E0(M,Z))Z.store.set(q,M);Z.rerender()}l($.onData,Z,{$data:M})};if(Z.transport?.subscribe&&Z.transport.capabilities?.subscriptions){let M=Z.transport.subscribe(J,Q);r.set(J,M);return}let Y=$.fallbackTool,U=$.fallbackInterval??b4;if(!Y){console.warn("[prefab] subscribe: host lacks subscriptions and no fallbackTool specified");return}if(!Z.transport){console.warn("[prefab] No MCP transport configured for subscribe fallback");return}let W=$.fallbackArgs??{},H=Math.max(U,H1),X=Z.transport,N=globalThis.setInterval(()=>{(async()=>{try{let M=m0(W,Z),E=await X.callTool(Y,M);Q(E)}catch(M){l($.onError,Z,{$error:M})}})()},H);r.set(J,()=>globalThis.clearInterval(N))}function h4($){let Z=$.uri;if(!Z){console.warn("[prefab] unsubscribe: missing uri");return}let J=r.get(Z);if(J)J(),r.delete(Z)}function G1(){for(let[$,Z]of r)try{Z()}catch(J){console.warn(`[prefab] Error cleaning up subscription '${$}':`,J)}r.clear()}function N0($){if($==null||typeof $!=="object")return null;let Z=$;if("$prefab"in Z&&"view"in Z)return Z;if("structuredContent"in Z){let J=Z.structuredContent;if(J!=null&&typeof J==="object"){let q=J;if("$prefab"in q&&"view"in q)return q}}if("content"in Z&&Array.isArray(Z.content)){for(let J of Z.content)if(J.type==="text"&&typeof J.text==="string")try{let q=JSON.parse(J.text);if(q!=null&&typeof q==="object"){let Q=q;if("$prefab"in Q&&"view"in Q)return Q}}catch{}}return null}function v4($){if($==null||typeof $!=="object")return null;let Z=$;if(y0(Z))return Z;if("structuredContent"in Z){let J=Z.structuredContent;if(J!=null&&typeof J==="object"&&y0(J))return J}if("content"in Z&&Array.isArray(Z.content)){for(let J of Z.content)if(J.type==="text"&&typeof J.text==="string")try{let q=JSON.parse(J.text);if(q!=null&&typeof q==="object"&&y0(q))return q}catch{}}return null}function y0($){if(!("$prefab"in $)||!("update"in $))return!1;let Z=$.update;return Z!=null&&typeof Z==="object"&&"state"in Z}function E0($,Z){let J=v4($);if(!J)return!1;let q=J.update;return Z.store.merge(q.state),!0}var g4=/^\s*(javascript|vbscript|data):/i;function X1($){return!g4.test($)}function _0($,Z){if(u($)){let J=x($,Z.store,Z.scope);return J==null?"":String(J)}return $==null?"":String($)}function m0($,Z){if(!$)return{};let J={};for(let[q,Q]of Object.entries($))J[q]=u(Q)?x(Q,Z.store,Z.scope):Q;return J}async function l($,Z,J){if($==null)return;let q={...Z.scope,...J};await k($,{...Z,scope:q})}function v0($){let Z={};for(let[J,q]of Object.entries($)){let Q=J.startsWith("$")?J:G0(J);if(Array.isArray(q))Z[Q]=q.map((Y)=>Y!=null&&typeof Y==="object"&&!Array.isArray(Y)?v0(Y):Y);else if(q!=null&&typeof q==="object"&&!Array.isArray(q))Z[Q]=v0(q);else Z[Q]=q}return Z}class u0{callbacks=[];track($){this.callbacks.push($)}flush(){for(let $ of this.callbacks)try{$()}catch(Z){console.warn("[prefab] destroy callback error:",Z)}this.callbacks=[]}get size(){return this.callbacks.length}}function u4($){return typeof $==="object"&&"element"in $}var g0=new Map;function G($,Z){if(g0.has($))console.warn(`[prefab] overriding existing renderer for "${$}"`);g0.set($,Z)}function w($,Z){let J=v0($);if(Z.defs?.[J.type]){let Y={...Z.defs[J.type],...J,type:Z.defs[J.type].type};return w(Y,Z)}let q=g0.get(J.type),Q;if(q){let Y=q(J,Z);if(u4(Y))Q=Y.element,Z.destroyRegistry?.track(Y.destroy);else Q=Y}else if(Q=document.createElement("div"),Q.setAttribute("data-prefab-type",J.type),J.children)for(let Y of J.children)Q.appendChild(w(Y,Z));if(Q instanceof HTMLElement){if(J.id)Q.id=J.id;if(J.cssClass){let Y=K(J.cssClass,Z);if(Y)Q.className=(Q.className?Q.className+" ":"")+Y}}if(J.onMount){let Y=J.onMount,U=y(Z);queueMicrotask(()=>void k(Y,U))}return Q}function V($,Z,J){if(!$.children)return;o($.children,Z,J)}function o($,Z,J){let q=0;while(q<$.length){let Q=$[q];if(Q.type==="If")q=x4($,q,Z,J);else if(Q.type==="Elif"||Q.type==="Else")q++;else Z.appendChild(w(Q,J)),q++}}function x4($,Z,J,q){let Q=!1,Y=Z,U=$[Y];if(_1(U.condition,q))h0(U,J,q),Q=!0;Y++;while(Y<$.length){let W=$[Y];if(W.type==="Elif"){if(!Q&&_1(W.condition,q))h0(W,J,q),Q=!0;Y++}else if(W.type==="Else"){if(!Q)h0(W,J,q);Y++;break}else break}return Y}function _1($,Z){if(!$)return!1;if(u($))return Boolean(x($,Z.store,Z.scope));return Boolean(Z.store.get($))}function h0($,Z,J){if(!$.children)return;o($.children,Z,J)}function K($,Z){if(u($)){let J=x($,Z.store,Z.scope);return J==null?"":String(J)}return $==null?"":String($)}function b($,Z){if(u($))return x($,Z.store,Z.scope);return $}function y($){return{store:$.store,transport:$.transport,scope:$.scope,rerender:$.rerender,onToast:$.onToast,remount:$.remount}}function _($,Z){let J=document.createElement($);if(Z)J.className=Z;return J}function x0($,Z){return $.textContent=Z,$}function F1(){G("Column",p4),G("Row",c4),G("Grid",N1),G("GridItem",E1),G("Container",d4),G("Div",B1),G("Span",l4),G("Dashboard",N1),G("DashboardItem",E1),G("Pages",s4),G("Page",B1),G("Detail",i4),G("MasterDetail",n4)}function p4($,Z){let J=_("div","pf-column");J.style.display="flex",J.style.flexDirection="column";let q=B0($);if(q!=null)J.style.gap=`${q*4}px`;if($.align!=null)J.style.alignItems=K1($.align);if($.justify!=null)J.style.justifyContent=z1($.justify);return V($,J,Z),J}function c4($,Z){let J=_("div","pf-row");J.style.display="flex",J.style.flexDirection="row";let q=B0($);if(q!=null)J.style.gap=`${q*4}px`;if($.align!=null)J.style.alignItems=K1($.align);if($.justify!=null)J.style.justifyContent=z1($.justify);if($.wrap===!0)J.style.flexWrap="wrap";return V($,J,Z),J}function N1($,Z){let J=_("div","pf-grid");J.style.display="grid";let q=$.columns??3;J.style.gridTemplateColumns=`repeat(${q}, 1fr)`;let Q=B0($);if(Q!=null)J.style.gap=`${Q*4}px`;return V($,J,Z),J}function E1($,Z){let J=_("div","pf-grid-item");if($.colSpan!=null)J.style.gridColumn=`span ${$.colSpan}`;if($.rowSpan!=null)J.style.gridRow=`span ${$.rowSpan}`;return V($,J,Z),J}function d4($,Z){let J=_("div","pf-container");if(J.style.maxWidth=$.maxWidth??"1200px",J.style.margin="0 auto",$.padding!=null)J.style.padding=`${$.padding*4}px`;return V($,J,Z),J}function B1($,Z){let J=_("div","pf-div");return V($,J,Z),J}function l4($,Z){let J=_("span","pf-span");return V($,J,Z),J}function s4($,Z){let J=_("div","pf-pages");return V($,J,Z),J}function i4($,Z){let J=_("div","pf-detail"),q=$.of!=null?b($.of,Z):void 0;if(q!=null&&q!==""&&q!==!1&&q!==0)V($,J,Z);else if($.empty!=null){let Q=$.empty;J.appendChild(w(Q,Z))}return J}function n4($,Z){let J=_("div","pf-master-detail");J.style.display="flex",J.style.flexDirection="row";let q=B0($);if(q!=null)J.style.gap=`${q*4}px`;let Q=$.masterWidth??"33%",Y=$.children??[];if(Y.length>0){let U=_("div","pf-master-detail-master");U.style.width=Q,U.style.flexShrink="0",U.style.overflow="auto",U.appendChild(w(Y[0],Z)),J.appendChild(U)}if(Y.length>1){let U=_("div","pf-master-detail-detail");U.style.flex="1",U.style.overflow="auto",U.appendChild(w(Y[1],Z)),J.appendChild(U)}return J}var r4=/\bgap-(\d+)\b/;function B0($){if($.gap!=null)return $.gap;if(typeof $.cssClass==="string"){let Z=r4.exec($.cssClass);if(Z)return Number(Z[1])}return null}function K1($){return{start:"flex-start",end:"flex-end",center:"center",stretch:"stretch",baseline:"baseline"}[$]??$}function z1($){return{start:"flex-start",end:"flex-end",center:"center",between:"space-between",around:"space-around",evenly:"space-evenly"}[$]??$}function O1(){G("Heading",o4),G("H1",($,Z)=>F0($,Z,"h1")),G("H2",($,Z)=>F0($,Z,"h2")),G("H3",($,Z)=>F0($,Z,"h3")),G("H4",($,Z)=>F0($,Z,"h4")),G("Text",a4),G("P",t4),G("Lead",($,Z)=>$0($,Z,"p","pf-lead")),G("Large",($,Z)=>$0($,Z,"span","pf-large")),G("Small",($,Z)=>$0($,Z,"small","pf-small")),G("Muted",($,Z)=>$0($,Z,"p","pf-muted")),G("BlockQuote",($,Z)=>$0($,Z,"blockquote","pf-blockquote")),G("Label",($,Z)=>$0($,Z,"label","pf-label")),G("Link",$8),G("Code",Z8),G("Markdown",J8),G("Kbd",q8)}function o4($,Z){let J=$.level??2,q=`h${Math.min(Math.max(J,1),6)}`,Q=document.createElement(q);return Q.className=`pf-heading pf-${q}`,Q.textContent=K($.content,Z),Q}function F0($,Z,J){let q=document.createElement(J);return q.className=`pf-heading pf-${J}`,q.textContent=K($.content,Z),q}function a4($,Z){return x0(_("span","pf-text"),K($.content,Z))}function t4($,Z){return x0(_("p","pf-p"),K($.content,Z))}function $0($,Z,J,q){let Q=document.createElement(J);return Q.className=q,Q.textContent=K($.content,Z),Q}var e4=/^\s*(javascript|vbscript|data):/i;function $8($,Z){let J=document.createElement("a");if(J.className="pf-link",J.textContent=K($.content,Z),$.href!=null){let q=K($.href,Z);if(!e4.test(q))J.href=q}if($.target!=null)J.target=K($.target,Z);return J}function Z8($,Z){let J=_("pre","pf-code"),q=_("code");if(q.textContent=K($.content,Z),$.language!=null)q.setAttribute("data-language",$.language);return J.appendChild(q),J}function J8($,Z){let J=_("div","pf-markdown"),q=K($.content,Z);return J.innerHTML=D1(q),J.setAttribute("data-markdown","true"),J}var L1=/^\s*(javascript|vbscript|data):/i;function z0($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function K0($){let Z=z0($),J=[];return Z=Z.replace(/`([^`]+)`/g,(q,Q)=>{return J.push(`<code>${Q}</code>`),`﷐CODE${J.length-1}﷐`}),Z=Z.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(q,Q,Y)=>{if(L1.test(Y))return z0(Q);return`<img src="${Y}" alt="${Q}" />`}),Z=Z.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(q,Q,Y)=>{if(L1.test(Y))return Q;return`<a href="${Y}">${Q}</a>`}),Z=Z.replace(/\*{3}(.+?)\*{3}/g,"<strong><em>$1</em></strong>"),Z=Z.replace(/_{3}(.+?)_{3}/g,"<strong><em>$1</em></strong>"),Z=Z.replace(/\*{2}(.+?)\*{2}/g,"<strong>$1</strong>"),Z=Z.replace(/_{2}(.+?)_{2}/g,"<strong>$1</strong>"),Z=Z.replace(/\*(.+?)\*/g,"<em>$1</em>"),Z=Z.replace(/(?<!\w)_(.+?)_(?!\w)/g,"<em>$1</em>"),Z=Z.replace(/~~(.+?)~~/g,"<del>$1</del>"),Z=Z.replace(/\uFDD0CODE(\d+)\uFDD0/g,(q,Q)=>J[parseInt(Q)]),Z}function D1($){let Z=$.replace(/\r\n?/g,`
2
2
  `).split(`
3
3
  `),J=[],q=0;while(q<Z.length){let Q=Z[q];if(Q.trimStart().startsWith("```")){let W=Q.trimStart().slice(3).trim(),H=[];q++;while(q<Z.length&&!Z[q].trimStart().startsWith("```"))H.push(z0(Z[q])),q++;q++;let X=W?` data-language="${z0(W)}"`:"";J.push(`<pre class="pf-code"><code${X}>${H.join(`
4
4
  `)}</code></pre>`);continue}if(/^(\s*[-*_]\s*){3,}$/.test(Q)){J.push("<hr />"),q++;continue}let Y=/^(#{1,6})\s+(.+)$/.exec(Q);if(Y){let W=Y[1].length;J.push(`<h${W}>${K0(Y[2])}</h${W}>`),q++;continue}if(Q.startsWith("> ")||Q===">"){let W=[];while(q<Z.length&&(Z[q].startsWith("> ")||Z[q]===">"))W.push(Z[q].replace(/^>\s?/,"")),q++;J.push(`<blockquote>${D1(W.join(`
@@ -1,4 +1,4 @@
1
- (()=>{var{defineProperty:m0,getOwnPropertyNames:Q4,getOwnPropertyDescriptor:Y4}=Object,U4=Object.prototype.hasOwnProperty;function W4($){return this[$]}var H4=($)=>{var Z=(q1??=new WeakMap).get($),J;if(Z)return Z;if(Z=m0({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function"){for(var q of Q4($))if(!U4.call(Z,q))m0(Z,q,{get:W4.bind($,q),enumerable:!(J=Y4($,q))||J.enumerable})}return q1.set($,Z),Z},q1;var M4=($)=>$;function G4($,Z){this[$]=M4.bind(null,Z)}var X4=($,Z)=>{for(var J in Z)m0($,J,{get:Z[J],enumerable:!0,configurable:!0,set:G4.bind(Z,J)})};var g2={};X4(g2,{unregisterPipe:()=>U0,registerPipe:()=>Y0,registerComponent:()=>G,listPipes:()=>E0,isIframe:()=>q0,createThemeToggle:()=>X0,applyHostTheme:()=>_0,app:()=>b0,PrefabRenderer:()=>p,DestroyRegistry:()=>W0,Bridge:()=>e});class Q0{data={};subscribers=new Map;globalSubscribers=new Set;generation=0;constructor($){if($)this.data=structuredClone($)}get($){return _4(this.data,$)}getAll(){return this.data}set($,Z){Q1(this.data,$,Z),this.notify($)}toggle($){let Z=this.get($),J=Z==null||Z===!1||Z===0||Z==="";this.set($,J)}append($,Z,J){let q=this.get($);if(!Array.isArray(q)){this.set($,[Z]);return}if(J!==void 0)q.splice(J,0,Z);else q.push(Z);this.notify($)}pop($,Z){let J=this.get($);if(!Array.isArray(J))return;if(typeof Z==="number")J.splice(Z,1);else{let q=J.indexOf(Z);if(q>=0)J.splice(q,1)}this.notify($)}merge($){for(let[Z,J]of Object.entries($))Q1(this.data,Z,J);for(let Z of Object.keys($))this.notify(Z)}subscribe($,Z){if(!this.subscribers.has($))this.subscribers.set($,new Set);return this.subscribers.get($)?.add(Z),()=>this.subscribers.get($)?.delete(Z)}subscribeAll($){return this.globalSubscribers.add($),()=>this.globalSubscribers.delete($)}notify($){this.generation++;let Z=$.split(".");for(let J=1;J<=Z.length;J++){let q=Z.slice(0,J).join("."),Q=this.subscribers.get(q);if(Q)Q.forEach((Y)=>Y())}this.globalSubscribers.forEach((J)=>J())}}function _4($,Z){let J=Z.split("."),q=$;for(let Q of J){if(q==null||typeof q!=="object")return;q=q[Q]}return q}var N4=new Set(["__proto__","constructor","prototype"]);function Q1($,Z,J){let q=Z.split(".");if(q.some((Y)=>N4.has(Y))){console.warn(`[prefab] Blocked prototype pollution attempt: ${Z}`);return}let Q=$;for(let Y=0;Y<q.length-1;Y++){let U=q[Y];if(Q[U]==null||typeof Q[U]!=="object")Q[U]={};Q=Q[U]}Q[q[q.length-1]]=J}var $0=new Map;function Y0($,Z){if($0.has($)&&$0.get($)!==Z)console.warn(`[prefab] pipe "${$}" re-registered`);$0.set($,Z)}function U0($){return $0.delete($)}function E0(){return[...$0.keys()]}function Y1($){return $0.get($)}var U1=-1,h0=new Map,E4=/\{\{\s*(.+?)\s*\}\}/g;function g($){return typeof $==="string"&&$.includes("{{")&&$.includes("}}")}function u($,Z,J){let q=$.trim();if(q.startsWith("{{")&&q.endsWith("}}")&&D4(q,"{{")===1){let Q=q.slice(2,-2).trim();return W1(Q,Z,J)}return $.replace(E4,(Q,Y)=>{let U=W1(Y.trim(),Z,J);return U==null?"":String(U)})}function W1($,Z,J){let[q,...Q]=O4($),Y=v(q.trim(),Z,J);for(let U of Q)Y=B4(U.trim(),Y,Z,J);return Y}function v($,Z,J){let q=z4($);if(q>=0){let U=$.slice(0,q).trim(),W=$.slice(q+1),H=L4(W);if(H>=0){let X=W.slice(0,H).trim(),N=W.slice(H+1).trim(),M=v(U,Z,J);return M!==null&&M!==void 0&&M!==!1&&M!==0&&M!==""?v(X,Z,J):v(N,Z,J)}}let Q=B0($,"||");if(Q>=0){let U=v($.slice(0,Q).trim(),Z,J);return U!==null&&U!==void 0&&U!==!1&&U!==0&&U!==""?U:v($.slice(Q+2).trim(),Z,J)}let Y=B0($,"&&");if(Y>=0){let U=v($.slice(0,Y).trim(),Z,J);if(U===null||U===void 0||U===!1||U===0||U==="")return U;return v($.slice(Y+2).trim(),Z,J)}for(let[U,W]of F4){let H=B0($,U);if(H>=0){let X=v($.slice(0,H).trim(),Z,J),N=v($.slice(H+U.length).trim(),Z,J);return W(X,N)}}if($.startsWith("!")){let U=v($.slice(1).trim(),Z,J);return U===null||U===void 0||U===!1||U===0||U===""}for(let[U,W]of K4){let H=B0($,U);if(H>=0){let X=v($.slice(0,H).trim(),Z,J),N=v($.slice(H+U.length).trim(),Z,J);return W(Number(X),Number(N))}}if($==="true")return!0;if($==="false")return!1;if($==="null"||$==="undefined")return null;if(/^-?\d+(\.\d+)?$/.test($))return Number($);if($.startsWith("'")&&$.endsWith("'")||$.startsWith('"')&&$.endsWith('"'))return $.slice(1,-1);if(J&&$.startsWith("$")){let U=$.indexOf(".");if(U>=0){let W=$.slice(0,U),H=$.slice(U+1),X=J[W];return F0(X,H)}return J[$]}if(J){let U=$.split(".")[0];if(U in J)return F0(J[U],$.includes(".")?$.slice(U.length+1):"")}return Z.get($)}function B4($,Z,J,q){let Q=$.indexOf(":"),Y=Q>=0?$.slice(0,Q).trim():$,U=Q>=0?$.slice(Q+1).trim():void 0,W=U?v0(U):void 0;switch(Y){case"find":{if(!Array.isArray(Z)||!U)return;let H=H1(U);if(H.length<2)return;let X=v0(H[0]),N=H[1].trim(),M;if(N.startsWith("'")&&N.endsWith("'")||N.startsWith('"')&&N.endsWith('"'))M=N.slice(1,-1);else if(J){if(q&&N.startsWith("$")){let F=N.indexOf(".");if(F>=0){let z=N.slice(0,F);if(z in q)M=F0(q[z],N.slice(F+1))}else if(N in q)M=q[N]}if(M===void 0&&!(q&&N.startsWith("$")))if(q){let F=N.split(".")[0];M=F in q?F0(q[F],N.includes(".")?N.slice(F.length+1):""):J.get(N)}else M=J.get(N)}else M=N;if(M==null)return;let E=J?.generation??0;if(E!==U1)h0=new Map,U1=E;let L=h0.get(Z);if(!L)L=new Map,h0.set(Z,L);let B=L.get(X);if(!B){B=new Map;for(let F of Z)if(F!=null&&typeof F==="object"){let z=F[X];if(z!=null)B.set(String(z),F)}L.set(X,B)}return B.get(String(M))}case"dot":{if(Z==null||typeof Z!=="object"||typeof W!=="string")return;return Z[W]}case"length":return Array.isArray(Z)?Z.length:typeof Z==="string"?Z.length:0;case"upper":return typeof Z==="string"?Z.toUpperCase():Z;case"lower":return typeof Z==="string"?Z.toLowerCase():Z;case"truncate":if(typeof Z==="string"&&typeof W==="number")return Z.slice(0,W);return Z;case"join":return Array.isArray(Z)?Z.join(typeof W==="string"?W:", "):Z;case"first":return Array.isArray(Z)?Z[0]:Z;case"last":return Array.isArray(Z)?Z[Z.length-1]:Z;case"abs":return Math.abs(Number(Z));case"round":return typeof W==="number"?Number(Number(Z).toFixed(W)):Math.round(Number(Z));case"number":return typeof W==="number"?Number(Number(Z).toFixed(W)):Number(Z);case"currency":{let H=typeof W==="string"?W:"USD";try{return new Intl.NumberFormat("en-US",{style:"currency",currency:H}).format(Number(Z))}catch{return Z}}case"percent":return typeof W==="number"?`${(Number(Z)*100).toFixed(W)}%`:`${Math.round(Number(Z)*100)}%`;case"compact":{let H=typeof W==="number"?W:1;try{return new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:H}).format(Number(Z))}catch{return Z}}case"date":try{return new Date(Z).toLocaleDateString()}catch{return Z}case"time":try{return new Date(Z).toLocaleTimeString()}catch{return Z}case"datetime":try{return new Date(Z).toLocaleString()}catch{return Z}case"pluralize":{let H=Number(Z),X=typeof W==="string"?W:"";return H===1?X:`${X}s`}case"default":return Z==null||Z===""?W:Z;case"selectattr":return Array.isArray(Z)&&typeof W==="string"?Z.filter((H)=>H!=null&&typeof H==="object"&&Boolean(H[W])):Z;case"rejectattr":return Array.isArray(Z)&&typeof W==="string"?Z.filter((H)=>{if(H==null||typeof H!=="object")return!1;let X=H[W];return X==null||X===!1||X===0||X===""}):Z;default:{let H=Y1(Y);if(H){let X=U?H1(U).map(v0):[];return H(Z,...X)}return Z}}}var F4=[["!==",($,Z)=>$!==Z],["===",($,Z)=>$===Z],["!=",($,Z)=>$!=Z],["==",($,Z)=>$==Z],[">=",($,Z)=>Number($)>=Number(Z)],["<=",($,Z)=>Number($)<=Number(Z)],[">",($,Z)=>Number($)>Number(Z)],["<",($,Z)=>Number($)<Number(Z)]],K4=[[" + ",($,Z)=>$+Z],[" - ",($,Z)=>$-Z],[" * ",($,Z)=>$*Z],[" / ",($,Z)=>Z!==0?$/Z:0],[" % ",($,Z)=>Z!==0?$%Z:0]];function B0($,Z){let J=null;for(let q=0;q<$.length;q++){let Q=$[q];if(Q==="'"||Q==='"')J=J===Q?null:J??Q;if(!J&&$.slice(q,q+Z.length)===Z)return q}return-1}function z4($){let Z=0,J=null;for(let q=0;q<$.length;q++){let Q=$[q];if(Q==="'"||Q==='"')J=J===Q?null:J??Q;if(!J){if(Q==="(")Z++;else if(Q===")")Z--;else if(Q==="?"&&Z===0)return q}}return-1}function L4($){let Z=0,J=null;for(let q=0;q<$.length;q++){let Q=$[q];if(Q==="'"||Q==='"')J=J===Q?null:J??Q;if(!J){if(Q==="?"||Q==="(")Z++;else if(Q===")")Z--;else if(Q===":"&&Z===0)return q}}return-1}function O4($){let Z=[],J="",q=null;for(let Q=0;Q<$.length;Q++){let Y=$[Q];if(Y==="'"||Y==='"')q=q===Y?null:q??Y;if(Y==="|"&&!q)if($[Q+1]==="|")J+="||",Q++;else Z.push(J),J="";else J+=Y}return Z.push(J),Z}function v0($){let Z=$.replace(/^['"]|['"]$/g,"");if(Z==="true")return!0;if(Z==="false")return!1;let J=Number(Z);return isNaN(J)?Z:J}function H1($){let Z=[],J="",q=null;for(let Q of $){if(Q==="'"||Q==='"')q=q===Q?null:q??Q;if(Q===","&&!q)Z.push(J),J="";else J+=Q}return Z.push(J),Z}function F0($,Z){if(!Z)return $;let J=Z.split("."),q=$;for(let Q of J){if(q==null||typeof q!=="object")return;q=q[Q]}return q}function D4($,Z){let J=0,q=0;while((q=$.indexOf(Z,q))!==-1)J++,q+=Z.length;return J}function K0($){return $.replace(/_([a-z])/g,(Z,J)=>J.toUpperCase())}function u0($){let Z={};for(let[J,q]of Object.entries($)){let Q=J.startsWith("$")?J:K0(J);if(Array.isArray(q))Z[Q]=q.map((Y)=>Y!=null&&typeof Y==="object"&&!Array.isArray(Y)?u0(Y):Y);else if(q!=null&&typeof q==="object"&&!Array.isArray(q))Z[Q]=u0(q);else Z[Q]=q}return Z}async function k($,Z){let J=Array.isArray($)?$:[$];for(let q of J)await T4(q,Z)}async function T4($,Z){let J=u0($),q=J.action;switch(q){case"setState":{V4(J,Z);return}case"toggleState":{j4(J,Z);return}case"appendState":{R4(J,Z);return}case"popState":{I4(J,Z);return}case"showToast":{P4(J,Z);return}case"closeOverlay":{A4(J,Z);return}case"openLink":{k4(J);return}case"setInterval":{S4(J,Z);return}case"toolCall":case"callTool":return w4(J,Z);case"sendMessage":return C4(J,Z);case"updateContext":{y4(J,Z);return}case"fetch":return b4(J,Z);case"openFilePicker":{m4(J,Z);return}case"callHandler":return h4(J,Z);case"requestDisplayMode":{v4(J,Z);return}case"subscribe":{x4(J,Z);return}case"unsubscribe":{p4(J);return}default:console.warn(`[prefab] Unknown action: ${q}`)}}function V4($,Z){let{key:J,value:q}=$;if(g(q))q=u(q,Z.store,Z.scope);Z.store.set(J,q),Z.rerender(),l($.onSuccess,Z)}function j4($,Z){Z.store.toggle($.key),Z.rerender()}function R4($,Z){let J=$.value??$.item;if(g(J))J=u(J,Z.store,Z.scope);Z.store.append($.key,J,$.index),Z.rerender()}function I4($,Z){Z.store.pop($.key,$.index),Z.rerender()}function P4($,Z){Z.onToast?.({message:L0($.message,Z),description:$.description!=null?L0($.description,Z):void 0,variant:$.variant,duration:$.duration})}function A4($,Z){if(typeof document<"u")document.dispatchEvent(new CustomEvent("prefab:close-overlay"))}function k4($){if(typeof window<"u"){let Z=$.url;if(!Z){console.warn("[prefab] openLink: missing url");return}if(!_1(Z)){console.warn(`[prefab] Blocked unsafe URL scheme: ${Z}`);return}window.open(Z,$.target??"_blank")}}var z0=new Set,f4=20,M1=100;function S4($,Z){let J=Math.max($.intervalMs,M1),q=$.onTick;if(typeof globalThis.setInterval!=="function")return;if(z0.size>=f4){console.warn("[prefab] Max intervals reached, ignoring new setInterval");return}let Q=globalThis.setInterval(()=>void k(q,Z),J);z0.add(Q)}function G1(){for(let $ of z0)globalThis.clearInterval($);z0.clear()}async function w4($,Z){if(!Z.transport){console.warn("[prefab] No MCP transport configured for toolCall");return}let J=$.tool,q=x0($.arguments,Z);try{let Q=await Z.transport.callTool(J,q);if($.resultKey!=null)Z.store.set($.resultKey,Q);let Y=O0(Q);if(Y&&Z.remount)Z.remount(Y);else D0(Q,Z),Z.rerender();await l($.onSuccess,Z,{$result:Q})}catch(Q){await l($.onError,Z,{$error:Q})}}async function C4($,Z){if(!Z.transport){console.warn("[prefab] No MCP transport configured for sendMessage");return}await Z.transport.sendMessage(L0($.message,Z))}function y4($,Z){let J=$.context;if(J!=null)Z.store.merge(J),Z.rerender()}async function b4($,Z){let J=L0($.url,Z);if(!_1(J)){console.warn(`[prefab] Blocked unsafe URL in fetch: ${J}`);return}let q=$.method??"GET",Q=$.headers,Y=$.body!==void 0?JSON.stringify($.body):void 0;try{let U=await globalThis.fetch(J,{method:q,headers:{"Content-Type":"application/json",...Q},...Y&&{body:Y}}),W=await U.json().catch(()=>U.text());if($.resultKey!=null)Z.store.set($.resultKey,W);let H=O0(W);if(H&&Z.remount)Z.remount(H);else D0(W,Z),Z.rerender();await l($.onSuccess,Z,{$result:W})}catch(U){await l($.onError,Z,{$error:U})}}function m4($,Z){if(typeof document>"u")return;let J=document.createElement("input");if(J.type="file",$.accept!=null)J.accept=$.accept;if($.multiple===!0)J.multiple=!0;J.addEventListener("change",()=>{let q=Array.from(J.files??[]);if($.resultKey!=null)Z.store.set($.resultKey,q);Z.rerender(),l($.onSuccess,Z,{$result:q})}),J.click()}async function h4($,Z){let J=$.handler,q=x0($.arguments,Z);if(!Z.transport){console.warn(`[prefab] No transport configured for callHandler: ${J}`);return}try{let Q=await Z.transport.callTool(J,q);if($.resultKey!=null)Z.store.set($.resultKey,Q);let Y=O0(Q);if(Y&&Z.remount)Z.remount(Y);else D0(Q,Z),Z.rerender();await l($.onSuccess,Z,{$result:Q})}catch(Q){await l($.onError,Z,{$error:Q})}}function v4($,Z){if(typeof document<"u")document.dispatchEvent(new CustomEvent("prefab:request-display-mode",{detail:{mode:$.mode}}))}var r=new Map,g4=50,u4=2000;function x4($,Z){let{uri:J,stateKey:q}=$;if(!J||!q){console.warn("[prefab] subscribe: missing uri or stateKey");return}if(r.has(J))return;if(r.size>=g4){console.warn("[prefab] Max subscriptions reached, ignoring new subscribe");return}let Q=(M)=>{let E=O0(M);if(E&&Z.remount)Z.remount(E);else D0(M,Z),Z.store.set(q,M),Z.rerender();l($.onData,Z,{$data:M})};if(Z.transport?.subscribe&&Z.transport.capabilities?.subscriptions){let M=Z.transport.subscribe(J,Q);r.set(J,M);return}let Y=$.fallbackTool,U=$.fallbackInterval??u4;if(!Y){console.warn("[prefab] subscribe: host lacks subscriptions and no fallbackTool specified");return}if(!Z.transport){console.warn("[prefab] No MCP transport configured for subscribe fallback");return}let W=$.fallbackArgs??{},H=Math.max(U,M1),X=Z.transport,N=globalThis.setInterval(()=>{(async()=>{try{let M=x0(W,Z),E=await X.callTool(Y,M);Q(E)}catch(M){l($.onError,Z,{$error:M})}})()},H);r.set(J,()=>globalThis.clearInterval(N))}function p4($){let Z=$.uri;if(!Z){console.warn("[prefab] unsubscribe: missing uri");return}let J=r.get(Z);if(J)J(),r.delete(Z)}function X1(){for(let[$,Z]of r)try{Z()}catch(J){console.warn(`[prefab] Error cleaning up subscription '${$}':`,J)}r.clear()}function O0($){if($==null||typeof $!=="object")return null;let Z=$;if("$prefab"in Z&&"view"in Z)return Z;if("structuredContent"in Z){let J=Z.structuredContent;if(J!=null&&typeof J==="object"){let q=J;if("$prefab"in q&&"view"in q)return q}}if("content"in Z&&Array.isArray(Z.content)){for(let J of Z.content)if(J.type==="text"&&typeof J.text==="string")try{let q=JSON.parse(J.text);if(q!=null&&typeof q==="object"){let Q=q;if("$prefab"in Q&&"view"in Q)return Q}}catch{}}return null}function c4($){if($==null||typeof $!=="object")return null;let Z=$;if(g0(Z))return Z;if("structuredContent"in Z){let J=Z.structuredContent;if(J!=null&&typeof J==="object"&&g0(J))return J}if("content"in Z&&Array.isArray(Z.content)){for(let J of Z.content)if(J.type==="text"&&typeof J.text==="string")try{let q=JSON.parse(J.text);if(q!=null&&typeof q==="object"&&g0(q))return q}catch{}}return null}function g0($){if(!("$prefab"in $)||!("update"in $))return!1;let Z=$.update;return Z!=null&&typeof Z==="object"&&"state"in Z}function D0($,Z){let J=c4($);if(!J)return;let q=J.update;Z.store.merge(q.state)}var d4=/^\s*(javascript|vbscript|data):/i;function _1($){return!d4.test($)}function L0($,Z){if(g($)){let J=u($,Z.store,Z.scope);return J==null?"":String(J)}return $==null?"":String($)}function x0($,Z){if(!$)return{};let J={};for(let[q,Q]of Object.entries($))J[q]=g(Q)?u(Q,Z.store,Z.scope):Q;return J}async function l($,Z,J){if($==null)return;let q={...Z.scope,...J};await k($,{...Z,scope:q})}function c0($){let Z={};for(let[J,q]of Object.entries($)){let Q=J.startsWith("$")?J:K0(J);if(Array.isArray(q))Z[Q]=q.map((Y)=>Y!=null&&typeof Y==="object"&&!Array.isArray(Y)?c0(Y):Y);else if(q!=null&&typeof q==="object"&&!Array.isArray(q))Z[Q]=c0(q);else Z[Q]=q}return Z}class W0{callbacks=[];track($){this.callbacks.push($)}flush(){for(let $ of this.callbacks)try{$()}catch(Z){console.warn("[prefab] destroy callback error:",Z)}this.callbacks=[]}get size(){return this.callbacks.length}}function l4($){return typeof $==="object"&&"element"in $}var d0=new Map;function G($,Z){if(d0.has($))console.warn(`[prefab] overriding existing renderer for "${$}"`);d0.set($,Z)}function w($,Z){let J=c0($);if(Z.defs?.[J.type]){let Y={...Z.defs[J.type],...J,type:Z.defs[J.type].type};return w(Y,Z)}let q=d0.get(J.type),Q;if(q){let Y=q(J,Z);if(l4(Y))Q=Y.element,Z.destroyRegistry?.track(Y.destroy);else Q=Y}else if(Q=document.createElement("div"),Q.setAttribute("data-prefab-type",J.type),J.children)for(let Y of J.children)Q.appendChild(w(Y,Z));if(Q instanceof HTMLElement){if(J.id)Q.id=J.id;if(J.cssClass){let Y=K(J.cssClass,Z);if(Y)Q.className=(Q.className?Q.className+" ":"")+Y}}if(J.onMount){let Y=J.onMount,U=y(Z);queueMicrotask(()=>void k(Y,U))}return Q}function T($,Z,J){if(!$.children)return;a($.children,Z,J)}function a($,Z,J){let q=0;while(q<$.length){let Q=$[q];if(Q.type==="If")q=s4($,q,Z,J);else if(Q.type==="Elif"||Q.type==="Else")q++;else Z.appendChild(w(Q,J)),q++}}function s4($,Z,J,q){let Q=!1,Y=Z,U=$[Y];if(N1(U.condition,q))p0(U,J,q),Q=!0;Y++;while(Y<$.length){let W=$[Y];if(W.type==="Elif"){if(!Q&&N1(W.condition,q))p0(W,J,q),Q=!0;Y++}else if(W.type==="Else"){if(!Q)p0(W,J,q);Y++;break}else break}return Y}function N1($,Z){if(!$)return!1;if(g($))return Boolean(u($,Z.store,Z.scope));return Boolean(Z.store.get($))}function p0($,Z,J){if(!$.children)return;a($.children,Z,J)}function K($,Z){if(g($)){let J=u($,Z.store,Z.scope);return J==null?"":String(J)}return $==null?"":String($)}function b($,Z){if(g($))return u($,Z.store,Z.scope);return $}function y($){return{store:$.store,transport:$.transport,scope:$.scope,rerender:$.rerender,onToast:$.onToast,remount:$.remount}}function _($,Z){let J=document.createElement($);if(Z)J.className=Z;return J}function l0($,Z){return $.textContent=Z,$}function K1(){G("Column",i4),G("Row",n4),G("Grid",E1),G("GridItem",B1),G("Container",r4),G("Div",F1),G("Span",a4),G("Dashboard",E1),G("DashboardItem",B1),G("Pages",o4),G("Page",F1),G("Detail",t4),G("MasterDetail",e4)}function i4($,Z){let J=_("div","pf-column");J.style.display="flex",J.style.flexDirection="column";let q=T0($);if(q!=null)J.style.gap=`${q*4}px`;if($.align!=null)J.style.alignItems=z1($.align);if($.justify!=null)J.style.justifyContent=L1($.justify);return T($,J,Z),J}function n4($,Z){let J=_("div","pf-row");J.style.display="flex",J.style.flexDirection="row";let q=T0($);if(q!=null)J.style.gap=`${q*4}px`;if($.align!=null)J.style.alignItems=z1($.align);if($.justify!=null)J.style.justifyContent=L1($.justify);if($.wrap===!0)J.style.flexWrap="wrap";return T($,J,Z),J}function E1($,Z){let J=_("div","pf-grid");J.style.display="grid";let q=$.columns??3;J.style.gridTemplateColumns=`repeat(${q}, 1fr)`;let Q=T0($);if(Q!=null)J.style.gap=`${Q*4}px`;return T($,J,Z),J}function B1($,Z){let J=_("div","pf-grid-item");if($.colSpan!=null)J.style.gridColumn=`span ${$.colSpan}`;if($.rowSpan!=null)J.style.gridRow=`span ${$.rowSpan}`;return T($,J,Z),J}function r4($,Z){let J=_("div","pf-container");if(J.style.maxWidth=$.maxWidth??"1200px",J.style.margin="0 auto",$.padding!=null)J.style.padding=`${$.padding*4}px`;return T($,J,Z),J}function F1($,Z){let J=_("div","pf-div");return T($,J,Z),J}function a4($,Z){let J=_("span","pf-span");return T($,J,Z),J}function o4($,Z){let J=_("div","pf-pages");return T($,J,Z),J}function t4($,Z){let J=_("div","pf-detail"),q=$.of!=null?b($.of,Z):void 0;if(q!=null&&q!==""&&q!==!1&&q!==0)T($,J,Z);else if($.empty!=null){let Q=$.empty;J.appendChild(w(Q,Z))}return J}function e4($,Z){let J=_("div","pf-master-detail");J.style.display="flex",J.style.flexDirection="row";let q=T0($);if(q!=null)J.style.gap=`${q*4}px`;let Q=$.masterWidth??"33%",Y=$.children??[];if(Y.length>0){let U=_("div","pf-master-detail-master");U.style.width=Q,U.style.flexShrink="0",U.style.overflow="auto",U.appendChild(w(Y[0],Z)),J.appendChild(U)}if(Y.length>1){let U=_("div","pf-master-detail-detail");U.style.flex="1",U.style.overflow="auto",U.appendChild(w(Y[1],Z)),J.appendChild(U)}return J}var $8=/\bgap-(\d+)\b/;function T0($){if($.gap!=null)return $.gap;if(typeof $.cssClass==="string"){let Z=$8.exec($.cssClass);if(Z)return Number(Z[1])}return null}function z1($){return{start:"flex-start",end:"flex-end",center:"center",stretch:"stretch",baseline:"baseline"}[$]??$}function L1($){return{start:"flex-start",end:"flex-end",center:"center",between:"space-between",around:"space-around",evenly:"space-evenly"}[$]??$}function D1(){G("Heading",Z8),G("H1",($,Z)=>V0($,Z,"h1")),G("H2",($,Z)=>V0($,Z,"h2")),G("H3",($,Z)=>V0($,Z,"h3")),G("H4",($,Z)=>V0($,Z,"h4")),G("Text",J8),G("P",q8),G("Lead",($,Z)=>Z0($,Z,"p","pf-lead")),G("Large",($,Z)=>Z0($,Z,"span","pf-large")),G("Small",($,Z)=>Z0($,Z,"small","pf-small")),G("Muted",($,Z)=>Z0($,Z,"p","pf-muted")),G("BlockQuote",($,Z)=>Z0($,Z,"blockquote","pf-blockquote")),G("Label",($,Z)=>Z0($,Z,"label","pf-label")),G("Link",Y8),G("Code",U8),G("Markdown",W8),G("Kbd",H8)}function Z8($,Z){let J=$.level??2,q=`h${Math.min(Math.max(J,1),6)}`,Q=document.createElement(q);return Q.className=`pf-heading pf-${q}`,Q.textContent=K($.content,Z),Q}function V0($,Z,J){let q=document.createElement(J);return q.className=`pf-heading pf-${J}`,q.textContent=K($.content,Z),q}function J8($,Z){return l0(_("span","pf-text"),K($.content,Z))}function q8($,Z){return l0(_("p","pf-p"),K($.content,Z))}function Z0($,Z,J,q){let Q=document.createElement(J);return Q.className=q,Q.textContent=K($.content,Z),Q}var Q8=/^\s*(javascript|vbscript|data):/i;function Y8($,Z){let J=document.createElement("a");if(J.className="pf-link",J.textContent=K($.content,Z),$.href!=null){let q=K($.href,Z);if(!Q8.test(q))J.href=q}if($.target!=null)J.target=K($.target,Z);return J}function U8($,Z){let J=_("pre","pf-code"),q=_("code");if(q.textContent=K($.content,Z),$.language!=null)q.setAttribute("data-language",$.language);return J.appendChild(q),J}function W8($,Z){let J=_("div","pf-markdown"),q=K($.content,Z);return J.innerHTML=T1(q),J.setAttribute("data-markdown","true"),J}var O1=/^\s*(javascript|vbscript|data):/i;function R0($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function j0($){let Z=R0($),J=[];return Z=Z.replace(/`([^`]+)`/g,(q,Q)=>{return J.push(`<code>${Q}</code>`),`﷐CODE${J.length-1}﷐`}),Z=Z.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(q,Q,Y)=>{if(O1.test(Y))return R0(Q);return`<img src="${Y}" alt="${Q}" />`}),Z=Z.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(q,Q,Y)=>{if(O1.test(Y))return Q;return`<a href="${Y}">${Q}</a>`}),Z=Z.replace(/\*{3}(.+?)\*{3}/g,"<strong><em>$1</em></strong>"),Z=Z.replace(/_{3}(.+?)_{3}/g,"<strong><em>$1</em></strong>"),Z=Z.replace(/\*{2}(.+?)\*{2}/g,"<strong>$1</strong>"),Z=Z.replace(/_{2}(.+?)_{2}/g,"<strong>$1</strong>"),Z=Z.replace(/\*(.+?)\*/g,"<em>$1</em>"),Z=Z.replace(/(?<!\w)_(.+?)_(?!\w)/g,"<em>$1</em>"),Z=Z.replace(/~~(.+?)~~/g,"<del>$1</del>"),Z=Z.replace(/\uFDD0CODE(\d+)\uFDD0/g,(q,Q)=>J[parseInt(Q)]),Z}function T1($){let Z=$.replace(/\r\n?/g,`
1
+ (()=>{var{defineProperty:m0,getOwnPropertyNames:Q4,getOwnPropertyDescriptor:Y4}=Object,U4=Object.prototype.hasOwnProperty;function W4($){return this[$]}var H4=($)=>{var Z=(q1??=new WeakMap).get($),J;if(Z)return Z;if(Z=m0({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function"){for(var q of Q4($))if(!U4.call(Z,q))m0(Z,q,{get:W4.bind($,q),enumerable:!(J=Y4($,q))||J.enumerable})}return q1.set($,Z),Z},q1;var M4=($)=>$;function G4($,Z){this[$]=M4.bind(null,Z)}var X4=($,Z)=>{for(var J in Z)m0($,J,{get:Z[J],enumerable:!0,configurable:!0,set:G4.bind(Z,J)})};var g2={};X4(g2,{unregisterPipe:()=>U0,registerPipe:()=>Y0,registerComponent:()=>G,listPipes:()=>E0,isIframe:()=>q0,createThemeToggle:()=>X0,applyHostTheme:()=>_0,app:()=>b0,PrefabRenderer:()=>p,DestroyRegistry:()=>W0,Bridge:()=>e});class Q0{data={};subscribers=new Map;globalSubscribers=new Set;generation=0;constructor($){if($)this.data=structuredClone($)}get($){return _4(this.data,$)}getAll(){return this.data}set($,Z){Q1(this.data,$,Z),this.notify($)}toggle($){let Z=this.get($),J=Z==null||Z===!1||Z===0||Z==="";this.set($,J)}append($,Z,J){let q=this.get($);if(!Array.isArray(q)){this.set($,[Z]);return}if(J!==void 0)q.splice(J,0,Z);else q.push(Z);this.notify($)}pop($,Z){let J=this.get($);if(!Array.isArray(J))return;if(typeof Z==="number")J.splice(Z,1);else{let q=J.indexOf(Z);if(q>=0)J.splice(q,1)}this.notify($)}merge($){for(let[Z,J]of Object.entries($))Q1(this.data,Z,J);for(let Z of Object.keys($))this.notify(Z)}subscribe($,Z){if(!this.subscribers.has($))this.subscribers.set($,new Set);return this.subscribers.get($)?.add(Z),()=>this.subscribers.get($)?.delete(Z)}subscribeAll($){return this.globalSubscribers.add($),()=>this.globalSubscribers.delete($)}notify($){this.generation++;let Z=$.split(".");for(let J=1;J<=Z.length;J++){let q=Z.slice(0,J).join("."),Q=this.subscribers.get(q);if(Q)Q.forEach((Y)=>Y())}this.globalSubscribers.forEach((J)=>J())}}function _4($,Z){let J=Z.split("."),q=$;for(let Q of J){if(q==null||typeof q!=="object")return;q=q[Q]}return q}var N4=new Set(["__proto__","constructor","prototype"]);function Q1($,Z,J){let q=Z.split(".");if(q.some((Y)=>N4.has(Y))){console.warn(`[prefab] Blocked prototype pollution attempt: ${Z}`);return}let Q=$;for(let Y=0;Y<q.length-1;Y++){let U=q[Y];if(Q[U]==null||typeof Q[U]!=="object")Q[U]={};Q=Q[U]}Q[q[q.length-1]]=J}var $0=new Map;function Y0($,Z){if($0.has($)&&$0.get($)!==Z)console.warn(`[prefab] pipe "${$}" re-registered`);$0.set($,Z)}function U0($){return $0.delete($)}function E0(){return[...$0.keys()]}function Y1($){return $0.get($)}var U1=-1,h0=new Map,E4=/\{\{\s*(.+?)\s*\}\}/g;function g($){return typeof $==="string"&&$.includes("{{")&&$.includes("}}")}function u($,Z,J){let q=$.trim();if(q.startsWith("{{")&&q.endsWith("}}")&&D4(q,"{{")===1){let Q=q.slice(2,-2).trim();return W1(Q,Z,J)}return $.replace(E4,(Q,Y)=>{let U=W1(Y.trim(),Z,J);return U==null?"":String(U)})}function W1($,Z,J){let[q,...Q]=O4($),Y=v(q.trim(),Z,J);for(let U of Q)Y=B4(U.trim(),Y,Z,J);return Y}function v($,Z,J){let q=z4($);if(q>=0){let U=$.slice(0,q).trim(),W=$.slice(q+1),H=L4(W);if(H>=0){let X=W.slice(0,H).trim(),N=W.slice(H+1).trim(),M=v(U,Z,J);return M!==null&&M!==void 0&&M!==!1&&M!==0&&M!==""?v(X,Z,J):v(N,Z,J)}}let Q=B0($,"||");if(Q>=0){let U=v($.slice(0,Q).trim(),Z,J);return U!==null&&U!==void 0&&U!==!1&&U!==0&&U!==""?U:v($.slice(Q+2).trim(),Z,J)}let Y=B0($,"&&");if(Y>=0){let U=v($.slice(0,Y).trim(),Z,J);if(U===null||U===void 0||U===!1||U===0||U==="")return U;return v($.slice(Y+2).trim(),Z,J)}for(let[U,W]of F4){let H=B0($,U);if(H>=0){let X=v($.slice(0,H).trim(),Z,J),N=v($.slice(H+U.length).trim(),Z,J);return W(X,N)}}if($.startsWith("!")){let U=v($.slice(1).trim(),Z,J);return U===null||U===void 0||U===!1||U===0||U===""}for(let[U,W]of K4){let H=B0($,U);if(H>=0){let X=v($.slice(0,H).trim(),Z,J),N=v($.slice(H+U.length).trim(),Z,J);return W(Number(X),Number(N))}}if($==="true")return!0;if($==="false")return!1;if($==="null"||$==="undefined")return null;if(/^-?\d+(\.\d+)?$/.test($))return Number($);if($.startsWith("'")&&$.endsWith("'")||$.startsWith('"')&&$.endsWith('"'))return $.slice(1,-1);if(J&&$.startsWith("$")){let U=$.indexOf(".");if(U>=0){let W=$.slice(0,U),H=$.slice(U+1),X=J[W];return F0(X,H)}return J[$]}if(J){let U=$.split(".")[0];if(U in J)return F0(J[U],$.includes(".")?$.slice(U.length+1):"")}return Z.get($)}function B4($,Z,J,q){let Q=$.indexOf(":"),Y=Q>=0?$.slice(0,Q).trim():$,U=Q>=0?$.slice(Q+1).trim():void 0,W=U?v0(U):void 0;switch(Y){case"find":{if(!Array.isArray(Z)||!U)return;let H=H1(U);if(H.length<2)return;let X=v0(H[0]),N=H[1].trim(),M;if(N.startsWith("'")&&N.endsWith("'")||N.startsWith('"')&&N.endsWith('"'))M=N.slice(1,-1);else if(J){if(q&&N.startsWith("$")){let F=N.indexOf(".");if(F>=0){let z=N.slice(0,F);if(z in q)M=F0(q[z],N.slice(F+1))}else if(N in q)M=q[N]}if(M===void 0&&!(q&&N.startsWith("$")))if(q){let F=N.split(".")[0];M=F in q?F0(q[F],N.includes(".")?N.slice(F.length+1):""):J.get(N)}else M=J.get(N)}else M=N;if(M==null)return;let E=J?.generation??0;if(E!==U1)h0=new Map,U1=E;let L=h0.get(Z);if(!L)L=new Map,h0.set(Z,L);let B=L.get(X);if(!B){B=new Map;for(let F of Z)if(F!=null&&typeof F==="object"){let z=F[X];if(z!=null)B.set(String(z),F)}L.set(X,B)}return B.get(String(M))}case"dot":{if(Z==null||typeof Z!=="object"||typeof W!=="string")return;return Z[W]}case"length":return Array.isArray(Z)?Z.length:typeof Z==="string"?Z.length:0;case"upper":return typeof Z==="string"?Z.toUpperCase():Z;case"lower":return typeof Z==="string"?Z.toLowerCase():Z;case"truncate":if(typeof Z==="string"&&typeof W==="number")return Z.slice(0,W);return Z;case"join":return Array.isArray(Z)?Z.join(typeof W==="string"?W:", "):Z;case"first":return Array.isArray(Z)?Z[0]:Z;case"last":return Array.isArray(Z)?Z[Z.length-1]:Z;case"abs":return Math.abs(Number(Z));case"round":return typeof W==="number"?Number(Number(Z).toFixed(W)):Math.round(Number(Z));case"number":return typeof W==="number"?Number(Number(Z).toFixed(W)):Number(Z);case"currency":{let H=typeof W==="string"?W:"USD";try{return new Intl.NumberFormat("en-US",{style:"currency",currency:H}).format(Number(Z))}catch{return Z}}case"percent":return typeof W==="number"?`${(Number(Z)*100).toFixed(W)}%`:`${Math.round(Number(Z)*100)}%`;case"compact":{let H=typeof W==="number"?W:1;try{return new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:H}).format(Number(Z))}catch{return Z}}case"date":try{return new Date(Z).toLocaleDateString()}catch{return Z}case"time":try{return new Date(Z).toLocaleTimeString()}catch{return Z}case"datetime":try{return new Date(Z).toLocaleString()}catch{return Z}case"pluralize":{let H=Number(Z),X=typeof W==="string"?W:"";return H===1?X:`${X}s`}case"default":return Z==null||Z===""?W:Z;case"selectattr":return Array.isArray(Z)&&typeof W==="string"?Z.filter((H)=>H!=null&&typeof H==="object"&&Boolean(H[W])):Z;case"rejectattr":return Array.isArray(Z)&&typeof W==="string"?Z.filter((H)=>{if(H==null||typeof H!=="object")return!1;let X=H[W];return X==null||X===!1||X===0||X===""}):Z;default:{let H=Y1(Y);if(H){let X=U?H1(U).map(v0):[];return H(Z,...X)}return Z}}}var F4=[["!==",($,Z)=>$!==Z],["===",($,Z)=>$===Z],["!=",($,Z)=>$!=Z],["==",($,Z)=>$==Z],[">=",($,Z)=>Number($)>=Number(Z)],["<=",($,Z)=>Number($)<=Number(Z)],[">",($,Z)=>Number($)>Number(Z)],["<",($,Z)=>Number($)<Number(Z)]],K4=[[" + ",($,Z)=>$+Z],[" - ",($,Z)=>$-Z],[" * ",($,Z)=>$*Z],[" / ",($,Z)=>Z!==0?$/Z:0],[" % ",($,Z)=>Z!==0?$%Z:0]];function B0($,Z){let J=null;for(let q=0;q<$.length;q++){let Q=$[q];if(Q==="'"||Q==='"')J=J===Q?null:J??Q;if(!J&&$.slice(q,q+Z.length)===Z)return q}return-1}function z4($){let Z=0,J=null;for(let q=0;q<$.length;q++){let Q=$[q];if(Q==="'"||Q==='"')J=J===Q?null:J??Q;if(!J){if(Q==="(")Z++;else if(Q===")")Z--;else if(Q==="?"&&Z===0)return q}}return-1}function L4($){let Z=0,J=null;for(let q=0;q<$.length;q++){let Q=$[q];if(Q==="'"||Q==='"')J=J===Q?null:J??Q;if(!J){if(Q==="?"||Q==="(")Z++;else if(Q===")")Z--;else if(Q===":"&&Z===0)return q}}return-1}function O4($){let Z=[],J="",q=null;for(let Q=0;Q<$.length;Q++){let Y=$[Q];if(Y==="'"||Y==='"')q=q===Y?null:q??Y;if(Y==="|"&&!q)if($[Q+1]==="|")J+="||",Q++;else Z.push(J),J="";else J+=Y}return Z.push(J),Z}function v0($){let Z=$.replace(/^['"]|['"]$/g,"");if(Z==="true")return!0;if(Z==="false")return!1;let J=Number(Z);return isNaN(J)?Z:J}function H1($){let Z=[],J="",q=null;for(let Q of $){if(Q==="'"||Q==='"')q=q===Q?null:q??Q;if(Q===","&&!q)Z.push(J),J="";else J+=Q}return Z.push(J),Z}function F0($,Z){if(!Z)return $;let J=Z.split("."),q=$;for(let Q of J){if(q==null||typeof q!=="object")return;q=q[Q]}return q}function D4($,Z){let J=0,q=0;while((q=$.indexOf(Z,q))!==-1)J++,q+=Z.length;return J}function K0($){return $.replace(/_([a-z])/g,(Z,J)=>J.toUpperCase())}function u0($){let Z={};for(let[J,q]of Object.entries($)){let Q=J.startsWith("$")?J:K0(J);if(Array.isArray(q))Z[Q]=q.map((Y)=>Y!=null&&typeof Y==="object"&&!Array.isArray(Y)?u0(Y):Y);else if(q!=null&&typeof q==="object"&&!Array.isArray(q))Z[Q]=u0(q);else Z[Q]=q}return Z}async function k($,Z){let J=Array.isArray($)?$:[$];for(let q of J)await T4(q,Z)}async function T4($,Z){let J=u0($),q=J.action;switch(q){case"setState":{V4(J,Z);return}case"toggleState":{j4(J,Z);return}case"appendState":{R4(J,Z);return}case"popState":{I4(J,Z);return}case"showToast":{P4(J,Z);return}case"closeOverlay":{A4(J,Z);return}case"openLink":{k4(J);return}case"setInterval":{S4(J,Z);return}case"toolCall":case"callTool":return w4(J,Z);case"sendMessage":return C4(J,Z);case"updateContext":{y4(J,Z);return}case"fetch":return b4(J,Z);case"openFilePicker":{m4(J,Z);return}case"callHandler":return h4(J,Z);case"requestDisplayMode":{v4(J,Z);return}case"subscribe":{x4(J,Z);return}case"unsubscribe":{p4(J);return}default:console.warn(`[prefab] Unknown action: ${q}`)}}function V4($,Z){let{key:J,value:q}=$;if(g(q))q=u(q,Z.store,Z.scope);Z.store.set(J,q),Z.rerender(),l($.onSuccess,Z)}function j4($,Z){Z.store.toggle($.key),Z.rerender()}function R4($,Z){let J=$.value??$.item;if(g(J))J=u(J,Z.store,Z.scope);Z.store.append($.key,J,$.index),Z.rerender()}function I4($,Z){Z.store.pop($.key,$.index),Z.rerender()}function P4($,Z){Z.onToast?.({message:L0($.message,Z),description:$.description!=null?L0($.description,Z):void 0,variant:$.variant,duration:$.duration})}function A4($,Z){if(typeof document<"u")document.dispatchEvent(new CustomEvent("prefab:close-overlay"))}function k4($){if(typeof window<"u"){let Z=$.url;if(!Z){console.warn("[prefab] openLink: missing url");return}if(!_1(Z)){console.warn(`[prefab] Blocked unsafe URL scheme: ${Z}`);return}window.open(Z,$.target??"_blank")}}var z0=new Set,f4=20,M1=100;function S4($,Z){let J=Math.max($.intervalMs,M1),q=$.onTick;if(typeof globalThis.setInterval!=="function")return;if(z0.size>=f4){console.warn("[prefab] Max intervals reached, ignoring new setInterval");return}let Q=globalThis.setInterval(()=>void k(q,Z),J);z0.add(Q)}function G1(){for(let $ of z0)globalThis.clearInterval($);z0.clear()}async function w4($,Z){if(!Z.transport){console.warn("[prefab] No MCP transport configured for toolCall");return}let J=$.tool,q=x0($.arguments,Z);try{let Q=await Z.transport.callTool(J,q);if($.resultKey!=null)Z.store.set($.resultKey,Q);let Y=O0(Q);if(Y&&Z.remount)Z.remount(Y);else D0(Q,Z),Z.rerender();await l($.onSuccess,Z,{$result:Q})}catch(Q){await l($.onError,Z,{$error:Q})}}async function C4($,Z){if(!Z.transport){console.warn("[prefab] No MCP transport configured for sendMessage");return}await Z.transport.sendMessage(L0($.message,Z))}function y4($,Z){let J=$.context;if(J!=null)Z.store.merge(J),Z.rerender()}async function b4($,Z){let J=L0($.url,Z);if(!_1(J)){console.warn(`[prefab] Blocked unsafe URL in fetch: ${J}`);return}let q=$.method??"GET",Q=$.headers,Y=$.body!==void 0?JSON.stringify($.body):void 0;try{let U=await globalThis.fetch(J,{method:q,headers:{"Content-Type":"application/json",...Q},...Y&&{body:Y}}),W=await U.json().catch(()=>U.text());if($.resultKey!=null)Z.store.set($.resultKey,W);let H=O0(W);if(H&&Z.remount)Z.remount(H);else D0(W,Z),Z.rerender();await l($.onSuccess,Z,{$result:W})}catch(U){await l($.onError,Z,{$error:U})}}function m4($,Z){if(typeof document>"u")return;let J=document.createElement("input");if(J.type="file",$.accept!=null)J.accept=$.accept;if($.multiple===!0)J.multiple=!0;J.addEventListener("change",()=>{let q=Array.from(J.files??[]);if($.resultKey!=null)Z.store.set($.resultKey,q);Z.rerender(),l($.onSuccess,Z,{$result:q})}),J.click()}async function h4($,Z){let J=$.handler,q=x0($.arguments,Z);if(!Z.transport){console.warn(`[prefab] No transport configured for callHandler: ${J}`);return}try{let Q=await Z.transport.callTool(J,q);if($.resultKey!=null)Z.store.set($.resultKey,Q);let Y=O0(Q);if(Y&&Z.remount)Z.remount(Y);else D0(Q,Z),Z.rerender();await l($.onSuccess,Z,{$result:Q})}catch(Q){await l($.onError,Z,{$error:Q})}}function v4($,Z){if(typeof document<"u")document.dispatchEvent(new CustomEvent("prefab:request-display-mode",{detail:{mode:$.mode}}))}var r=new Map,g4=50,u4=2000;function x4($,Z){let{uri:J,stateKey:q}=$;if(!J||!q){console.warn("[prefab] subscribe: missing uri or stateKey");return}if(r.has(J))return;if(r.size>=g4){console.warn("[prefab] Max subscriptions reached, ignoring new subscribe");return}let Q=(M)=>{let E=O0(M);if(E&&Z.remount)Z.remount(E);else{if(!D0(M,Z))Z.store.set(q,M);Z.rerender()}l($.onData,Z,{$data:M})};if(Z.transport?.subscribe&&Z.transport.capabilities?.subscriptions){let M=Z.transport.subscribe(J,Q);r.set(J,M);return}let Y=$.fallbackTool,U=$.fallbackInterval??u4;if(!Y){console.warn("[prefab] subscribe: host lacks subscriptions and no fallbackTool specified");return}if(!Z.transport){console.warn("[prefab] No MCP transport configured for subscribe fallback");return}let W=$.fallbackArgs??{},H=Math.max(U,M1),X=Z.transport,N=globalThis.setInterval(()=>{(async()=>{try{let M=x0(W,Z),E=await X.callTool(Y,M);Q(E)}catch(M){l($.onError,Z,{$error:M})}})()},H);r.set(J,()=>globalThis.clearInterval(N))}function p4($){let Z=$.uri;if(!Z){console.warn("[prefab] unsubscribe: missing uri");return}let J=r.get(Z);if(J)J(),r.delete(Z)}function X1(){for(let[$,Z]of r)try{Z()}catch(J){console.warn(`[prefab] Error cleaning up subscription '${$}':`,J)}r.clear()}function O0($){if($==null||typeof $!=="object")return null;let Z=$;if("$prefab"in Z&&"view"in Z)return Z;if("structuredContent"in Z){let J=Z.structuredContent;if(J!=null&&typeof J==="object"){let q=J;if("$prefab"in q&&"view"in q)return q}}if("content"in Z&&Array.isArray(Z.content)){for(let J of Z.content)if(J.type==="text"&&typeof J.text==="string")try{let q=JSON.parse(J.text);if(q!=null&&typeof q==="object"){let Q=q;if("$prefab"in Q&&"view"in Q)return Q}}catch{}}return null}function c4($){if($==null||typeof $!=="object")return null;let Z=$;if(g0(Z))return Z;if("structuredContent"in Z){let J=Z.structuredContent;if(J!=null&&typeof J==="object"&&g0(J))return J}if("content"in Z&&Array.isArray(Z.content)){for(let J of Z.content)if(J.type==="text"&&typeof J.text==="string")try{let q=JSON.parse(J.text);if(q!=null&&typeof q==="object"&&g0(q))return q}catch{}}return null}function g0($){if(!("$prefab"in $)||!("update"in $))return!1;let Z=$.update;return Z!=null&&typeof Z==="object"&&"state"in Z}function D0($,Z){let J=c4($);if(!J)return!1;let q=J.update;return Z.store.merge(q.state),!0}var d4=/^\s*(javascript|vbscript|data):/i;function _1($){return!d4.test($)}function L0($,Z){if(g($)){let J=u($,Z.store,Z.scope);return J==null?"":String(J)}return $==null?"":String($)}function x0($,Z){if(!$)return{};let J={};for(let[q,Q]of Object.entries($))J[q]=g(Q)?u(Q,Z.store,Z.scope):Q;return J}async function l($,Z,J){if($==null)return;let q={...Z.scope,...J};await k($,{...Z,scope:q})}function c0($){let Z={};for(let[J,q]of Object.entries($)){let Q=J.startsWith("$")?J:K0(J);if(Array.isArray(q))Z[Q]=q.map((Y)=>Y!=null&&typeof Y==="object"&&!Array.isArray(Y)?c0(Y):Y);else if(q!=null&&typeof q==="object"&&!Array.isArray(q))Z[Q]=c0(q);else Z[Q]=q}return Z}class W0{callbacks=[];track($){this.callbacks.push($)}flush(){for(let $ of this.callbacks)try{$()}catch(Z){console.warn("[prefab] destroy callback error:",Z)}this.callbacks=[]}get size(){return this.callbacks.length}}function l4($){return typeof $==="object"&&"element"in $}var d0=new Map;function G($,Z){if(d0.has($))console.warn(`[prefab] overriding existing renderer for "${$}"`);d0.set($,Z)}function w($,Z){let J=c0($);if(Z.defs?.[J.type]){let Y={...Z.defs[J.type],...J,type:Z.defs[J.type].type};return w(Y,Z)}let q=d0.get(J.type),Q;if(q){let Y=q(J,Z);if(l4(Y))Q=Y.element,Z.destroyRegistry?.track(Y.destroy);else Q=Y}else if(Q=document.createElement("div"),Q.setAttribute("data-prefab-type",J.type),J.children)for(let Y of J.children)Q.appendChild(w(Y,Z));if(Q instanceof HTMLElement){if(J.id)Q.id=J.id;if(J.cssClass){let Y=K(J.cssClass,Z);if(Y)Q.className=(Q.className?Q.className+" ":"")+Y}}if(J.onMount){let Y=J.onMount,U=y(Z);queueMicrotask(()=>void k(Y,U))}return Q}function T($,Z,J){if(!$.children)return;a($.children,Z,J)}function a($,Z,J){let q=0;while(q<$.length){let Q=$[q];if(Q.type==="If")q=s4($,q,Z,J);else if(Q.type==="Elif"||Q.type==="Else")q++;else Z.appendChild(w(Q,J)),q++}}function s4($,Z,J,q){let Q=!1,Y=Z,U=$[Y];if(N1(U.condition,q))p0(U,J,q),Q=!0;Y++;while(Y<$.length){let W=$[Y];if(W.type==="Elif"){if(!Q&&N1(W.condition,q))p0(W,J,q),Q=!0;Y++}else if(W.type==="Else"){if(!Q)p0(W,J,q);Y++;break}else break}return Y}function N1($,Z){if(!$)return!1;if(g($))return Boolean(u($,Z.store,Z.scope));return Boolean(Z.store.get($))}function p0($,Z,J){if(!$.children)return;a($.children,Z,J)}function K($,Z){if(g($)){let J=u($,Z.store,Z.scope);return J==null?"":String(J)}return $==null?"":String($)}function b($,Z){if(g($))return u($,Z.store,Z.scope);return $}function y($){return{store:$.store,transport:$.transport,scope:$.scope,rerender:$.rerender,onToast:$.onToast,remount:$.remount}}function _($,Z){let J=document.createElement($);if(Z)J.className=Z;return J}function l0($,Z){return $.textContent=Z,$}function K1(){G("Column",i4),G("Row",n4),G("Grid",E1),G("GridItem",B1),G("Container",r4),G("Div",F1),G("Span",a4),G("Dashboard",E1),G("DashboardItem",B1),G("Pages",o4),G("Page",F1),G("Detail",t4),G("MasterDetail",e4)}function i4($,Z){let J=_("div","pf-column");J.style.display="flex",J.style.flexDirection="column";let q=T0($);if(q!=null)J.style.gap=`${q*4}px`;if($.align!=null)J.style.alignItems=z1($.align);if($.justify!=null)J.style.justifyContent=L1($.justify);return T($,J,Z),J}function n4($,Z){let J=_("div","pf-row");J.style.display="flex",J.style.flexDirection="row";let q=T0($);if(q!=null)J.style.gap=`${q*4}px`;if($.align!=null)J.style.alignItems=z1($.align);if($.justify!=null)J.style.justifyContent=L1($.justify);if($.wrap===!0)J.style.flexWrap="wrap";return T($,J,Z),J}function E1($,Z){let J=_("div","pf-grid");J.style.display="grid";let q=$.columns??3;J.style.gridTemplateColumns=`repeat(${q}, 1fr)`;let Q=T0($);if(Q!=null)J.style.gap=`${Q*4}px`;return T($,J,Z),J}function B1($,Z){let J=_("div","pf-grid-item");if($.colSpan!=null)J.style.gridColumn=`span ${$.colSpan}`;if($.rowSpan!=null)J.style.gridRow=`span ${$.rowSpan}`;return T($,J,Z),J}function r4($,Z){let J=_("div","pf-container");if(J.style.maxWidth=$.maxWidth??"1200px",J.style.margin="0 auto",$.padding!=null)J.style.padding=`${$.padding*4}px`;return T($,J,Z),J}function F1($,Z){let J=_("div","pf-div");return T($,J,Z),J}function a4($,Z){let J=_("span","pf-span");return T($,J,Z),J}function o4($,Z){let J=_("div","pf-pages");return T($,J,Z),J}function t4($,Z){let J=_("div","pf-detail"),q=$.of!=null?b($.of,Z):void 0;if(q!=null&&q!==""&&q!==!1&&q!==0)T($,J,Z);else if($.empty!=null){let Q=$.empty;J.appendChild(w(Q,Z))}return J}function e4($,Z){let J=_("div","pf-master-detail");J.style.display="flex",J.style.flexDirection="row";let q=T0($);if(q!=null)J.style.gap=`${q*4}px`;let Q=$.masterWidth??"33%",Y=$.children??[];if(Y.length>0){let U=_("div","pf-master-detail-master");U.style.width=Q,U.style.flexShrink="0",U.style.overflow="auto",U.appendChild(w(Y[0],Z)),J.appendChild(U)}if(Y.length>1){let U=_("div","pf-master-detail-detail");U.style.flex="1",U.style.overflow="auto",U.appendChild(w(Y[1],Z)),J.appendChild(U)}return J}var $8=/\bgap-(\d+)\b/;function T0($){if($.gap!=null)return $.gap;if(typeof $.cssClass==="string"){let Z=$8.exec($.cssClass);if(Z)return Number(Z[1])}return null}function z1($){return{start:"flex-start",end:"flex-end",center:"center",stretch:"stretch",baseline:"baseline"}[$]??$}function L1($){return{start:"flex-start",end:"flex-end",center:"center",between:"space-between",around:"space-around",evenly:"space-evenly"}[$]??$}function D1(){G("Heading",Z8),G("H1",($,Z)=>V0($,Z,"h1")),G("H2",($,Z)=>V0($,Z,"h2")),G("H3",($,Z)=>V0($,Z,"h3")),G("H4",($,Z)=>V0($,Z,"h4")),G("Text",J8),G("P",q8),G("Lead",($,Z)=>Z0($,Z,"p","pf-lead")),G("Large",($,Z)=>Z0($,Z,"span","pf-large")),G("Small",($,Z)=>Z0($,Z,"small","pf-small")),G("Muted",($,Z)=>Z0($,Z,"p","pf-muted")),G("BlockQuote",($,Z)=>Z0($,Z,"blockquote","pf-blockquote")),G("Label",($,Z)=>Z0($,Z,"label","pf-label")),G("Link",Y8),G("Code",U8),G("Markdown",W8),G("Kbd",H8)}function Z8($,Z){let J=$.level??2,q=`h${Math.min(Math.max(J,1),6)}`,Q=document.createElement(q);return Q.className=`pf-heading pf-${q}`,Q.textContent=K($.content,Z),Q}function V0($,Z,J){let q=document.createElement(J);return q.className=`pf-heading pf-${J}`,q.textContent=K($.content,Z),q}function J8($,Z){return l0(_("span","pf-text"),K($.content,Z))}function q8($,Z){return l0(_("p","pf-p"),K($.content,Z))}function Z0($,Z,J,q){let Q=document.createElement(J);return Q.className=q,Q.textContent=K($.content,Z),Q}var Q8=/^\s*(javascript|vbscript|data):/i;function Y8($,Z){let J=document.createElement("a");if(J.className="pf-link",J.textContent=K($.content,Z),$.href!=null){let q=K($.href,Z);if(!Q8.test(q))J.href=q}if($.target!=null)J.target=K($.target,Z);return J}function U8($,Z){let J=_("pre","pf-code"),q=_("code");if(q.textContent=K($.content,Z),$.language!=null)q.setAttribute("data-language",$.language);return J.appendChild(q),J}function W8($,Z){let J=_("div","pf-markdown"),q=K($.content,Z);return J.innerHTML=T1(q),J.setAttribute("data-markdown","true"),J}var O1=/^\s*(javascript|vbscript|data):/i;function R0($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function j0($){let Z=R0($),J=[];return Z=Z.replace(/`([^`]+)`/g,(q,Q)=>{return J.push(`<code>${Q}</code>`),`﷐CODE${J.length-1}﷐`}),Z=Z.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(q,Q,Y)=>{if(O1.test(Y))return R0(Q);return`<img src="${Y}" alt="${Q}" />`}),Z=Z.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(q,Q,Y)=>{if(O1.test(Y))return Q;return`<a href="${Y}">${Q}</a>`}),Z=Z.replace(/\*{3}(.+?)\*{3}/g,"<strong><em>$1</em></strong>"),Z=Z.replace(/_{3}(.+?)_{3}/g,"<strong><em>$1</em></strong>"),Z=Z.replace(/\*{2}(.+?)\*{2}/g,"<strong>$1</strong>"),Z=Z.replace(/_{2}(.+?)_{2}/g,"<strong>$1</strong>"),Z=Z.replace(/\*(.+?)\*/g,"<em>$1</em>"),Z=Z.replace(/(?<!\w)_(.+?)_(?!\w)/g,"<em>$1</em>"),Z=Z.replace(/~~(.+?)~~/g,"<del>$1</del>"),Z=Z.replace(/\uFDD0CODE(\d+)\uFDD0/g,(q,Q)=>J[parseInt(Q)]),Z}function T1($){let Z=$.replace(/\r\n?/g,`
2
2
  `).split(`
3
3
  `),J=[],q=0;while(q<Z.length){let Q=Z[q];if(Q.trimStart().startsWith("```")){let W=Q.trimStart().slice(3).trim(),H=[];q++;while(q<Z.length&&!Z[q].trimStart().startsWith("```"))H.push(R0(Z[q])),q++;q++;let X=W?` data-language="${R0(W)}"`:"";J.push(`<pre class="pf-code"><code${X}>${H.join(`
4
4
  `)}</code></pre>`);continue}if(/^(\s*[-*_]\s*){3,}$/.test(Q)){J.push("<hr />"),q++;continue}let Y=/^(#{1,6})\s+(.+)$/.exec(Q);if(Y){let W=Y[1].length;J.push(`<h${W}>${j0(Y[2])}</h${W}>`),q++;continue}if(Q.startsWith("> ")||Q===">"){let W=[];while(q<Z.length&&(Z[q].startsWith("> ")||Z[q]===">"))W.push(Z[q].replace(/^>\s?/,"")),q++;J.push(`<blockquote>${T1(W.join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maxhealth.tech/prefab",
3
- "version": "0.2.34",
3
+ "version": "0.2.35",
4
4
  "description": "TypeScript declarative UI component library for MCP apps. Wire-compatible with Python prefab-ui.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",