@rizom/brain 0.2.0-alpha.46 → 0.2.0-alpha.47
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/dist/brain.js +511 -511
- package/dist/entities.d.ts +1 -1
- package/dist/index.js +82 -82
- package/dist/index.js.map +7 -7
- package/dist/interfaces.d.ts +1 -1
- package/dist/interfaces.js +2 -2
- package/dist/interfaces.js.map +3 -3
- package/dist/plugins.d.ts +166 -22
- package/dist/plugins.js +2 -2
- package/dist/plugins.js.map +3 -3
- package/dist/services.d.ts +1 -1
- package/dist/services.js +2 -2
- package/dist/services.js.map +3 -3
- package/dist/site.js +6 -6
- package/dist/site.js.map +3 -3
- package/dist/templates.d.ts +1 -1
- package/package.json +1 -5
- package/dist/utils.d.ts +0 -133
- package/dist/utils.js +0 -174
- package/dist/utils.js.map +0 -211
package/dist/site.js
CHANGED
|
@@ -169,7 +169,7 @@ Please report this to https://github.com/markedjs/marked.`,w){let X="<p>An error
|
|
|
169
169
|
`)}extractTextFromParagraph(w){return this.extractInlineText(w.children).trim()}extractInlineText(w){let $=[];for(let W of w)if(W.type==="text")$.push(this.extractTextValue(W));else if(W.type==="emphasis"){let X=this.extractInlineText(W.children);if(X)$.push(`*${X}*`)}else if(W.type==="strong"){let X=this.extractInlineText(W.children);if(X)$.push(`**${X}**`)}return $.join("")}extractSimpleArrayItems(w){let $=[];for(let W of w)if(W.type==="list"){let X=W;for(let Y of X.children){let J=this.extractTextFromListItem(Y);if(J)$.push(J)}}return $}extractObjectArrayItems(w,$,W){let X=[],Y=[],J=!1;for(let G of w)if(G.type==="heading"&&G.depth===$){if(J&&Y.length>0){let f=this.extractSubsections(Y,$+1),H=this.buildDataFromSections(f,W,$+1);X.push(H)}Y=[],J=!0}else if(J)Y.push(G);if(J&&Y.length>0){let G=this.extractSubsections(Y,$+1),f=this.buildDataFromSections(G,W,$+1);X.push(f)}return X}extractTextFromListItem(w){let $=[];for(let W of w.children)if(W.type==="paragraph"){let X=this.extractTextFromParagraph(W);if(X)$.push(X)}return $.join(`
|
|
170
170
|
`)}}var N_=b(()=>{Cw();Qf()});var D_=b(()=>{zW()});var q_=b(()=>{zW()});var R_=b(()=>{A8();V_();__();B_();N_();D_();q_()});var eH0;var v_=b(()=>{Cw();eH0=Z.object({slug:Z.string(),title:Z.string(),type:Z.string(),entityId:Z.string(),contentHash:Z.string()})});var k_=b(()=>{R_();v_()});var L_="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";import{webcrypto as E_}from"crypto";function Ec(w){if(!U4||U4.length<w)U4=Buffer.allocUnsafe(w*Lc),E_.getRandomValues(U4),bw=0;else if(bw+w>U4.length)E_.getRandomValues(U4),bw=0;bw+=w}function T_(w=21){Ec(w|=0);let $="";for(let W=bw-w;W<bw;W++)$+=L_[U4[W]&63];return $}var Lc=128,U4,bw;var P_=()=>{};function F3(w=12){return T_(w)}var j_=b(()=>{P_()});function X5(w){return w.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function bf(w){let W=w.split(/\s+/).filter((X)=>X.length>0).length;return Math.max(1,Math.ceil(W/200))}function If(w){let $=w.trim().replace(/^https?:\/\//,""),W=$.split(".").filter(Boolean);if(W.length>=3){let[X,...Y]=W;if(!X||Y.length===0)return`preview.${$}`;return`${X}-preview.${Y.join(".")}`}return`preview.${$}`}var Sf=()=>{};var C_=b(()=>{Sf()});function Iw(w,$){let W=w.metadata.publishedAt??w.created,X=$.metadata.publishedAt??$.created;return new Date(X).getTime()-new Date(W).getTime()}var F8;var b_=b(()=>{F8={START:0,INIT:10,FETCH:20,PROCESS:40,GENERATE:50,EXTRACT:60,SAVE:80,COMPLETE:100}});function b1(w){return w instanceof Error?w.message:String(w)}function Q8(w){return w instanceof Error?w:Error(String(w))}var yf;var I_=b(()=>{yf={success(w){return{success:!0,...w}},failure(w){return{success:!1,error:b1(w)}}}});var O8;var S_=b(()=>{F$();O8=Z.object({success:Z.boolean(),entityId:Z.string().optional(),error:Z.string().optional()})});var x_=()=>{};var y_=()=>{};function mf(w){let $={};for(let X of w.matchAll(m_)){let Y=X[1]??"";for(let G of Y.matchAll(/([\w-]+)=["']([^"']*?)["']/g)){let f=G[1],H=G[2];if(f&&H!==void 0)$[f]=H}let J=Y.replace(/([\w-]+)=["']([^"']*?)["']/g,"").trim();if(J)for(let G of J.matchAll(/(?:^|\s)([\w-]+)(?=\s|$)/g)){let f=G[1];if(f)$[f]="true"}}let W=w.replace(m_,"").replace(/^\n+/,"").replace(/\n{3,}/g,`
|
|
171
171
|
|
|
172
|
-
`).trim();return{attributes:$,markdown:W}}function uf(w){let $=w.split(Tc);return $.length>1?$:null}var m_,Tc;var u_=b(()=>{m_=/<!--\s*\.slide:\s*(.*?)\s*-->/g;Tc=/<!--\s*\.break\s*-->/});function bc(w){return w.replace(Cc,($)=>jc[$]??$)}function _W(w){return w.replace(Pc,($,W)=>{return`<div class="mermaid">${bc(W)}</div>`})}var Pc,jc,Cc;var g_=b(()=>{Pc=/<pre><code class="language-mermaid">([\s\S]*?)<\/code><\/pre>/g,jc={"&":"&","<":"<",">":">",""":'"',"'":"'"},Cc=/&(?:amp|lt|gt|quot|#39);/g});var J0=b(()=>{DF();LJ();LJ();kM();z_();j_();Sf();C_();VW();Cw();b_();I_();S_();x_();y_();u_();g_();k_()});var yc,d_;var c_=b(()=>{J0();yc=Z.object({status:Z.enum(["healthy","warning","error","unknown"]),message:Z.string().optional(),lastCheck:Z.date().optional(),details:Z.record(Z.string(),Z.unknown()).optional()}),d_=Z.object({name:Z.string(),pluginId:Z.string(),status:Z.string(),health:yc.optional()})});var gf;var lf=b(()=>{J0();gf=Z.enum(["anchor","trusted","public"])});function i_(w,$){return(W)=>{let X=w.parse(W);return $(X)}}function z1(w){let{layout:$,schema:W,...X}=w,Y={...X,schema:W};if($){if(Y.layout={},$.component)Y.layout.component=i_(W,$.component);if($.fullscreen!==void 0)Y.layout.fullscreen=$.fullscreen}return Y}var mc;var n_=b(()=>{J0();lf();mc=Z.object({name:Z.string(),description:Z.string(),schema:Z.any(),basePrompt:Z.string().optional(),useKnowledgeContext:Z.boolean().optional(),requiredPermission:gf,formatter:Z.any().optional(),layout:Z.object({component:Z.any(),fullscreen:Z.boolean().optional()}).optional(),dataSourceId:Z.string().optional()})});class Z8{static canGenerate(w){return!!w.basePrompt&&!!w.dataSourceId&&w.dataSourceId.includes("ai-content")}static canFetch(w){return!!w.dataSourceId&&!this.canGenerate(w)}static canRender(w){return!!w.layout?.component}static isStaticOnly(w){return!this.canGenerate(w)&&!this.canFetch(w)}static getCapabilities(w){return{canGenerate:this.canGenerate(w),canFetch:this.canFetch(w),canRender:this.canRender(w),isStaticOnly:this.isStaticOnly(w)}}static validate(w){let $=[];if(w.dataSourceId?.includes("ai-content")&&!w.basePrompt)$.push(`Template "${w.name}" has AI-content dataSourceId but no basePrompt. AI generation requires a basePrompt.`);if(w.basePrompt&&(!w.dataSourceId||!w.dataSourceId.includes("ai-content")))$.push(`Template "${w.name}" has basePrompt but no AI-content dataSourceId. The basePrompt won't be used.`);return $}static logCapabilities(w,$){let W=this.getCapabilities(w),X=this.validate(w);if($)$.debug(`Template capabilities for "${w.name}":`,{...W,errors:X.length>0?X:void 0})}}var o_=()=>{};var uc,gc,lc,pc;var a_=b(()=>{J0();uc=Z.enum(["site-content-preview","site-content-production"]),gc=Z.object({name:Z.string(),schema:Z.any(),description:Z.string().optional(),pluginId:Z.string(),renderers:Z.object({web:Z.union([Z.function(),Z.string()]).optional()})}),lc=Z.object({enableContentGeneration:Z.boolean().default(!1),outputDir:Z.string(),workingDir:Z.string().optional(),environment:Z.enum(["preview","production"]).default("preview"),siteConfig:Z.object({title:Z.string(),description:Z.string(),url:Z.string().optional()}).optional()}),pc=Z.object({success:Z.boolean(),routesBuilt:Z.number(),errors:Z.array(Z.string()).optional(),warnings:Z.array(Z.string()).optional()})});var p5=b(()=>{n_();o_();lf();a_()});import{McpServer as zA0}from"@modelcontextprotocol/sdk/server/mcp.js";import{ResourceTemplate as _A0}from"@modelcontextprotocol/sdk/server/mcp.js";var t_=b(()=>{p5();J0()});var BW,e_,wB,$B,pf;var WB=b(()=>{J0();BW=Z.object({interfaceType:Z.string(),userId:Z.string(),channelId:Z.string().optional(),channelName:Z.string().optional()}),e_=Z.object({success:Z.literal(!0),data:Z.unknown(),message:Z.string().optional()}),wB=Z.object({success:Z.literal(!1),error:Z.string(),code:Z.string().optional()}),$B=Z.object({needsConfirmation:Z.literal(!0),toolName:Z.string(),description:Z.string(),args:Z.unknown()}),pf=Z.union([e_,wB,$B])});var XB;var YB=b(()=>{J0();XB=Z.union([Z.object({success:Z.literal(!0),data:Z.unknown(),message:Z.string().optional()}),Z.object({success:Z.literal(!1),error:Z.string(),code:Z.string().optional()})])});var JB=b(()=>{J0()});var rf=b(()=>{t_();WB();YB();JB()});var mA0,uA0,fB,ic,gA0,lA0,nc;var df=b(()=>{J0();J0();c_();rf();mA0=Z.object({id:Z.string(),type:Z.string(),version:Z.string(),status:Z.string()}),uA0=Z.object({name:Z.string(),description:Z.string()}),fB=Z.object({label:Z.string(),url:Z.string(),pluginId:Z.string(),priority:Z.number().default(100)}),ic=Z.object({model:Z.string(),version:Z.string(),uptime:Z.number(),entities:Z.number(),embeddings:Z.number(),ai:Z.object({model:Z.string(),embeddingModel:Z.string()}),daemons:Z.array(d_),endpoints:Z.array(fB)}),gA0=Z.object({pluginId:Z.string(),tool:Z.object({name:Z.string(),description:Z.string(),inputSchema:Z.record(Z.string(),Z.unknown()),handler:Z.function(),visibility:Z.enum(["public","trusted","anchor"]).optional()}),timestamp:Z.number()}),lA0=Z.object({pluginId:Z.string(),resource:Z.object({uri:Z.string(),name:Z.string(),description:Z.string().optional(),mimeType:Z.string().optional(),handler:Z.function()}),timestamp:Z.number()}),nc=Z.object({id:Z.string(),version:Z.string(),type:Z.enum(["core","entity","service","interface"]),description:Z.string().optional(),dependencies:Z.array(Z.string()).optional(),packageName:Z.string()})});class Sw{id;version;description;packageName;config;context;get logger(){return this.context?.logger??$2.createFresh({context:this.id})}constructor(w,$,W,X){this.id=w,this.packageName=$.name,this.version=$.version,this.description=$.description??`${$.name} plugin`,this.config=X.parse(W)}setupMessageHandlers(w){w.messaging.subscribe(`plugin:${this.id}:tool:execute`,async($)=>{try{let{toolName:W,args:X,progressToken:Y,hasProgress:J,interfaceType:G,userId:f,channelId:H}=oc.parse($.payload),U=(await this.getTools()).find((O)=>O.name===W);if(!U)return{success:!1,error:`Tool not found: ${W}`};let A={interfaceType:G,userId:f,...H&&{channelId:H},...J&&Y!==void 0&&{progressToken:Y,sendProgress:async(O)=>{await w.messaging.send(`plugin:${this.id}:progress`,{progressToken:Y,notification:O})}}};return{success:!0,data:await U.handler(X,A)}}catch(W){if(W instanceof Z.ZodError)return{success:!1,error:"Invalid tool execution request format"};return this.logger.error("Tool execution error",W),{success:!1,error:b1(W)}}}),w.messaging.subscribe(`plugin:${this.id}:resource:get`,async($)=>{try{let{resourceUri:W}=ac.parse($.payload),Y=(await this.getResources()).find((G)=>G.uri===W);if(!Y)return{success:!1,error:`Resource not found: ${W}`};return{success:!0,data:await Y.handler()}}catch(W){if(W instanceof Z.ZodError)return{success:!1,error:"Invalid resource get request format"};return this.logger.error("Resource fetch error",W),{success:!1,error:b1(W)}}})}async onRegister(w){}async onReady(w){}async ready(){await this.onReady(this.getContext())}async getTools(){return[]}async getResources(){return[]}async getInstructions(){return}async shutdown(){await this.onShutdown()}async onShutdown(){}getContext(){if(!this.context)throw Error(`Plugin ${this.id}: Plugin not registered yet`);return this.context}determineUserPermissionLevel(w){return"public"}createProgressBridge(w){if(!w)return;let $=this.context;if(!$)return;let W=this.id;return U3.from(async(X)=>{await $.messaging.send(`plugin:${W}:progress`,{progressToken:w,notification:{progress:X.progress,total:X.total,message:X.message}})})}}var oc,ac;var NW=b(()=>{df();J0();J0();oc=Z.object({toolName:Z.string(),args:Z.unknown(),progressToken:Z.union([Z.string(),Z.number()]).optional(),hasProgress:Z.boolean().optional(),...BW.shape}),ac=Z.object({resourceUri:Z.string()})});function KB(w){return sc.safeParse(w).success}var sc;var cf=b(()=>{J0();sc=Z.object({name:Z.string(),schema:Z.custom((w)=>w instanceof Z.ZodType)})});function u0(w,$){if(!w||typeof w!=="object")return!1;if(w instanceof $)return!0;if(!Object.prototype.hasOwnProperty.call($,U0))throw Error(`Class "${$.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let W=Object.getPrototypeOf(w).constructor;if(W)while(W){if(U0 in W&&W[U0]===$[U0])return!0;W=Object.getPrototypeOf(W)}return!1}var U0;var U1=b(()=>{U0=Symbol.for("drizzle:entityKind")});var m2;var w6=b(()=>{U1();m2=class m2{constructor(w,$){this.table=w,this.config=$,this.name=$.name,this.keyAsName=$.keyAsName,this.notNull=$.notNull,this.default=$.default,this.defaultFn=$.defaultFn,this.onUpdateFn=$.onUpdateFn,this.hasDefault=$.hasDefault,this.primary=$.primaryKey,this.isUnique=$.isUnique,this.uniqueName=$.uniqueName,this.uniqueType=$.uniqueType,this.dataType=$.dataType,this.columnType=$.columnType,this.generated=$.generated,this.generatedIdentity=$.generatedIdentity}static[U0]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(w){return w}mapToDriverValue(w){return w}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}});var nf;var of=b(()=>{U1();nf=class nf{static[U0]="ColumnBuilder";config;constructor(w,$,W){this.config={name:w,keyAsName:w==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:$,columnType:W,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(w){return this.config.default=w,this.config.hasDefault=!0,this}$defaultFn(w){return this.config.defaultFn=w,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(w){return this.config.onUpdateFn=w,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(w){if(this.config.name!=="")return;this.config.name=w}}});var z5;var z8=b(()=>{z5=Symbol.for("drizzle:Name")});function HB(w,...$){return w(...$)}var hB=()=>{};function UB(w,$){return`${w[z5]}_${$.join("_")}_unique`}var AB=b(()=>{z8()});var V8,tc;var FB=b(()=>{w6();U1();AB();V8=class V8 extends m2{constructor(w,$){if(!$.uniqueName)$.uniqueName=UB(w,[$.name]);super(w,$);this.table=w}static[U0]="PgColumn"};tc=class tc extends V8{static[U0]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(w){return this.indexConfig.opClass=w,this}}});function OB(w){return!!w&&typeof w==="function"&&QB in w&&w[QB]===!0}var ec,QB,wi;var ZB=b(()=>{U1();FB();ec=class ec extends V8{static[U0]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(w,$){super(w,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}};QB=Symbol.for("drizzle:isPgEnum");wi=class wi extends V8{static[U0]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(w,$){super(w,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}}});var L2;var $6=b(()=>{U1();L2=class L2{static[U0]="Subquery";constructor(w,$,W,X=!1,Y=[]){this._={brand:"Subquery",sql:w,selectedFields:$,alias:W,isWith:X,usedTables:Y}}}});var zB="0.44.7";var VB=()=>{};var af,sf,MB;var _B=b(()=>{hB();VB();MB={startActiveSpan(w,$){if(!af)return $();if(!sf)sf=af.trace.getTracer("drizzle-orm",zB);return HB((W,X)=>X.startActiveSpan(w,(Y)=>{try{return $(Y)}catch(J){throw Y.setStatus({code:W.SpanStatusCode.ERROR,message:J instanceof Error?J.message:"Unknown error"}),J}finally{Y.end()}}),af,sf)}}});var m1;var W6=b(()=>{m1=Symbol.for("drizzle:ViewBaseConfig")});var tf,BB,NB,ef,wK,M8,DB,$i,i0;var Q3=b(()=>{U1();z8();tf=Symbol.for("drizzle:Schema"),BB=Symbol.for("drizzle:Columns"),NB=Symbol.for("drizzle:ExtraConfigColumns"),ef=Symbol.for("drizzle:OriginalName"),wK=Symbol.for("drizzle:BaseName"),M8=Symbol.for("drizzle:IsAlias"),DB=Symbol.for("drizzle:ExtraConfigBuilder"),$i=Symbol.for("drizzle:IsDrizzleTable");i0=class i0{static[U0]="Table";static Symbol={Name:z5,Schema:tf,OriginalName:ef,Columns:BB,ExtraConfigColumns:NB,BaseName:wK,IsAlias:M8,ExtraConfigBuilder:DB};[z5];[ef];[tf];[BB];[NB];[wK];[M8]=!1;[$i]=!0;[DB]=void 0;constructor(w,$,W){this[z5]=this[ef]=w,this[tf]=$,this[wK]=W}}});function Wi(w){return w!==null&&w!==void 0&&typeof w.getSQL==="function"}function Xi(w){let $={sql:"",params:[]};for(let W of w)if($.sql+=W.sql,$.params.push(...W.params),W.typings?.length){if(!$.typings)$.typings=[];$.typings.push(...W.typings)}return $}function xw(w,...$){let W=[];if($.length>0||w.length>0&&w[0]!=="")W.push(new Y5(w[0]));for(let[X,Y]of $.entries())W.push(Y,new Y5(w[X+1]));return new Y1(W)}var Y5,Y1,DW,qB,RB,PF0,RW,qW,Yi,r5;var X6=b(()=>{U1();ZB();$6();_B();W6();w6();Q3();Y5=class Y5{static[U0]="StringChunk";value;constructor(w){this.value=Array.isArray(w)?w:[w]}getSQL(){return new Y1([this])}};Y1=class Y1{constructor(w){this.queryChunks=w;for(let $ of w)if(u0($,i0)){let W=$[i0.Symbol.Schema];this.usedTables.push(W===void 0?$[i0.Symbol.Name]:W+"."+$[i0.Symbol.Name])}}static[U0]="SQL";decoder=qB;shouldInlineParams=!1;usedTables=[];append(w){return this.queryChunks.push(...w.queryChunks),this}toQuery(w){return MB.startActiveSpan("drizzle.buildSQL",($)=>{let W=this.buildQueryFromSourceParams(this.queryChunks,w);return $?.setAttributes({"drizzle.query.text":W.sql,"drizzle.query.params":JSON.stringify(W.params)}),W})}buildQueryFromSourceParams(w,$){let W=Object.assign({},$,{inlineParams:$.inlineParams||this.shouldInlineParams,paramStartIndex:$.paramStartIndex||{value:0}}),{casing:X,escapeName:Y,escapeParam:J,prepareTyping:G,inlineParams:f,paramStartIndex:H}=W;return Xi(w.map((h)=>{if(u0(h,Y5))return{sql:h.value.join(""),params:[]};if(u0(h,DW))return{sql:Y(h.value),params:[]};if(h===void 0)return{sql:"",params:[]};if(Array.isArray(h)){let U=[new Y5("(")];for(let[A,F]of h.entries())if(U.push(F),A<h.length-1)U.push(new Y5(", "));return U.push(new Y5(")")),this.buildQueryFromSourceParams(U,W)}if(u0(h,Y1))return this.buildQueryFromSourceParams(h.queryChunks,{...W,inlineParams:f||h.shouldInlineParams});if(u0(h,i0)){let U=h[i0.Symbol.Schema],A=h[i0.Symbol.Name];return{sql:U===void 0||h[M8]?Y(A):Y(U)+"."+Y(A),params:[]}}if(u0(h,m2)){let U=X.getColumnCasing(h);if($.invokeSource==="indexes")return{sql:Y(U),params:[]};let A=h.table[i0.Symbol.Schema];return{sql:h.table[M8]||A===void 0?Y(h.table[i0.Symbol.Name])+"."+Y(U):Y(A)+"."+Y(h.table[i0.Symbol.Name])+"."+Y(U),params:[]}}if(u0(h,r5)){let U=h[m1].schema,A=h[m1].name;return{sql:U===void 0||h[m1].isAlias?Y(A):Y(U)+"."+Y(A),params:[]}}if(u0(h,RW)){if(u0(h.value,qW))return{sql:J(H.value++,h),params:[h],typings:["none"]};let U=h.value===null?null:h.encoder.mapToDriverValue(h.value);if(u0(U,Y1))return this.buildQueryFromSourceParams([U],W);if(f)return{sql:this.mapInlineParam(U,W),params:[]};let A=["none"];if(G)A=[G(h.encoder)];return{sql:J(H.value++,U),params:[U],typings:A}}if(u0(h,qW))return{sql:J(H.value++,h),params:[h],typings:["none"]};if(u0(h,Y1.Aliased)&&h.fieldAlias!==void 0)return{sql:Y(h.fieldAlias),params:[]};if(u0(h,L2)){if(h._.isWith)return{sql:Y(h._.alias),params:[]};return this.buildQueryFromSourceParams([new Y5("("),h._.sql,new Y5(") "),new DW(h._.alias)],W)}if(OB(h)){if(h.schema)return{sql:Y(h.schema)+"."+Y(h.enumName),params:[]};return{sql:Y(h.enumName),params:[]}}if(Wi(h)){if(h.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([h.getSQL()],W);return this.buildQueryFromSourceParams([new Y5("("),h.getSQL(),new Y5(")")],W)}if(f)return{sql:this.mapInlineParam(h,W),params:[]};return{sql:J(H.value++,h),params:[h],typings:["none"]}}))}mapInlineParam(w,{escapeString:$}){if(w===null)return"null";if(typeof w==="number"||typeof w==="boolean")return w.toString();if(typeof w==="string")return $(w);if(typeof w==="object"){let W=w.toString();if(W==="[object Object]")return $(JSON.stringify(w));return $(W)}throw Error("Unexpected param value: "+w)}getSQL(){return this}as(w){if(w===void 0)return this;return new Y1.Aliased(this,w)}mapWith(w){return this.decoder=typeof w==="function"?{mapFromDriverValue:w}:w,this}inlineParams(){return this.shouldInlineParams=!0,this}if(w){return w?this:void 0}};DW=class DW{constructor(w){this.value=w}static[U0]="Name";brand;getSQL(){return new Y1([this])}};qB={mapFromDriverValue:(w)=>w},RB={mapToDriverValue:(w)=>w},PF0={...qB,...RB};RW=class RW{constructor(w,$=RB){this.value=w,this.encoder=$}static[U0]="Param";brand;getSQL(){return new Y1([this])}};((w)=>{function $(){return new Y1([])}w.empty=$;function W(H){return new Y1(H)}w.fromList=W;function X(H){return new Y1([new Y5(H)])}w.raw=X;function Y(H,h){let U=[];for(let[A,F]of H.entries()){if(A>0&&h!==void 0)U.push(h);U.push(F)}return new Y1(U)}w.join=Y;function J(H){return new DW(H)}w.identifier=J;function G(H){return new qW(H)}w.placeholder=G;function f(H,h){return new RW(H,h)}w.param=f})(xw||(xw={}));((w)=>{class ${constructor(W,X){this.sql=W,this.fieldAlias=X}static[U0]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new $(this.sql,this.fieldAlias)}}w.Aliased=$})(Y1||(Y1={}));qW=class qW{constructor(w){this.name=w}static[U0]="Placeholder";getSQL(){return new Y1([this])}};Yi=Symbol.for("drizzle:IsDrizzleView");r5=class r5{static[U0]="View";[m1];[Yi]=!0;constructor({name:w,schema:$,selectedFields:W,query:X}){this[m1]={name:w,originalName:w,schema:$,selectedFields:W,query:X,isExisting:!X,isAlias:!1}}getSQL(){return new Y1([this])}};m2.prototype.getSQL=function(){return new Y1([this])};i0.prototype.getSQL=function(){return new Y1([this])};L2.prototype.getSQL=function(){return new Y1([this])}});var _8,$K;var WK=b(()=>{w6();U1();Q3();W6();_8=class _8{constructor(w){this.table=w}static[U0]="ColumnAliasProxyHandler";get(w,$){if($==="table")return this.table;return w[$]}};$K=class $K{constructor(w,$){this.alias=w,this.replaceOriginalName=$}static[U0]="TableAliasProxyHandler";get(w,$){if($===i0.Symbol.IsAlias)return!0;if($===i0.Symbol.Name)return this.alias;if(this.replaceOriginalName&&$===i0.Symbol.OriginalName)return this.alias;if($===m1)return{...w[m1],name:this.alias,isAlias:!0};if($===i0.Symbol.Columns){let X=w[i0.Symbol.Columns];if(!X)return X;let Y={};return Object.keys(X).map((J)=>{Y[J]=new Proxy(X[J],new _8(new Proxy(w,this)))}),Y}let W=w[$];if(u0(W,m2))return new Proxy(W,new _8(new Proxy(w,this)));return W}}});var vB=()=>{};var kB=()=>{};var B8;var vW=b(()=>{U1();B8=class B8{static[U0]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(w){return this.then(void 0,w)}finally(w){return this.then(($)=>{return w?.(),$},($)=>{throw w?.(),$})}then(w,$){return this.execute().then(w,$)}}});function yw(w,$){return Object.entries(w).reduce((W,[X,Y])=>{if(typeof X!=="string")return W;let J=$?[...$,X]:[X];if(u0(Y,m2)||u0(Y,Y1)||u0(Y,Y1.Aliased))W.push({path:J,field:Y});else if(u0(Y,i0))W.push(...yw(Y[i0.Symbol.Columns],J));else W.push(...yw(Y,J));return W},[])}function XK(w,$){let W=Object.keys(w),X=Object.keys($);if(W.length!==X.length)return!1;for(let[Y,J]of W.entries())if(J!==X[Y])return!1;return!0}function LB(w,$){for(let W of $)for(let X of Object.getOwnPropertyNames(W.prototype)){if(X==="constructor")continue;Object.defineProperty(w.prototype,X,Object.getOwnPropertyDescriptor(W.prototype,X)||Object.create(null))}}function N8(w){return u0(w,L2)?w._.alias:u0(w,r5)?w[m1].name:u0(w,Y1)?void 0:w[i0.Symbol.IsAlias]?w[i0.Symbol.Name]:w[i0.Symbol.BaseName]}function d5(w,$){return{name:typeof w==="string"&&w.length>0?w:"",config:typeof w==="object"?w:$}}var YK;var O3=b(()=>{w6();U1();X6();$6();Q3();W6();YK=typeof TextDecoder>"u"?null:new TextDecoder});var EB=()=>{};var TB=()=>{};var PB=b(()=>{EB();TB()});var jB=()=>{};var CB=()=>{};var bB=()=>{};var IB=b(()=>{CB();bB()});var SB=b(()=>{PB();IB();X6()});var xB=b(()=>{WK();of();w6();U1();vB();kB();vW();jB();SB();$6();Q3();O3();W6()});var yB=()=>{};var mB=()=>{};var JK,uB;var GK=b(()=>{U1();z8();JK=class JK{static[U0]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(w,$){if(this.reference=()=>{let{name:W,columns:X,foreignColumns:Y}=w();return{name:W,columns:X,foreignTable:Y[0].table,foreignColumns:Y}},$)this._onUpdate=$.onUpdate,this._onDelete=$.onDelete}onUpdate(w){return this._onUpdate=w,this}onDelete(w){return this._onDelete=w,this}build(w){return new uB(w,this)}};uB=class uB{constructor(w,$){this.table=w,this.reference=$.reference,this.onUpdate=$._onUpdate,this.onDelete=$._onDelete}static[U0]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:w,columns:$,foreignColumns:W}=this.reference(),X=$.map((G)=>G.name),Y=W.map((G)=>G.name),J=[this.table[z5],...X,W[0].table[z5],...Y];return w??`${J.join("_")}_fk`}}});function gB(w,$){return`${w[z5]}_${$.join("_")}_unique`}var fK=b(()=>{z8()});var o1,a1;var Y6=b(()=>{of();w6();U1();GK();fK();o1=class o1 extends nf{static[U0]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(w,$={}){return this.foreignKeyConfigs.push({ref:w,actions:$}),this}unique(w){return this.config.isUnique=!0,this.config.uniqueName=w,this}generatedAlwaysAs(w,$){return this.config.generated={as:w,type:"always",mode:$?.mode??"virtual"},this}buildForeignKeys(w,$){return this.foreignKeyConfigs.map(({ref:W,actions:X})=>{return((Y,J)=>{let G=new JK(()=>{let f=Y();return{columns:[w],foreignColumns:[f]}});if(J.onUpdate)G.onUpdate(J.onUpdate);if(J.onDelete)G.onDelete(J.onDelete);return G.build($)})(W,X)})}};a1=class a1 extends m2{constructor(w,$){if(!$.uniqueName)$.uniqueName=gB(w,[$.name]);super(w,$);this.table=w}static[U0]="SQLiteColumn"}});function nB(w,$){let{name:W,config:X}=d5(w,$);if(X?.mode==="json")return new rB(W);if(X?.mode==="bigint")return new lB(W);return new cB(W)}var lB,pB,rB,dB,cB,iB;var KK=b(()=>{U1();O3();Y6();lB=class lB extends o1{static[U0]="SQLiteBigIntBuilder";constructor(w){super(w,"bigint","SQLiteBigInt")}build(w){return new pB(w,this.config)}};pB=class pB extends a1{static[U0]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue(w){if(typeof Buffer<"u"&&Buffer.from){let $=Buffer.isBuffer(w)?w:w instanceof ArrayBuffer?Buffer.from(w):w.buffer?Buffer.from(w.buffer,w.byteOffset,w.byteLength):Buffer.from(w);return BigInt($.toString("utf8"))}return BigInt(YK.decode(w))}mapToDriverValue(w){return Buffer.from(w.toString())}};rB=class rB extends o1{static[U0]="SQLiteBlobJsonBuilder";constructor(w){super(w,"json","SQLiteBlobJson")}build(w){return new dB(w,this.config)}};dB=class dB extends a1{static[U0]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue(w){if(typeof Buffer<"u"&&Buffer.from){let $=Buffer.isBuffer(w)?w:w instanceof ArrayBuffer?Buffer.from(w):w.buffer?Buffer.from(w.buffer,w.byteOffset,w.byteLength):Buffer.from(w);return JSON.parse($.toString("utf8"))}return JSON.parse(YK.decode(w))}mapToDriverValue(w){return Buffer.from(JSON.stringify(w))}};cB=class cB extends o1{static[U0]="SQLiteBlobBufferBuilder";constructor(w){super(w,"buffer","SQLiteBlobBuffer")}build(w){return new iB(w,this.config)}};iB=class iB extends a1{static[U0]="SQLiteBlobBuffer";mapFromDriverValue(w){if(Buffer.isBuffer(w))return w;return Buffer.from(w)}getSQLType(){return"blob"}}});function kW(w){return($,W)=>{let{name:X,config:Y}=d5($,W);return new oB(X,Y,w)}}var oB,aB;var HK=b(()=>{U1();O3();Y6();oB=class oB extends o1{static[U0]="SQLiteCustomColumnBuilder";constructor(w,$,W){super(w,"custom","SQLiteCustomColumn");this.config.fieldConfig=$,this.config.customTypeParams=W}build(w){return new aB(w,this.config)}};aB=class aB extends a1{static[U0]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor(w,$){super(w,$);this.sqlName=$.customTypeParams.dataType($.fieldConfig),this.mapTo=$.customTypeParams.toDriver,this.mapFrom=$.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(w){return typeof this.mapFrom==="function"?this.mapFrom(w):w}mapToDriverValue(w){return typeof this.mapTo==="function"?this.mapTo(w):w}}});function E2(w,$){let{name:W,config:X}=d5(w,$);if(X?.mode==="timestamp"||X?.mode==="timestamp_ms")return new eB(W,X.mode);if(X?.mode==="boolean")return new $N(W,X.mode);return new sB(W)}var LW,EW,sB,tB,eB,wN,$N,WN;var hK=b(()=>{U1();X6();O3();Y6();LW=class LW extends o1{static[U0]="SQLiteBaseIntegerBuilder";constructor(w,$,W){super(w,$,W);this.config.autoIncrement=!1}primaryKey(w){if(w?.autoIncrement)this.config.autoIncrement=!0;return this.config.hasDefault=!0,super.primaryKey()}};EW=class EW extends a1{static[U0]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}};sB=class sB extends LW{static[U0]="SQLiteIntegerBuilder";constructor(w){super(w,"number","SQLiteInteger")}build(w){return new tB(w,this.config)}};tB=class tB extends EW{static[U0]="SQLiteInteger"};eB=class eB extends LW{static[U0]="SQLiteTimestampBuilder";constructor(w,$){super(w,"date","SQLiteTimestamp");this.config.mode=$}defaultNow(){return this.default(xw`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(w){return new wN(w,this.config)}};wN=class wN extends EW{static[U0]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(w){if(this.config.mode==="timestamp")return new Date(w*1000);return new Date(w)}mapToDriverValue(w){let $=w.getTime();if(this.config.mode==="timestamp")return Math.floor($/1000);return $}};$N=class $N extends LW{static[U0]="SQLiteBooleanBuilder";constructor(w,$){super(w,"boolean","SQLiteBoolean");this.config.mode=$}build(w){return new WN(w,this.config)}};WN=class WN extends EW{static[U0]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(w){return Number(w)===1}mapToDriverValue(w){return w?1:0}}});function HN(w,$){let{name:W,config:X}=d5(w,$),Y=X?.mode;return Y==="number"?new JN(W):Y==="bigint"?new fN(W):new XN(W)}var XN,YN,JN,GN,fN,KN;var UK=b(()=>{U1();O3();Y6();XN=class XN extends o1{static[U0]="SQLiteNumericBuilder";constructor(w){super(w,"string","SQLiteNumeric")}build(w){return new YN(w,this.config)}};YN=class YN extends a1{static[U0]="SQLiteNumeric";mapFromDriverValue(w){if(typeof w==="string")return w;return String(w)}getSQLType(){return"numeric"}};JN=class JN extends o1{static[U0]="SQLiteNumericNumberBuilder";constructor(w){super(w,"number","SQLiteNumericNumber")}build(w){return new GN(w,this.config)}};GN=class GN extends a1{static[U0]="SQLiteNumericNumber";mapFromDriverValue(w){if(typeof w==="number")return w;return Number(w)}mapToDriverValue=String;getSQLType(){return"numeric"}};fN=class fN extends o1{static[U0]="SQLiteNumericBigIntBuilder";constructor(w){super(w,"bigint","SQLiteNumericBigInt")}build(w){return new KN(w,this.config)}};KN=class KN extends a1{static[U0]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}});function AN(w){return new hN(w??"")}var hN,UN;var AK=b(()=>{U1();Y6();hN=class hN extends o1{static[U0]="SQLiteRealBuilder";constructor(w){super(w,"number","SQLiteReal")}build(w){return new UN(w,this.config)}};UN=class UN extends a1{static[U0]="SQLiteReal";getSQLType(){return"real"}}});function r0(w,$={}){let{name:W,config:X}=d5(w,$);if(X.mode==="json")return new ON(W);return new FN(W,X)}var FN,QN,ON,ZN;var FK=b(()=>{U1();O3();Y6();FN=class FN extends o1{static[U0]="SQLiteTextBuilder";constructor(w,$){super(w,"string","SQLiteText");this.config.enumValues=$.enum,this.config.length=$.length}build(w){return new QN(w,this.config)}};QN=class QN extends a1{static[U0]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(w,$){super(w,$)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}};ON=class ON extends o1{static[U0]="SQLiteTextJsonBuilder";constructor(w){super(w,"json","SQLiteTextJson")}build(w){return new ZN(w,this.config)}};ZN=class ZN extends a1{static[U0]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(w){return JSON.parse(w)}mapToDriverValue(w){return JSON.stringify(w)}}});var zN=b(()=>{KK();Y6();HK();hK();UK();AK();FK()});var u2;var QK=b(()=>{WK();w6();U1();X6();$6();W6();u2=class u2{static[U0]="SelectionProxyHandler";config;constructor(w){this.config={...w}}get(w,$){if($==="_")return{...w._,selectedFields:new Proxy(w._.selectedFields,this)};if($===m1)return{...w[m1],selectedFields:new Proxy(w[m1].selectedFields,this)};if(typeof $==="symbol")return w[$];let X=(u0(w,L2)?w._.selectedFields:u0(w,r5)?w[m1].selectedFields:w)[$];if(u0(X,Y1.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!X.isSelectionField)return X.sql;let Y=X.clone();return Y.isSelectionField=!0,Y}if(u0(X,Y1)){if(this.config.sqlBehavior==="sql")return X;throw Error(`You tried to reference "${$}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(u0(X,m2)){if(this.config.alias)return new Proxy(X,new _8(new Proxy(X.table,new $K(this.config.alias,this.config.replaceOriginalName??!1))));return X}if(typeof X!=="object"||X===null)return X;return new Proxy(X,new u2(this.config))}}});function VN(){return{blob:nB,customType:kW,integer:E2,numeric:HN,real:AN,text:r0}}var MN=b(()=>{KK();HK();hK();UK();AK();FK()});function Ji(w,$,W,X,Y=w){let J=new c5(w,X,Y),G=typeof $==="function"?$(VN()):$,f=Object.fromEntries(Object.entries(G).map(([h,U])=>{let A=U;A.setName(h);let F=A.build(J);return J[OK].push(...A.buildForeignKeys(F,J)),[h,F]})),H=Object.assign(J,f);if(H[i0.Symbol.Columns]=f,H[i0.Symbol.ExtraConfigColumns]=f,W)H[c5.Symbol.ExtraConfigBuilder]=W;return H}var OK,c5,i5=(w,$,W)=>{return Ji(w,$,W)};var D8=b(()=>{U1();Q3();MN();OK=Symbol.for("drizzle:SQLiteInlineForeignKeys");c5=class c5 extends i0{static[U0]="SQLiteTable";static Symbol=Object.assign({},i0.Symbol,{InlineForeignKeys:OK});[i0.Symbol.Columns];[OK]=[];[i0.Symbol.ExtraConfigBuilder]=void 0}});function V5(w){return new _N(w,!1)}var _N,BN,NN;var DN=b(()=>{U1();_N=class _N{constructor(w,$){this.name=w,this.unique=$}static[U0]="SQLiteIndexBuilderOn";on(...w){return new BN(this.name,w,this.unique)}};BN=class BN{static[U0]="SQLiteIndexBuilder";config;constructor(w,$,W){this.config={name:w,columns:$,unique:W,where:void 0}}where(w){return this.config.where=w,this}build(w){return new NN(this.config,w)}};NN=class NN{static[U0]="SQLiteIndex";config;constructor(w,$){this.config={...w,table:$}}}});function TW(...w){if(w[0].columns)return new ZK(w[0].columns,w[0].name);return new ZK(w)}var ZK,qN;var RN=b(()=>{U1();D8();ZK=class ZK{static[U0]="SQLitePrimaryKeyBuilder";columns;name;constructor(w,$){this.columns=w,this.name=$}build(w){return new qN(w,this.columns,this.name)}};qN=class qN{constructor(w,$,W){this.table=w,this.columns=$,this.name=W}static[U0]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[c5.Symbol.Name]}_${this.columns.map((w)=>w.name).join("_")}_pk`}}});function A4(w){if(u0(w,c5))return[`${w[i0.Symbol.BaseName]}`];if(u0(w,L2))return w._.usedTables??[];if(u0(w,Y1))return w.usedTables??[];return[]}var PW=b(()=>{U1();X6();$6();Q3();D8()});var vN=()=>{};var zK;var kN=b(()=>{U1();X6();zK=class zK extends r5{static[U0]="SQLiteViewBase"}});var LN=()=>{};var VK;var EN=b(()=>{U1();VK=class VK{static[U0]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}});function jW(w,$){return(W,X,...Y)=>{let J=[X,...Y].map((G)=>({type:w,isAll:$,rightSelect:G}));for(let G of J)if(!XK(W.getSelectedFields(),G.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return W.addSetOperators(J)}}var TN,PN,Gi=()=>({union:fi,unionAll:Ki,intersect:Hi,except:hi}),fi,Ki,Hi,hi;var jN=b(()=>{U1();EN();vW();QK();X6();$6();Q3();O3();W6();PW();TN=class TN extends VK{static[U0]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:w,fields:$,isPartialSelect:W,session:X,dialect:Y,withList:J,distinct:G}){super();this.config={withList:J,table:w,fields:{...$},distinct:G,setOperators:[]},this.isPartialSelect=W,this.session=X,this.dialect=Y,this._={selectedFields:$,config:this.config},this.tableName=N8(w),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let f of A4(w))this.usedTables.add(f)}getUsedTables(){return[...this.usedTables]}createJoin(w){return($,W)=>{let X=this.tableName,Y=N8($);for(let J of A4($))this.usedTables.add(J);if(typeof Y==="string"&&this.config.joins?.some((J)=>J.alias===Y))throw Error(`Alias "${Y}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof X==="string")this.config.fields={[X]:this.config.fields};if(typeof Y==="string"&&!u0($,Y1)){let J=u0($,L2)?$._.selectedFields:u0($,r5)?$[m1].selectedFields:$[i0.Symbol.Columns];this.config.fields[Y]=J}}if(typeof W==="function")W=W(new Proxy(this.config.fields,new u2({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:W,table:$,joinType:w,alias:Y}),typeof Y==="string")switch(w){case"left":{this.joinsNotNullableMap[Y]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([J])=>[J,!1])),this.joinsNotNullableMap[Y]=!0;break}case"cross":case"inner":{this.joinsNotNullableMap[Y]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([J])=>[J,!1])),this.joinsNotNullableMap[Y]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(w,$){return(W)=>{let X=typeof W==="function"?W(Gi()):W;if(!XK(this.getSelectedFields(),X.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:w,isAll:$,rightSelect:X}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(w){return this.config.setOperators.push(...w),this}where(w){if(typeof w==="function")w=w(new Proxy(this.config.fields,new u2({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=w,this}having(w){if(typeof w==="function")w=w(new Proxy(this.config.fields,new u2({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=w,this}groupBy(...w){if(typeof w[0]==="function"){let $=w[0](new Proxy(this.config.fields,new u2({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray($)?$:[$]}else this.config.groupBy=w;return this}orderBy(...w){if(typeof w[0]==="function"){let $=w[0](new Proxy(this.config.fields,new u2({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),W=Array.isArray($)?$:[$];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=W;else this.config.orderBy=W}else{let $=w;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=$;else this.config.orderBy=$}return this}limit(w){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=w;else this.config.limit=w;return this}offset(w){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=w;else this.config.offset=w;return this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:w,...$}=this.dialect.sqlToQuery(this.getSQL());return $}as(w){let $=[];if($.push(...A4(this.config.table)),this.config.joins)for(let W of this.config.joins)$.push(...A4(W.table));return new Proxy(new L2(this.getSQL(),this.config.fields,w,!1,[...new Set($)]),new u2({alias:w,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new u2({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}};PN=class PN extends TN{static[U0]="SQLiteSelect";_prepare(w=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let $=yw(this.config.fields),W=this.session[w?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),$,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return W.joinsNotNullableMap=this.joinsNotNullableMap,W}$withCache(w){return this.cacheConfig=w===void 0?{config:{},enable:!0,autoInvalidate:!0}:w===!1?{enable:!1}:{enable:!0,autoInvalidate:!0,...w},this}prepare(){return this._prepare(!1)}run=(w)=>{return this._prepare().run(w)};all=(w)=>{return this._prepare().all(w)};get=(w)=>{return this._prepare().get(w)};values=(w)=>{return this._prepare().values(w)};async execute(){return this.all()}};LB(PN,[B8]);fi=jW("union",!1),Ki=jW("union",!0),Hi=jW("intersect",!1),hi=jW("except",!1)});var CN=()=>{};var bN=()=>{};var Ui;var IN=b(()=>{U1();vW();QK();D8();$6();Q3();O3();W6();PW();kN();Ui=class Ui extends B8{constructor(w,$,W,X,Y){super();this.session=W,this.dialect=X,this.config={set:$,table:w,withList:Y,joins:[]}}static[U0]="SQLiteUpdate";config;from(w){return this.config.from=w,this}createJoin(w){return($,W)=>{let X=N8($);if(typeof X==="string"&&this.config.joins.some((Y)=>Y.alias===X))throw Error(`Alias "${X}" is already used in this query`);if(typeof W==="function"){let Y=this.config.from?u0($,c5)?$[i0.Symbol.Columns]:u0($,L2)?$._.selectedFields:u0($,zK)?$[m1].selectedFields:void 0:void 0;W=W(new Proxy(this.config.table[i0.Symbol.Columns],new u2({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),Y&&new Proxy(Y,new u2({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:W,table:$,joinType:w,alias:X}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(w){return this.config.where=w,this}orderBy(...w){if(typeof w[0]==="function"){let $=w[0](new Proxy(this.config.table[i0.Symbol.Columns],new u2({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),W=Array.isArray($)?$:[$];this.config.orderBy=W}else{let $=w;this.config.orderBy=$}return this}limit(w){return this.config.limit=w,this}returning(w=this.config.table[c5.Symbol.Columns]){return this.config.returning=yw(w),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:w,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(w=!0){return this.session[w?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:A4(this.config.table)})}prepare(){return this._prepare(!1)}run=(w)=>{return this._prepare().run(w)};all=(w)=>{return this._prepare().all(w)};get=(w)=>{return this._prepare().get(w)};values=(w)=>{return this._prepare().values(w)};async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}});var SN=b(()=>{vN();bN();CN();jN();IN()});var xN=()=>{};var yN=()=>{};var mN=()=>{};var mw=b(()=>{yB();mB();zN();xN();LN();GK();DN();RN();SN();yN();D8();fK();PW();mN()});var MK;var CW=b(()=>{mw();J0();MK=i5("job_queue",{id:r0("id").primaryKey().$defaultFn(()=>F3()),type:r0("type").notNull(),data:r0("data").notNull(),result:r0("result",{mode:"json"}),source:r0("source"),metadata:r0("metadata",{mode:"json"}).$type().notNull(),status:r0("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:E2("priority").notNull().default(0),retryCount:E2("retryCount").notNull().default(0),maxRetries:E2("maxRetries").notNull().default(3),lastError:r0("lastError"),createdAt:E2("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:E2("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:E2("startedAt"),completedAt:E2("completedAt")},(w)=>({queueReadyIdx:V5("idx_job_queue_ready").on(w.status,w.priority,w.scheduledFor),jobTypeIdx:V5("idx_job_queue_type").on(w.type,w.status),jobSourceIdx:V5("idx_job_queue_source").on(w.source)}))});var uN,gN,q8,$z0;var bW=b(()=>{J0();uN=Z.enum(["file_operations","content_operations","data_processing","batch_processing"]),gN=Z.object({pluginId:Z.string().optional(),progressToken:Z.union([Z.string(),Z.number()]).optional(),operationType:uN,operationTarget:Z.string().optional(),interfaceType:Z.string().optional(),channelId:Z.string().optional()}),q8=gN.extend({rootJobId:Z.string()}),$z0=Z.enum(["none","skip","replace","coalesce"])});var _K,lN,Ai,Fi,BK;var uw=b(()=>{J0();bW();_K=Z.enum(["pending","processing","completed","failed"]),lN=Z.enum(["completed","failed"]),Ai=Z.object({id:Z.string(),type:Z.string(),status:_K,data:Z.unknown(),result:Z.unknown().optional(),lastError:Z.string().optional().nullable(),attempts:Z.number(),maxRetries:Z.number(),priority:Z.number(),createdAt:Z.date(),updatedAt:Z.date(),processedAt:Z.date().optional().nullable(),completedAt:Z.date().optional().nullable(),failedAt:Z.date().optional().nullable()}),Fi=Z.object({jobId:Z.string(),type:Z.string(),status:lN,result:Z.unknown().optional(),error:Z.string().optional()}),BK=Z.object({id:Z.string(),type:Z.enum(["job","batch"]),status:_K,message:Z.string().optional(),progress:Z.object({current:Z.number(),total:Z.number(),percentage:Z.number()}).optional(),aggregationKey:Z.string().optional(),batchDetails:Z.object({totalOperations:Z.number(),completedOperations:Z.number(),failedOperations:Z.number(),currentOperation:Z.string().optional(),errors:Z.array(Z.string()).optional()}).optional(),jobDetails:Z.object({jobType:Z.string(),priority:Z.number(),retryCount:Z.number()}).optional(),metadata:q8})});import{createClient as fz0}from"@libsql/client";var pN=b(()=>{CW()});var rN=b(()=>{CW();uw()});var dN=b(()=>{CW();J0();uw();pN();rN()});var kz0;var cN=b(()=>{J0();uw();kz0=Z.object({success:Z.literal(!1),error:Z.string().optional()})});var iN=b(()=>{uw()});var nN=b(()=>{J0()});class gw{logger;schema;jobTypeName;constructor(w,$){this.logger=w,this.schema=$.schema,this.jobTypeName=$.jobTypeName}validateAndParse(w){if(!this.schema)throw Error(`${this.jobTypeName}: No schema provided. Override validateAndParse() or provide a schema.`);try{let $=this.schema.parse(w);return this.logger.debug(`${this.jobTypeName} job data validation successful`,{data:this.summarizeDataForLog($)}),$}catch($){return this.logger.warn(`Invalid ${this.jobTypeName} job data`,{data:w,validationError:$ instanceof Z.ZodError?$.issues:$}),null}}async onError(w,$,W,X){this.logger.error(`${this.jobTypeName} job error handler triggered`,{jobId:W,errorMessage:w.message,errorStack:w.stack,data:this.summarizeDataForLog($)})}async reportProgress(w,$){await w.report({progress:$.progress,total:$.total??100,message:$.message})}summarizeDataForLog(w){return w}}var oN=b(()=>{J0()});var Qi;var aN=b(()=>{bW();J0();Qi=Z.object({id:Z.string(),type:Z.string(),data:Z.string(),status:Z.enum(["pending","processing","completed","failed"]),source:Z.string().nullable(),priority:Z.number(),retryCount:Z.number(),maxRetries:Z.number(),lastError:Z.string().nullable(),createdAt:Z.number(),scheduledFor:Z.number(),startedAt:Z.number().nullable(),completedAt:Z.number().nullable(),metadata:q8,result:Z.unknown().nullable().optional()})});function NK(w,$,W){return async(X,Y,J,G)=>{let{metadata:f,...H}=G??{},h={source:$,...G?.rootJobId&&{rootJobId:G.rootJobId},...H,metadata:{operationType:"data_processing",pluginId:$,...J&&{interfaceType:J.interfaceType,channelId:J.channelId},...f}},U=W&&!X.includes(":")?`${$}:${X}`:X;return w.enqueue(U,Y,h)}}function DK(w,$){return async(W,X)=>{let Y=F3(),J=W.map((f)=>({...f,type:f.type.includes(":")?f.type:`${$}:${f.type}`})),G={...X,source:$,rootJobId:Y,metadata:{...X?.metadata,operationType:"batch_processing",pluginId:$}};return await w.enqueueBatch(J,G,Y,$),Y}}function qK(w,$){return(W,X)=>{let Y=W.includes(":")?W:`${$}:${W}`;w.registerHandler(Y,X,$)}}var sN=b(()=>{J0()});var R8=b(()=>{dN();cN();iN();nN();oN();aN();uw();bW();sN()});function lw(w,$,W){let X=w.getMessageBus(),Y=w.getEntityService(),J=w.getJobQueueService(),G=w.getLogger().child($),f=w.getDomain(),H=async(h,U,A)=>{return X.send(h,U,$,void 0,void 0,A?.broadcast)};return{pluginId:$,logger:G,entityService:Y,identity:{get:()=>w.getIdentity(),getProfile:()=>w.getProfile(),getAppInfo:()=>w.getAppInfo()},appInfo:()=>w.getAppInfo(),domain:f,siteUrl:f?`https://${f}`:void 0,previewUrl:f?`https://${If(f)}`:void 0,entityDisplay:W?.entityDisplay,messaging:{send:H,subscribe:(h,U)=>{if(KB(h)){let A=h,F=U,O=async(M)=>{let N=A.schema.safeParse(M.payload);if(!N.success)return G.warn(`Invalid payload for channel ${A.name}`,{error:N.error.message}),{noop:!0};let{payload:R,...E}=M;return F(N.data,E)};return X.subscribe(A.name,O)}return X.subscribe(h,U)}},jobs:{...w.jobs,enqueue:NK(J,$,!0),enqueueBatch:DK(w.jobs,$),registerHandler:qK(J,$)},conversations:{get:async(h)=>{return w.getConversationService().getConversation(h)},search:async(h)=>{return w.getConversationService().searchConversations(h)},getMessages:async(h,U)=>{return w.getConversationService().getMessages(h,U)}},dataDir:w.getDataDir(),eval:{registerHandler:(h,U)=>{w.registerEvalHandler($,h,U)}},insights:{register:(h,U)=>{w.getInsightsRegistry().register(h,U)}},endpoints:{register:({label:h,url:U,priority:A=100})=>{w.registerEndpoint({label:h,url:U,pluginId:$,priority:A})}}}}var v8=b(()=>{J0();cf();R8()});var SW;var k8=b(()=>{xB();mw();SW=i5("entities",{id:r0("id").notNull(),entityType:r0("entityType").notNull(),content:r0("content").notNull(),contentHash:r0("contentHash").notNull(),metadata:r0("metadata",{mode:"json"}).$type().notNull().default(xw`'{}'`),created:E2("created").notNull().$defaultFn(()=>Date.now()),updated:E2("updated").notNull().$defaultFn(()=>Date.now())},(w)=>{return{pk:TW({columns:[w.id,w.entityType]})}})});import{createClient as KV0}from"@libsql/client";var tN=b(()=>{k8()});var eN;var wD=b(()=>{mw();eN=kW({dataType(){return"F32_BLOB(1536)"},toDriver(w){return Buffer.from(w.buffer)},fromDriver(w){return new Float32Array(w.buffer,w.byteOffset,w.byteLength/4)}})});var xW;var L8=b(()=>{mw();wD();xW=i5("embeddings",{entityId:r0("entity_id").notNull(),entityType:r0("entity_type").notNull(),embedding:eN("embedding").notNull(),contentHash:r0("content_hash").notNull()},(w)=>{return{pk:TW({columns:[w.entityId,w.entityType]})}})});import{createClient as zV0}from"@libsql/client";var RK=b(()=>{L8()});var NV0;var vK=b(()=>{J0();NV0=Z.object({id:Z.string().min(1,"Entity ID is required"),entityType:Z.string().min(1,"Entity type is required"),contentHash:Z.string().min(1,"Content hash is required"),operation:Z.enum(["create","update"])})});var vV0;var $D=b(()=>{J0();k8();vV0=Z.object({limit:Z.number().int().positive().optional().default(20),offset:Z.number().int().min(0).optional().default(0),types:Z.array(Z.string()).optional().default([]),excludeTypes:Z.array(Z.string()).optional().default([]),weight:Z.record(Z.string(),Z.number()).optional()})});var WD=b(()=>{J0()});var Oi,CV0;var XD=b(()=>{k8();L8();J0();Oi=Z.object({field:Z.string(),direction:Z.enum(["asc","desc"]),nullsFirst:Z.boolean().optional()}),CV0=Z.object({limit:Z.number().int().positive().optional(),offset:Z.number().int().min(0).optional().default(0),sortFields:Z.array(Oi).optional(),filter:Z.object({metadata:Z.record(Z.string(),Z.unknown()).optional()}).optional(),publishedOnly:Z.boolean().optional()})});var YD=()=>{};var JD=b(()=>{J0();YD();k8();L8()});var GD=b(()=>{J0()});var fD=b(()=>{tN();RK();L8();J0();vK();$D();WD();XD();JD();GD()});function J6(w,$){if(Object.keys($).length===0)return w;let W=Object.fromEntries(Object.entries($).filter(([,X])=>X!==void 0));return yW.default.stringify(w,W)}function kK(w){if(w instanceof Date)return w.toISOString();if(Array.isArray(w))return w.map(kK);if(w!==null&&typeof w==="object"){let $={};for(let[W,X]of Object.entries(w))$[W]=kK(X);return $}return w}function R1(w,$){let{content:W,data:X}=yW.default(w),Y=kK(X);return{content:W.trim(),metadata:$.parse(Y)}}function LK(w){if(Object.keys(w).length===0)return"";let W=yW.default.stringify("",w).match(/^---\n[\s\S]*?\n---/);return W?W[0]:""}var yW;var mW=b(()=>{yW=I5(aJ(),1)});var KD=b(()=>{J0();mW()});class T2{entityType;schema;frontmatterSchema;isSingleton;hasBody;supportsCoverImage;fmSchema;bodyFormatter;constructor(w){if(this.entityType=w.entityType,this.schema=w.schema,this.frontmatterSchema=w.frontmatterSchema,this.fmSchema=w.frontmatterSchema,this.bodyFormatter=w.bodyFormatter??qi,w.isSingleton!==void 0)this.isSingleton=w.isSingleton;if(w.hasBody!==void 0)this.hasBody=w.hasBody;if(w.supportsCoverImage!==void 0)this.supportsCoverImage=w.supportsCoverImage}toMarkdown(w){let $=this.renderBody(w),X={...this.readExistingFrontmatter(w.content)},Y=Object.keys(this.frontmatterSchema.shape);for(let[J,G]of Object.entries(w.metadata))if(Y.includes(J))X[J]=G;return this.buildMarkdown($,X)}renderBody(w){return this.extractBody(w.content)}readExistingFrontmatter(w){try{return R1(w,Z.record(Z.unknown())).metadata}catch{return{}}}extractMetadata(w){return w.metadata}parseFrontMatter(w,$){return R1(w,$).metadata}getBodyTemplate(){return this.bodyFormatter.generateBodyTemplate()}generateFrontMatter(w){let $=w.metadata;return LK($)}extractBody(w){try{return R1(w,Z.record(Z.unknown())).content}catch{return w}}parseFrontmatter(w){return R1(w,this.fmSchema).metadata}buildMarkdown(w,$){return J6(w,$)}}var qi;var EK=b(()=>{J0();mW();qi={generateBodyTemplate:()=>""}});var Y2;var TK=b(()=>{J0();Y2=Z.object({id:Z.string(),entityType:Z.string(),content:Z.string(),created:Z.string().datetime(),updated:Z.string().datetime(),metadata:Z.record(Z.string(),Z.unknown()),contentHash:Z.string()})});var HD=b(()=>{J0();TK();EK()});var hD=b(()=>{EK();HD()});class pw{cache=null;cacheParseError=null;logger;entityService;entityType;defaultBody;constructor(w,$,W,X){this.entityService=w,this.logger=$.child(this.constructor.name),this.entityType=W,this.defaultBody=X}async initialize(){if(await this.load(),!this.cache){this.logger.info(`No ${this.entityType} found, creating default ${this.entityType}`);try{let w=this.createContent(this.defaultBody);await this.entityService.createEntity({id:this.entityType,entityType:this.entityType,content:w,metadata:{}}),await this.load(),this.logger.info(`Default ${this.entityType} created successfully`)}catch(w){this.logger.error(`Failed to create default ${this.entityType}`,{error:w})}}}get(){if(this.cache&&!this.cacheParseError)return this.parseBody(this.cache.content);return this.defaultBody}getContent(){if(this.cache)return this.cache.content;return this.createContent(this.defaultBody)}async refreshCache(){await this.load()}async load(){try{let w=await this.entityService.getEntity(this.entityType,this.entityType);if(this.cache=w,this.cacheParseError=null,w)try{this.parseBody(w.content),this.logger.debug(`${this.entityType} loaded`)}catch($){this.cacheParseError=$ instanceof Error?$:Error(String($)),this.logger.error(`Failed to parse ${this.entityType} \u2014 using default. Fix the entity content to clear this error.`,{error:this.cacheParseError.message})}else this.logger.debug(`No ${this.entityType} found in database`)}catch(w){this.logger.warn(`Failed to load ${this.entityType}`,{error:w}),this.cache=null,this.cacheParseError=null}}}function PK(w,$,W){let X=Math.max(1,Math.ceil(w/W));return{currentPage:$,totalPages:X,totalItems:w,pageSize:W,hasNextPage:$<X,hasPrevPage:$>1}}var uW;var UD=b(()=>{J0();uW=Z.object({currentPage:Z.number(),totalPages:Z.number(),totalItems:Z.number(),pageSize:Z.number(),hasNextPage:Z.boolean(),hasPrevPage:Z.boolean()})});var i2=b(()=>{fD();vK();KD();hD();RK();TK();mW();UD()});function vi(w){return w.replace(/:/g,"-")}function ki(w){return w.split(/[:.-]/).map(($)=>$.charAt(0).toUpperCase()+$.slice(1)).join(" ")}async function E8(w,$,W){let X=jK.get($);if(X!==void 0)return X;let Y=vi($),J;try{J=await w.getEntity("prompt",Y)}catch{return W}if(J?.content){let G=R1(J.content,Z.record(Z.unknown())).content;return jK.set($,G),G}try{let G=ki($),f=J6(W,{title:G,target:$});await w.createEntity({id:Y,entityType:"prompt",content:f,metadata:{title:G,target:$,slug:Y}})}catch{}return jK.set($,W),W}var jK;var gW=b(()=>{i2();J0();jK=new Map});function CK(w,$,W){let X=lw(w,$,W),Y=w.getEntityService(),J=w.getEntityRegistry(),G=w.getRenderService(),f=w.getDataSourceRegistry(),H=w.getContentService();return{...X,entityService:Y,entities:{register:(h,U,A,F)=>{J.registerEntityType(h,U,A,F)},getAdapter:(h)=>{try{return J.getAdapter(h)}catch{return}},extendFrontmatterSchema:(h,U)=>{J.extendFrontmatterSchema(h,U)},getEffectiveFrontmatterSchema:(h)=>{return J.getEffectiveFrontmatterSchema(h)},registerCreateInterceptor:(h,U)=>{J.registerCreateInterceptor(h,U)},update:async(h)=>{return Y.updateEntity(h)},registerDataSource:(h)=>{f.register(h)}},templates:{register:(h,U)=>{w.registerTemplates(h,U??$)},format:(h,U)=>{return H.formatContent(h,U,{pluginId:$})},parse:(h,U)=>{return H.parseContent(h,U,$)},resolve:async(h,U)=>{return await H.resolveContent(h,U,$)},getCapabilities:(h)=>{let U=h.includes(":")?h:`${$}:${h}`,A=w.getTemplate(U);if(!A)return null;let F=Z8.getCapabilities(A);return{canGenerate:F.canGenerate,canFetch:F.canFetch,canRender:F.canRender,isStaticOnly:F.isStaticOnly}}},views:{get:(h)=>{return G.get(h)??void 0},list:()=>{return G.list()},hasRenderer:(h)=>{return G.hasRenderer(h,"web")},getRenderer:(h)=>{return G.getRenderer(h,"web")},validate:(h,U)=>{return G.validate(h,U)}},prompts:{resolve:(h,U)=>{return E8(Y,h,U)}},registerInstructions:(h)=>{w.registerInstructions($,h)}}}var bK=b(()=>{v8();gW();p5()});var F4;var AD=b(()=>{NW();bK();F4=class F4 extends Sw{type="service";getApiRoutes(){return[]}getWebRoutes(){return[]}async register(w,$){let W=CK(w,this.id,$);this.context=W,this.setupMessageHandlers(W),await this.onRegister(W);let X=await this.getInstructions();return{tools:await this.getTools(),resources:await this.getResources(),...X&&{instructions:X}}}get entityService(){return this.getContext().entityService}registerEntityType(w,$,W,X){this.getContext().entities.register(w,$,W,X)}async enqueueJob(w,$,W,X){return this.getContext().jobs.enqueue(w,$,W,X)}async enqueueBatch(w,$){return this.getContext().jobs.enqueueBatch(w,$)}async registerEntityTypes(w){}async registerJobHandlers(w){}async onRegister(w){await this.registerEntityTypes(w),await this.registerJobHandlers(w)}}});function IK(w,$,W){let X=lw(w,$,W),Y=w.getEntityService(),J=w.getEntityRegistry(),G=w.getDataSourceRegistry();return{...X,entityService:Y,entities:{register:(f,H,h,U)=>{J.registerEntityType(f,H,h,U)},getAdapter:(f)=>{try{return J.getAdapter(f)}catch{return}},extendFrontmatterSchema:(f,H)=>{J.extendFrontmatterSchema(f,H)},getEffectiveFrontmatterSchema:(f)=>{return J.getEffectiveFrontmatterSchema(f)},registerCreateInterceptor:(f,H)=>{J.registerCreateInterceptor(f,H)},update:async(f)=>{return Y.updateEntity(f)},registerDataSource:(f)=>{G.register(f)}},ai:{query:(f,H)=>w.query(f,H),generate:async(f)=>{return w.generateContent(f)},generateObject:async(f,H)=>{return w.generateObject(f,H)},generateImage:async(f,H)=>{return w.generateImage(f,H)},canGenerateImages:()=>{return w.canGenerateImages()}},prompts:{resolve:(f,H)=>{return E8(Y,f,H)}}}}var SK=b(()=>{v8();gW()});var Li,Z3;var FD=b(()=>{NW();J0();SK();Li=Z.object({});Z3=class Z3 extends Sw{type="entity";constructor(w,$,W={},X=Li){super(w,$,W,X)}async register(w,$){let W=IK(w,this.id,$);if(this.context=W,this.setupMessageHandlers(W),W.entities.register(this.entityType,this.schema,this.adapter,this.getEntityTypeConfig()),this.interceptCreate!==Z3.prototype.interceptCreate)W.entities.registerCreateInterceptor(this.entityType,(f,H)=>this.interceptCreate(f,H,W));let X=this.createGenerationHandler(W);if(X)W.jobs.registerHandler(`${this.entityType}:generation`,X);if(this.hasDeriveHandler()){let f=this.createExtractHandler(W);W.jobs.registerHandler(`${this.entityType}:extract`,f)}let Y=this.getTemplates();if(Y&&Object.keys(Y).length>0)w.registerTemplates(Y,this.id);let J=this.getDataSources();for(let f of J)W.entities.registerDataSource(f);await this.onRegister(this.context);let G=await this.getInstructions();return{tools:[],resources:[],...G&&{instructions:G}}}async interceptCreate(w,$,W){return{kind:"continue",input:w}}createGenerationHandler(w){return null}getTemplates(){return null}getDataSources(){return[]}getEntityTypeConfig(){return}createExtractHandler(w){let $=Z.object({sourceId:Z.string().optional(),sourceType:Z.string().optional(),mode:Z.enum(["derive","rebuild"]).optional()});return{process:async(W)=>{if(W.sourceId&&W.sourceType){let X=await w.entityService.getEntity(W.sourceType,W.sourceId);if(X)return await this.derive(X,"extract",w),{extracted:1};return{extracted:0}}if(W.mode==="rebuild")await this.rebuildAll(w);else await this.deriveAll(w);return{extracted:0}},validateAndParse(W){let X=$.safeParse(W??{});return X.success?X.data:null}}}async derive(w,$,W){}async deriveAll(w){}async rebuildAll(w){await this.deriveAll(w)}hasDeriveHandler(){return this.derive!==Z3.prototype.derive}}});var xK=b(()=>{v8()});var yK=b(()=>{NW();xK()});var QD=()=>{};class rw{logger;constructor(w){this.logger=w}buildDetailResult(w,$){throw Error(`${this.id}: buildDetailResult() not implemented. Override this method or override fetch() to handle detail views.`)}parseQuery(w){let $=pW.parse(w);return{entityType:$.entityType??this.config.entityType,query:$.query??{}}}async fetch(w,$,W){let X=this.parseQuery(w),Y=W.entityService;if(X.query.id){let G=await this.fetchDetail(X.query.id,Y);return $.parse(this.buildDetailResult(G.item,G.navigation))}let J=await this.fetchList(X.query,Y);return $.parse(this.buildListResult(J.items,J.pagination,X.query))}async fetchDetail(w,$){let W=await this.lookupEntity(w,$),X=this.transformEntity(W),Y=null;if(this.config.enableNavigation)Y=await this.resolveNavigation(W,$);return{item:X,navigation:Y}}async fetchList(w,$,W){let X=w.page??1,Y=w.pageSize??w.limit??this.config.defaultLimit??100,J=(X-1)*Y,G=w.page!==void 0,[f,H]=await Promise.all([$.listEntities(this.config.entityType,{limit:Y,offset:J,sortFields:this.config.defaultSort,...W}),G?$.countEntities(this.config.entityType,W?.filter?{filter:W.filter}:void 0):Promise.resolve(0)]),h=f.map((A)=>this.transformEntity(A)),U=G?PK(H,X,Y):null;return{items:h,pagination:U}}async resolveNavigation(w,$,W){let X=this.config.navigationLimit??1000,Y=await $.listEntities(this.config.entityType,{limit:X,sortFields:W??this.config.defaultSort}),J=Y.findIndex((U)=>U.id===w.id),G=J>0?Y[J-1]:void 0,f=J<Y.length-1?Y[J+1]:void 0,H=G?this.transformEntity(G):null,h=f?this.transformEntity(f):null;return{prev:H,next:h}}async lookupEntity(w,$){if(this.config.lookupField==="id"){let Y=await $.getEntity(this.config.entityType,w);if(!Y)throw Error(`${this.config.entityType} not found: ${w}`);return Y}let X=(await $.listEntities(this.config.entityType,{filter:{metadata:{slug:w}},limit:1}))[0];if(!X)throw Error(`${this.config.entityType} not found with slug: ${w}`);return X}}var lW,pW;var OD=b(()=>{i2();J0();lW=Z.object({id:Z.string().optional(),limit:Z.number().optional(),page:Z.number().optional(),pageSize:Z.number().optional(),baseUrl:Z.string().optional()}).passthrough(),pW=Z.object({entityType:Z.string().optional(),query:lW.optional()}).passthrough()});var dw,mK;var ZD=b(()=>{R8();J0();dw=class dw extends gw{context;entityType;constructor(w,$,W){super(w,{schema:W.schema,jobTypeName:W.jobTypeName});this.context=$,this.entityType=W.entityType}async afterCreate(w,$,W,X){}async onGenerationFailure(w,$){}async process(w,$,W){try{await this.reportProgress(W,{progress:F8.START,message:`Starting ${this.jobTypeName}`});let X=await this.generate(w,W);await this.reportProgress(W,{progress:F8.SAVE,message:`Saving ${this.entityType} to database`});let Y=await this.context.entityService.createEntity({id:X.id,entityType:this.entityType,content:X.content,metadata:X.metadata},X.createOptions);return await this.afterCreate(w,Y.entityId,W,X),await this.reportProgress(W,{progress:F8.COMPLETE,message:`${X.title??this.entityType} created successfully`}),{success:!0,entityId:Y.entityId,...X.resultExtras}}catch(X){if(X instanceof mK)return await this.onGenerationFailure(w,X.message),{success:!1,error:X.message};let Y=b1(X);return this.logger.error(`${this.jobTypeName} job failed`,{error:X,jobId:$,data:this.summarizeDataForLog(w)}),await this.onGenerationFailure(w,Y),yf.failure(X)}}failEarly(w){throw new mK(w)}};mK=class mK extends Error{constructor(w){super(w);this.name="GenerationFailure"}}});var rW,zD,VD;var uK=b(()=>{mw();rW=i5("conversations",{id:r0("id").primaryKey(),sessionId:r0("session_id").notNull(),interfaceType:r0("interface_type").notNull(),channelId:r0("channel_id").notNull(),started:r0("started").notNull(),lastActive:r0("last_active").notNull(),metadata:r0("metadata"),created:r0("created").notNull(),updated:r0("updated").notNull()},(w)=>({sessionIdx:V5("idx_conversations_session").on(w.sessionId),channelIdx:V5("idx_conversations_channel").on(w.channelId),interfaceSessionIdx:V5("idx_conversations_interface_session").on(w.interfaceType,w.sessionId),interfaceChannelIdx:V5("idx_conversations_interface_channel").on(w.interfaceType,w.channelId)})),zD=i5("messages",{id:r0("id").primaryKey(),conversationId:r0("conversation_id").notNull().references(()=>rW.id,{onDelete:"cascade"}),role:r0("role").notNull(),content:r0("content").notNull(),timestamp:r0("timestamp").notNull(),metadata:r0("metadata")},(w)=>({conversationIdx:V5("idx_messages_conversation").on(w.conversationId),timestampIdx:V5("idx_messages_timestamp").on(w.timestamp)})),VD=i5("summary_tracking",{conversationId:r0("conversation_id").primaryKey().references(()=>rW.id,{onDelete:"cascade"}),lastSummarizedAt:r0("last_summarized_at"),lastMessageId:r0("last_message_id"),messagesSinceSummary:E2("messages_since_summary").default(0),updated:r0("updated").notNull()})});import{createClient as T_0}from"@libsql/client";var MD=b(()=>{uK()});var _D=b(()=>{MD();uK();J0()});var Ti,BD;var ND=b(()=>{J0();Ti=Z.object({id:Z.string(),conversationId:Z.string(),role:Z.string(),content:Z.string(),timestamp:Z.string(),metadata:Z.string().nullable()}),BD=Z.object({conversationId:Z.string(),messageCount:Z.number(),messages:Z.array(Ti),windowStart:Z.number(),windowEnd:Z.number(),windowSize:Z.number(),timestamp:Z.string()})});var DD=b(()=>{_D();ND()});var gK=b(()=>{R8()});var qD;var RD=b(()=>{yK();gK();J0();qD=Z.object({captureUrls:Z.boolean().default(!1),blockedUrlDomains:Z.array(Z.string()).default(["meet.google.com","zoom.us","teams.microsoft.com","whereby.com","gather.town","calendly.com","cal.com","discord.com","discord.gg","cdn.discordapp.com","media.discordapp.net","giphy.com","tenor.com","wetransfer.com","file.io"])})});var vD=()=>{};var kD=b(()=>{RD();gK();vD()});async function T8(w){let{entityType:$,title:W,deriveId:X,regeneratePrompt:Y,context:J}=w,G=X(W);if(!await J.entityService.getEntity($,G))return W;J.logger.debug(`Entity ID collision: ${$}/${G}, asking AI for a new title`);let H=Z.object({title:Z.string().max(80).describe("A short, unique title (2-6 words)")}),{object:h}=await J.ai.generateObject(`The title "${W}" is already taken. ${Y}`,H),U=h.title;return J.logger.debug(`AI suggested new title: "${U}"`),U}var LD=b(()=>{J0()});var yi,cw,mi,P8,ED,TD,PD,jD;var CD=b(()=>{J0();yi=Z.object({id:Z.string(),template:Z.string(),content:Z.unknown().optional(),dataQuery:Z.object({entityType:Z.string().optional(),template:Z.string().optional(),query:Z.object({id:Z.string().optional(),limit:Z.number().optional(),offset:Z.number().optional()}).passthrough().optional()}).passthrough().optional(),order:Z.number().optional()}),cw=["primary","secondary"],mi=Z.object({show:Z.boolean().default(!1),label:Z.string().optional(),slot:Z.enum(cw).default("primary"),priority:Z.number().min(0).max(100).default(50)}).optional(),P8=Z.object({id:Z.string(),path:Z.string(),title:Z.string().default(""),description:Z.string().default(""),sections:Z.array(yi).default([]),layout:Z.string().default("default"),fullscreen:Z.boolean().optional(),pluginId:Z.string().optional(),sourceEntityType:Z.string().optional(),external:Z.boolean().optional(),navigation:mi}),ED=Z.object({routes:Z.array(P8),pluginId:Z.string()}),TD=Z.object({paths:Z.array(Z.string()).optional(),pluginId:Z.string().optional()}),PD=Z.object({pluginId:Z.string().optional()}),jD=Z.object({path:Z.string()})});var ui;var bD=b(()=>{J0();ui=Z.object({enabled:Z.boolean().describe("Whether the plugin is enabled"),debug:Z.boolean().describe("Enable debug logging for this plugin")})});var lK,dW;var pK=b(()=>{J0();i2();lK=Y2.extend({id:Z.literal("brain-character"),entityType:Z.literal("brain-character")}),dW=Z.object({name:Z.string().describe("The brain's friendly display name"),role:Z.string().describe("The brain's primary role"),purpose:Z.string().describe("The brain's purpose and goals"),values:Z.array(Z.string()).describe("Core values that guide behavior")})});var cW;var rK=b(()=>{i2();pK();cW=class cW extends T2{constructor(){super({entityType:"brain-character",schema:lK,frontmatterSchema:dW,isSingleton:!0,hasBody:!1})}createCharacterContent(w){return this.buildMarkdown("",w)}parseCharacterBody(w){return this.parseFrontmatter(w)}toMarkdown(w){let $=this.parseFrontmatter(w.content);return this.buildMarkdown("",$)}fromMarkdown(w){return{content:w,entityType:"brain-character"}}extractMetadata(w){let $=this.parseFrontmatter(w.content);return{role:$.role,values:$.values}}generateFrontMatter(w){let $=this.parseFrontmatter(w.content);return this.buildMarkdown("",$)}}});var G6;var ID=b(()=>{i2();rK();G6=class G6 extends pw{static instance=null;adapter=new cW;static getDefaultCharacter(){return{name:"Brain",role:"Knowledge assistant",purpose:"Help organize, understand, and retrieve information from your knowledge base",values:["clarity","accuracy","helpfulness"]}}static getInstance(w,$,W){return G6.instance??=new G6(w,$,W),G6.instance}static resetInstance(){G6.instance=null}static createFresh(w,$,W){return new G6(w,$,W)}constructor(w,$,W){super(w,$,"brain-character",W??G6.getDefaultCharacter())}parseBody(w){return this.adapter.parseCharacterBody(w)}createContent(w){return this.adapter.createCharacterContent(w)}getCharacter(){return this.get()}getCharacterContent(){return this.getContent()}}});async function n5(w){let W=(await w.listEntities("anchor-profile",{limit:1}))[0];if(!W)throw Error("Profile not found \u2014 create an anchor-profile entity");return W.content}var iw;var SD=b(()=>{J0();iw=Z.object({tagline:Z.string().optional().describe("Short, punchy one-liner for homepage"),intro:Z.string().optional().describe("Optional longer introduction for homepage"),story:Z.string().optional().describe("Extended bio/narrative (multi-paragraph markdown)")})});var dK,o5;var cK=b(()=>{J0();i2();dK=Y2.extend({id:Z.literal("anchor-profile"),entityType:Z.literal("anchor-profile")}),o5=Z.object({name:Z.string().describe("Name (person or organization)"),kind:Z.enum(["professional","team","collective"]).describe("Type of anchor: professional (individual), team, or collective"),organization:Z.string().optional().describe("Organization the anchor belongs to"),description:Z.string().optional().describe("Short description or biography"),avatar:Z.string().optional().describe("URL or asset path to avatar/logo"),website:Z.string().optional().describe("Primary website URL"),email:Z.string().optional().describe("Contact email"),socialLinks:Z.array(Z.object({platform:Z.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:Z.string().describe("Profile or contact URL"),label:Z.string().optional().describe("Optional display label")})).optional().describe("Social media and contact links")})});var J5;var iK=b(()=>{i2();cK();J5=class J5 extends T2{constructor(){super({entityType:"anchor-profile",schema:dK,frontmatterSchema:o5,isSingleton:!0,hasBody:!0})}createProfileContent(w){let $=o5.parse(w);return this.buildMarkdown("",$)}parseProfileBody(w,$){if($){let{metadata:W,content:X}=R1(w,$);return X?{...W,story:X}:W}return this.parseFrontmatter(w)}fromMarkdown(w){return{content:w,entityType:"anchor-profile"}}extractMetadata(w){let $=this.parseFrontmatter(w.content);return{name:$.name,email:$.email,website:$.website}}generateFrontMatter(w){let $=this.parseFrontmatter(w.content);return this.buildMarkdown("",$)}}});var a5;var xD=b(()=>{i2();iK();a5=class a5 extends pw{static instance=null;adapter=new J5;static getDefaultProfile(){return{name:"Unknown",kind:"professional"}}static getInstance(w,$,W){return a5.instance??=new a5(w,$,W),a5.instance}static resetInstance(){a5.instance=null}static createFresh(w,$,W){return new a5(w,$,W)}constructor(w,$,W){super(w,$,"anchor-profile",W??a5.getDefaultProfile())}parseBody(w){return this.adapter.parseProfileBody(w)}createContent(w){return this.adapter.createProfileContent(w)}getProfile(){return this.get()}getProfileContent(){return this.getContent()}}});var Q4=b(()=>{ID();rK();pK();SD();xD();iK();cK()});var yD,gi,li,pi;var mD=b(()=>{J0();Q4();yD=Z.object({id:Z.string(),description:Z.string(),name:Z.string().optional(),tags:Z.array(Z.string()).optional().default([])}).passthrough(),gi=Z.object({uri:Z.string(),params:Z.record(Z.unknown()).optional()}).passthrough(),li=Z.object({name:Z.string(),url:Z.string(),description:Z.string().optional(),skills:Z.array(yD).optional().default([]),capabilities:Z.object({extensions:Z.array(gi).optional().default([])}).passthrough().optional()}).passthrough(),pi=Z.object({name:Z.string(),description:Z.string(),tags:Z.array(Z.string()),examples:Z.array(Z.string())})});var O4=()=>{};var M5;var j8=b(()=>{M5=class M5 extends Error{pluginId;constructor(w,$){super(`Plugin ${w}: ${$}`);this.name="PluginError",this.pluginId=w}}});class nK{plugins;events;daemonRegistry;logger;constructor(w,$,W,X){this.plugins=w;this.events=$;this.daemonRegistry=W;this.logger=X.child("PluginLifecycle")}async initializePlugin(w,$,W){let X=this.plugins.get(w);if(!X)throw new M5(w,"Registration failed: Plugin is not registered");let Y=X.plugin;this.logger.debug(`Initializing plugin: ${w}`),this.events.emit("plugin:before_initialize",w,Y);try{let J=await Y.register($,W);return X.status="initialized",this.logger.debug(`Initialized plugin: ${w}`),this.events.emit("plugin:initialized",w,Y),J}catch(J){let G=b1(J);throw this.logger.error(`Error initializing plugin ${w}: ${G}`),X.status="error",X.error=Q8(J),this.events.emit("plugin:error",w,J),J}}async readyPlugin(w){let $=this.plugins.get(w);if(!$)throw new M5(w,"Ready failed: Plugin is not registered");if($.status!=="initialized"){this.logger.debug(`Skipping ready hook for non-initialized plugin: ${w}`);return}try{await $.plugin.ready?.(),this.logger.debug(`Ready hook completed for plugin: ${w}`)}catch(W){let X=Q8(W);throw $.status="error",$.error=X,this.events.emit("plugin:error",w,X),X}}async startPluginDaemons(w){let $=this.plugins.get(w);if($?.status!=="initialized")return;try{await this.daemonRegistry.startPlugin(w),this.logger.debug(`Started daemons for plugin: ${w}`)}catch(W){if($.plugin.requiresDaemonStartup?.())throw W;this.logger.warn(`Daemon ${w} failed to start: ${b1(W)}`)}}async disablePlugin(w){let $=this.plugins.get(w);if(!$){this.logger.warn(`Cannot disable plugin ${w}: not registered`);return}this.logger.debug(`Disabling plugin: ${w}`);try{await this.daemonRegistry.stopPlugin(w),this.logger.debug(`Stopped daemons for plugin: ${w}`)}catch(W){this.logger.error(`Failed to stop daemons for plugin: ${w}`,W)}if($.plugin.shutdown)try{await $.plugin.shutdown(),this.logger.debug(`Shutdown completed for plugin: ${w}`)}catch(W){this.logger.error(`Plugin shutdown failed for ${w}:`,W)}$.status="disabled",this.events.emit("plugin:disabled",w,$.plugin),this.logger.debug(`Disabled plugin: ${w}`)}async enablePlugin(w){let $=this.plugins.get(w);if(!$){this.logger.warn(`Cannot enable plugin ${w}: not registered`);return}if($.status!=="disabled"){this.logger.warn(`Cannot enable plugin ${w}: not disabled`);return}this.logger.debug(`Enabling plugin: ${w}`),$.status="initialized";try{await this.daemonRegistry.startPlugin(w),this.logger.debug(`Started daemons for plugin: ${w}`)}catch(W){this.logger.error(`Failed to start daemons for plugin: ${w}`,W)}this.events.emit("plugin:enabled",w,$.plugin),this.logger.debug(`Enabled plugin: ${w}`)}}var uD=b(()=>{J0();O4();j8()});class oK{plugins;events;logger;constructor(w,$,W){this.plugins=w;this.events=$;this.logger=W.child("DependencyResolver")}async resolveInitializationOrder(w){this.logger.debug("Resolving plugin initialization order...");let $=Array.from(this.plugins.keys()),W=new Set,X=!0;while(X&&W.size<$.length){X=!1;for(let G of $){if(W.has(G))continue;if(!this.plugins.get(G))continue;if(this.getUnmetDependencies(G).length===0)try{await w(G),W.add(G),X=!0}catch(h){let U=b1(h);this.logger.error(`Failed to initialize plugin ${G}: ${U}`),W.add(G),X=!0}}}let Y=$.filter((G)=>!W.has(G));if(Y.length>0){let G=Y.join(", ");this.logger.error(`Failed to initialize plugins due to dependency issues: ${G}`);for(let f of Y){let H=this.getUnmetDependencies(f);this.logger.error(`Plugin ${f} has unmet dependencies: ${H.join(", ")}`);let h=this.plugins.get(f);if(h)h.status="error",h.error=new M5(f,`Unmet dependencies: ${H.join(", ")}`);this.events.emit("plugin:error",f,h?.error)}}let J=new Set;for(let[G,f]of this.plugins)if(f.status==="initialized")J.add(G);return this.logger.debug(`Resolved ${J.size} of ${$.length} plugins`),{initialized:J,failed:Y}}getUnmetDependencies(w){let $=this.plugins.get(w);if(!$)return[];let{dependencies:W}=$,X=[];for(let Y of W){let J=this.plugins.get(Y);if(!J){X.push(Y);continue}if(J.status!=="initialized")X.push(Y)}return X}}var gD=b(()=>{J0();O4();j8()});class aK{logger;constructor(w){this.logger=w.child("CapabilityRegistrar")}async registerCapabilities(w,$,W){if(W.tools.length>0)w.registerTools($,W.tools),this.logger.debug(`Registered ${W.tools.length} tools from ${$}`);if(W.resources.length>0)w.registerResources($,W.resources),this.logger.debug(`Registered ${W.resources.length} resources from ${$}`);if(W.instructions)w.registerInstructions($,W.instructions),this.logger.debug(`Registered instructions from ${$}`)}}import{EventEmitter as lD}from"events";class f6{static instance=null;plugins=new Map;logger;events=new lD;daemonRegistry;shell=null;initializedPluginIds=[];pluginLifecycle;dependencyResolver;capabilityRegistrar;static getInstance(w,$){return f6.instance??=new f6(w,$),f6.instance}static resetInstance(){f6.instance=null}static createFresh(w,$){return new f6(w,$)}setShell(w){this.shell=w}constructor(w,$){this.logger=w.child("PluginManager"),this.events=new lD,this.daemonRegistry=$,this.pluginLifecycle=new nK(this.plugins,this.events,this.daemonRegistry,w),this.dependencyResolver=new oK(this.plugins,this.events,w),this.capabilityRegistrar=new aK(w)}registerPlugin(w){if(!w.id)throw new M5("unknown","Registration failed: Plugin must have an id");if(this.logger.debug(`Registering plugin: ${w.id} (${w.version})`),this.plugins.has(w.id)){let Y=this.plugins.get(w.id)?.plugin.version;throw new M5(w.id,`Registration failed: Plugin is already registered with version ${Y}`)}let $=w.dependencies??[],W={plugin:w,status:"registered",dependencies:$};this.plugins.set(w.id,W),this.logger.debug(`Registered plugin: ${w.id} (${w.version})`),this.events.emit("plugin:registered",w.id,w)}async initializePlugins(w){this.logger.debug("Initializing plugins..."),this.initializedPluginIds=[];let $=await this.dependencyResolver.resolveInitializationOrder(async(W)=>{await this.initializePlugin(W,w)});this.logger.debug(`Initialized ${$.initialized.size} of ${this.plugins.size} plugins`)}async initializePlugin(w,$){if(!this.shell)throw new M5(w,"Cannot initialize plugin: Shell not set. Call setShell() first.");let W=this.shell,X=await this.pluginLifecycle.initializePlugin(w,W,$);await this.capabilityRegistrar.registerCapabilities(W,w,X),this.initializedPluginIds.push(w)}async readyPlugins(){this.logger.debug("Dispatching plugin ready hooks..."),await Promise.all(this.initializedPluginIds.map((w)=>this.pluginLifecycle.readyPlugin(w)))}async startPluginDaemons(){this.logger.debug("Starting plugin daemons..."),await Promise.all(this.initializedPluginIds.map((w)=>this.pluginLifecycle.startPluginDaemons(w)))}getPlugin(w){return this.plugins.get(w)?.plugin}getPluginStatus(w){return this.plugins.get(w)?.status}hasPlugin(w){return this.plugins.has(w)}isPluginInitialized(w){return this.plugins.get(w)?.status==="initialized"}getAllPluginIds(){return Array.from(this.plugins.keys())}getAllPlugins(){return new Map(this.plugins)}getFailedPlugins(){return Array.from(this.plugins.entries()).filter((w)=>w[1].status==="error"&&w[1].error!==void 0).map(([w,$])=>({id:w,error:$.error}))}getPluginPackageName(w){return this.plugins.get(w)?.plugin.packageName}async disablePlugin(w){await this.pluginLifecycle.disablePlugin(w)}async enablePlugin(w){await this.pluginLifecycle.enablePlugin(w)}on(w,$){this.events.on(w,$)}once(w,$){this.events.once(w,$)}off(w,$){this.events.off(w,$)}getEventEmitter(){return this.events}}var pD=b(()=>{O4();j8();uD();gD();O4()});var rD=b(()=>{O4()});var dD=b(()=>{pD();rD();O4()});var n0=b(()=>{AD();FD();SK();gW();yK();QD();cf();bK();v8();xK();df();i2();OD();i2();R8();ZD();p5();DD();kD();rf();LD();J0();CD();bD();Q4();mD();dD();j8()});var ri,z2,di,nw,b8,_5,I8;var s5=b(()=>{J0();n0();ri=Z.enum(["draft","queued","published"]),z2=Z.object({title:Z.string(),slug:Z.string().optional(),status:ri,publishedAt:Z.string().datetime().optional(),excerpt:Z.string(),author:Z.string(),coverImageId:Z.string().optional(),seriesName:Z.string().optional(),seriesIndex:Z.number().optional(),ogImage:Z.string().url().optional(),ogDescription:Z.string().optional(),twitterCard:Z.enum(["summary","summary_large_image"]).optional(),canonicalUrl:Z.string().url().optional()}),di=z2.pick({title:!0,status:!0,publishedAt:!0,seriesName:!0,seriesIndex:!0}).extend({slug:Z.string()}),nw=Y2.extend({entityType:Z.literal("post"),metadata:di}),b8=nw.extend({frontmatter:z2,body:Z.string(),coverImageUrl:Z.string().optional()}),_5=b8.extend({url:Z.string().optional(),typeLabel:Z.string().optional(),listUrl:Z.string().optional(),listLabel:Z.string().optional(),seriesUrl:Z.string().optional(),coverImageUrl:Z.string().optional(),coverImageWidth:Z.number().optional(),coverImageHeight:Z.number().optional(),coverImageSrcset:Z.string().optional(),coverImageSizes:Z.string().optional()}),I8=b8.extend({url:Z.string(),typeLabel:Z.string(),listUrl:Z.string(),listLabel:Z.string(),seriesUrl:Z.string().optional(),coverImageUrl:Z.string().optional(),coverImageWidth:Z.number().optional(),coverImageHeight:Z.number().optional(),coverImageSrcset:Z.string().optional(),coverImageSizes:Z.string().optional()})});var cD={};G$(cD,{blogPostAdapter:()=>Z4,BlogPostAdapter:()=>nW});var nW,Z4;var S8=b(()=>{n0();J0();s5();nW=class nW extends T2{constructor(){super({entityType:"post",schema:nw,frontmatterSchema:z2,supportsCoverImage:!0})}toMarkdown(w){let $=this.extractBody(w.content);try{let W=this.parseFrontMatter(w.content,z2),X={...W,slug:W.slug??w.metadata.slug};return this.buildMarkdown($,X)}catch{return $}}fromMarkdown(w){let $=this.parseFrontMatter(w,z2),W=$.slug??X5($.title);return{content:w,entityType:"post",metadata:{title:$.title,slug:W,status:$.status,publishedAt:$.publishedAt,seriesName:$.seriesName,seriesIndex:$.seriesIndex}}}parsePostFrontmatter(w){return this.parseFrontMatter(w.content,z2)}createPostContent(w,$){return this.buildMarkdown($,w)}};Z4=new nW});function o2(w){return w.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function kq(w){return new Date(w).toUTCString()}function $X(w,$){let W=w.filter((h)=>{if($.includeAllPosts)return!0;return h.frontmatter.status==="published"&&h.frontmatter.publishedAt}).sort((h,U)=>{let A=new Date(h.frontmatter.publishedAt??h.created);return new Date(U.frontmatter.publishedAt??U.created).getTime()-A.getTime()}),X=W.length>0&&W[0]?W[0].frontmatter.publishedAt??W[0].created:new Date().toISOString(),Y=W.map((h)=>{let U=`${$.link}/posts/${h.metadata.slug}`,A=h.frontmatter.publishedAt??h.created,F=h.frontmatter.excerpt,O=h.frontmatter.author;return` <item>
|
|
172
|
+
`).trim();return{attributes:$,markdown:W}}function uf(w){let $=w.split(Tc);return $.length>1?$:null}var m_,Tc;var u_=b(()=>{m_=/<!--\s*\.slide:\s*(.*?)\s*-->/g;Tc=/<!--\s*\.break\s*-->/});function bc(w){return w.replace(Cc,($)=>jc[$]??$)}function _W(w){return w.replace(Pc,($,W)=>{return`<div class="mermaid">${bc(W)}</div>`})}var Pc,jc,Cc;var g_=b(()=>{Pc=/<pre><code class="language-mermaid">([\s\S]*?)<\/code><\/pre>/g,jc={"&":"&","<":"<",">":">",""":'"',"'":"'"},Cc=/&(?:amp|lt|gt|quot|#39);/g});var J0=b(()=>{DF();LJ();LJ();kM();z_();j_();Sf();C_();VW();Cw();b_();I_();S_();x_();y_();u_();g_();k_()});var yc,d_;var c_=b(()=>{J0();yc=Z.object({status:Z.enum(["healthy","warning","error","unknown"]),message:Z.string().optional(),lastCheck:Z.date().optional(),details:Z.record(Z.string(),Z.unknown()).optional()}),d_=Z.object({name:Z.string(),pluginId:Z.string(),status:Z.string(),health:yc.optional()})});var gf;var lf=b(()=>{J0();gf=Z.enum(["anchor","trusted","public"])});function i_(w,$){return(W)=>{let X=w.parse(W);return $(X)}}function z1(w){let{layout:$,schema:W,...X}=w,Y={...X,schema:W};if($){if(Y.layout={},$.component)Y.layout.component=i_(W,$.component);if($.fullscreen!==void 0)Y.layout.fullscreen=$.fullscreen}return Y}var mc;var n_=b(()=>{J0();lf();mc=Z.object({name:Z.string(),description:Z.string(),schema:Z.any(),basePrompt:Z.string().optional(),useKnowledgeContext:Z.boolean().optional(),requiredPermission:gf,formatter:Z.any().optional(),layout:Z.object({component:Z.any(),fullscreen:Z.boolean().optional()}).optional(),dataSourceId:Z.string().optional()})});class Z8{static canGenerate(w){return!!w.basePrompt&&!!w.dataSourceId&&w.dataSourceId.includes("ai-content")}static canFetch(w){return!!w.dataSourceId&&!this.canGenerate(w)}static canRender(w){return!!w.layout?.component}static isStaticOnly(w){return!this.canGenerate(w)&&!this.canFetch(w)}static getCapabilities(w){return{canGenerate:this.canGenerate(w),canFetch:this.canFetch(w),canRender:this.canRender(w),isStaticOnly:this.isStaticOnly(w)}}static validate(w){let $=[];if(w.dataSourceId?.includes("ai-content")&&!w.basePrompt)$.push(`Template "${w.name}" has AI-content dataSourceId but no basePrompt. AI generation requires a basePrompt.`);if(w.basePrompt&&(!w.dataSourceId||!w.dataSourceId.includes("ai-content")))$.push(`Template "${w.name}" has basePrompt but no AI-content dataSourceId. The basePrompt won't be used.`);return $}static logCapabilities(w,$){let W=this.getCapabilities(w),X=this.validate(w);if($)$.debug(`Template capabilities for "${w.name}":`,{...W,errors:X.length>0?X:void 0})}}var o_=()=>{};var uc,gc,lc,pc;var a_=b(()=>{J0();uc=Z.enum(["site-content-preview","site-content-production"]),gc=Z.object({name:Z.string(),schema:Z.any(),description:Z.string().optional(),pluginId:Z.string(),renderers:Z.object({web:Z.union([Z.function(),Z.string()]).optional()})}),lc=Z.object({enableContentGeneration:Z.boolean().default(!1),outputDir:Z.string(),workingDir:Z.string().optional(),environment:Z.enum(["preview","production"]).default("preview"),siteConfig:Z.object({title:Z.string(),description:Z.string(),url:Z.string().optional()}).optional()}),pc=Z.object({success:Z.boolean(),routesBuilt:Z.number(),errors:Z.array(Z.string()).optional(),warnings:Z.array(Z.string()).optional()})});var p5=b(()=>{n_();o_();lf();a_()});import{McpServer as zA0}from"@modelcontextprotocol/sdk/server/mcp.js";import{ResourceTemplate as _A0}from"@modelcontextprotocol/sdk/server/mcp.js";var t_=b(()=>{p5();J0()});var BW,e_,wB,$B,pf;var WB=b(()=>{J0();BW=Z.object({interfaceType:Z.string(),userId:Z.string(),channelId:Z.string().optional(),channelName:Z.string().optional()}),e_=Z.object({success:Z.literal(!0),data:Z.unknown(),message:Z.string().optional()}),wB=Z.object({success:Z.literal(!1),error:Z.string(),code:Z.string().optional()}),$B=Z.object({needsConfirmation:Z.literal(!0),toolName:Z.string(),description:Z.string(),args:Z.unknown()}),pf=Z.union([e_,wB,$B])});var XB;var YB=b(()=>{J0();XB=Z.union([Z.object({success:Z.literal(!0),data:Z.unknown(),message:Z.string().optional()}),Z.object({success:Z.literal(!1),error:Z.string(),code:Z.string().optional()})])});var JB=b(()=>{J0()});var rf=b(()=>{t_();WB();YB();JB()});var mA0,uA0,fB,ic,gA0,lA0,nc;var df=b(()=>{J0();J0();c_();rf();mA0=Z.object({id:Z.string(),type:Z.string(),version:Z.string(),status:Z.string()}),uA0=Z.object({name:Z.string(),description:Z.string()}),fB=Z.object({label:Z.string(),url:Z.string(),pluginId:Z.string(),priority:Z.number().default(100)}),ic=Z.object({model:Z.string(),version:Z.string(),uptime:Z.number(),entities:Z.number(),embeddings:Z.number(),ai:Z.object({model:Z.string(),embeddingModel:Z.string()}),daemons:Z.array(d_),endpoints:Z.array(fB)}),gA0=Z.object({pluginId:Z.string(),tool:Z.object({name:Z.string(),description:Z.string(),inputSchema:Z.record(Z.string(),Z.unknown()),handler:Z.function(),visibility:Z.enum(["public","trusted","anchor"]).optional()}),timestamp:Z.number()}),lA0=Z.object({pluginId:Z.string(),resource:Z.object({uri:Z.string(),name:Z.string(),description:Z.string().optional(),mimeType:Z.string().optional(),handler:Z.function()}),timestamp:Z.number()}),nc=Z.object({id:Z.string(),version:Z.string(),type:Z.enum(["core","entity","service","interface"]),description:Z.string().optional(),dependencies:Z.array(Z.string()).optional(),packageName:Z.string()})});class Sw{id;version;description;packageName;config;context;get logger(){return this.context?.logger??$2.createFresh({context:this.id})}constructor(w,$,W,X){this.id=w,this.packageName=$.name,this.version=$.version,this.description=$.description??`${$.name} plugin`,this.config=X.parse(W)}setupMessageHandlers(w){w.messaging.subscribe(`plugin:${this.id}:tool:execute`,async($)=>{try{let{toolName:W,args:X,progressToken:Y,hasProgress:J,interfaceType:G,userId:f,channelId:H}=oc.parse($.payload),U=(await this.getTools()).find((O)=>O.name===W);if(!U)return{success:!1,error:`Tool not found: ${W}`};let A={interfaceType:G,userId:f,...H&&{channelId:H},...J&&Y!==void 0&&{progressToken:Y,sendProgress:async(O)=>{await w.messaging.send(`plugin:${this.id}:progress`,{progressToken:Y,notification:O})}}};return{success:!0,data:await U.handler(X,A)}}catch(W){if(W instanceof Z.ZodError)return{success:!1,error:"Invalid tool execution request format"};return this.logger.error("Tool execution error",W),{success:!1,error:b1(W)}}}),w.messaging.subscribe(`plugin:${this.id}:resource:get`,async($)=>{try{let{resourceUri:W}=ac.parse($.payload),Y=(await this.getResources()).find((G)=>G.uri===W);if(!Y)return{success:!1,error:`Resource not found: ${W}`};return{success:!0,data:await Y.handler()}}catch(W){if(W instanceof Z.ZodError)return{success:!1,error:"Invalid resource get request format"};return this.logger.error("Resource fetch error",W),{success:!1,error:b1(W)}}})}async onRegister(w){}async onReady(w){}async ready(){await this.onReady(this.getContext())}async getTools(){return[]}async getResources(){return[]}async getInstructions(){return}async shutdown(){await this.onShutdown()}async onShutdown(){}getContext(){if(!this.context)throw Error(`Plugin ${this.id}: Plugin not registered yet`);return this.context}determineUserPermissionLevel(w){return"public"}createProgressBridge(w){if(!w)return;let $=this.context;if(!$)return;let W=this.id;return U3.from(async(X)=>{await $.messaging.send(`plugin:${W}:progress`,{progressToken:w,notification:{progress:X.progress,total:X.total,message:X.message}})})}}var oc,ac;var NW=b(()=>{df();J0();J0();oc=Z.object({toolName:Z.string(),args:Z.unknown(),progressToken:Z.union([Z.string(),Z.number()]).optional(),hasProgress:Z.boolean().optional(),...BW.shape}),ac=Z.object({resourceUri:Z.string()})});function KB(w){return sc.safeParse(w).success}var sc;var cf=b(()=>{J0();sc=Z.object({name:Z.string(),schema:Z.custom((w)=>w instanceof Z.ZodType)})});function u0(w,$){if(!w||typeof w!=="object")return!1;if(w instanceof $)return!0;if(!Object.prototype.hasOwnProperty.call($,U0))throw Error(`Class "${$.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let W=Object.getPrototypeOf(w).constructor;if(W)while(W){if(U0 in W&&W[U0]===$[U0])return!0;W=Object.getPrototypeOf(W)}return!1}var U0;var U1=b(()=>{U0=Symbol.for("drizzle:entityKind")});var m2;var w6=b(()=>{U1();m2=class m2{constructor(w,$){this.table=w,this.config=$,this.name=$.name,this.keyAsName=$.keyAsName,this.notNull=$.notNull,this.default=$.default,this.defaultFn=$.defaultFn,this.onUpdateFn=$.onUpdateFn,this.hasDefault=$.hasDefault,this.primary=$.primaryKey,this.isUnique=$.isUnique,this.uniqueName=$.uniqueName,this.uniqueType=$.uniqueType,this.dataType=$.dataType,this.columnType=$.columnType,this.generated=$.generated,this.generatedIdentity=$.generatedIdentity}static[U0]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(w){return w}mapToDriverValue(w){return w}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}});var nf;var of=b(()=>{U1();nf=class nf{static[U0]="ColumnBuilder";config;constructor(w,$,W){this.config={name:w,keyAsName:w==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:$,columnType:W,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(w){return this.config.default=w,this.config.hasDefault=!0,this}$defaultFn(w){return this.config.defaultFn=w,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(w){return this.config.onUpdateFn=w,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(w){if(this.config.name!=="")return;this.config.name=w}}});var z5;var z8=b(()=>{z5=Symbol.for("drizzle:Name")});function HB(w,...$){return w(...$)}var hB=()=>{};function UB(w,$){return`${w[z5]}_${$.join("_")}_unique`}var AB=b(()=>{z8()});var V8,tc;var FB=b(()=>{w6();U1();AB();V8=class V8 extends m2{constructor(w,$){if(!$.uniqueName)$.uniqueName=UB(w,[$.name]);super(w,$);this.table=w}static[U0]="PgColumn"};tc=class tc extends V8{static[U0]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(w){return this.indexConfig.opClass=w,this}}});function OB(w){return!!w&&typeof w==="function"&&QB in w&&w[QB]===!0}var ec,QB,wi;var ZB=b(()=>{U1();FB();ec=class ec extends V8{static[U0]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(w,$){super(w,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}};QB=Symbol.for("drizzle:isPgEnum");wi=class wi extends V8{static[U0]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(w,$){super(w,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}}});var L2;var $6=b(()=>{U1();L2=class L2{static[U0]="Subquery";constructor(w,$,W,X=!1,Y=[]){this._={brand:"Subquery",sql:w,selectedFields:$,alias:W,isWith:X,usedTables:Y}}}});var zB="0.44.7";var VB=()=>{};var af,sf,MB;var _B=b(()=>{hB();VB();MB={startActiveSpan(w,$){if(!af)return $();if(!sf)sf=af.trace.getTracer("drizzle-orm",zB);return HB((W,X)=>X.startActiveSpan(w,(Y)=>{try{return $(Y)}catch(J){throw Y.setStatus({code:W.SpanStatusCode.ERROR,message:J instanceof Error?J.message:"Unknown error"}),J}finally{Y.end()}}),af,sf)}}});var m1;var W6=b(()=>{m1=Symbol.for("drizzle:ViewBaseConfig")});var tf,BB,NB,ef,wK,M8,DB,$i,i0;var Q3=b(()=>{U1();z8();tf=Symbol.for("drizzle:Schema"),BB=Symbol.for("drizzle:Columns"),NB=Symbol.for("drizzle:ExtraConfigColumns"),ef=Symbol.for("drizzle:OriginalName"),wK=Symbol.for("drizzle:BaseName"),M8=Symbol.for("drizzle:IsAlias"),DB=Symbol.for("drizzle:ExtraConfigBuilder"),$i=Symbol.for("drizzle:IsDrizzleTable");i0=class i0{static[U0]="Table";static Symbol={Name:z5,Schema:tf,OriginalName:ef,Columns:BB,ExtraConfigColumns:NB,BaseName:wK,IsAlias:M8,ExtraConfigBuilder:DB};[z5];[ef];[tf];[BB];[NB];[wK];[M8]=!1;[$i]=!0;[DB]=void 0;constructor(w,$,W){this[z5]=this[ef]=w,this[tf]=$,this[wK]=W}}});function Wi(w){return w!==null&&w!==void 0&&typeof w.getSQL==="function"}function Xi(w){let $={sql:"",params:[]};for(let W of w)if($.sql+=W.sql,$.params.push(...W.params),W.typings?.length){if(!$.typings)$.typings=[];$.typings.push(...W.typings)}return $}function xw(w,...$){let W=[];if($.length>0||w.length>0&&w[0]!=="")W.push(new Y5(w[0]));for(let[X,Y]of $.entries())W.push(Y,new Y5(w[X+1]));return new Y1(W)}var Y5,Y1,DW,qB,RB,PF0,RW,qW,Yi,r5;var X6=b(()=>{U1();ZB();$6();_B();W6();w6();Q3();Y5=class Y5{static[U0]="StringChunk";value;constructor(w){this.value=Array.isArray(w)?w:[w]}getSQL(){return new Y1([this])}};Y1=class Y1{constructor(w){this.queryChunks=w;for(let $ of w)if(u0($,i0)){let W=$[i0.Symbol.Schema];this.usedTables.push(W===void 0?$[i0.Symbol.Name]:W+"."+$[i0.Symbol.Name])}}static[U0]="SQL";decoder=qB;shouldInlineParams=!1;usedTables=[];append(w){return this.queryChunks.push(...w.queryChunks),this}toQuery(w){return MB.startActiveSpan("drizzle.buildSQL",($)=>{let W=this.buildQueryFromSourceParams(this.queryChunks,w);return $?.setAttributes({"drizzle.query.text":W.sql,"drizzle.query.params":JSON.stringify(W.params)}),W})}buildQueryFromSourceParams(w,$){let W=Object.assign({},$,{inlineParams:$.inlineParams||this.shouldInlineParams,paramStartIndex:$.paramStartIndex||{value:0}}),{casing:X,escapeName:Y,escapeParam:J,prepareTyping:G,inlineParams:f,paramStartIndex:H}=W;return Xi(w.map((h)=>{if(u0(h,Y5))return{sql:h.value.join(""),params:[]};if(u0(h,DW))return{sql:Y(h.value),params:[]};if(h===void 0)return{sql:"",params:[]};if(Array.isArray(h)){let U=[new Y5("(")];for(let[A,F]of h.entries())if(U.push(F),A<h.length-1)U.push(new Y5(", "));return U.push(new Y5(")")),this.buildQueryFromSourceParams(U,W)}if(u0(h,Y1))return this.buildQueryFromSourceParams(h.queryChunks,{...W,inlineParams:f||h.shouldInlineParams});if(u0(h,i0)){let U=h[i0.Symbol.Schema],A=h[i0.Symbol.Name];return{sql:U===void 0||h[M8]?Y(A):Y(U)+"."+Y(A),params:[]}}if(u0(h,m2)){let U=X.getColumnCasing(h);if($.invokeSource==="indexes")return{sql:Y(U),params:[]};let A=h.table[i0.Symbol.Schema];return{sql:h.table[M8]||A===void 0?Y(h.table[i0.Symbol.Name])+"."+Y(U):Y(A)+"."+Y(h.table[i0.Symbol.Name])+"."+Y(U),params:[]}}if(u0(h,r5)){let U=h[m1].schema,A=h[m1].name;return{sql:U===void 0||h[m1].isAlias?Y(A):Y(U)+"."+Y(A),params:[]}}if(u0(h,RW)){if(u0(h.value,qW))return{sql:J(H.value++,h),params:[h],typings:["none"]};let U=h.value===null?null:h.encoder.mapToDriverValue(h.value);if(u0(U,Y1))return this.buildQueryFromSourceParams([U],W);if(f)return{sql:this.mapInlineParam(U,W),params:[]};let A=["none"];if(G)A=[G(h.encoder)];return{sql:J(H.value++,U),params:[U],typings:A}}if(u0(h,qW))return{sql:J(H.value++,h),params:[h],typings:["none"]};if(u0(h,Y1.Aliased)&&h.fieldAlias!==void 0)return{sql:Y(h.fieldAlias),params:[]};if(u0(h,L2)){if(h._.isWith)return{sql:Y(h._.alias),params:[]};return this.buildQueryFromSourceParams([new Y5("("),h._.sql,new Y5(") "),new DW(h._.alias)],W)}if(OB(h)){if(h.schema)return{sql:Y(h.schema)+"."+Y(h.enumName),params:[]};return{sql:Y(h.enumName),params:[]}}if(Wi(h)){if(h.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([h.getSQL()],W);return this.buildQueryFromSourceParams([new Y5("("),h.getSQL(),new Y5(")")],W)}if(f)return{sql:this.mapInlineParam(h,W),params:[]};return{sql:J(H.value++,h),params:[h],typings:["none"]}}))}mapInlineParam(w,{escapeString:$}){if(w===null)return"null";if(typeof w==="number"||typeof w==="boolean")return w.toString();if(typeof w==="string")return $(w);if(typeof w==="object"){let W=w.toString();if(W==="[object Object]")return $(JSON.stringify(w));return $(W)}throw Error("Unexpected param value: "+w)}getSQL(){return this}as(w){if(w===void 0)return this;return new Y1.Aliased(this,w)}mapWith(w){return this.decoder=typeof w==="function"?{mapFromDriverValue:w}:w,this}inlineParams(){return this.shouldInlineParams=!0,this}if(w){return w?this:void 0}};DW=class DW{constructor(w){this.value=w}static[U0]="Name";brand;getSQL(){return new Y1([this])}};qB={mapFromDriverValue:(w)=>w},RB={mapToDriverValue:(w)=>w},PF0={...qB,...RB};RW=class RW{constructor(w,$=RB){this.value=w,this.encoder=$}static[U0]="Param";brand;getSQL(){return new Y1([this])}};((w)=>{function $(){return new Y1([])}w.empty=$;function W(H){return new Y1(H)}w.fromList=W;function X(H){return new Y1([new Y5(H)])}w.raw=X;function Y(H,h){let U=[];for(let[A,F]of H.entries()){if(A>0&&h!==void 0)U.push(h);U.push(F)}return new Y1(U)}w.join=Y;function J(H){return new DW(H)}w.identifier=J;function G(H){return new qW(H)}w.placeholder=G;function f(H,h){return new RW(H,h)}w.param=f})(xw||(xw={}));((w)=>{class ${constructor(W,X){this.sql=W,this.fieldAlias=X}static[U0]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new $(this.sql,this.fieldAlias)}}w.Aliased=$})(Y1||(Y1={}));qW=class qW{constructor(w){this.name=w}static[U0]="Placeholder";getSQL(){return new Y1([this])}};Yi=Symbol.for("drizzle:IsDrizzleView");r5=class r5{static[U0]="View";[m1];[Yi]=!0;constructor({name:w,schema:$,selectedFields:W,query:X}){this[m1]={name:w,originalName:w,schema:$,selectedFields:W,query:X,isExisting:!X,isAlias:!1}}getSQL(){return new Y1([this])}};m2.prototype.getSQL=function(){return new Y1([this])};i0.prototype.getSQL=function(){return new Y1([this])};L2.prototype.getSQL=function(){return new Y1([this])}});var _8,$K;var WK=b(()=>{w6();U1();Q3();W6();_8=class _8{constructor(w){this.table=w}static[U0]="ColumnAliasProxyHandler";get(w,$){if($==="table")return this.table;return w[$]}};$K=class $K{constructor(w,$){this.alias=w,this.replaceOriginalName=$}static[U0]="TableAliasProxyHandler";get(w,$){if($===i0.Symbol.IsAlias)return!0;if($===i0.Symbol.Name)return this.alias;if(this.replaceOriginalName&&$===i0.Symbol.OriginalName)return this.alias;if($===m1)return{...w[m1],name:this.alias,isAlias:!0};if($===i0.Symbol.Columns){let X=w[i0.Symbol.Columns];if(!X)return X;let Y={};return Object.keys(X).map((J)=>{Y[J]=new Proxy(X[J],new _8(new Proxy(w,this)))}),Y}let W=w[$];if(u0(W,m2))return new Proxy(W,new _8(new Proxy(w,this)));return W}}});var vB=()=>{};var kB=()=>{};var B8;var vW=b(()=>{U1();B8=class B8{static[U0]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(w){return this.then(void 0,w)}finally(w){return this.then(($)=>{return w?.(),$},($)=>{throw w?.(),$})}then(w,$){return this.execute().then(w,$)}}});function yw(w,$){return Object.entries(w).reduce((W,[X,Y])=>{if(typeof X!=="string")return W;let J=$?[...$,X]:[X];if(u0(Y,m2)||u0(Y,Y1)||u0(Y,Y1.Aliased))W.push({path:J,field:Y});else if(u0(Y,i0))W.push(...yw(Y[i0.Symbol.Columns],J));else W.push(...yw(Y,J));return W},[])}function XK(w,$){let W=Object.keys(w),X=Object.keys($);if(W.length!==X.length)return!1;for(let[Y,J]of W.entries())if(J!==X[Y])return!1;return!0}function LB(w,$){for(let W of $)for(let X of Object.getOwnPropertyNames(W.prototype)){if(X==="constructor")continue;Object.defineProperty(w.prototype,X,Object.getOwnPropertyDescriptor(W.prototype,X)||Object.create(null))}}function N8(w){return u0(w,L2)?w._.alias:u0(w,r5)?w[m1].name:u0(w,Y1)?void 0:w[i0.Symbol.IsAlias]?w[i0.Symbol.Name]:w[i0.Symbol.BaseName]}function d5(w,$){return{name:typeof w==="string"&&w.length>0?w:"",config:typeof w==="object"?w:$}}var YK;var O3=b(()=>{w6();U1();X6();$6();Q3();W6();YK=typeof TextDecoder>"u"?null:new TextDecoder});var EB=()=>{};var TB=()=>{};var PB=b(()=>{EB();TB()});var jB=()=>{};var CB=()=>{};var bB=()=>{};var IB=b(()=>{CB();bB()});var SB=b(()=>{PB();IB();X6()});var xB=b(()=>{WK();of();w6();U1();vB();kB();vW();jB();SB();$6();Q3();O3();W6()});var yB=()=>{};var mB=()=>{};var JK,uB;var GK=b(()=>{U1();z8();JK=class JK{static[U0]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(w,$){if(this.reference=()=>{let{name:W,columns:X,foreignColumns:Y}=w();return{name:W,columns:X,foreignTable:Y[0].table,foreignColumns:Y}},$)this._onUpdate=$.onUpdate,this._onDelete=$.onDelete}onUpdate(w){return this._onUpdate=w,this}onDelete(w){return this._onDelete=w,this}build(w){return new uB(w,this)}};uB=class uB{constructor(w,$){this.table=w,this.reference=$.reference,this.onUpdate=$._onUpdate,this.onDelete=$._onDelete}static[U0]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:w,columns:$,foreignColumns:W}=this.reference(),X=$.map((G)=>G.name),Y=W.map((G)=>G.name),J=[this.table[z5],...X,W[0].table[z5],...Y];return w??`${J.join("_")}_fk`}}});function gB(w,$){return`${w[z5]}_${$.join("_")}_unique`}var fK=b(()=>{z8()});var o1,a1;var Y6=b(()=>{of();w6();U1();GK();fK();o1=class o1 extends nf{static[U0]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(w,$={}){return this.foreignKeyConfigs.push({ref:w,actions:$}),this}unique(w){return this.config.isUnique=!0,this.config.uniqueName=w,this}generatedAlwaysAs(w,$){return this.config.generated={as:w,type:"always",mode:$?.mode??"virtual"},this}buildForeignKeys(w,$){return this.foreignKeyConfigs.map(({ref:W,actions:X})=>{return((Y,J)=>{let G=new JK(()=>{let f=Y();return{columns:[w],foreignColumns:[f]}});if(J.onUpdate)G.onUpdate(J.onUpdate);if(J.onDelete)G.onDelete(J.onDelete);return G.build($)})(W,X)})}};a1=class a1 extends m2{constructor(w,$){if(!$.uniqueName)$.uniqueName=gB(w,[$.name]);super(w,$);this.table=w}static[U0]="SQLiteColumn"}});function nB(w,$){let{name:W,config:X}=d5(w,$);if(X?.mode==="json")return new rB(W);if(X?.mode==="bigint")return new lB(W);return new cB(W)}var lB,pB,rB,dB,cB,iB;var KK=b(()=>{U1();O3();Y6();lB=class lB extends o1{static[U0]="SQLiteBigIntBuilder";constructor(w){super(w,"bigint","SQLiteBigInt")}build(w){return new pB(w,this.config)}};pB=class pB extends a1{static[U0]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue(w){if(typeof Buffer<"u"&&Buffer.from){let $=Buffer.isBuffer(w)?w:w instanceof ArrayBuffer?Buffer.from(w):w.buffer?Buffer.from(w.buffer,w.byteOffset,w.byteLength):Buffer.from(w);return BigInt($.toString("utf8"))}return BigInt(YK.decode(w))}mapToDriverValue(w){return Buffer.from(w.toString())}};rB=class rB extends o1{static[U0]="SQLiteBlobJsonBuilder";constructor(w){super(w,"json","SQLiteBlobJson")}build(w){return new dB(w,this.config)}};dB=class dB extends a1{static[U0]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue(w){if(typeof Buffer<"u"&&Buffer.from){let $=Buffer.isBuffer(w)?w:w instanceof ArrayBuffer?Buffer.from(w):w.buffer?Buffer.from(w.buffer,w.byteOffset,w.byteLength):Buffer.from(w);return JSON.parse($.toString("utf8"))}return JSON.parse(YK.decode(w))}mapToDriverValue(w){return Buffer.from(JSON.stringify(w))}};cB=class cB extends o1{static[U0]="SQLiteBlobBufferBuilder";constructor(w){super(w,"buffer","SQLiteBlobBuffer")}build(w){return new iB(w,this.config)}};iB=class iB extends a1{static[U0]="SQLiteBlobBuffer";mapFromDriverValue(w){if(Buffer.isBuffer(w))return w;return Buffer.from(w)}getSQLType(){return"blob"}}});function kW(w){return($,W)=>{let{name:X,config:Y}=d5($,W);return new oB(X,Y,w)}}var oB,aB;var HK=b(()=>{U1();O3();Y6();oB=class oB extends o1{static[U0]="SQLiteCustomColumnBuilder";constructor(w,$,W){super(w,"custom","SQLiteCustomColumn");this.config.fieldConfig=$,this.config.customTypeParams=W}build(w){return new aB(w,this.config)}};aB=class aB extends a1{static[U0]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor(w,$){super(w,$);this.sqlName=$.customTypeParams.dataType($.fieldConfig),this.mapTo=$.customTypeParams.toDriver,this.mapFrom=$.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(w){return typeof this.mapFrom==="function"?this.mapFrom(w):w}mapToDriverValue(w){return typeof this.mapTo==="function"?this.mapTo(w):w}}});function E2(w,$){let{name:W,config:X}=d5(w,$);if(X?.mode==="timestamp"||X?.mode==="timestamp_ms")return new eB(W,X.mode);if(X?.mode==="boolean")return new $N(W,X.mode);return new sB(W)}var LW,EW,sB,tB,eB,wN,$N,WN;var hK=b(()=>{U1();X6();O3();Y6();LW=class LW extends o1{static[U0]="SQLiteBaseIntegerBuilder";constructor(w,$,W){super(w,$,W);this.config.autoIncrement=!1}primaryKey(w){if(w?.autoIncrement)this.config.autoIncrement=!0;return this.config.hasDefault=!0,super.primaryKey()}};EW=class EW extends a1{static[U0]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}};sB=class sB extends LW{static[U0]="SQLiteIntegerBuilder";constructor(w){super(w,"number","SQLiteInteger")}build(w){return new tB(w,this.config)}};tB=class tB extends EW{static[U0]="SQLiteInteger"};eB=class eB extends LW{static[U0]="SQLiteTimestampBuilder";constructor(w,$){super(w,"date","SQLiteTimestamp");this.config.mode=$}defaultNow(){return this.default(xw`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(w){return new wN(w,this.config)}};wN=class wN extends EW{static[U0]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(w){if(this.config.mode==="timestamp")return new Date(w*1000);return new Date(w)}mapToDriverValue(w){let $=w.getTime();if(this.config.mode==="timestamp")return Math.floor($/1000);return $}};$N=class $N extends LW{static[U0]="SQLiteBooleanBuilder";constructor(w,$){super(w,"boolean","SQLiteBoolean");this.config.mode=$}build(w){return new WN(w,this.config)}};WN=class WN extends EW{static[U0]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(w){return Number(w)===1}mapToDriverValue(w){return w?1:0}}});function HN(w,$){let{name:W,config:X}=d5(w,$),Y=X?.mode;return Y==="number"?new JN(W):Y==="bigint"?new fN(W):new XN(W)}var XN,YN,JN,GN,fN,KN;var UK=b(()=>{U1();O3();Y6();XN=class XN extends o1{static[U0]="SQLiteNumericBuilder";constructor(w){super(w,"string","SQLiteNumeric")}build(w){return new YN(w,this.config)}};YN=class YN extends a1{static[U0]="SQLiteNumeric";mapFromDriverValue(w){if(typeof w==="string")return w;return String(w)}getSQLType(){return"numeric"}};JN=class JN extends o1{static[U0]="SQLiteNumericNumberBuilder";constructor(w){super(w,"number","SQLiteNumericNumber")}build(w){return new GN(w,this.config)}};GN=class GN extends a1{static[U0]="SQLiteNumericNumber";mapFromDriverValue(w){if(typeof w==="number")return w;return Number(w)}mapToDriverValue=String;getSQLType(){return"numeric"}};fN=class fN extends o1{static[U0]="SQLiteNumericBigIntBuilder";constructor(w){super(w,"bigint","SQLiteNumericBigInt")}build(w){return new KN(w,this.config)}};KN=class KN extends a1{static[U0]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}});function AN(w){return new hN(w??"")}var hN,UN;var AK=b(()=>{U1();Y6();hN=class hN extends o1{static[U0]="SQLiteRealBuilder";constructor(w){super(w,"number","SQLiteReal")}build(w){return new UN(w,this.config)}};UN=class UN extends a1{static[U0]="SQLiteReal";getSQLType(){return"real"}}});function r0(w,$={}){let{name:W,config:X}=d5(w,$);if(X.mode==="json")return new ON(W);return new FN(W,X)}var FN,QN,ON,ZN;var FK=b(()=>{U1();O3();Y6();FN=class FN extends o1{static[U0]="SQLiteTextBuilder";constructor(w,$){super(w,"string","SQLiteText");this.config.enumValues=$.enum,this.config.length=$.length}build(w){return new QN(w,this.config)}};QN=class QN extends a1{static[U0]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(w,$){super(w,$)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}};ON=class ON extends o1{static[U0]="SQLiteTextJsonBuilder";constructor(w){super(w,"json","SQLiteTextJson")}build(w){return new ZN(w,this.config)}};ZN=class ZN extends a1{static[U0]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(w){return JSON.parse(w)}mapToDriverValue(w){return JSON.stringify(w)}}});var zN=b(()=>{KK();Y6();HK();hK();UK();AK();FK()});var u2;var QK=b(()=>{WK();w6();U1();X6();$6();W6();u2=class u2{static[U0]="SelectionProxyHandler";config;constructor(w){this.config={...w}}get(w,$){if($==="_")return{...w._,selectedFields:new Proxy(w._.selectedFields,this)};if($===m1)return{...w[m1],selectedFields:new Proxy(w[m1].selectedFields,this)};if(typeof $==="symbol")return w[$];let X=(u0(w,L2)?w._.selectedFields:u0(w,r5)?w[m1].selectedFields:w)[$];if(u0(X,Y1.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!X.isSelectionField)return X.sql;let Y=X.clone();return Y.isSelectionField=!0,Y}if(u0(X,Y1)){if(this.config.sqlBehavior==="sql")return X;throw Error(`You tried to reference "${$}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(u0(X,m2)){if(this.config.alias)return new Proxy(X,new _8(new Proxy(X.table,new $K(this.config.alias,this.config.replaceOriginalName??!1))));return X}if(typeof X!=="object"||X===null)return X;return new Proxy(X,new u2(this.config))}}});function VN(){return{blob:nB,customType:kW,integer:E2,numeric:HN,real:AN,text:r0}}var MN=b(()=>{KK();HK();hK();UK();AK();FK()});function Ji(w,$,W,X,Y=w){let J=new c5(w,X,Y),G=typeof $==="function"?$(VN()):$,f=Object.fromEntries(Object.entries(G).map(([h,U])=>{let A=U;A.setName(h);let F=A.build(J);return J[OK].push(...A.buildForeignKeys(F,J)),[h,F]})),H=Object.assign(J,f);if(H[i0.Symbol.Columns]=f,H[i0.Symbol.ExtraConfigColumns]=f,W)H[c5.Symbol.ExtraConfigBuilder]=W;return H}var OK,c5,i5=(w,$,W)=>{return Ji(w,$,W)};var D8=b(()=>{U1();Q3();MN();OK=Symbol.for("drizzle:SQLiteInlineForeignKeys");c5=class c5 extends i0{static[U0]="SQLiteTable";static Symbol=Object.assign({},i0.Symbol,{InlineForeignKeys:OK});[i0.Symbol.Columns];[OK]=[];[i0.Symbol.ExtraConfigBuilder]=void 0}});function V5(w){return new _N(w,!1)}var _N,BN,NN;var DN=b(()=>{U1();_N=class _N{constructor(w,$){this.name=w,this.unique=$}static[U0]="SQLiteIndexBuilderOn";on(...w){return new BN(this.name,w,this.unique)}};BN=class BN{static[U0]="SQLiteIndexBuilder";config;constructor(w,$,W){this.config={name:w,columns:$,unique:W,where:void 0}}where(w){return this.config.where=w,this}build(w){return new NN(this.config,w)}};NN=class NN{static[U0]="SQLiteIndex";config;constructor(w,$){this.config={...w,table:$}}}});function TW(...w){if(w[0].columns)return new ZK(w[0].columns,w[0].name);return new ZK(w)}var ZK,qN;var RN=b(()=>{U1();D8();ZK=class ZK{static[U0]="SQLitePrimaryKeyBuilder";columns;name;constructor(w,$){this.columns=w,this.name=$}build(w){return new qN(w,this.columns,this.name)}};qN=class qN{constructor(w,$,W){this.table=w,this.columns=$,this.name=W}static[U0]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[c5.Symbol.Name]}_${this.columns.map((w)=>w.name).join("_")}_pk`}}});function A4(w){if(u0(w,c5))return[`${w[i0.Symbol.BaseName]}`];if(u0(w,L2))return w._.usedTables??[];if(u0(w,Y1))return w.usedTables??[];return[]}var PW=b(()=>{U1();X6();$6();Q3();D8()});var vN=()=>{};var zK;var kN=b(()=>{U1();X6();zK=class zK extends r5{static[U0]="SQLiteViewBase"}});var LN=()=>{};var VK;var EN=b(()=>{U1();VK=class VK{static[U0]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}});function jW(w,$){return(W,X,...Y)=>{let J=[X,...Y].map((G)=>({type:w,isAll:$,rightSelect:G}));for(let G of J)if(!XK(W.getSelectedFields(),G.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return W.addSetOperators(J)}}var TN,PN,Gi=()=>({union:fi,unionAll:Ki,intersect:Hi,except:hi}),fi,Ki,Hi,hi;var jN=b(()=>{U1();EN();vW();QK();X6();$6();Q3();O3();W6();PW();TN=class TN extends VK{static[U0]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:w,fields:$,isPartialSelect:W,session:X,dialect:Y,withList:J,distinct:G}){super();this.config={withList:J,table:w,fields:{...$},distinct:G,setOperators:[]},this.isPartialSelect=W,this.session=X,this.dialect=Y,this._={selectedFields:$,config:this.config},this.tableName=N8(w),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let f of A4(w))this.usedTables.add(f)}getUsedTables(){return[...this.usedTables]}createJoin(w){return($,W)=>{let X=this.tableName,Y=N8($);for(let J of A4($))this.usedTables.add(J);if(typeof Y==="string"&&this.config.joins?.some((J)=>J.alias===Y))throw Error(`Alias "${Y}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof X==="string")this.config.fields={[X]:this.config.fields};if(typeof Y==="string"&&!u0($,Y1)){let J=u0($,L2)?$._.selectedFields:u0($,r5)?$[m1].selectedFields:$[i0.Symbol.Columns];this.config.fields[Y]=J}}if(typeof W==="function")W=W(new Proxy(this.config.fields,new u2({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:W,table:$,joinType:w,alias:Y}),typeof Y==="string")switch(w){case"left":{this.joinsNotNullableMap[Y]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([J])=>[J,!1])),this.joinsNotNullableMap[Y]=!0;break}case"cross":case"inner":{this.joinsNotNullableMap[Y]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([J])=>[J,!1])),this.joinsNotNullableMap[Y]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(w,$){return(W)=>{let X=typeof W==="function"?W(Gi()):W;if(!XK(this.getSelectedFields(),X.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:w,isAll:$,rightSelect:X}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(w){return this.config.setOperators.push(...w),this}where(w){if(typeof w==="function")w=w(new Proxy(this.config.fields,new u2({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=w,this}having(w){if(typeof w==="function")w=w(new Proxy(this.config.fields,new u2({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=w,this}groupBy(...w){if(typeof w[0]==="function"){let $=w[0](new Proxy(this.config.fields,new u2({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray($)?$:[$]}else this.config.groupBy=w;return this}orderBy(...w){if(typeof w[0]==="function"){let $=w[0](new Proxy(this.config.fields,new u2({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),W=Array.isArray($)?$:[$];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=W;else this.config.orderBy=W}else{let $=w;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=$;else this.config.orderBy=$}return this}limit(w){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=w;else this.config.limit=w;return this}offset(w){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=w;else this.config.offset=w;return this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:w,...$}=this.dialect.sqlToQuery(this.getSQL());return $}as(w){let $=[];if($.push(...A4(this.config.table)),this.config.joins)for(let W of this.config.joins)$.push(...A4(W.table));return new Proxy(new L2(this.getSQL(),this.config.fields,w,!1,[...new Set($)]),new u2({alias:w,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new u2({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}};PN=class PN extends TN{static[U0]="SQLiteSelect";_prepare(w=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let $=yw(this.config.fields),W=this.session[w?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),$,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return W.joinsNotNullableMap=this.joinsNotNullableMap,W}$withCache(w){return this.cacheConfig=w===void 0?{config:{},enable:!0,autoInvalidate:!0}:w===!1?{enable:!1}:{enable:!0,autoInvalidate:!0,...w},this}prepare(){return this._prepare(!1)}run=(w)=>{return this._prepare().run(w)};all=(w)=>{return this._prepare().all(w)};get=(w)=>{return this._prepare().get(w)};values=(w)=>{return this._prepare().values(w)};async execute(){return this.all()}};LB(PN,[B8]);fi=jW("union",!1),Ki=jW("union",!0),Hi=jW("intersect",!1),hi=jW("except",!1)});var CN=()=>{};var bN=()=>{};var Ui;var IN=b(()=>{U1();vW();QK();D8();$6();Q3();O3();W6();PW();kN();Ui=class Ui extends B8{constructor(w,$,W,X,Y){super();this.session=W,this.dialect=X,this.config={set:$,table:w,withList:Y,joins:[]}}static[U0]="SQLiteUpdate";config;from(w){return this.config.from=w,this}createJoin(w){return($,W)=>{let X=N8($);if(typeof X==="string"&&this.config.joins.some((Y)=>Y.alias===X))throw Error(`Alias "${X}" is already used in this query`);if(typeof W==="function"){let Y=this.config.from?u0($,c5)?$[i0.Symbol.Columns]:u0($,L2)?$._.selectedFields:u0($,zK)?$[m1].selectedFields:void 0:void 0;W=W(new Proxy(this.config.table[i0.Symbol.Columns],new u2({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),Y&&new Proxy(Y,new u2({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:W,table:$,joinType:w,alias:X}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(w){return this.config.where=w,this}orderBy(...w){if(typeof w[0]==="function"){let $=w[0](new Proxy(this.config.table[i0.Symbol.Columns],new u2({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),W=Array.isArray($)?$:[$];this.config.orderBy=W}else{let $=w;this.config.orderBy=$}return this}limit(w){return this.config.limit=w,this}returning(w=this.config.table[c5.Symbol.Columns]){return this.config.returning=yw(w),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:w,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(w=!0){return this.session[w?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:A4(this.config.table)})}prepare(){return this._prepare(!1)}run=(w)=>{return this._prepare().run(w)};all=(w)=>{return this._prepare().all(w)};get=(w)=>{return this._prepare().get(w)};values=(w)=>{return this._prepare().values(w)};async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}});var SN=b(()=>{vN();bN();CN();jN();IN()});var xN=()=>{};var yN=()=>{};var mN=()=>{};var mw=b(()=>{yB();mB();zN();xN();LN();GK();DN();RN();SN();yN();D8();fK();PW();mN()});var MK;var CW=b(()=>{mw();J0();MK=i5("job_queue",{id:r0("id").primaryKey().$defaultFn(()=>F3()),type:r0("type").notNull(),data:r0("data").notNull(),result:r0("result",{mode:"json"}),source:r0("source"),metadata:r0("metadata",{mode:"json"}).$type().notNull(),status:r0("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:E2("priority").notNull().default(0),retryCount:E2("retryCount").notNull().default(0),maxRetries:E2("maxRetries").notNull().default(3),lastError:r0("lastError"),createdAt:E2("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:E2("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:E2("startedAt"),completedAt:E2("completedAt")},(w)=>({queueReadyIdx:V5("idx_job_queue_ready").on(w.status,w.priority,w.scheduledFor),jobTypeIdx:V5("idx_job_queue_type").on(w.type,w.status),jobSourceIdx:V5("idx_job_queue_source").on(w.source)}))});var uN,gN,q8,$z0;var bW=b(()=>{J0();uN=Z.enum(["file_operations","content_operations","data_processing","batch_processing"]),gN=Z.object({pluginId:Z.string().optional(),progressToken:Z.union([Z.string(),Z.number()]).optional(),operationType:uN,operationTarget:Z.string().optional(),interfaceType:Z.string().optional(),channelId:Z.string().optional()}),q8=gN.extend({rootJobId:Z.string()}),$z0=Z.enum(["none","skip","replace","coalesce"])});var _K,lN,Ai,Fi,BK;var uw=b(()=>{J0();bW();_K=Z.enum(["pending","processing","completed","failed"]),lN=Z.enum(["completed","failed"]),Ai=Z.object({id:Z.string(),type:Z.string(),status:_K,data:Z.unknown(),result:Z.unknown().optional(),lastError:Z.string().optional().nullable(),attempts:Z.number(),maxRetries:Z.number(),priority:Z.number(),createdAt:Z.date(),updatedAt:Z.date(),processedAt:Z.date().optional().nullable(),completedAt:Z.date().optional().nullable(),failedAt:Z.date().optional().nullable()}),Fi=Z.object({jobId:Z.string(),type:Z.string(),status:lN,result:Z.unknown().optional(),error:Z.string().optional()}),BK=Z.object({id:Z.string(),type:Z.enum(["job","batch"]),status:_K,message:Z.string().optional(),progress:Z.object({current:Z.number(),total:Z.number(),percentage:Z.number()}).optional(),aggregationKey:Z.string().optional(),batchDetails:Z.object({totalOperations:Z.number(),completedOperations:Z.number(),failedOperations:Z.number(),currentOperation:Z.string().optional(),errors:Z.array(Z.string()).optional()}).optional(),jobDetails:Z.object({jobType:Z.string(),priority:Z.number(),retryCount:Z.number()}).optional(),metadata:q8})});import{createClient as fz0}from"@libsql/client";var pN=b(()=>{CW()});var rN=b(()=>{CW();uw()});var dN=b(()=>{CW();J0();uw();pN();rN()});var kz0;var cN=b(()=>{J0();uw();kz0=Z.object({success:Z.literal(!1),error:Z.string().optional()})});var iN=b(()=>{uw()});var nN=b(()=>{J0()});class gw{logger;schema;jobTypeName;constructor(w,$){this.logger=w,this.schema=$.schema,this.jobTypeName=$.jobTypeName}validateAndParse(w){if(!this.schema)throw Error(`${this.jobTypeName}: No schema provided. Override validateAndParse() or provide a schema.`);try{let $=this.schema.parse(w);return this.logger.debug(`${this.jobTypeName} job data validation successful`,{data:this.summarizeDataForLog($)}),$}catch($){return this.logger.warn(`Invalid ${this.jobTypeName} job data`,{data:w,validationError:$ instanceof Z.ZodError?$.issues:$}),null}}async onError(w,$,W,X){this.logger.error(`${this.jobTypeName} job error handler triggered`,{jobId:W,errorMessage:w.message,errorStack:w.stack,data:this.summarizeDataForLog($)})}async reportProgress(w,$){await w.report({progress:$.progress,total:$.total??100,message:$.message})}summarizeDataForLog(w){return w}}var oN=b(()=>{J0()});var Qi;var aN=b(()=>{bW();J0();Qi=Z.object({id:Z.string(),type:Z.string(),data:Z.string(),status:Z.enum(["pending","processing","completed","failed"]),source:Z.string().nullable(),priority:Z.number(),retryCount:Z.number(),maxRetries:Z.number(),lastError:Z.string().nullable(),createdAt:Z.number(),scheduledFor:Z.number(),startedAt:Z.number().nullable(),completedAt:Z.number().nullable(),metadata:q8,result:Z.unknown().nullable().optional()})});function NK(w,$,W){return async(X,Y,J,G)=>{let{metadata:f,...H}=G??{},h={source:$,...G?.rootJobId&&{rootJobId:G.rootJobId},...H,metadata:{operationType:"data_processing",pluginId:$,...J&&{interfaceType:J.interfaceType,channelId:J.channelId},...f}},U=W&&!X.includes(":")?`${$}:${X}`:X;return w.enqueue(U,Y,h)}}function DK(w,$){return async(W,X)=>{let Y=F3(),J=W.map((f)=>({...f,type:f.type.includes(":")?f.type:`${$}:${f.type}`})),G={...X,source:$,rootJobId:Y,metadata:{...X?.metadata,operationType:"batch_processing",pluginId:$}};return await w.enqueueBatch(J,G,Y,$),Y}}function qK(w,$){return(W,X)=>{let Y=W.includes(":")?W:`${$}:${W}`;w.registerHandler(Y,X,$)}}var sN=b(()=>{J0()});var R8=b(()=>{dN();cN();iN();nN();oN();aN();uw();bW();sN()});function lw(w,$,W){let X=w.getMessageBus(),Y=w.getEntityService(),J=w.getJobQueueService(),G=w.getLogger().child($),f=w.getDomain(),H=async(h,U,A)=>{return X.send(h,U,$,void 0,void 0,A?.broadcast)};return{pluginId:$,logger:G,entityService:Y,identity:{get:()=>w.getIdentity(),getProfile:()=>w.getProfile(),getAppInfo:()=>w.getAppInfo()},appInfo:()=>w.getAppInfo(),domain:f,siteUrl:f?`https://${f}`:void 0,previewUrl:f?`https://${If(f)}`:void 0,entityDisplay:W?.entityDisplay,messaging:{send:H,subscribe:(h,U)=>{if(KB(h)){let A=h,F=U,O=async(M)=>{let N=A.schema.safeParse(M.payload);if(!N.success)return G.warn(`Invalid payload for channel ${A.name}`,{error:N.error.message}),{noop:!0};let{payload:R,...E}=M;return F(N.data,E)};return X.subscribe(A.name,O)}return X.subscribe(h,U)}},jobs:{...w.jobs,enqueue:NK(J,$,!0),enqueueBatch:DK(w.jobs,$),registerHandler:qK(J,$)},conversations:{get:async(h)=>{return w.getConversationService().getConversation(h)},search:async(h)=>{return w.getConversationService().searchConversations(h)},getMessages:async(h,U)=>{return w.getConversationService().getMessages(h,U)}},dataDir:w.getDataDir(),eval:{registerHandler:(h,U)=>{w.registerEvalHandler($,h,U)}},insights:{register:(h,U)=>{w.getInsightsRegistry().register(h,U)}},endpoints:{register:({label:h,url:U,priority:A=100})=>{w.registerEndpoint({label:h,url:U,pluginId:$,priority:A})}}}}var v8=b(()=>{J0();cf();R8()});var SW;var k8=b(()=>{xB();mw();SW=i5("entities",{id:r0("id").notNull(),entityType:r0("entityType").notNull(),content:r0("content").notNull(),contentHash:r0("contentHash").notNull(),metadata:r0("metadata",{mode:"json"}).$type().notNull().default(xw`'{}'`),created:E2("created").notNull().$defaultFn(()=>Date.now()),updated:E2("updated").notNull().$defaultFn(()=>Date.now())},(w)=>{return{pk:TW({columns:[w.id,w.entityType]})}})});import{createClient as KV0}from"@libsql/client";var tN=b(()=>{k8()});var eN;var wD=b(()=>{mw();eN=kW({dataType(){return"F32_BLOB(1536)"},toDriver(w){return Buffer.from(w.buffer)},fromDriver(w){return new Float32Array(w.buffer,w.byteOffset,w.byteLength/4)}})});var xW;var L8=b(()=>{mw();wD();xW=i5("embeddings",{entityId:r0("entity_id").notNull(),entityType:r0("entity_type").notNull(),embedding:eN("embedding").notNull(),contentHash:r0("content_hash").notNull()},(w)=>{return{pk:TW({columns:[w.entityId,w.entityType]})}})});import{createClient as zV0}from"@libsql/client";var RK=b(()=>{L8()});var NV0;var vK=b(()=>{J0();NV0=Z.object({id:Z.string().min(1,"Entity ID is required"),entityType:Z.string().min(1,"Entity type is required"),contentHash:Z.string().min(1,"Content hash is required"),operation:Z.enum(["create","update"])})});var vV0;var $D=b(()=>{J0();k8();vV0=Z.object({limit:Z.number().int().positive().optional().default(20),offset:Z.number().int().min(0).optional().default(0),types:Z.array(Z.string()).optional().default([]),excludeTypes:Z.array(Z.string()).optional().default([]),weight:Z.record(Z.string(),Z.number()).optional()})});var WD=b(()=>{J0()});var Oi,CV0;var XD=b(()=>{k8();L8();J0();Oi=Z.object({field:Z.string(),direction:Z.enum(["asc","desc"]),nullsFirst:Z.boolean().optional()}),CV0=Z.object({limit:Z.number().int().positive().optional(),offset:Z.number().int().min(0).optional().default(0),sortFields:Z.array(Oi).optional(),filter:Z.object({metadata:Z.record(Z.string(),Z.unknown()).optional()}).optional(),publishedOnly:Z.boolean().optional()})});var YD=()=>{};var JD=b(()=>{J0();YD();k8();L8()});var GD=b(()=>{J0()});var fD=b(()=>{tN();RK();L8();J0();vK();$D();WD();XD();JD();GD()});function J6(w,$){if(Object.keys($).length===0)return w;let W=Object.fromEntries(Object.entries($).filter(([,X])=>X!==void 0));return yW.default.stringify(w,W)}function kK(w){if(w instanceof Date)return w.toISOString();if(Array.isArray(w))return w.map(kK);if(w!==null&&typeof w==="object"){let $={};for(let[W,X]of Object.entries(w))$[W]=kK(X);return $}return w}function R1(w,$){let{content:W,data:X}=yW.default(w),Y=kK(X);return{content:W.trim(),metadata:$.parse(Y)}}function LK(w){if(Object.keys(w).length===0)return"";let W=yW.default.stringify("",w).match(/^---\n[\s\S]*?\n---/);return W?W[0]:""}var yW;var mW=b(()=>{yW=I5(aJ(),1)});var KD=b(()=>{J0();mW()});class T2{entityType;schema;frontmatterSchema;isSingleton;hasBody;supportsCoverImage;fmSchema;bodyFormatter;constructor(w){if(this.entityType=w.entityType,this.schema=w.schema,this.frontmatterSchema=w.frontmatterSchema,this.fmSchema=w.frontmatterSchema,this.bodyFormatter=w.bodyFormatter??qi,w.isSingleton!==void 0)this.isSingleton=w.isSingleton;if(w.hasBody!==void 0)this.hasBody=w.hasBody;if(w.supportsCoverImage!==void 0)this.supportsCoverImage=w.supportsCoverImage}toMarkdown(w){let $=this.renderBody(w),X={...this.readExistingFrontmatter(w.content)},Y=Object.keys(this.frontmatterSchema.shape);for(let[J,G]of Object.entries(w.metadata))if(Y.includes(J))X[J]=G;return this.buildMarkdown($,X)}renderBody(w){return this.extractBody(w.content)}readExistingFrontmatter(w){try{return R1(w,Z.record(Z.unknown())).metadata}catch{return{}}}extractMetadata(w){return w.metadata}parseFrontMatter(w,$){return R1(w,$).metadata}getBodyTemplate(){return this.bodyFormatter.generateBodyTemplate()}generateFrontMatter(w){let $=w.metadata;return LK($)}extractBody(w){try{return R1(w,Z.record(Z.unknown())).content}catch{return w}}parseFrontmatter(w){return R1(w,this.fmSchema).metadata}buildMarkdown(w,$){return J6(w,$)}}var qi;var EK=b(()=>{J0();mW();qi={generateBodyTemplate:()=>""}});var Y2;var TK=b(()=>{J0();Y2=Z.object({id:Z.string(),entityType:Z.string(),content:Z.string(),created:Z.string().datetime(),updated:Z.string().datetime(),metadata:Z.record(Z.string(),Z.unknown()),contentHash:Z.string()})});var HD=b(()=>{J0();TK();EK()});var hD=b(()=>{EK();HD()});class pw{cache=null;cacheParseError=null;logger;entityService;entityType;defaultBody;constructor(w,$,W,X){this.entityService=w,this.logger=$.child(this.constructor.name),this.entityType=W,this.defaultBody=X}async initialize(){if(await this.load(),!this.cache){if(await this.load(),this.cache)return;this.logger.info(`No ${this.entityType} found, creating default ${this.entityType}`);try{let w=this.createContent(this.defaultBody);await this.entityService.createEntity({id:this.entityType,entityType:this.entityType,content:w,metadata:{}}),await this.load(),this.logger.info(`Default ${this.entityType} created successfully`)}catch(w){this.logger.error(`Failed to create default ${this.entityType}`,{error:w})}}}get(){if(this.cache&&!this.cacheParseError)return this.parseBody(this.cache.content);return this.defaultBody}getContent(){if(this.cache)return this.cache.content;return this.createContent(this.defaultBody)}async refreshCache(){await this.load()}async load(){try{let w=await this.entityService.getEntity(this.entityType,this.entityType);if(this.cache=w,this.cacheParseError=null,w)try{this.parseBody(w.content),this.logger.debug(`${this.entityType} loaded`)}catch($){this.cacheParseError=$ instanceof Error?$:Error(String($)),this.logger.error(`Failed to parse ${this.entityType} \u2014 using default. Fix the entity content to clear this error.`,{error:this.cacheParseError.message})}else this.logger.debug(`No ${this.entityType} found in database`)}catch(w){this.logger.warn(`Failed to load ${this.entityType}`,{error:w}),this.cache=null,this.cacheParseError=null}}}function PK(w,$,W){let X=Math.max(1,Math.ceil(w/W));return{currentPage:$,totalPages:X,totalItems:w,pageSize:W,hasNextPage:$<X,hasPrevPage:$>1}}var uW;var UD=b(()=>{J0();uW=Z.object({currentPage:Z.number(),totalPages:Z.number(),totalItems:Z.number(),pageSize:Z.number(),hasNextPage:Z.boolean(),hasPrevPage:Z.boolean()})});var i2=b(()=>{fD();vK();KD();hD();RK();TK();mW();UD()});function vi(w){return w.replace(/:/g,"-")}function ki(w){return w.split(/[:.-]/).map(($)=>$.charAt(0).toUpperCase()+$.slice(1)).join(" ")}async function E8(w,$,W){let X=jK.get($);if(X!==void 0)return X;let Y=vi($),J;try{J=await w.getEntity("prompt",Y)}catch{return W}if(J?.content){let G=R1(J.content,Z.record(Z.unknown())).content;return jK.set($,G),G}try{let G=ki($),f=J6(W,{title:G,target:$});await w.createEntity({id:Y,entityType:"prompt",content:f,metadata:{title:G,target:$,slug:Y}})}catch{}return jK.set($,W),W}var jK;var gW=b(()=>{i2();J0();jK=new Map});function CK(w,$,W){let X=lw(w,$,W),Y=w.getEntityService(),J=w.getEntityRegistry(),G=w.getRenderService(),f=w.getDataSourceRegistry(),H=w.getContentService();return{...X,entityService:Y,entities:{register:(h,U,A,F)=>{J.registerEntityType(h,U,A,F)},getAdapter:(h)=>{try{return J.getAdapter(h)}catch{return}},extendFrontmatterSchema:(h,U)=>{J.extendFrontmatterSchema(h,U)},getEffectiveFrontmatterSchema:(h)=>{return J.getEffectiveFrontmatterSchema(h)},registerCreateInterceptor:(h,U)=>{J.registerCreateInterceptor(h,U)},update:async(h)=>{return Y.updateEntity(h)},registerDataSource:(h)=>{f.register(h)}},templates:{register:(h,U)=>{w.registerTemplates(h,U??$)},format:(h,U)=>{return H.formatContent(h,U,{pluginId:$})},parse:(h,U)=>{return H.parseContent(h,U,$)},resolve:async(h,U)=>{return await H.resolveContent(h,U,$)},getCapabilities:(h)=>{let U=h.includes(":")?h:`${$}:${h}`,A=w.getTemplate(U);if(!A)return null;let F=Z8.getCapabilities(A);return{canGenerate:F.canGenerate,canFetch:F.canFetch,canRender:F.canRender,isStaticOnly:F.isStaticOnly}}},views:{get:(h)=>{return G.get(h)??void 0},list:()=>{return G.list()},hasRenderer:(h)=>{return G.hasRenderer(h,"web")},getRenderer:(h)=>{return G.getRenderer(h,"web")},validate:(h,U)=>{return G.validate(h,U)}},prompts:{resolve:(h,U)=>{return E8(Y,h,U)}},registerInstructions:(h)=>{w.registerInstructions($,h)}}}var bK=b(()=>{v8();gW();p5()});var F4;var AD=b(()=>{NW();bK();F4=class F4 extends Sw{type="service";getApiRoutes(){return[]}getWebRoutes(){return[]}async register(w,$){let W=CK(w,this.id,$);this.context=W,this.setupMessageHandlers(W),await this.onRegister(W);let X=await this.getInstructions();return{tools:await this.getTools(),resources:await this.getResources(),...X&&{instructions:X}}}get entityService(){return this.getContext().entityService}registerEntityType(w,$,W,X){this.getContext().entities.register(w,$,W,X)}async enqueueJob(w,$,W,X){return this.getContext().jobs.enqueue(w,$,W,X)}async enqueueBatch(w,$){return this.getContext().jobs.enqueueBatch(w,$)}async registerEntityTypes(w){}async registerJobHandlers(w){}async onRegister(w){await this.registerEntityTypes(w),await this.registerJobHandlers(w)}}});function IK(w,$,W){let X=lw(w,$,W),Y=w.getEntityService(),J=w.getEntityRegistry(),G=w.getDataSourceRegistry();return{...X,entityService:Y,entities:{register:(f,H,h,U)=>{J.registerEntityType(f,H,h,U)},getAdapter:(f)=>{try{return J.getAdapter(f)}catch{return}},extendFrontmatterSchema:(f,H)=>{J.extendFrontmatterSchema(f,H)},getEffectiveFrontmatterSchema:(f)=>{return J.getEffectiveFrontmatterSchema(f)},registerCreateInterceptor:(f,H)=>{J.registerCreateInterceptor(f,H)},update:async(f)=>{return Y.updateEntity(f)},registerDataSource:(f)=>{G.register(f)}},ai:{query:(f,H)=>w.query(f,H),generate:async(f)=>{return w.generateContent(f)},generateObject:async(f,H)=>{return w.generateObject(f,H)},generateImage:async(f,H)=>{return w.generateImage(f,H)},canGenerateImages:()=>{return w.canGenerateImages()}},prompts:{resolve:(f,H)=>{return E8(Y,f,H)}}}}var SK=b(()=>{v8();gW()});var Li,Z3;var FD=b(()=>{NW();J0();SK();Li=Z.object({});Z3=class Z3 extends Sw{type="entity";constructor(w,$,W={},X=Li){super(w,$,W,X)}async register(w,$){let W=IK(w,this.id,$);if(this.context=W,this.setupMessageHandlers(W),W.entities.register(this.entityType,this.schema,this.adapter,this.getEntityTypeConfig()),this.interceptCreate!==Z3.prototype.interceptCreate)W.entities.registerCreateInterceptor(this.entityType,(f,H)=>this.interceptCreate(f,H,W));let X=this.createGenerationHandler(W);if(X)W.jobs.registerHandler(`${this.entityType}:generation`,X);if(this.hasDeriveHandler()){let f=this.createExtractHandler(W);W.jobs.registerHandler(`${this.entityType}:extract`,f)}let Y=this.getTemplates();if(Y&&Object.keys(Y).length>0)w.registerTemplates(Y,this.id);let J=this.getDataSources();for(let f of J)W.entities.registerDataSource(f);await this.onRegister(this.context);let G=await this.getInstructions();return{tools:[],resources:[],...G&&{instructions:G}}}async interceptCreate(w,$,W){return{kind:"continue",input:w}}createGenerationHandler(w){return null}getTemplates(){return null}getDataSources(){return[]}getEntityTypeConfig(){return}createExtractHandler(w){let $=Z.object({sourceId:Z.string().optional(),sourceType:Z.string().optional(),mode:Z.enum(["derive","rebuild"]).optional()});return{process:async(W)=>{if(W.sourceId&&W.sourceType){let X=await w.entityService.getEntity(W.sourceType,W.sourceId);if(X)return await this.derive(X,"extract",w),{extracted:1};return{extracted:0}}if(W.mode==="rebuild")await this.rebuildAll(w);else await this.deriveAll(w);return{extracted:0}},validateAndParse(W){let X=$.safeParse(W??{});return X.success?X.data:null}}}async derive(w,$,W){}async deriveAll(w){}async rebuildAll(w){await this.deriveAll(w)}hasDeriveHandler(){return this.derive!==Z3.prototype.derive}}});var xK=b(()=>{v8()});var yK=b(()=>{NW();xK()});var QD=()=>{};class rw{logger;constructor(w){this.logger=w}buildDetailResult(w,$){throw Error(`${this.id}: buildDetailResult() not implemented. Override this method or override fetch() to handle detail views.`)}parseQuery(w){let $=pW.parse(w);return{entityType:$.entityType??this.config.entityType,query:$.query??{}}}async fetch(w,$,W){let X=this.parseQuery(w),Y=W.entityService;if(X.query.id){let G=await this.fetchDetail(X.query.id,Y);return $.parse(this.buildDetailResult(G.item,G.navigation))}let J=await this.fetchList(X.query,Y);return $.parse(this.buildListResult(J.items,J.pagination,X.query))}async fetchDetail(w,$){let W=await this.lookupEntity(w,$),X=this.transformEntity(W),Y=null;if(this.config.enableNavigation)Y=await this.resolveNavigation(W,$);return{item:X,navigation:Y}}async fetchList(w,$,W){let X=w.page??1,Y=w.pageSize??w.limit??this.config.defaultLimit??100,J=(X-1)*Y,G=w.page!==void 0,[f,H]=await Promise.all([$.listEntities(this.config.entityType,{limit:Y,offset:J,sortFields:this.config.defaultSort,...W}),G?$.countEntities(this.config.entityType,W?.filter?{filter:W.filter}:void 0):Promise.resolve(0)]),h=f.map((A)=>this.transformEntity(A)),U=G?PK(H,X,Y):null;return{items:h,pagination:U}}async resolveNavigation(w,$,W){let X=this.config.navigationLimit??1000,Y=await $.listEntities(this.config.entityType,{limit:X,sortFields:W??this.config.defaultSort}),J=Y.findIndex((U)=>U.id===w.id),G=J>0?Y[J-1]:void 0,f=J<Y.length-1?Y[J+1]:void 0,H=G?this.transformEntity(G):null,h=f?this.transformEntity(f):null;return{prev:H,next:h}}async lookupEntity(w,$){if(this.config.lookupField==="id"){let Y=await $.getEntity(this.config.entityType,w);if(!Y)throw Error(`${this.config.entityType} not found: ${w}`);return Y}let X=(await $.listEntities(this.config.entityType,{filter:{metadata:{slug:w}},limit:1}))[0];if(!X)throw Error(`${this.config.entityType} not found with slug: ${w}`);return X}}var lW,pW;var OD=b(()=>{i2();J0();lW=Z.object({id:Z.string().optional(),limit:Z.number().optional(),page:Z.number().optional(),pageSize:Z.number().optional(),baseUrl:Z.string().optional()}).passthrough(),pW=Z.object({entityType:Z.string().optional(),query:lW.optional()}).passthrough()});var dw,mK;var ZD=b(()=>{R8();J0();dw=class dw extends gw{context;entityType;constructor(w,$,W){super(w,{schema:W.schema,jobTypeName:W.jobTypeName});this.context=$,this.entityType=W.entityType}async afterCreate(w,$,W,X){}async onGenerationFailure(w,$){}async process(w,$,W){try{await this.reportProgress(W,{progress:F8.START,message:`Starting ${this.jobTypeName}`});let X=await this.generate(w,W);await this.reportProgress(W,{progress:F8.SAVE,message:`Saving ${this.entityType} to database`});let Y=await this.context.entityService.createEntity({id:X.id,entityType:this.entityType,content:X.content,metadata:X.metadata},X.createOptions);return await this.afterCreate(w,Y.entityId,W,X),await this.reportProgress(W,{progress:F8.COMPLETE,message:`${X.title??this.entityType} created successfully`}),{success:!0,entityId:Y.entityId,...X.resultExtras}}catch(X){if(X instanceof mK)return await this.onGenerationFailure(w,X.message),{success:!1,error:X.message};let Y=b1(X);return this.logger.error(`${this.jobTypeName} job failed`,{error:X,jobId:$,data:this.summarizeDataForLog(w)}),await this.onGenerationFailure(w,Y),yf.failure(X)}}failEarly(w){throw new mK(w)}};mK=class mK extends Error{constructor(w){super(w);this.name="GenerationFailure"}}});var rW,zD,VD;var uK=b(()=>{mw();rW=i5("conversations",{id:r0("id").primaryKey(),sessionId:r0("session_id").notNull(),interfaceType:r0("interface_type").notNull(),channelId:r0("channel_id").notNull(),started:r0("started").notNull(),lastActive:r0("last_active").notNull(),metadata:r0("metadata"),created:r0("created").notNull(),updated:r0("updated").notNull()},(w)=>({sessionIdx:V5("idx_conversations_session").on(w.sessionId),channelIdx:V5("idx_conversations_channel").on(w.channelId),interfaceSessionIdx:V5("idx_conversations_interface_session").on(w.interfaceType,w.sessionId),interfaceChannelIdx:V5("idx_conversations_interface_channel").on(w.interfaceType,w.channelId)})),zD=i5("messages",{id:r0("id").primaryKey(),conversationId:r0("conversation_id").notNull().references(()=>rW.id,{onDelete:"cascade"}),role:r0("role").notNull(),content:r0("content").notNull(),timestamp:r0("timestamp").notNull(),metadata:r0("metadata")},(w)=>({conversationIdx:V5("idx_messages_conversation").on(w.conversationId),timestampIdx:V5("idx_messages_timestamp").on(w.timestamp)})),VD=i5("summary_tracking",{conversationId:r0("conversation_id").primaryKey().references(()=>rW.id,{onDelete:"cascade"}),lastSummarizedAt:r0("last_summarized_at"),lastMessageId:r0("last_message_id"),messagesSinceSummary:E2("messages_since_summary").default(0),updated:r0("updated").notNull()})});import{createClient as T_0}from"@libsql/client";var MD=b(()=>{uK()});var _D=b(()=>{MD();uK();J0()});var Ti,BD;var ND=b(()=>{J0();Ti=Z.object({id:Z.string(),conversationId:Z.string(),role:Z.string(),content:Z.string(),timestamp:Z.string(),metadata:Z.string().nullable()}),BD=Z.object({conversationId:Z.string(),messageCount:Z.number(),messages:Z.array(Ti),windowStart:Z.number(),windowEnd:Z.number(),windowSize:Z.number(),timestamp:Z.string()})});var DD=b(()=>{_D();ND()});var gK=b(()=>{R8()});var qD;var RD=b(()=>{yK();gK();J0();qD=Z.object({captureUrls:Z.boolean().default(!1),blockedUrlDomains:Z.array(Z.string()).default(["meet.google.com","zoom.us","teams.microsoft.com","whereby.com","gather.town","calendly.com","cal.com","discord.com","discord.gg","cdn.discordapp.com","media.discordapp.net","giphy.com","tenor.com","wetransfer.com","file.io"])})});var vD=()=>{};var kD=b(()=>{RD();gK();vD()});async function T8(w){let{entityType:$,title:W,deriveId:X,regeneratePrompt:Y,context:J}=w,G=X(W);if(!await J.entityService.getEntity($,G))return W;J.logger.debug(`Entity ID collision: ${$}/${G}, asking AI for a new title`);let H=Z.object({title:Z.string().max(80).describe("A short, unique title (2-6 words)")}),{object:h}=await J.ai.generateObject(`The title "${W}" is already taken. ${Y}`,H),U=h.title;return J.logger.debug(`AI suggested new title: "${U}"`),U}var LD=b(()=>{J0()});var yi,cw,mi,P8,ED,TD,PD,jD;var CD=b(()=>{J0();yi=Z.object({id:Z.string(),template:Z.string(),content:Z.unknown().optional(),dataQuery:Z.object({entityType:Z.string().optional(),template:Z.string().optional(),query:Z.object({id:Z.string().optional(),limit:Z.number().optional(),offset:Z.number().optional()}).passthrough().optional()}).passthrough().optional(),order:Z.number().optional()}),cw=["primary","secondary"],mi=Z.object({show:Z.boolean().default(!1),label:Z.string().optional(),slot:Z.enum(cw).default("primary"),priority:Z.number().min(0).max(100).default(50)}).optional(),P8=Z.object({id:Z.string(),path:Z.string(),title:Z.string().default(""),description:Z.string().default(""),sections:Z.array(yi).default([]),layout:Z.string().default("default"),fullscreen:Z.boolean().optional(),pluginId:Z.string().optional(),sourceEntityType:Z.string().optional(),external:Z.boolean().optional(),navigation:mi}),ED=Z.object({routes:Z.array(P8),pluginId:Z.string()}),TD=Z.object({paths:Z.array(Z.string()).optional(),pluginId:Z.string().optional()}),PD=Z.object({pluginId:Z.string().optional()}),jD=Z.object({path:Z.string()})});var ui;var bD=b(()=>{J0();ui=Z.object({enabled:Z.boolean().describe("Whether the plugin is enabled"),debug:Z.boolean().describe("Enable debug logging for this plugin")})});var lK,dW;var pK=b(()=>{J0();i2();lK=Y2.extend({id:Z.literal("brain-character"),entityType:Z.literal("brain-character")}),dW=Z.object({name:Z.string().describe("The brain's friendly display name"),role:Z.string().describe("The brain's primary role"),purpose:Z.string().describe("The brain's purpose and goals"),values:Z.array(Z.string()).describe("Core values that guide behavior")})});var cW;var rK=b(()=>{i2();pK();cW=class cW extends T2{constructor(){super({entityType:"brain-character",schema:lK,frontmatterSchema:dW,isSingleton:!0,hasBody:!1})}createCharacterContent(w){return this.buildMarkdown("",w)}parseCharacterBody(w){return this.parseFrontmatter(w)}toMarkdown(w){let $=this.parseFrontmatter(w.content);return this.buildMarkdown("",$)}fromMarkdown(w){return{content:w,entityType:"brain-character"}}extractMetadata(w){let $=this.parseFrontmatter(w.content);return{role:$.role,values:$.values}}generateFrontMatter(w){let $=this.parseFrontmatter(w.content);return this.buildMarkdown("",$)}}});var G6;var ID=b(()=>{i2();rK();G6=class G6 extends pw{static instance=null;adapter=new cW;static getDefaultCharacter(){return{name:"Brain",role:"Knowledge assistant",purpose:"Help organize, understand, and retrieve information from your knowledge base",values:["clarity","accuracy","helpfulness"]}}static getInstance(w,$,W){return G6.instance??=new G6(w,$,W),G6.instance}static resetInstance(){G6.instance=null}static createFresh(w,$,W){return new G6(w,$,W)}constructor(w,$,W){super(w,$,"brain-character",W??G6.getDefaultCharacter())}parseBody(w){return this.adapter.parseCharacterBody(w)}createContent(w){return this.adapter.createCharacterContent(w)}getCharacter(){return this.get()}getCharacterContent(){return this.getContent()}}});async function n5(w){let W=(await w.listEntities("anchor-profile",{limit:1}))[0];if(!W)throw Error("Profile not found \u2014 create an anchor-profile entity");return W.content}var iw;var SD=b(()=>{J0();iw=Z.object({tagline:Z.string().optional().describe("Short, punchy one-liner for homepage"),intro:Z.string().optional().describe("Optional longer introduction for homepage"),story:Z.string().optional().describe("Extended bio/narrative (multi-paragraph markdown)")})});var dK,o5;var cK=b(()=>{J0();i2();dK=Y2.extend({id:Z.literal("anchor-profile"),entityType:Z.literal("anchor-profile")}),o5=Z.object({name:Z.string().describe("Name (person or organization)"),kind:Z.enum(["professional","team","collective"]).describe("Type of anchor: professional (individual), team, or collective"),organization:Z.string().optional().describe("Organization the anchor belongs to"),description:Z.string().optional().describe("Short description or biography"),avatar:Z.string().optional().describe("URL or asset path to avatar/logo"),website:Z.string().optional().describe("Primary website URL"),email:Z.string().optional().describe("Contact email"),socialLinks:Z.array(Z.object({platform:Z.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:Z.string().describe("Profile or contact URL"),label:Z.string().optional().describe("Optional display label")})).optional().describe("Social media and contact links")})});var J5;var iK=b(()=>{i2();cK();J5=class J5 extends T2{constructor(){super({entityType:"anchor-profile",schema:dK,frontmatterSchema:o5,isSingleton:!0,hasBody:!0})}createProfileContent(w){let $=o5.parse(w);return this.buildMarkdown("",$)}parseProfileBody(w,$){if($){let{metadata:W,content:X}=R1(w,$);return X?{...W,story:X}:W}return this.parseFrontmatter(w)}fromMarkdown(w){return{content:w,entityType:"anchor-profile"}}extractMetadata(w){let $=this.parseFrontmatter(w.content);return{name:$.name,email:$.email,website:$.website}}generateFrontMatter(w){let $=this.parseFrontmatter(w.content);return this.buildMarkdown("",$)}}});var a5;var xD=b(()=>{i2();iK();a5=class a5 extends pw{static instance=null;adapter=new J5;static getDefaultProfile(){return{name:"Unknown",kind:"professional"}}static getInstance(w,$,W){return a5.instance??=new a5(w,$,W),a5.instance}static resetInstance(){a5.instance=null}static createFresh(w,$,W){return new a5(w,$,W)}constructor(w,$,W){super(w,$,"anchor-profile",W??a5.getDefaultProfile())}parseBody(w){return this.adapter.parseProfileBody(w)}createContent(w){return this.adapter.createProfileContent(w)}getProfile(){return this.get()}getProfileContent(){return this.getContent()}}});var Q4=b(()=>{ID();rK();pK();SD();xD();iK();cK()});var yD,gi,li,pi;var mD=b(()=>{J0();Q4();yD=Z.object({id:Z.string(),description:Z.string(),name:Z.string().optional(),tags:Z.array(Z.string()).optional().default([])}).passthrough(),gi=Z.object({uri:Z.string(),params:Z.record(Z.unknown()).optional()}).passthrough(),li=Z.object({name:Z.string(),url:Z.string(),description:Z.string().optional(),skills:Z.array(yD).optional().default([]),capabilities:Z.object({extensions:Z.array(gi).optional().default([])}).passthrough().optional()}).passthrough(),pi=Z.object({name:Z.string(),description:Z.string(),tags:Z.array(Z.string()),examples:Z.array(Z.string())})});var O4=()=>{};var M5;var j8=b(()=>{M5=class M5 extends Error{pluginId;constructor(w,$){super(`Plugin ${w}: ${$}`);this.name="PluginError",this.pluginId=w}}});class nK{plugins;events;daemonRegistry;logger;constructor(w,$,W,X){this.plugins=w;this.events=$;this.daemonRegistry=W;this.logger=X.child("PluginLifecycle")}async initializePlugin(w,$,W){let X=this.plugins.get(w);if(!X)throw new M5(w,"Registration failed: Plugin is not registered");let Y=X.plugin;this.logger.debug(`Initializing plugin: ${w}`),this.events.emit("plugin:before_initialize",w,Y);try{let J=await Y.register($,W);return X.status="initialized",this.logger.debug(`Initialized plugin: ${w}`),this.events.emit("plugin:initialized",w,Y),J}catch(J){let G=b1(J);throw this.logger.error(`Error initializing plugin ${w}: ${G}`),X.status="error",X.error=Q8(J),this.events.emit("plugin:error",w,J),J}}async readyPlugin(w){let $=this.plugins.get(w);if(!$)throw new M5(w,"Ready failed: Plugin is not registered");if($.status!=="initialized"){this.logger.debug(`Skipping ready hook for non-initialized plugin: ${w}`);return}try{await $.plugin.ready?.(),this.logger.debug(`Ready hook completed for plugin: ${w}`)}catch(W){let X=Q8(W);throw $.status="error",$.error=X,this.events.emit("plugin:error",w,X),X}}async startPluginDaemons(w){let $=this.plugins.get(w);if($?.status!=="initialized")return;try{await this.daemonRegistry.startPlugin(w),this.logger.debug(`Started daemons for plugin: ${w}`)}catch(W){if($.plugin.requiresDaemonStartup?.())throw W;this.logger.warn(`Daemon ${w} failed to start: ${b1(W)}`)}}async disablePlugin(w){let $=this.plugins.get(w);if(!$){this.logger.warn(`Cannot disable plugin ${w}: not registered`);return}this.logger.debug(`Disabling plugin: ${w}`);try{await this.daemonRegistry.stopPlugin(w),this.logger.debug(`Stopped daemons for plugin: ${w}`)}catch(W){this.logger.error(`Failed to stop daemons for plugin: ${w}`,W)}if($.plugin.shutdown)try{await $.plugin.shutdown(),this.logger.debug(`Shutdown completed for plugin: ${w}`)}catch(W){this.logger.error(`Plugin shutdown failed for ${w}:`,W)}$.status="disabled",this.events.emit("plugin:disabled",w,$.plugin),this.logger.debug(`Disabled plugin: ${w}`)}async enablePlugin(w){let $=this.plugins.get(w);if(!$){this.logger.warn(`Cannot enable plugin ${w}: not registered`);return}if($.status!=="disabled"){this.logger.warn(`Cannot enable plugin ${w}: not disabled`);return}this.logger.debug(`Enabling plugin: ${w}`),$.status="initialized";try{await this.daemonRegistry.startPlugin(w),this.logger.debug(`Started daemons for plugin: ${w}`)}catch(W){this.logger.error(`Failed to start daemons for plugin: ${w}`,W)}this.events.emit("plugin:enabled",w,$.plugin),this.logger.debug(`Enabled plugin: ${w}`)}}var uD=b(()=>{J0();O4();j8()});class oK{plugins;events;logger;constructor(w,$,W){this.plugins=w;this.events=$;this.logger=W.child("DependencyResolver")}async resolveInitializationOrder(w){this.logger.debug("Resolving plugin initialization order...");let $=Array.from(this.plugins.keys()),W=new Set,X=!0;while(X&&W.size<$.length){X=!1;for(let G of $){if(W.has(G))continue;if(!this.plugins.get(G))continue;if(this.getUnmetDependencies(G).length===0)try{await w(G),W.add(G),X=!0}catch(h){let U=b1(h);this.logger.error(`Failed to initialize plugin ${G}: ${U}`),W.add(G),X=!0}}}let Y=$.filter((G)=>!W.has(G));if(Y.length>0){let G=Y.join(", ");this.logger.error(`Failed to initialize plugins due to dependency issues: ${G}`);for(let f of Y){let H=this.getUnmetDependencies(f);this.logger.error(`Plugin ${f} has unmet dependencies: ${H.join(", ")}`);let h=this.plugins.get(f);if(h)h.status="error",h.error=new M5(f,`Unmet dependencies: ${H.join(", ")}`);this.events.emit("plugin:error",f,h?.error)}}let J=new Set;for(let[G,f]of this.plugins)if(f.status==="initialized")J.add(G);return this.logger.debug(`Resolved ${J.size} of ${$.length} plugins`),{initialized:J,failed:Y}}getUnmetDependencies(w){let $=this.plugins.get(w);if(!$)return[];let{dependencies:W}=$,X=[];for(let Y of W){let J=this.plugins.get(Y);if(!J){X.push(Y);continue}if(J.status!=="initialized")X.push(Y)}return X}}var gD=b(()=>{J0();O4();j8()});class aK{logger;constructor(w){this.logger=w.child("CapabilityRegistrar")}async registerCapabilities(w,$,W){if(W.tools.length>0)w.registerTools($,W.tools),this.logger.debug(`Registered ${W.tools.length} tools from ${$}`);if(W.resources.length>0)w.registerResources($,W.resources),this.logger.debug(`Registered ${W.resources.length} resources from ${$}`);if(W.instructions)w.registerInstructions($,W.instructions),this.logger.debug(`Registered instructions from ${$}`)}}import{EventEmitter as lD}from"events";class f6{static instance=null;plugins=new Map;logger;events=new lD;daemonRegistry;shell=null;initializedPluginIds=[];pluginLifecycle;dependencyResolver;capabilityRegistrar;static getInstance(w,$){return f6.instance??=new f6(w,$),f6.instance}static resetInstance(){f6.instance=null}static createFresh(w,$){return new f6(w,$)}setShell(w){this.shell=w}constructor(w,$){this.logger=w.child("PluginManager"),this.events=new lD,this.daemonRegistry=$,this.pluginLifecycle=new nK(this.plugins,this.events,this.daemonRegistry,w),this.dependencyResolver=new oK(this.plugins,this.events,w),this.capabilityRegistrar=new aK(w)}registerPlugin(w){if(!w.id)throw new M5("unknown","Registration failed: Plugin must have an id");if(this.logger.debug(`Registering plugin: ${w.id} (${w.version})`),this.plugins.has(w.id)){let Y=this.plugins.get(w.id)?.plugin.version;throw new M5(w.id,`Registration failed: Plugin is already registered with version ${Y}`)}let $=w.dependencies??[],W={plugin:w,status:"registered",dependencies:$};this.plugins.set(w.id,W),this.logger.debug(`Registered plugin: ${w.id} (${w.version})`),this.events.emit("plugin:registered",w.id,w)}async initializePlugins(w){this.logger.debug("Initializing plugins..."),this.initializedPluginIds=[];let $=await this.dependencyResolver.resolveInitializationOrder(async(W)=>{await this.initializePlugin(W,w)});this.logger.debug(`Initialized ${$.initialized.size} of ${this.plugins.size} plugins`)}async initializePlugin(w,$){if(!this.shell)throw new M5(w,"Cannot initialize plugin: Shell not set. Call setShell() first.");let W=this.shell,X=await this.pluginLifecycle.initializePlugin(w,W,$);await this.capabilityRegistrar.registerCapabilities(W,w,X),this.initializedPluginIds.push(w)}async readyPlugins(){this.logger.debug("Dispatching plugin ready hooks..."),await Promise.all(this.initializedPluginIds.map((w)=>this.pluginLifecycle.readyPlugin(w)))}async startPluginDaemons(){this.logger.debug("Starting plugin daemons..."),await Promise.all(this.initializedPluginIds.map((w)=>this.pluginLifecycle.startPluginDaemons(w)))}getPlugin(w){return this.plugins.get(w)?.plugin}getPluginStatus(w){return this.plugins.get(w)?.status}hasPlugin(w){return this.plugins.has(w)}isPluginInitialized(w){return this.plugins.get(w)?.status==="initialized"}getAllPluginIds(){return Array.from(this.plugins.keys())}getAllPlugins(){return new Map(this.plugins)}getFailedPlugins(){return Array.from(this.plugins.entries()).filter((w)=>w[1].status==="error"&&w[1].error!==void 0).map(([w,$])=>({id:w,error:$.error}))}getPluginPackageName(w){return this.plugins.get(w)?.plugin.packageName}async disablePlugin(w){await this.pluginLifecycle.disablePlugin(w)}async enablePlugin(w){await this.pluginLifecycle.enablePlugin(w)}on(w,$){this.events.on(w,$)}once(w,$){this.events.once(w,$)}off(w,$){this.events.off(w,$)}getEventEmitter(){return this.events}}var pD=b(()=>{O4();j8();uD();gD();O4()});var rD=b(()=>{O4()});var dD=b(()=>{pD();rD();O4()});var n0=b(()=>{AD();FD();SK();gW();yK();QD();cf();bK();v8();xK();df();i2();OD();i2();R8();ZD();p5();DD();kD();rf();LD();J0();CD();bD();Q4();mD();dD();j8()});var ri,z2,di,nw,b8,_5,I8;var s5=b(()=>{J0();n0();ri=Z.enum(["draft","queued","published"]),z2=Z.object({title:Z.string(),slug:Z.string().optional(),status:ri,publishedAt:Z.string().datetime().optional(),excerpt:Z.string(),author:Z.string(),coverImageId:Z.string().optional(),seriesName:Z.string().optional(),seriesIndex:Z.number().optional(),ogImage:Z.string().url().optional(),ogDescription:Z.string().optional(),twitterCard:Z.enum(["summary","summary_large_image"]).optional(),canonicalUrl:Z.string().url().optional()}),di=z2.pick({title:!0,status:!0,publishedAt:!0,seriesName:!0,seriesIndex:!0}).extend({slug:Z.string()}),nw=Y2.extend({entityType:Z.literal("post"),metadata:di}),b8=nw.extend({frontmatter:z2,body:Z.string(),coverImageUrl:Z.string().optional()}),_5=b8.extend({url:Z.string().optional(),typeLabel:Z.string().optional(),listUrl:Z.string().optional(),listLabel:Z.string().optional(),seriesUrl:Z.string().optional(),coverImageUrl:Z.string().optional(),coverImageWidth:Z.number().optional(),coverImageHeight:Z.number().optional(),coverImageSrcset:Z.string().optional(),coverImageSizes:Z.string().optional()}),I8=b8.extend({url:Z.string(),typeLabel:Z.string(),listUrl:Z.string(),listLabel:Z.string(),seriesUrl:Z.string().optional(),coverImageUrl:Z.string().optional(),coverImageWidth:Z.number().optional(),coverImageHeight:Z.number().optional(),coverImageSrcset:Z.string().optional(),coverImageSizes:Z.string().optional()})});var cD={};G$(cD,{blogPostAdapter:()=>Z4,BlogPostAdapter:()=>nW});var nW,Z4;var S8=b(()=>{n0();J0();s5();nW=class nW extends T2{constructor(){super({entityType:"post",schema:nw,frontmatterSchema:z2,supportsCoverImage:!0})}toMarkdown(w){let $=this.extractBody(w.content);try{let W=this.parseFrontMatter(w.content,z2),X={...W,slug:W.slug??w.metadata.slug};return this.buildMarkdown($,X)}catch{return $}}fromMarkdown(w){let $=this.parseFrontMatter(w,z2),W=$.slug??X5($.title);return{content:w,entityType:"post",metadata:{title:$.title,slug:W,status:$.status,publishedAt:$.publishedAt,seriesName:$.seriesName,seriesIndex:$.seriesIndex}}}parsePostFrontmatter(w){return this.parseFrontMatter(w.content,z2)}createPostContent(w,$){return this.buildMarkdown($,w)}};Z4=new nW});function o2(w){return w.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function kq(w){return new Date(w).toUTCString()}function $X(w,$){let W=w.filter((h)=>{if($.includeAllPosts)return!0;return h.frontmatter.status==="published"&&h.frontmatter.publishedAt}).sort((h,U)=>{let A=new Date(h.frontmatter.publishedAt??h.created);return new Date(U.frontmatter.publishedAt??U.created).getTime()-A.getTime()}),X=W.length>0&&W[0]?W[0].frontmatter.publishedAt??W[0].created:new Date().toISOString(),Y=W.map((h)=>{let U=`${$.link}/posts/${h.metadata.slug}`,A=h.frontmatter.publishedAt??h.created,F=h.frontmatter.excerpt,O=h.frontmatter.author;return` <item>
|
|
173
173
|
<title>${o2(h.frontmatter.title)}</title>
|
|
174
174
|
<link>${o2(U)}</link>
|
|
175
175
|
<guid isPermaLink="true">${o2(U)}</guid>
|
|
@@ -967,7 +967,7 @@ The excerpt should be clear, concise, and compelling.`});J0();p5();s5();import{j
|
|
|
967
967
|
Note: This is part of a series called "${W.seriesName}".`:""}`;return w.ai.generate({prompt:X,templateName:"blog:generation"})}),w.eval.registerHandler("generateExcerpt",async($)=>{let W=zo.parse($);return w.ai.generate({prompt:`Title: ${W.title}
|
|
968
968
|
|
|
969
969
|
Content:
|
|
970
|
-
${W.content}`,templateName:"blog:excerpt"})})}var Tq={name:"@brains/blog",private:!0,version:"0.2.0-alpha.46",description:"AI-powered blog post generation from existing brain content",type:"module",exports:{".":"./src/index.ts"},scripts:{typecheck:"tsc --noEmit",test:"bun test",lint:"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix",eval:"cd evals && bun run brain-eval"},dependencies:{"@brains/plugins":"workspace:*","@brains/utils":"workspace:*"},devDependencies:{"@brains/app":"workspace:*","@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@types/bun":"latest","bun-types":"latest",eslint:"^8.56.0",typescript:"^5.3.3"}};class bq extends Z3{entityType=Z4.entityType;schema=nw;adapter=Z4;constructor(w={}){super("blog",Tq,w,sK)}getEntityTypeConfig(){return{weight:2}}createGenerationHandler(w){return new tK(this.logger.child("BlogGenerationJobHandler"),w)}getTemplates(){return qq()}getDataSources(){return[new wH(this.logger.child("BlogDataSource"))]}async onRegister(w){let{RSSDataSource:$}=await Promise.resolve().then(() => (Cq(),jq));w.entities.registerDataSource(new $(this.logger.child("RSSDataSource"))),await Rq(w,this.logger),vq(w,this.logger),Lq(w,this.logger),Eq(w),this.logger.info("Blog plugin registered (routes auto-generated at /posts/)")}}s5();S8();n0();n0();J0();i2();var Iq=Z.enum(["png","jpg","jpeg","webp","gif","svg"]),Sq=Z.object({title:Z.string().optional(),alt:Z.string().optional(),format:Iq,width:Z.number(),height:Z.number(),sourceUrl:Z.string().url().optional()}),DH=Y2.extend({entityType:Z.literal("image"),metadata:Sq}),_o=Z.object({url:Z.string(),alt:Z.string(),title:Z.string(),width:Z.number(),height:Z.number()});J0();function WX(w){let $=w.match(/^data:image\/([a-z+]+);base64,(.+)$/i);if(!$?.[1]||!$[2])throw Error("Invalid image data URL");return{format:$[1].toLowerCase(),base64:$[2]}}var Bo={png:"iVBORw",jpg:"/9j/",gif:"R0lGOD",webp:"UklGR"};function qH(w){for(let[$,W]of Object.entries(Bo))if(w.startsWith(W))return $;return null}function XX(w){let $=Buffer.from(w,"base64");if($[0]===137&&$[1]===80&&$[2]===78&&$[3]===71){let W=$.readUInt32BE(16),X=$.readUInt32BE(20);return{width:W,height:X}}if($[0]===255&&$[1]===216){let W=2;while(W<$.length-8){if($[W]!==255){W++;continue}let X=$[W+1];if(X===192||X===194){let J=$.readUInt16BE(W+5);return{width:$.readUInt16BE(W+7),height:J}}let Y=$.readUInt16BE(W+2);W+=2+Y}}if($[0]===71&&$[1]===73&&$[2]===70){let W=$.readUInt16LE(6),X=$.readUInt16LE(8);return{width:W,height:X}}if($.length>=30&&$[0]===82&&$[1]===73&&$[2]===70&&$[3]===70){if($[12]===86&&$[13]===80&&$[14]===56){if($[15]===32){let W=$[26]??0,X=$[27]??0,Y=$[28]??0,J=$[29]??0,G=(W|X<<8)&16383,f=(Y|J<<8)&16383;return{width:G,height:f}}if($[15]===76&&$.length>=25){let W=$.readUInt32LE(21),X=(W&16383)+1,Y=(W>>14&16383)+1;return{width:X,height:Y}}}}return null}class RH{entityType="image";schema=DH;toMarkdown(w){return w.content}fromMarkdown(w){let{format:$,base64:W}=WX(w),X=XX(W);return{entityType:"image",content:w,metadata:{format:$,width:X?.width??0,height:X?.height??0}}}extractMetadata(w){return w.metadata}parseFrontMatter(w,$){return $.parse({})}generateFrontMatter(w){return""}getBodyTemplate(){return""}createImageEntity(w){let{dataUrl:$,title:W,alt:X}=w,{format:Y,base64:J}=WX($),G=XX(J),H=qH(J)??Y;return{entityType:"image",content:$,metadata:{title:W,alt:X??W,format:H,width:G?.width??0,height:G?.height??0}}}}var No=new RH;i2();J0();var Do=Z.object({coverImageId:Z.string().optional()}).passthrough();async function xq(w,$){let W=await $.getEntity("image",w);if(!W)return null;return{url:W.content,alt:W.metadata.alt??"",title:W.metadata.title??"",width:W.metadata.width,height:W.metadata.height}}function vH(w){try{let{metadata:$}=R1(w.content,Do);return $.coverImageId}catch{return}}async function YX(w,$){let W=vH(w);if(!W)return;return await xq(W,$)??void 0}J0();J0();var qo=Z.object({environment:Z.enum(["preview","production"]),outputDir:Z.string(),workingDir:Z.string().optional(),sharedImagesDir:Z.string().default("./dist/images"),enableContentGeneration:Z.boolean().default(!1),cleanBeforeBuild:Z.boolean().default(!0),siteConfig:Z.object({title:Z.string(),description:Z.string(),url:Z.string().optional(),copyright:Z.string().optional(),themeMode:Z.enum(["light","dark"]).optional(),analyticsScript:Z.string().optional()}),layouts:Z.record(Z.any()),themeCSS:Z.string().optional()}),HT0=Z.object({success:Z.boolean(),outputDir:Z.string(),filesGenerated:Z.number(),routesBuilt:Z.number(),errors:Z.array(Z.string()).optional(),warnings:Z.array(Z.string()).optional()});import{render as $I0}from"preact-render-to-string";import{h as XI0}from"preact";var D1=I5(jv(),1);var tT0=D1.default.stringify,eT0=D1.default.fromJSON,wP0=D1.default.plugin,$P0=D1.default.parse,WP0=D1.default.list,XP0=D1.default.document,YP0=D1.default.comment,JP0=D1.default.atRule,GP0=D1.default.rule,fP0=D1.default.decl,KP0=D1.default.root,HP0=D1.default.CssSyntaxError,hP0=D1.default.Declaration,UP0=D1.default.Container,AP0=D1.default.Processor,FP0=D1.default.Document,QP0=D1.default.Comment,OP0=D1.default.Warning,ZP0=D1.default.AtRule,zP0=D1.default.Result,VP0=D1.default.Input,MP0=D1.default.Rule,_P0=D1.default.Root,BP0=D1.default.Node;var DC=I5(Iv(),1);var I4=I5($T(),1);import*as IY from"module";import{pathToFileURL as h40}from"url";var JT=I5(XT(),1);import{createRequire as YT}from"module";function c10(w){throw w}var i10=(w)=>import(w),mh;function n10(...w){if(!mh)mh=YT(import.meta.url)("../dist/babel.cjs");return mh(...w)}function GT(w,$={}){if(!$.transform)$={...$,transform:n10};return JT.default(w,$,{onError:c10,nativeImport:i10,createRequire:YT})}import EU from"fs";import ij from"fs/promises";import jY from"path";import{pathToFileURL as Nj}from"url";var rX={inherit:"inherit",current:"currentcolor",transparent:"transparent",black:"#000",white:"#fff",slate:{50:"oklch(98.4% 0.003 247.858)",100:"oklch(96.8% 0.007 247.896)",200:"oklch(92.9% 0.013 255.508)",300:"oklch(86.9% 0.022 252.894)",400:"oklch(70.4% 0.04 256.788)",500:"oklch(55.4% 0.046 257.417)",600:"oklch(44.6% 0.043 257.281)",700:"oklch(37.2% 0.044 257.287)",800:"oklch(27.9% 0.041 260.031)",900:"oklch(20.8% 0.042 265.755)",950:"oklch(12.9% 0.042 264.695)"},gray:{50:"oklch(98.5% 0.002 247.839)",100:"oklch(96.7% 0.003 264.542)",200:"oklch(92.8% 0.006 264.531)",300:"oklch(87.2% 0.01 258.338)",400:"oklch(70.7% 0.022 261.325)",500:"oklch(55.1% 0.027 264.364)",600:"oklch(44.6% 0.03 256.802)",700:"oklch(37.3% 0.034 259.733)",800:"oklch(27.8% 0.033 256.848)",900:"oklch(21% 0.034 264.665)",950:"oklch(13% 0.028 261.692)"},zinc:{50:"oklch(98.5% 0 0)",100:"oklch(96.7% 0.001 286.375)",200:"oklch(92% 0.004 286.32)",300:"oklch(87.1% 0.006 286.286)",400:"oklch(70.5% 0.015 286.067)",500:"oklch(55.2% 0.016 285.938)",600:"oklch(44.2% 0.017 285.786)",700:"oklch(37% 0.013 285.805)",800:"oklch(27.4% 0.006 286.033)",900:"oklch(21% 0.006 285.885)",950:"oklch(14.1% 0.005 285.823)"},neutral:{50:"oklch(98.5% 0 0)",100:"oklch(97% 0 0)",200:"oklch(92.2% 0 0)",300:"oklch(87% 0 0)",400:"oklch(70.8% 0 0)",500:"oklch(55.6% 0 0)",600:"oklch(43.9% 0 0)",700:"oklch(37.1% 0 0)",800:"oklch(26.9% 0 0)",900:"oklch(20.5% 0 0)",950:"oklch(14.5% 0 0)"},stone:{50:"oklch(98.5% 0.001 106.423)",100:"oklch(97% 0.001 106.424)",200:"oklch(92.3% 0.003 48.717)",300:"oklch(86.9% 0.005 56.366)",400:"oklch(70.9% 0.01 56.259)",500:"oklch(55.3% 0.013 58.071)",600:"oklch(44.4% 0.011 73.639)",700:"oklch(37.4% 0.01 67.558)",800:"oklch(26.8% 0.007 34.298)",900:"oklch(21.6% 0.006 56.043)",950:"oklch(14.7% 0.004 49.25)"},mauve:{50:"oklch(98.5% 0 0)",100:"oklch(96% 0.003 325.6)",200:"oklch(92.2% 0.005 325.62)",300:"oklch(86.5% 0.012 325.68)",400:"oklch(71.1% 0.019 323.02)",500:"oklch(54.2% 0.034 322.5)",600:"oklch(43.5% 0.029 321.78)",700:"oklch(36.4% 0.029 323.89)",800:"oklch(26.3% 0.024 320.12)",900:"oklch(21.2% 0.019 322.12)",950:"oklch(14.5% 0.008 326)"},olive:{50:"oklch(98.8% 0.003 106.5)",100:"oklch(96.6% 0.005 106.5)",200:"oklch(93% 0.007 106.5)",300:"oklch(88% 0.011 106.6)",400:"oklch(73.7% 0.021 106.9)",500:"oklch(58% 0.031 107.3)",600:"oklch(46.6% 0.025 107.3)",700:"oklch(39.4% 0.023 107.4)",800:"oklch(28.6% 0.016 107.4)",900:"oklch(22.8% 0.013 107.4)",950:"oklch(15.3% 0.006 107.1)"},mist:{50:"oklch(98.7% 0.002 197.1)",100:"oklch(96.3% 0.002 197.1)",200:"oklch(92.5% 0.005 214.3)",300:"oklch(87.2% 0.007 219.6)",400:"oklch(72.3% 0.014 214.4)",500:"oklch(56% 0.021 213.5)",600:"oklch(45% 0.017 213.2)",700:"oklch(37.8% 0.015 216)",800:"oklch(27.5% 0.011 216.9)",900:"oklch(21.8% 0.008 223.9)",950:"oklch(14.8% 0.004 228.8)"},taupe:{50:"oklch(98.6% 0.002 67.8)",100:"oklch(96% 0.002 17.2)",200:"oklch(92.2% 0.005 34.3)",300:"oklch(86.8% 0.007 39.5)",400:"oklch(71.4% 0.014 41.2)",500:"oklch(54.7% 0.021 43.1)",600:"oklch(43.8% 0.017 39.3)",700:"oklch(36.7% 0.016 35.7)",800:"oklch(26.8% 0.011 36.5)",900:"oklch(21.4% 0.009 43.1)",950:"oklch(14.7% 0.004 49.3)"},red:{50:"oklch(97.1% 0.013 17.38)",100:"oklch(93.6% 0.032 17.717)",200:"oklch(88.5% 0.062 18.334)",300:"oklch(80.8% 0.114 19.571)",400:"oklch(70.4% 0.191 22.216)",500:"oklch(63.7% 0.237 25.331)",600:"oklch(57.7% 0.245 27.325)",700:"oklch(50.5% 0.213 27.518)",800:"oklch(44.4% 0.177 26.899)",900:"oklch(39.6% 0.141 25.723)",950:"oklch(25.8% 0.092 26.042)"},orange:{50:"oklch(98% 0.016 73.684)",100:"oklch(95.4% 0.038 75.164)",200:"oklch(90.1% 0.076 70.697)",300:"oklch(83.7% 0.128 66.29)",400:"oklch(75% 0.183 55.934)",500:"oklch(70.5% 0.213 47.604)",600:"oklch(64.6% 0.222 41.116)",700:"oklch(55.3% 0.195 38.402)",800:"oklch(47% 0.157 37.304)",900:"oklch(40.8% 0.123 38.172)",950:"oklch(26.6% 0.079 36.259)"},amber:{50:"oklch(98.7% 0.022 95.277)",100:"oklch(96.2% 0.059 95.617)",200:"oklch(92.4% 0.12 95.746)",300:"oklch(87.9% 0.169 91.605)",400:"oklch(82.8% 0.189 84.429)",500:"oklch(76.9% 0.188 70.08)",600:"oklch(66.6% 0.179 58.318)",700:"oklch(55.5% 0.163 48.998)",800:"oklch(47.3% 0.137 46.201)",900:"oklch(41.4% 0.112 45.904)",950:"oklch(27.9% 0.077 45.635)"},yellow:{50:"oklch(98.7% 0.026 102.212)",100:"oklch(97.3% 0.071 103.193)",200:"oklch(94.5% 0.129 101.54)",300:"oklch(90.5% 0.182 98.111)",400:"oklch(85.2% 0.199 91.936)",500:"oklch(79.5% 0.184 86.047)",600:"oklch(68.1% 0.162 75.834)",700:"oklch(55.4% 0.135 66.442)",800:"oklch(47.6% 0.114 61.907)",900:"oklch(42.1% 0.095 57.708)",950:"oklch(28.6% 0.066 53.813)"},lime:{50:"oklch(98.6% 0.031 120.757)",100:"oklch(96.7% 0.067 122.328)",200:"oklch(93.8% 0.127 124.321)",300:"oklch(89.7% 0.196 126.665)",400:"oklch(84.1% 0.238 128.85)",500:"oklch(76.8% 0.233 130.85)",600:"oklch(64.8% 0.2 131.684)",700:"oklch(53.2% 0.157 131.589)",800:"oklch(45.3% 0.124 130.933)",900:"oklch(40.5% 0.101 131.063)",950:"oklch(27.4% 0.072 132.109)"},green:{50:"oklch(98.2% 0.018 155.826)",100:"oklch(96.2% 0.044 156.743)",200:"oklch(92.5% 0.084 155.995)",300:"oklch(87.1% 0.15 154.449)",400:"oklch(79.2% 0.209 151.711)",500:"oklch(72.3% 0.219 149.579)",600:"oklch(62.7% 0.194 149.214)",700:"oklch(52.7% 0.154 150.069)",800:"oklch(44.8% 0.119 151.328)",900:"oklch(39.3% 0.095 152.535)",950:"oklch(26.6% 0.065 152.934)"},emerald:{50:"oklch(97.9% 0.021 166.113)",100:"oklch(95% 0.052 163.051)",200:"oklch(90.5% 0.093 164.15)",300:"oklch(84.5% 0.143 164.978)",400:"oklch(76.5% 0.177 163.223)",500:"oklch(69.6% 0.17 162.48)",600:"oklch(59.6% 0.145 163.225)",700:"oklch(50.8% 0.118 165.612)",800:"oklch(43.2% 0.095 166.913)",900:"oklch(37.8% 0.077 168.94)",950:"oklch(26.2% 0.051 172.552)"},teal:{50:"oklch(98.4% 0.014 180.72)",100:"oklch(95.3% 0.051 180.801)",200:"oklch(91% 0.096 180.426)",300:"oklch(85.5% 0.138 181.071)",400:"oklch(77.7% 0.152 181.912)",500:"oklch(70.4% 0.14 182.503)",600:"oklch(60% 0.118 184.704)",700:"oklch(51.1% 0.096 186.391)",800:"oklch(43.7% 0.078 188.216)",900:"oklch(38.6% 0.063 188.416)",950:"oklch(27.7% 0.046 192.524)"},cyan:{50:"oklch(98.4% 0.019 200.873)",100:"oklch(95.6% 0.045 203.388)",200:"oklch(91.7% 0.08 205.041)",300:"oklch(86.5% 0.127 207.078)",400:"oklch(78.9% 0.154 211.53)",500:"oklch(71.5% 0.143 215.221)",600:"oklch(60.9% 0.126 221.723)",700:"oklch(52% 0.105 223.128)",800:"oklch(45% 0.085 224.283)",900:"oklch(39.8% 0.07 227.392)",950:"oklch(30.2% 0.056 229.695)"},sky:{50:"oklch(97.7% 0.013 236.62)",100:"oklch(95.1% 0.026 236.824)",200:"oklch(90.1% 0.058 230.902)",300:"oklch(82.8% 0.111 230.318)",400:"oklch(74.6% 0.16 232.661)",500:"oklch(68.5% 0.169 237.323)",600:"oklch(58.8% 0.158 241.966)",700:"oklch(50% 0.134 242.749)",800:"oklch(44.3% 0.11 240.79)",900:"oklch(39.1% 0.09 240.876)",950:"oklch(29.3% 0.066 243.157)"},blue:{50:"oklch(97% 0.014 254.604)",100:"oklch(93.2% 0.032 255.585)",200:"oklch(88.2% 0.059 254.128)",300:"oklch(80.9% 0.105 251.813)",400:"oklch(70.7% 0.165 254.624)",500:"oklch(62.3% 0.214 259.815)",600:"oklch(54.6% 0.245 262.881)",700:"oklch(48.8% 0.243 264.376)",800:"oklch(42.4% 0.199 265.638)",900:"oklch(37.9% 0.146 265.522)",950:"oklch(28.2% 0.091 267.935)"},indigo:{50:"oklch(96.2% 0.018 272.314)",100:"oklch(93% 0.034 272.788)",200:"oklch(87% 0.065 274.039)",300:"oklch(78.5% 0.115 274.713)",400:"oklch(67.3% 0.182 276.935)",500:"oklch(58.5% 0.233 277.117)",600:"oklch(51.1% 0.262 276.966)",700:"oklch(45.7% 0.24 277.023)",800:"oklch(39.8% 0.195 277.366)",900:"oklch(35.9% 0.144 278.697)",950:"oklch(25.7% 0.09 281.288)"},violet:{50:"oklch(96.9% 0.016 293.756)",100:"oklch(94.3% 0.029 294.588)",200:"oklch(89.4% 0.057 293.283)",300:"oklch(81.1% 0.111 293.571)",400:"oklch(70.2% 0.183 293.541)",500:"oklch(60.6% 0.25 292.717)",600:"oklch(54.1% 0.281 293.009)",700:"oklch(49.1% 0.27 292.581)",800:"oklch(43.2% 0.232 292.759)",900:"oklch(38% 0.189 293.745)",950:"oklch(28.3% 0.141 291.089)"},purple:{50:"oklch(97.7% 0.014 308.299)",100:"oklch(94.6% 0.033 307.174)",200:"oklch(90.2% 0.063 306.703)",300:"oklch(82.7% 0.119 306.383)",400:"oklch(71.4% 0.203 305.504)",500:"oklch(62.7% 0.265 303.9)",600:"oklch(55.8% 0.288 302.321)",700:"oklch(49.6% 0.265 301.924)",800:"oklch(43.8% 0.218 303.724)",900:"oklch(38.1% 0.176 304.987)",950:"oklch(29.1% 0.149 302.717)"},fuchsia:{50:"oklch(97.7% 0.017 320.058)",100:"oklch(95.2% 0.037 318.852)",200:"oklch(90.3% 0.076 319.62)",300:"oklch(83.3% 0.145 321.434)",400:"oklch(74% 0.238 322.16)",500:"oklch(66.7% 0.295 322.15)",600:"oklch(59.1% 0.293 322.896)",700:"oklch(51.8% 0.253 323.949)",800:"oklch(45.2% 0.211 324.591)",900:"oklch(40.1% 0.17 325.612)",950:"oklch(29.3% 0.136 325.661)"},pink:{50:"oklch(97.1% 0.014 343.198)",100:"oklch(94.8% 0.028 342.258)",200:"oklch(89.9% 0.061 343.231)",300:"oklch(82.3% 0.12 346.018)",400:"oklch(71.8% 0.202 349.761)",500:"oklch(65.6% 0.241 354.308)",600:"oklch(59.2% 0.249 0.584)",700:"oklch(52.5% 0.223 3.958)",800:"oklch(45.9% 0.187 3.815)",900:"oklch(40.8% 0.153 2.432)",950:"oklch(28.4% 0.109 3.907)"},rose:{50:"oklch(96.9% 0.015 12.422)",100:"oklch(94.1% 0.03 12.58)",200:"oklch(89.2% 0.058 10.001)",300:"oklch(81% 0.117 11.638)",400:"oklch(71.2% 0.194 13.428)",500:"oklch(64.5% 0.246 16.439)",600:"oklch(58.6% 0.253 17.585)",700:"oklch(51.4% 0.222 16.935)",800:"oklch(45.5% 0.188 13.697)",900:"oklch(41% 0.159 10.272)",950:"oklch(27.1% 0.105 12.094)"}};var o10=new Set(["black","silver","gray","white","maroon","red","purple","fuchsia","green","lime","olive","yellow","navy","blue","teal","aqua","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","transparent","currentcolor","canvas","canvastext","linktext","visitedtext","activetext","buttonface","buttontext","buttonborder","field","fieldtext","highlight","highlighttext","selecteditem","selecteditemtext","mark","marktext","graytext","accentcolor","accentcolortext"]),a10=/^(rgba?|hsla?|hwb|color|(ok)?(lab|lch)|light-dark|color-mix)\(/i;function s10(w){return w.charCodeAt(0)===35||a10.test(w)||o10.has(w.toLowerCase())}var uh=["calc","min","max","clamp","mod","rem","sin","cos","tan","asin","acos","atan","atan2","pow","sqrt","hypot","log","exp","round"];function iX(w){return w.indexOf("(")!==-1&&uh.some(($)=>w.includes(`${$}(`))}function HT(w){if(!uh.some((J)=>w.includes(J)))return w;let $="",W=[],X=null,Y=null;for(let J=0;J<w.length;J++){let G=w.charCodeAt(J);if(G>=48&&G<=57||X!==null&&(G===37||G>=97&&G<=122||G>=65&&G<=90)?X=J:(Y=X,X=null),G===40){$+=w[J];let f=J;for(let h=J-1;h>=0;h--){let U=w.charCodeAt(h);if(U>=48&&U<=57)f=h;else if(U>=97&&U<=122)f=h;else break}let H=w.slice(f,J);if(uh.includes(H)){W.unshift(!0);continue}else if(W[0]&&H===""){W.unshift(!0);continue}W.unshift(!1);continue}else if(G===41)$+=w[J],W.shift();else if(G===44&&W[0]){$+=", ";continue}else{if(G===32&&W[0]&&$.charCodeAt($.length-1)===32)continue;if((G===43||G===42||G===47||G===45)&&W[0]){let f=$.trimEnd(),H=f.charCodeAt(f.length-1),h=f.charCodeAt(f.length-2),U=w.charCodeAt(J+1);if((H===101||H===69)&&h>=48&&h<=57){$+=w[J];continue}else if(H===43||H===42||H===47||H===45){$+=w[J];continue}else if(H===40||H===44){$+=w[J];continue}else w.charCodeAt(J-1)===32?$+=`${w[J]} `:H>=48&&H<=57||U>=48&&U<=57||H===41||U===40||U===43||U===42||U===47||U===45||Y!==null&&Y===J-1?$+=` ${w[J]} `:$+=w[J]}else $+=w[J]}}return $}var dX=new Uint8Array(256);function T0(w,$){let W=0,X=[],Y=0,J=w.length,G=$.charCodeAt(0);for(let f=0;f<J;f++){let H=w.charCodeAt(f);if(W===0&&H===G){X.push(w.slice(Y,f)),Y=f+1;continue}switch(H){case 92:f+=1;break;case 39:case 34:for(;++f<J;){let h=w.charCodeAt(f);if(h===92){f+=1;continue}if(h===H)break}break;case 40:dX[W]=41,W++;break;case 91:dX[W]=93,W++;break;case 123:dX[W]=125,W++;break;case 93:case 125:case 41:W>0&&H===dX[W-1]&&W--;break}}return X.push(w.slice(Y)),X}var t10={color:s10,length:Q9,percentage:gh,ratio:U20,number:UT,integer:h0,url:hT,position:Q20,"bg-size":O20,"line-width":w20,image:X20,"family-name":J20,"generic-name":Y20,"absolute-size":G20,"relative-size":f20,angle:V20,vector:_20};function v1(w,$){if(w.startsWith("var("))return null;for(let W of $)if(t10[W]?.(w))return W;return null}var e10=/^url\(.*\)$/;function hT(w){return e10.test(w)}function w20(w){return T0(w," ").every(($)=>Q9($)||UT($)||$==="thin"||$==="medium"||$==="thick")}var $20=/^(?:element|image|cross-fade|image-set)\(/,W20=/^(repeating-)?(conic|linear|radial)-gradient\(/;function X20(w){let $=0;for(let W of T0(w,","))if(!W.startsWith("var(")){if(hT(W)){$+=1;continue}if(W20.test(W)){$+=1;continue}if($20.test(W)){$+=1;continue}return!1}return $>0}function Y20(w){return w==="serif"||w==="sans-serif"||w==="monospace"||w==="cursive"||w==="fantasy"||w==="system-ui"||w==="ui-serif"||w==="ui-sans-serif"||w==="ui-monospace"||w==="ui-rounded"||w==="math"||w==="emoji"||w==="fangsong"}function J20(w){let $=0;for(let W of T0(w,",")){let X=W.charCodeAt(0);if(X>=48&&X<=57)return!1;W.startsWith("var(")||($+=1)}return $>0}function G20(w){return w==="xx-small"||w==="x-small"||w==="small"||w==="medium"||w==="large"||w==="x-large"||w==="xx-large"||w==="xxx-large"}function f20(w){return w==="larger"||w==="smaller"}var R3=/[+-]?\d*\.?\d+(?:[eE][+-]?\d+)?/,K20=new RegExp(`^${R3.source}$`);function UT(w){return K20.test(w)||iX(w)}var H20=new RegExp(`^${R3.source}%$`);function gh(w){return H20.test(w)||iX(w)}var h20=new RegExp(`^${R3.source}s*/s*${R3.source}$`);function U20(w){return h20.test(w)||iX(w)}var A20=["cm","mm","Q","in","pc","pt","px","em","ex","ch","rem","lh","rlh","vw","vh","vmin","vmax","vb","vi","svw","svh","lvw","lvh","dvw","dvh","cqw","cqh","cqi","cqb","cqmin","cqmax"],F20=new RegExp(`^${R3.source}(${A20.join("|")})$`);function Q9(w){return F20.test(w)||iX(w)}function Q20(w){let $=0;for(let W of T0(w," ")){if(W==="center"||W==="top"||W==="right"||W==="bottom"||W==="left"){$+=1;continue}if(!W.startsWith("var(")){if(Q9(W)||gh(W)){$+=1;continue}return!1}}return $>0}function O20(w){let $=0;for(let W of T0(w,",")){if(W==="cover"||W==="contain"){$+=1;continue}let X=T0(W," ");if(X.length!==1&&X.length!==2)return!1;if(X.every((Y)=>Y==="auto"||Q9(Y)||gh(Y))){$+=1;continue}}return $>0}var Z20=["deg","rad","grad","turn"],z20=new RegExp(`^${R3.source}(${Z20.join("|")})$`);function V20(w){return z20.test(w)}var M20=new RegExp(`^${R3.source} +${R3.source} +${R3.source}$`);function _20(w){return M20.test(w)}function h0(w){let $=Number(w);return Number.isInteger($)&&$>=0&&String($)===String(w)}function lh(w){let $=Number(w);return Number.isInteger($)&&$>0&&String($)===String(w)}function f2(w){return AT(w,0.25)}function nX(w){return AT(w,0.25)}function AT(w,$){let W=Number(w);return W>=0&&W%$===0&&String(W)===String(w)}function k4(w){return{__BARE_VALUE__:w}}var k5=k4((w)=>{if(h0(w.value))return w.value}),M2=k4((w)=>{if(h0(w.value))return`${w.value}%`}),Z6=k4((w)=>{if(h0(w.value))return`${w.value}px`}),fT=k4((w)=>{if(h0(w.value))return`${w.value}ms`}),cX=k4((w)=>{if(h0(w.value))return`${w.value}deg`}),B20=k4((w)=>{if(w.fraction===null)return;let[$,W]=T0(w.fraction,"/");if(!(!h0($)||!h0(W)))return w.fraction}),KT=k4((w)=>{if(h0(Number(w.value)))return`repeat(${w.value}, minmax(0, 1fr))`}),FT={accentColor:({theme:w})=>w("colors"),animation:{none:"none",spin:"spin 1s linear infinite",ping:"ping 1s cubic-bezier(0, 0, 0.2, 1) infinite",pulse:"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite",bounce:"bounce 1s infinite"},aria:{busy:'busy="true"',checked:'checked="true"',disabled:'disabled="true"',expanded:'expanded="true"',hidden:'hidden="true"',pressed:'pressed="true"',readonly:'readonly="true"',required:'required="true"',selected:'selected="true"'},aspectRatio:{auto:"auto",square:"1 / 1",video:"16 / 9",...B20},backdropBlur:({theme:w})=>w("blur"),backdropBrightness:({theme:w})=>({...w("brightness"),...M2}),backdropContrast:({theme:w})=>({...w("contrast"),...M2}),backdropGrayscale:({theme:w})=>({...w("grayscale"),...M2}),backdropHueRotate:({theme:w})=>({...w("hueRotate"),...cX}),backdropInvert:({theme:w})=>({...w("invert"),...M2}),backdropOpacity:({theme:w})=>({...w("opacity"),...M2}),backdropSaturate:({theme:w})=>({...w("saturate"),...M2}),backdropSepia:({theme:w})=>({...w("sepia"),...M2}),backgroundColor:({theme:w})=>w("colors"),backgroundImage:{none:"none","gradient-to-t":"linear-gradient(to top, var(--tw-gradient-stops))","gradient-to-tr":"linear-gradient(to top right, var(--tw-gradient-stops))","gradient-to-r":"linear-gradient(to right, var(--tw-gradient-stops))","gradient-to-br":"linear-gradient(to bottom right, var(--tw-gradient-stops))","gradient-to-b":"linear-gradient(to bottom, var(--tw-gradient-stops))","gradient-to-bl":"linear-gradient(to bottom left, var(--tw-gradient-stops))","gradient-to-l":"linear-gradient(to left, var(--tw-gradient-stops))","gradient-to-tl":"linear-gradient(to top left, var(--tw-gradient-stops))"},backgroundOpacity:({theme:w})=>w("opacity"),backgroundPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},backgroundSize:{auto:"auto",cover:"cover",contain:"contain"},blur:{0:"0",none:"",sm:"4px",DEFAULT:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},borderColor:({theme:w})=>({DEFAULT:"currentcolor",...w("colors")}),borderOpacity:({theme:w})=>w("opacity"),borderRadius:{none:"0px",sm:"0.125rem",DEFAULT:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},borderSpacing:({theme:w})=>w("spacing"),borderWidth:{DEFAULT:"1px",0:"0px",2:"2px",4:"4px",8:"8px",...Z6},boxShadow:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",DEFAULT:"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)","2xl":"0 25px 50px -12px rgb(0 0 0 / 0.25)",inner:"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)",none:"none"},boxShadowColor:({theme:w})=>w("colors"),brightness:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5",200:"2",...M2},caretColor:({theme:w})=>w("colors"),colors:()=>({...rX}),columns:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12","3xs":"16rem","2xs":"18rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",...k5},container:{},content:{none:"none"},contrast:{0:"0",50:".5",75:".75",100:"1",125:"1.25",150:"1.5",200:"2",...M2},cursor:{auto:"auto",default:"default",pointer:"pointer",wait:"wait",text:"text",move:"move",help:"help","not-allowed":"not-allowed",none:"none","context-menu":"context-menu",progress:"progress",cell:"cell",crosshair:"crosshair","vertical-text":"vertical-text",alias:"alias",copy:"copy","no-drop":"no-drop",grab:"grab",grabbing:"grabbing","all-scroll":"all-scroll","col-resize":"col-resize","row-resize":"row-resize","n-resize":"n-resize","e-resize":"e-resize","s-resize":"s-resize","w-resize":"w-resize","ne-resize":"ne-resize","nw-resize":"nw-resize","se-resize":"se-resize","sw-resize":"sw-resize","ew-resize":"ew-resize","ns-resize":"ns-resize","nesw-resize":"nesw-resize","nwse-resize":"nwse-resize","zoom-in":"zoom-in","zoom-out":"zoom-out"},divideColor:({theme:w})=>w("borderColor"),divideOpacity:({theme:w})=>w("borderOpacity"),divideWidth:({theme:w})=>({...w("borderWidth"),...Z6}),dropShadow:{sm:"0 1px 1px rgb(0 0 0 / 0.05)",DEFAULT:["0 1px 2px rgb(0 0 0 / 0.1)","0 1px 1px rgb(0 0 0 / 0.06)"],md:["0 4px 3px rgb(0 0 0 / 0.07)","0 2px 2px rgb(0 0 0 / 0.06)"],lg:["0 10px 8px rgb(0 0 0 / 0.04)","0 4px 3px rgb(0 0 0 / 0.1)"],xl:["0 20px 13px rgb(0 0 0 / 0.03)","0 8px 5px rgb(0 0 0 / 0.08)"],"2xl":"0 25px 25px rgb(0 0 0 / 0.15)",none:"0 0 #0000"},fill:({theme:w})=>w("colors"),flex:{1:"1 1 0%",auto:"1 1 auto",initial:"0 1 auto",none:"none"},flexBasis:({theme:w})=>({auto:"auto","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",...w("spacing")}),flexGrow:{0:"0",DEFAULT:"1",...k5},flexShrink:{0:"0",DEFAULT:"1",...k5},fontFamily:{sans:["ui-sans-serif","system-ui","sans-serif",'"Apple Color Emoji"','"Segoe UI Emoji"','"Segoe UI Symbol"','"Noto Color Emoji"'],serif:["ui-serif","Georgia","Cambria",'"Times New Roman"',"Times","serif"],mono:["ui-monospace","SFMono-Regular","Menlo","Monaco","Consolas",'"Liberation Mono"','"Courier New"',"monospace"]},fontSize:{xs:["0.75rem",{lineHeight:"1rem"}],sm:["0.875rem",{lineHeight:"1.25rem"}],base:["1rem",{lineHeight:"1.5rem"}],lg:["1.125rem",{lineHeight:"1.75rem"}],xl:["1.25rem",{lineHeight:"1.75rem"}],"2xl":["1.5rem",{lineHeight:"2rem"}],"3xl":["1.875rem",{lineHeight:"2.25rem"}],"4xl":["2.25rem",{lineHeight:"2.5rem"}],"5xl":["3rem",{lineHeight:"1"}],"6xl":["3.75rem",{lineHeight:"1"}],"7xl":["4.5rem",{lineHeight:"1"}],"8xl":["6rem",{lineHeight:"1"}],"9xl":["8rem",{lineHeight:"1"}]},fontWeight:{thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},gap:({theme:w})=>w("spacing"),gradientColorStops:({theme:w})=>w("colors"),gradientColorStopPositions:{"0%":"0%","5%":"5%","10%":"10%","15%":"15%","20%":"20%","25%":"25%","30%":"30%","35%":"35%","40%":"40%","45%":"45%","50%":"50%","55%":"55%","60%":"60%","65%":"65%","70%":"70%","75%":"75%","80%":"80%","85%":"85%","90%":"90%","95%":"95%","100%":"100%",...M2},grayscale:{0:"0",DEFAULT:"100%",...M2},gridAutoColumns:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridAutoRows:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridColumn:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridColumnEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13",...k5},gridColumnStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13",...k5},gridRow:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridRowEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13",...k5},gridRowStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13",...k5},gridTemplateColumns:{none:"none",subgrid:"subgrid",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))",...KT},gridTemplateRows:{none:"none",subgrid:"subgrid",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))",...KT},height:({theme:w})=>({auto:"auto","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content",...w("spacing")}),hueRotate:{0:"0deg",15:"15deg",30:"30deg",60:"60deg",90:"90deg",180:"180deg",...cX},inset:({theme:w})=>({auto:"auto","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%",...w("spacing")}),invert:{0:"0",DEFAULT:"100%",...M2},keyframes:{spin:{to:{transform:"rotate(360deg)"}},ping:{"75%, 100%":{transform:"scale(2)",opacity:"0"}},pulse:{"50%":{opacity:".5"}},bounce:{"0%, 100%":{transform:"translateY(-25%)",animationTimingFunction:"cubic-bezier(0.8,0,1,1)"},"50%":{transform:"none",animationTimingFunction:"cubic-bezier(0,0,0.2,1)"}}},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:{none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},listStyleType:{none:"none",disc:"disc",decimal:"decimal"},listStyleImage:{none:"none"},margin:({theme:w})=>({auto:"auto",...w("spacing")}),lineClamp:{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",...k5},maxHeight:({theme:w})=>({none:"none",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content",...w("spacing")}),maxWidth:({theme:w})=>({none:"none",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",min:"min-content",max:"max-content",fit:"fit-content",prose:"65ch",...w("spacing")}),minHeight:({theme:w})=>({full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content",...w("spacing")}),minWidth:({theme:w})=>({full:"100%",min:"min-content",max:"max-content",fit:"fit-content",...w("spacing")}),objectPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},opacity:{0:"0",5:"0.05",10:"0.1",15:"0.15",20:"0.2",25:"0.25",30:"0.3",35:"0.35",40:"0.4",45:"0.45",50:"0.5",55:"0.55",60:"0.6",65:"0.65",70:"0.7",75:"0.75",80:"0.8",85:"0.85",90:"0.9",95:"0.95",100:"1",...M2},order:{first:"-9999",last:"9999",none:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",...k5},outlineColor:({theme:w})=>w("colors"),outlineOffset:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Z6},outlineWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Z6},padding:({theme:w})=>w("spacing"),placeholderColor:({theme:w})=>w("colors"),placeholderOpacity:({theme:w})=>w("opacity"),ringColor:({theme:w})=>({DEFAULT:"currentcolor",...w("colors")}),ringOffsetColor:({theme:w})=>w("colors"),ringOffsetWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Z6},ringOpacity:({theme:w})=>({DEFAULT:"0.5",...w("opacity")}),ringWidth:{DEFAULT:"3px",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Z6},rotate:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg",45:"45deg",90:"90deg",180:"180deg",...cX},saturate:{0:"0",50:".5",100:"1",150:"1.5",200:"2",...M2},scale:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5",...M2},screens:{sm:"40rem",md:"48rem",lg:"64rem",xl:"80rem","2xl":"96rem"},scrollMargin:({theme:w})=>w("spacing"),scrollPadding:({theme:w})=>w("spacing"),sepia:{0:"0",DEFAULT:"100%",...M2},skew:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg",...cX},space:({theme:w})=>w("spacing"),spacing:{px:"1px",0:"0px",0.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",11:"2.75rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},stroke:({theme:w})=>({none:"none",...w("colors")}),strokeWidth:{0:"0",1:"1",2:"2",...k5},supports:{},data:{},textColor:({theme:w})=>w("colors"),textDecorationColor:({theme:w})=>w("colors"),textDecorationThickness:{auto:"auto","from-font":"from-font",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Z6},textIndent:({theme:w})=>w("spacing"),textOpacity:({theme:w})=>w("opacity"),textUnderlineOffset:{auto:"auto",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Z6},transformOrigin:{center:"center",top:"top","top-right":"top right",right:"right","bottom-right":"bottom right",bottom:"bottom","bottom-left":"bottom left",left:"left","top-left":"top left"},transitionDelay:{0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1000:"1000ms",...fT},transitionDuration:{DEFAULT:"150ms",0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1000:"1000ms",...fT},transitionProperty:{none:"none",all:"all",DEFAULT:"color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter",colors:"color, background-color, border-color, outline-color, text-decoration-color, fill, stroke",opacity:"opacity",shadow:"box-shadow",transform:"transform"},transitionTimingFunction:{DEFAULT:"cubic-bezier(0.4, 0, 0.2, 1)",linear:"linear",in:"cubic-bezier(0.4, 0, 1, 1)",out:"cubic-bezier(0, 0, 0.2, 1)","in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},translate:({theme:w})=>({"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%",...w("spacing")}),size:({theme:w})=>({auto:"auto","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",min:"min-content",max:"max-content",fit:"fit-content",...w("spacing")}),width:({theme:w})=>({auto:"auto","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",screen:"100vw",svw:"100svw",lvw:"100lvw",dvw:"100dvw",min:"min-content",max:"max-content",fit:"fit-content",...w("spacing")}),willChange:{auto:"auto",scroll:"scroll-position",contents:"contents",transform:"transform"},zIndex:{auto:"auto",0:"0",10:"10",20:"20",30:"30",40:"40",50:"50",...k5}};var N20="4.2.1";function D20(w){let $=[0];for(let Y=0;Y<w.length;Y++)w.charCodeAt(Y)===10&&$.push(Y+1);function W(Y){let J=0,G=$.length;for(;G>0;){let H=(G|0)>>1,h=J+H;$[h]<=Y?(J=h+1,G=G-H-1):G=H}J-=1;let f=Y-$[J];return{line:J+1,column:f}}function X({line:Y,column:J}){Y-=1,Y=Math.min(Math.max(Y,0),$.length-1);let G=$[Y],f=$[Y+1]??G;return Math.min(Math.max(G+J,0),f)}return{find:W,findOffset:X}}var Q7=92,oX=47,aX=42,QT=34,OT=39,q20=58,WY=59,L5=10,YY=13,O7=32,Z7=9,ZT=123,ph=125,ih=40,zT=41,R20=91,v20=93,VT=45,rh=64,k20=33,k3=class w extends Error{loc;constructor($,W){if(W){let X=W[0],Y=D20(X.code).find(W[1]);$=`${X.file}:${Y.line}:${Y.column+1}: ${$}`}super($),this.name="CssSyntaxError",this.loc=W,Error.captureStackTrace&&Error.captureStackTrace(this,w)}};function QP(w,$){let W=$?.from?{file:$.from,code:w}:null;w[0]==="\uFEFF"&&(w=" "+w.slice(1));let X=[],Y=[],J=[],G=null,f=null,H="",h="",U=0,A;for(let F=0;F<w.length;F++){let O=w.charCodeAt(F);if(!(O===YY&&(A=w.charCodeAt(F+1),A===L5)))if(O===Q7)H===""&&(U=F),H+=w.slice(F,F+2),F+=1;else if(O===oX&&w.charCodeAt(F+1)===aX){let M=F;for(let R=F+2;R<w.length;R++)if(A=w.charCodeAt(R),A===Q7)R+=1;else if(A===aX&&w.charCodeAt(R+1)===oX){F=R+1;break}let N=w.slice(M,F+1);if(N.charCodeAt(2)===k20){let R=zP(N.slice(2,-2));Y.push(R),W&&(R.src=[W,M,F+1],R.dst=[W,M,F+1])}}else if(O===OT||O===QT){let M=MT(w,F,O,W);H+=w.slice(F,M+1),F=M}else{if((O===O7||O===L5||O===Z7)&&(A=w.charCodeAt(F+1))&&(A===O7||A===L5||A===Z7||A===YY&&(A=w.charCodeAt(F+2))&&A==L5))continue;if(O===L5){if(H.length===0)continue;A=H.charCodeAt(H.length-1),A!==O7&&A!==L5&&A!==Z7&&(H+=" ")}else if(O===VT&&w.charCodeAt(F+1)===VT&&H.length===0){let M="",N=F,R=-1;for(let P=F+2;P<w.length;P++)if(A=w.charCodeAt(P),A===Q7)P+=1;else if(A===OT||A===QT)P=MT(w,P,A,W);else if(A===oX&&w.charCodeAt(P+1)===aX){for(let j=P+2;j<w.length;j++)if(A=w.charCodeAt(j),A===Q7)j+=1;else if(A===aX&&w.charCodeAt(j+1)===oX){P=j+1;break}}else if(R===-1&&A===q20)R=H.length+P-N;else if(A===WY&&M.length===0){H+=w.slice(N,P),F=P;break}else if(A===ih)M+=")";else if(A===R20)M+="]";else if(A===ZT)M+="}";else if((A===ph||w.length-1===P)&&M.length===0){F=P-1,H+=w.slice(N,P);break}else(A===zT||A===v20||A===ph)&&M.length>0&&w[P]===M[M.length-1]&&(M=M.slice(0,-1));let E=dh(H,R);if(!E)throw new k3("Invalid custom property, expected a value",W?[W,N,F]:null);W&&(E.src=[W,N,F],E.dst=[W,N,F]),G?G.nodes.push(E):X.push(E),H=""}else if(O===WY&&H.charCodeAt(0)===rh)f=XY(H),W&&(f.src=[W,U,F],f.dst=[W,U,F]),G?G.nodes.push(f):X.push(f),H="",f=null;else if(O===WY&&h[h.length-1]!==")"){let M=dh(H);if(!M){if(H.length===0)continue;throw new k3(`Invalid declaration: \`${H.trim()}\``,W?[W,U,F]:null)}W&&(M.src=[W,U,F],M.dst=[W,U,F]),G?G.nodes.push(M):X.push(M),H=""}else if(O===ZT&&h[h.length-1]!==")")h+="}",f=t1(H.trim()),W&&(f.src=[W,U,F],f.dst=[W,U,F]),G&&G.nodes.push(f),J.push(G),G=f,H="",f=null;else if(O===ph&&h[h.length-1]!==")"){if(h==="")throw new k3("Missing opening {",W?[W,F,F]:null);if(h=h.slice(0,-1),H.length>0)if(H.charCodeAt(0)===rh)f=XY(H),W&&(f.src=[W,U,F],f.dst=[W,U,F]),G?G.nodes.push(f):X.push(f),H="",f=null;else{let N=H.indexOf(":");if(G){let R=dh(H,N);if(!R)throw new k3(`Invalid declaration: \`${H.trim()}\``,W?[W,U,F]:null);W&&(R.src=[W,U,F],R.dst=[W,U,F]),G.nodes.push(R)}}let M=J.pop()??null;M===null&&G&&X.push(G),G=M,H="",f=null}else if(O===ih)h+=")",H+="(";else if(O===zT){if(h[h.length-1]!==")")throw new k3("Missing opening (",W?[W,F,F]:null);h=h.slice(0,-1),H+=")"}else{if(H.length===0&&(O===O7||O===L5||O===Z7))continue;H===""&&(U=F),H+=String.fromCharCode(O)}}}if(H.charCodeAt(0)===rh){let F=XY(H);W&&(F.src=[W,U,w.length],F.dst=[W,U,w.length]),X.push(F)}if(h.length>0&&G){if(G.kind==="rule")throw new k3(`Missing closing } at ${G.selector}`,G.src?[G.src[0],G.src[1],G.src[1]]:null);if(G.kind==="at-rule")throw new k3(`Missing closing } at ${G.name} ${G.params}`,G.src?[G.src[0],G.src[1],G.src[1]]:null)}return Y.length>0?Y.concat(X):X}function XY(w,$=[]){let W=w,X="";for(let Y=5;Y<w.length;Y++){let J=w.charCodeAt(Y);if(J===O7||J===Z7||J===ih){W=w.slice(0,Y),X=w.slice(Y);break}}return w1(W.trim(),X.trim(),$)}function dh(w,$=w.indexOf(":")){if($===-1)return null;let W=w.indexOf("!important",$+1);return _(w.slice(0,$).trim(),w.slice($+1,W===-1?w.length:W).trim(),W!==-1)}function MT(w,$,W,X=null){let Y;for(let J=$+1;J<w.length;J++)if(Y=w.charCodeAt(J),Y===Q7)J+=1;else{if(Y===W)return J;if(Y===WY&&(w.charCodeAt(J+1)===L5||w.charCodeAt(J+1)===YY&&w.charCodeAt(J+2)===L5))throw new k3(`Unterminated string: ${w.slice($,J+1)+String.fromCharCode(W)}`,X?[X,$,J+1]:null);if(Y===L5||Y===YY&&w.charCodeAt(J+1)===L5)throw new k3(`Unterminated string: ${w.slice($,J)+String.fromCharCode(W)}`,X?[X,$,J+1]:null)}return $}function FY(w){if(arguments.length===0)throw TypeError("`CSS.escape` requires an argument.");let $=String(w),W=$.length,X=-1,Y,J="",G=$.charCodeAt(0);if(W===1&&G===45)return"\\"+$;for(;++X<W;){if(Y=$.charCodeAt(X),Y===0){J+="\uFFFD";continue}if(Y>=1&&Y<=31||Y===127||X===0&&Y>=48&&Y<=57||X===1&&Y>=48&&Y<=57&&G===45){J+="\\"+Y.toString(16)+" ";continue}if(Y>=128||Y===45||Y===95||Y>=48&&Y<=57||Y>=65&&Y<=90||Y>=97&&Y<=122){J+=$.charAt(X);continue}J+="\\"+$.charAt(X)}return J}function _7(w){return w.replace(/\\([\dA-Fa-f]{1,6}[\t\n\f\r ]?|[\S\s])/g,($)=>$.length>2?String.fromCodePoint(Number.parseInt($.slice(1).trim(),16)):$[1])}var OP=new Map([["--font",["--font-weight","--font-size"]],["--inset",["--inset-shadow","--inset-ring"]],["--text",["--text-color","--text-decoration-color","--text-decoration-thickness","--text-indent","--text-shadow","--text-underline-offset"]],["--grid-column",["--grid-column-start","--grid-column-end"]],["--grid-row",["--grid-row-start","--grid-row-end"]]]);function _T(w,$){return(OP.get($)??[]).some((W)=>w===W||w.startsWith(`${W}-`))}var L20=class{constructor(w=new Map,$=new Set([])){this.values=w,this.keyframes=$}prefix=null;get size(){return this.values.size}add(w,$,W=0,X){if(w.endsWith("-*")){if($!=="initial")throw Error(`Invalid theme value \`${$}\` for namespace \`${w}\``);w==="--*"?this.values.clear():this.clearNamespace(w.slice(0,-2),0)}if(W&4){let Y=this.values.get(w);if(Y&&!(Y.options&4))return}$==="initial"?this.values.delete(w):this.values.set(w,{value:$,options:W,src:X})}keysInNamespaces(w){let $=[];for(let W of w){let X=`${W}-`;for(let Y of this.values.keys())Y.startsWith(X)&&Y.indexOf("--",2)===-1&&(_T(Y,W)||$.push(Y.slice(X.length)))}return $}get(w){for(let $ of w){let W=this.values.get($);if(W)return W.value}return null}hasDefault(w){return(this.getOptions(w)&4)===4}getOptions(w){return w=_7(this.#W(w)),this.values.get(w)?.options??0}entries(){return this.prefix?Array.from(this.values,(w)=>(w[0]=this.prefixKey(w[0]),w)):this.values.entries()}prefixKey(w){return this.prefix?`--${this.prefix}-${w.slice(2)}`:w}#W(w){return this.prefix?`--${w.slice(3+this.prefix.length)}`:w}clearNamespace(w,$){let W=OP.get(w)??[];w:for(let X of this.values.keys())if(X.startsWith(w)){if($!==0&&(this.getOptions(X)&$)!==$)continue;for(let Y of W)if(X.startsWith(Y))continue w;this.values.delete(X)}}#$(w,$){for(let W of $){let X=w!==null?`${W}-${w}`:W;if(!this.values.has(X))if(w!==null&&w.includes(".")){if(X=`${W}-${w.replaceAll(".","_")}`,!this.values.has(X))continue}else continue;if(!_T(X,W))return X}return null}#w(w){let $=this.values.get(w);if(!$)return null;let W=null;return $.options&2&&(W=$.value),`var(${FY(this.prefixKey(w))}${W?`, ${W}`:""})`}markUsedVariable(w){let $=_7(this.#W(w)),W=this.values.get($);if(!W)return!1;let X=W.options&16;return W.options|=16,!X}resolve(w,$,W=0){let X=this.#$(w,$);if(!X)return null;let Y=this.values.get(X);return(W|Y.options)&1?Y.value:this.#w(X)}resolveValue(w,$){let W=this.#$(w,$);return W?this.values.get(W).value:null}resolveWith(w,$,W=[]){let X=this.#$(w,$);if(!X)return null;let Y={};for(let G of W){let f=`${X}${G}`,H=this.values.get(f);H&&(H.options&1?Y[G]=H.value:Y[G]=this.#w(f))}let J=this.values.get(X);return J.options&1?[J.value,Y]:[this.#w(X),Y]}namespace(w){let $=new Map,W=`${w}-`;for(let[X,Y]of this.values)X===w?$.set(null,Y.value):X.startsWith(`${W}-`)?$.set(X.slice(w.length),Y.value):X.startsWith(W)&&$.set(X.slice(W.length),Y.value);return $}addKeyframes(w){this.keyframes.add(w)}getKeyframes(){return Array.from(this.keyframes)}},j0=class extends Map{constructor(w){super();this.factory=w}get(w){let $=super.get(w);return $===void 0&&($=this.factory(w,this),this.set(w,$)),$}};function E5(w){return{kind:"word",value:w}}function E20(w,$){return{kind:"function",value:w,nodes:$}}function T20(w){return{kind:"separator",value:w}}function q1(w){let $="";for(let W of w)switch(W.kind){case"word":case"separator":{$+=W.value;break}case"function":$+=W.value+"("+q1(W.nodes)+")"}return $}var BT=92,P20=41,NT=58,DT=44,j20=34,qT=61,RT=62,vT=60,kT=10,C20=40,b20=39,I20=47,LT=32,ET=9;function G1(w){w=w.replaceAll(`\r
|
|
970
|
+
${W.content}`,templateName:"blog:excerpt"})})}var Tq={name:"@brains/blog",private:!0,version:"0.2.0-alpha.47",description:"AI-powered blog post generation from existing brain content",type:"module",exports:{".":"./src/index.ts"},scripts:{typecheck:"tsc --noEmit",test:"bun test",lint:"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix",eval:"cd evals && bun run brain-eval"},dependencies:{"@brains/plugins":"workspace:*","@brains/utils":"workspace:*"},devDependencies:{"@brains/app":"workspace:*","@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@types/bun":"latest","bun-types":"latest",eslint:"^8.56.0",typescript:"^5.3.3"}};class bq extends Z3{entityType=Z4.entityType;schema=nw;adapter=Z4;constructor(w={}){super("blog",Tq,w,sK)}getEntityTypeConfig(){return{weight:2}}createGenerationHandler(w){return new tK(this.logger.child("BlogGenerationJobHandler"),w)}getTemplates(){return qq()}getDataSources(){return[new wH(this.logger.child("BlogDataSource"))]}async onRegister(w){let{RSSDataSource:$}=await Promise.resolve().then(() => (Cq(),jq));w.entities.registerDataSource(new $(this.logger.child("RSSDataSource"))),await Rq(w,this.logger),vq(w,this.logger),Lq(w,this.logger),Eq(w),this.logger.info("Blog plugin registered (routes auto-generated at /posts/)")}}s5();S8();n0();n0();J0();i2();var Iq=Z.enum(["png","jpg","jpeg","webp","gif","svg"]),Sq=Z.object({title:Z.string().optional(),alt:Z.string().optional(),format:Iq,width:Z.number(),height:Z.number(),sourceUrl:Z.string().url().optional()}),DH=Y2.extend({entityType:Z.literal("image"),metadata:Sq}),_o=Z.object({url:Z.string(),alt:Z.string(),title:Z.string(),width:Z.number(),height:Z.number()});J0();function WX(w){let $=w.match(/^data:image\/([a-z+]+);base64,(.+)$/i);if(!$?.[1]||!$[2])throw Error("Invalid image data URL");return{format:$[1].toLowerCase(),base64:$[2]}}var Bo={png:"iVBORw",jpg:"/9j/",gif:"R0lGOD",webp:"UklGR"};function qH(w){for(let[$,W]of Object.entries(Bo))if(w.startsWith(W))return $;return null}function XX(w){let $=Buffer.from(w,"base64");if($[0]===137&&$[1]===80&&$[2]===78&&$[3]===71){let W=$.readUInt32BE(16),X=$.readUInt32BE(20);return{width:W,height:X}}if($[0]===255&&$[1]===216){let W=2;while(W<$.length-8){if($[W]!==255){W++;continue}let X=$[W+1];if(X===192||X===194){let J=$.readUInt16BE(W+5);return{width:$.readUInt16BE(W+7),height:J}}let Y=$.readUInt16BE(W+2);W+=2+Y}}if($[0]===71&&$[1]===73&&$[2]===70){let W=$.readUInt16LE(6),X=$.readUInt16LE(8);return{width:W,height:X}}if($.length>=30&&$[0]===82&&$[1]===73&&$[2]===70&&$[3]===70){if($[12]===86&&$[13]===80&&$[14]===56){if($[15]===32){let W=$[26]??0,X=$[27]??0,Y=$[28]??0,J=$[29]??0,G=(W|X<<8)&16383,f=(Y|J<<8)&16383;return{width:G,height:f}}if($[15]===76&&$.length>=25){let W=$.readUInt32LE(21),X=(W&16383)+1,Y=(W>>14&16383)+1;return{width:X,height:Y}}}}return null}class RH{entityType="image";schema=DH;toMarkdown(w){return w.content}fromMarkdown(w){let{format:$,base64:W}=WX(w),X=XX(W);return{entityType:"image",content:w,metadata:{format:$,width:X?.width??0,height:X?.height??0}}}extractMetadata(w){return w.metadata}parseFrontMatter(w,$){return $.parse({})}generateFrontMatter(w){return""}getBodyTemplate(){return""}createImageEntity(w){let{dataUrl:$,title:W,alt:X}=w,{format:Y,base64:J}=WX($),G=XX(J),H=qH(J)??Y;return{entityType:"image",content:$,metadata:{title:W,alt:X??W,format:H,width:G?.width??0,height:G?.height??0}}}}var No=new RH;i2();J0();var Do=Z.object({coverImageId:Z.string().optional()}).passthrough();async function xq(w,$){let W=await $.getEntity("image",w);if(!W)return null;return{url:W.content,alt:W.metadata.alt??"",title:W.metadata.title??"",width:W.metadata.width,height:W.metadata.height}}function vH(w){try{let{metadata:$}=R1(w.content,Do);return $.coverImageId}catch{return}}async function YX(w,$){let W=vH(w);if(!W)return;return await xq(W,$)??void 0}J0();J0();var qo=Z.object({environment:Z.enum(["preview","production"]),outputDir:Z.string(),workingDir:Z.string().optional(),sharedImagesDir:Z.string().default("./dist/images"),enableContentGeneration:Z.boolean().default(!1),cleanBeforeBuild:Z.boolean().default(!0),siteConfig:Z.object({title:Z.string(),description:Z.string(),url:Z.string().optional(),copyright:Z.string().optional(),themeMode:Z.enum(["light","dark"]).optional(),analyticsScript:Z.string().optional()}),layouts:Z.record(Z.any()),themeCSS:Z.string().optional()}),HT0=Z.object({success:Z.boolean(),outputDir:Z.string(),filesGenerated:Z.number(),routesBuilt:Z.number(),errors:Z.array(Z.string()).optional(),warnings:Z.array(Z.string()).optional()});import{render as $I0}from"preact-render-to-string";import{h as XI0}from"preact";var D1=I5(jv(),1);var tT0=D1.default.stringify,eT0=D1.default.fromJSON,wP0=D1.default.plugin,$P0=D1.default.parse,WP0=D1.default.list,XP0=D1.default.document,YP0=D1.default.comment,JP0=D1.default.atRule,GP0=D1.default.rule,fP0=D1.default.decl,KP0=D1.default.root,HP0=D1.default.CssSyntaxError,hP0=D1.default.Declaration,UP0=D1.default.Container,AP0=D1.default.Processor,FP0=D1.default.Document,QP0=D1.default.Comment,OP0=D1.default.Warning,ZP0=D1.default.AtRule,zP0=D1.default.Result,VP0=D1.default.Input,MP0=D1.default.Rule,_P0=D1.default.Root,BP0=D1.default.Node;var DC=I5(Iv(),1);var I4=I5($T(),1);import*as IY from"module";import{pathToFileURL as h40}from"url";var JT=I5(XT(),1);import{createRequire as YT}from"module";function c10(w){throw w}var i10=(w)=>import(w),mh;function n10(...w){if(!mh)mh=YT(import.meta.url)("../dist/babel.cjs");return mh(...w)}function GT(w,$={}){if(!$.transform)$={...$,transform:n10};return JT.default(w,$,{onError:c10,nativeImport:i10,createRequire:YT})}import EU from"fs";import ij from"fs/promises";import jY from"path";import{pathToFileURL as Nj}from"url";var rX={inherit:"inherit",current:"currentcolor",transparent:"transparent",black:"#000",white:"#fff",slate:{50:"oklch(98.4% 0.003 247.858)",100:"oklch(96.8% 0.007 247.896)",200:"oklch(92.9% 0.013 255.508)",300:"oklch(86.9% 0.022 252.894)",400:"oklch(70.4% 0.04 256.788)",500:"oklch(55.4% 0.046 257.417)",600:"oklch(44.6% 0.043 257.281)",700:"oklch(37.2% 0.044 257.287)",800:"oklch(27.9% 0.041 260.031)",900:"oklch(20.8% 0.042 265.755)",950:"oklch(12.9% 0.042 264.695)"},gray:{50:"oklch(98.5% 0.002 247.839)",100:"oklch(96.7% 0.003 264.542)",200:"oklch(92.8% 0.006 264.531)",300:"oklch(87.2% 0.01 258.338)",400:"oklch(70.7% 0.022 261.325)",500:"oklch(55.1% 0.027 264.364)",600:"oklch(44.6% 0.03 256.802)",700:"oklch(37.3% 0.034 259.733)",800:"oklch(27.8% 0.033 256.848)",900:"oklch(21% 0.034 264.665)",950:"oklch(13% 0.028 261.692)"},zinc:{50:"oklch(98.5% 0 0)",100:"oklch(96.7% 0.001 286.375)",200:"oklch(92% 0.004 286.32)",300:"oklch(87.1% 0.006 286.286)",400:"oklch(70.5% 0.015 286.067)",500:"oklch(55.2% 0.016 285.938)",600:"oklch(44.2% 0.017 285.786)",700:"oklch(37% 0.013 285.805)",800:"oklch(27.4% 0.006 286.033)",900:"oklch(21% 0.006 285.885)",950:"oklch(14.1% 0.005 285.823)"},neutral:{50:"oklch(98.5% 0 0)",100:"oklch(97% 0 0)",200:"oklch(92.2% 0 0)",300:"oklch(87% 0 0)",400:"oklch(70.8% 0 0)",500:"oklch(55.6% 0 0)",600:"oklch(43.9% 0 0)",700:"oklch(37.1% 0 0)",800:"oklch(26.9% 0 0)",900:"oklch(20.5% 0 0)",950:"oklch(14.5% 0 0)"},stone:{50:"oklch(98.5% 0.001 106.423)",100:"oklch(97% 0.001 106.424)",200:"oklch(92.3% 0.003 48.717)",300:"oklch(86.9% 0.005 56.366)",400:"oklch(70.9% 0.01 56.259)",500:"oklch(55.3% 0.013 58.071)",600:"oklch(44.4% 0.011 73.639)",700:"oklch(37.4% 0.01 67.558)",800:"oklch(26.8% 0.007 34.298)",900:"oklch(21.6% 0.006 56.043)",950:"oklch(14.7% 0.004 49.25)"},mauve:{50:"oklch(98.5% 0 0)",100:"oklch(96% 0.003 325.6)",200:"oklch(92.2% 0.005 325.62)",300:"oklch(86.5% 0.012 325.68)",400:"oklch(71.1% 0.019 323.02)",500:"oklch(54.2% 0.034 322.5)",600:"oklch(43.5% 0.029 321.78)",700:"oklch(36.4% 0.029 323.89)",800:"oklch(26.3% 0.024 320.12)",900:"oklch(21.2% 0.019 322.12)",950:"oklch(14.5% 0.008 326)"},olive:{50:"oklch(98.8% 0.003 106.5)",100:"oklch(96.6% 0.005 106.5)",200:"oklch(93% 0.007 106.5)",300:"oklch(88% 0.011 106.6)",400:"oklch(73.7% 0.021 106.9)",500:"oklch(58% 0.031 107.3)",600:"oklch(46.6% 0.025 107.3)",700:"oklch(39.4% 0.023 107.4)",800:"oklch(28.6% 0.016 107.4)",900:"oklch(22.8% 0.013 107.4)",950:"oklch(15.3% 0.006 107.1)"},mist:{50:"oklch(98.7% 0.002 197.1)",100:"oklch(96.3% 0.002 197.1)",200:"oklch(92.5% 0.005 214.3)",300:"oklch(87.2% 0.007 219.6)",400:"oklch(72.3% 0.014 214.4)",500:"oklch(56% 0.021 213.5)",600:"oklch(45% 0.017 213.2)",700:"oklch(37.8% 0.015 216)",800:"oklch(27.5% 0.011 216.9)",900:"oklch(21.8% 0.008 223.9)",950:"oklch(14.8% 0.004 228.8)"},taupe:{50:"oklch(98.6% 0.002 67.8)",100:"oklch(96% 0.002 17.2)",200:"oklch(92.2% 0.005 34.3)",300:"oklch(86.8% 0.007 39.5)",400:"oklch(71.4% 0.014 41.2)",500:"oklch(54.7% 0.021 43.1)",600:"oklch(43.8% 0.017 39.3)",700:"oklch(36.7% 0.016 35.7)",800:"oklch(26.8% 0.011 36.5)",900:"oklch(21.4% 0.009 43.1)",950:"oklch(14.7% 0.004 49.3)"},red:{50:"oklch(97.1% 0.013 17.38)",100:"oklch(93.6% 0.032 17.717)",200:"oklch(88.5% 0.062 18.334)",300:"oklch(80.8% 0.114 19.571)",400:"oklch(70.4% 0.191 22.216)",500:"oklch(63.7% 0.237 25.331)",600:"oklch(57.7% 0.245 27.325)",700:"oklch(50.5% 0.213 27.518)",800:"oklch(44.4% 0.177 26.899)",900:"oklch(39.6% 0.141 25.723)",950:"oklch(25.8% 0.092 26.042)"},orange:{50:"oklch(98% 0.016 73.684)",100:"oklch(95.4% 0.038 75.164)",200:"oklch(90.1% 0.076 70.697)",300:"oklch(83.7% 0.128 66.29)",400:"oklch(75% 0.183 55.934)",500:"oklch(70.5% 0.213 47.604)",600:"oklch(64.6% 0.222 41.116)",700:"oklch(55.3% 0.195 38.402)",800:"oklch(47% 0.157 37.304)",900:"oklch(40.8% 0.123 38.172)",950:"oklch(26.6% 0.079 36.259)"},amber:{50:"oklch(98.7% 0.022 95.277)",100:"oklch(96.2% 0.059 95.617)",200:"oklch(92.4% 0.12 95.746)",300:"oklch(87.9% 0.169 91.605)",400:"oklch(82.8% 0.189 84.429)",500:"oklch(76.9% 0.188 70.08)",600:"oklch(66.6% 0.179 58.318)",700:"oklch(55.5% 0.163 48.998)",800:"oklch(47.3% 0.137 46.201)",900:"oklch(41.4% 0.112 45.904)",950:"oklch(27.9% 0.077 45.635)"},yellow:{50:"oklch(98.7% 0.026 102.212)",100:"oklch(97.3% 0.071 103.193)",200:"oklch(94.5% 0.129 101.54)",300:"oklch(90.5% 0.182 98.111)",400:"oklch(85.2% 0.199 91.936)",500:"oklch(79.5% 0.184 86.047)",600:"oklch(68.1% 0.162 75.834)",700:"oklch(55.4% 0.135 66.442)",800:"oklch(47.6% 0.114 61.907)",900:"oklch(42.1% 0.095 57.708)",950:"oklch(28.6% 0.066 53.813)"},lime:{50:"oklch(98.6% 0.031 120.757)",100:"oklch(96.7% 0.067 122.328)",200:"oklch(93.8% 0.127 124.321)",300:"oklch(89.7% 0.196 126.665)",400:"oklch(84.1% 0.238 128.85)",500:"oklch(76.8% 0.233 130.85)",600:"oklch(64.8% 0.2 131.684)",700:"oklch(53.2% 0.157 131.589)",800:"oklch(45.3% 0.124 130.933)",900:"oklch(40.5% 0.101 131.063)",950:"oklch(27.4% 0.072 132.109)"},green:{50:"oklch(98.2% 0.018 155.826)",100:"oklch(96.2% 0.044 156.743)",200:"oklch(92.5% 0.084 155.995)",300:"oklch(87.1% 0.15 154.449)",400:"oklch(79.2% 0.209 151.711)",500:"oklch(72.3% 0.219 149.579)",600:"oklch(62.7% 0.194 149.214)",700:"oklch(52.7% 0.154 150.069)",800:"oklch(44.8% 0.119 151.328)",900:"oklch(39.3% 0.095 152.535)",950:"oklch(26.6% 0.065 152.934)"},emerald:{50:"oklch(97.9% 0.021 166.113)",100:"oklch(95% 0.052 163.051)",200:"oklch(90.5% 0.093 164.15)",300:"oklch(84.5% 0.143 164.978)",400:"oklch(76.5% 0.177 163.223)",500:"oklch(69.6% 0.17 162.48)",600:"oklch(59.6% 0.145 163.225)",700:"oklch(50.8% 0.118 165.612)",800:"oklch(43.2% 0.095 166.913)",900:"oklch(37.8% 0.077 168.94)",950:"oklch(26.2% 0.051 172.552)"},teal:{50:"oklch(98.4% 0.014 180.72)",100:"oklch(95.3% 0.051 180.801)",200:"oklch(91% 0.096 180.426)",300:"oklch(85.5% 0.138 181.071)",400:"oklch(77.7% 0.152 181.912)",500:"oklch(70.4% 0.14 182.503)",600:"oklch(60% 0.118 184.704)",700:"oklch(51.1% 0.096 186.391)",800:"oklch(43.7% 0.078 188.216)",900:"oklch(38.6% 0.063 188.416)",950:"oklch(27.7% 0.046 192.524)"},cyan:{50:"oklch(98.4% 0.019 200.873)",100:"oklch(95.6% 0.045 203.388)",200:"oklch(91.7% 0.08 205.041)",300:"oklch(86.5% 0.127 207.078)",400:"oklch(78.9% 0.154 211.53)",500:"oklch(71.5% 0.143 215.221)",600:"oklch(60.9% 0.126 221.723)",700:"oklch(52% 0.105 223.128)",800:"oklch(45% 0.085 224.283)",900:"oklch(39.8% 0.07 227.392)",950:"oklch(30.2% 0.056 229.695)"},sky:{50:"oklch(97.7% 0.013 236.62)",100:"oklch(95.1% 0.026 236.824)",200:"oklch(90.1% 0.058 230.902)",300:"oklch(82.8% 0.111 230.318)",400:"oklch(74.6% 0.16 232.661)",500:"oklch(68.5% 0.169 237.323)",600:"oklch(58.8% 0.158 241.966)",700:"oklch(50% 0.134 242.749)",800:"oklch(44.3% 0.11 240.79)",900:"oklch(39.1% 0.09 240.876)",950:"oklch(29.3% 0.066 243.157)"},blue:{50:"oklch(97% 0.014 254.604)",100:"oklch(93.2% 0.032 255.585)",200:"oklch(88.2% 0.059 254.128)",300:"oklch(80.9% 0.105 251.813)",400:"oklch(70.7% 0.165 254.624)",500:"oklch(62.3% 0.214 259.815)",600:"oklch(54.6% 0.245 262.881)",700:"oklch(48.8% 0.243 264.376)",800:"oklch(42.4% 0.199 265.638)",900:"oklch(37.9% 0.146 265.522)",950:"oklch(28.2% 0.091 267.935)"},indigo:{50:"oklch(96.2% 0.018 272.314)",100:"oklch(93% 0.034 272.788)",200:"oklch(87% 0.065 274.039)",300:"oklch(78.5% 0.115 274.713)",400:"oklch(67.3% 0.182 276.935)",500:"oklch(58.5% 0.233 277.117)",600:"oklch(51.1% 0.262 276.966)",700:"oklch(45.7% 0.24 277.023)",800:"oklch(39.8% 0.195 277.366)",900:"oklch(35.9% 0.144 278.697)",950:"oklch(25.7% 0.09 281.288)"},violet:{50:"oklch(96.9% 0.016 293.756)",100:"oklch(94.3% 0.029 294.588)",200:"oklch(89.4% 0.057 293.283)",300:"oklch(81.1% 0.111 293.571)",400:"oklch(70.2% 0.183 293.541)",500:"oklch(60.6% 0.25 292.717)",600:"oklch(54.1% 0.281 293.009)",700:"oklch(49.1% 0.27 292.581)",800:"oklch(43.2% 0.232 292.759)",900:"oklch(38% 0.189 293.745)",950:"oklch(28.3% 0.141 291.089)"},purple:{50:"oklch(97.7% 0.014 308.299)",100:"oklch(94.6% 0.033 307.174)",200:"oklch(90.2% 0.063 306.703)",300:"oklch(82.7% 0.119 306.383)",400:"oklch(71.4% 0.203 305.504)",500:"oklch(62.7% 0.265 303.9)",600:"oklch(55.8% 0.288 302.321)",700:"oklch(49.6% 0.265 301.924)",800:"oklch(43.8% 0.218 303.724)",900:"oklch(38.1% 0.176 304.987)",950:"oklch(29.1% 0.149 302.717)"},fuchsia:{50:"oklch(97.7% 0.017 320.058)",100:"oklch(95.2% 0.037 318.852)",200:"oklch(90.3% 0.076 319.62)",300:"oklch(83.3% 0.145 321.434)",400:"oklch(74% 0.238 322.16)",500:"oklch(66.7% 0.295 322.15)",600:"oklch(59.1% 0.293 322.896)",700:"oklch(51.8% 0.253 323.949)",800:"oklch(45.2% 0.211 324.591)",900:"oklch(40.1% 0.17 325.612)",950:"oklch(29.3% 0.136 325.661)"},pink:{50:"oklch(97.1% 0.014 343.198)",100:"oklch(94.8% 0.028 342.258)",200:"oklch(89.9% 0.061 343.231)",300:"oklch(82.3% 0.12 346.018)",400:"oklch(71.8% 0.202 349.761)",500:"oklch(65.6% 0.241 354.308)",600:"oklch(59.2% 0.249 0.584)",700:"oklch(52.5% 0.223 3.958)",800:"oklch(45.9% 0.187 3.815)",900:"oklch(40.8% 0.153 2.432)",950:"oklch(28.4% 0.109 3.907)"},rose:{50:"oklch(96.9% 0.015 12.422)",100:"oklch(94.1% 0.03 12.58)",200:"oklch(89.2% 0.058 10.001)",300:"oklch(81% 0.117 11.638)",400:"oklch(71.2% 0.194 13.428)",500:"oklch(64.5% 0.246 16.439)",600:"oklch(58.6% 0.253 17.585)",700:"oklch(51.4% 0.222 16.935)",800:"oklch(45.5% 0.188 13.697)",900:"oklch(41% 0.159 10.272)",950:"oklch(27.1% 0.105 12.094)"}};var o10=new Set(["black","silver","gray","white","maroon","red","purple","fuchsia","green","lime","olive","yellow","navy","blue","teal","aqua","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","transparent","currentcolor","canvas","canvastext","linktext","visitedtext","activetext","buttonface","buttontext","buttonborder","field","fieldtext","highlight","highlighttext","selecteditem","selecteditemtext","mark","marktext","graytext","accentcolor","accentcolortext"]),a10=/^(rgba?|hsla?|hwb|color|(ok)?(lab|lch)|light-dark|color-mix)\(/i;function s10(w){return w.charCodeAt(0)===35||a10.test(w)||o10.has(w.toLowerCase())}var uh=["calc","min","max","clamp","mod","rem","sin","cos","tan","asin","acos","atan","atan2","pow","sqrt","hypot","log","exp","round"];function iX(w){return w.indexOf("(")!==-1&&uh.some(($)=>w.includes(`${$}(`))}function HT(w){if(!uh.some((J)=>w.includes(J)))return w;let $="",W=[],X=null,Y=null;for(let J=0;J<w.length;J++){let G=w.charCodeAt(J);if(G>=48&&G<=57||X!==null&&(G===37||G>=97&&G<=122||G>=65&&G<=90)?X=J:(Y=X,X=null),G===40){$+=w[J];let f=J;for(let h=J-1;h>=0;h--){let U=w.charCodeAt(h);if(U>=48&&U<=57)f=h;else if(U>=97&&U<=122)f=h;else break}let H=w.slice(f,J);if(uh.includes(H)){W.unshift(!0);continue}else if(W[0]&&H===""){W.unshift(!0);continue}W.unshift(!1);continue}else if(G===41)$+=w[J],W.shift();else if(G===44&&W[0]){$+=", ";continue}else{if(G===32&&W[0]&&$.charCodeAt($.length-1)===32)continue;if((G===43||G===42||G===47||G===45)&&W[0]){let f=$.trimEnd(),H=f.charCodeAt(f.length-1),h=f.charCodeAt(f.length-2),U=w.charCodeAt(J+1);if((H===101||H===69)&&h>=48&&h<=57){$+=w[J];continue}else if(H===43||H===42||H===47||H===45){$+=w[J];continue}else if(H===40||H===44){$+=w[J];continue}else w.charCodeAt(J-1)===32?$+=`${w[J]} `:H>=48&&H<=57||U>=48&&U<=57||H===41||U===40||U===43||U===42||U===47||U===45||Y!==null&&Y===J-1?$+=` ${w[J]} `:$+=w[J]}else $+=w[J]}}return $}var dX=new Uint8Array(256);function T0(w,$){let W=0,X=[],Y=0,J=w.length,G=$.charCodeAt(0);for(let f=0;f<J;f++){let H=w.charCodeAt(f);if(W===0&&H===G){X.push(w.slice(Y,f)),Y=f+1;continue}switch(H){case 92:f+=1;break;case 39:case 34:for(;++f<J;){let h=w.charCodeAt(f);if(h===92){f+=1;continue}if(h===H)break}break;case 40:dX[W]=41,W++;break;case 91:dX[W]=93,W++;break;case 123:dX[W]=125,W++;break;case 93:case 125:case 41:W>0&&H===dX[W-1]&&W--;break}}return X.push(w.slice(Y)),X}var t10={color:s10,length:Q9,percentage:gh,ratio:U20,number:UT,integer:h0,url:hT,position:Q20,"bg-size":O20,"line-width":w20,image:X20,"family-name":J20,"generic-name":Y20,"absolute-size":G20,"relative-size":f20,angle:V20,vector:_20};function v1(w,$){if(w.startsWith("var("))return null;for(let W of $)if(t10[W]?.(w))return W;return null}var e10=/^url\(.*\)$/;function hT(w){return e10.test(w)}function w20(w){return T0(w," ").every(($)=>Q9($)||UT($)||$==="thin"||$==="medium"||$==="thick")}var $20=/^(?:element|image|cross-fade|image-set)\(/,W20=/^(repeating-)?(conic|linear|radial)-gradient\(/;function X20(w){let $=0;for(let W of T0(w,","))if(!W.startsWith("var(")){if(hT(W)){$+=1;continue}if(W20.test(W)){$+=1;continue}if($20.test(W)){$+=1;continue}return!1}return $>0}function Y20(w){return w==="serif"||w==="sans-serif"||w==="monospace"||w==="cursive"||w==="fantasy"||w==="system-ui"||w==="ui-serif"||w==="ui-sans-serif"||w==="ui-monospace"||w==="ui-rounded"||w==="math"||w==="emoji"||w==="fangsong"}function J20(w){let $=0;for(let W of T0(w,",")){let X=W.charCodeAt(0);if(X>=48&&X<=57)return!1;W.startsWith("var(")||($+=1)}return $>0}function G20(w){return w==="xx-small"||w==="x-small"||w==="small"||w==="medium"||w==="large"||w==="x-large"||w==="xx-large"||w==="xxx-large"}function f20(w){return w==="larger"||w==="smaller"}var R3=/[+-]?\d*\.?\d+(?:[eE][+-]?\d+)?/,K20=new RegExp(`^${R3.source}$`);function UT(w){return K20.test(w)||iX(w)}var H20=new RegExp(`^${R3.source}%$`);function gh(w){return H20.test(w)||iX(w)}var h20=new RegExp(`^${R3.source}s*/s*${R3.source}$`);function U20(w){return h20.test(w)||iX(w)}var A20=["cm","mm","Q","in","pc","pt","px","em","ex","ch","rem","lh","rlh","vw","vh","vmin","vmax","vb","vi","svw","svh","lvw","lvh","dvw","dvh","cqw","cqh","cqi","cqb","cqmin","cqmax"],F20=new RegExp(`^${R3.source}(${A20.join("|")})$`);function Q9(w){return F20.test(w)||iX(w)}function Q20(w){let $=0;for(let W of T0(w," ")){if(W==="center"||W==="top"||W==="right"||W==="bottom"||W==="left"){$+=1;continue}if(!W.startsWith("var(")){if(Q9(W)||gh(W)){$+=1;continue}return!1}}return $>0}function O20(w){let $=0;for(let W of T0(w,",")){if(W==="cover"||W==="contain"){$+=1;continue}let X=T0(W," ");if(X.length!==1&&X.length!==2)return!1;if(X.every((Y)=>Y==="auto"||Q9(Y)||gh(Y))){$+=1;continue}}return $>0}var Z20=["deg","rad","grad","turn"],z20=new RegExp(`^${R3.source}(${Z20.join("|")})$`);function V20(w){return z20.test(w)}var M20=new RegExp(`^${R3.source} +${R3.source} +${R3.source}$`);function _20(w){return M20.test(w)}function h0(w){let $=Number(w);return Number.isInteger($)&&$>=0&&String($)===String(w)}function lh(w){let $=Number(w);return Number.isInteger($)&&$>0&&String($)===String(w)}function f2(w){return AT(w,0.25)}function nX(w){return AT(w,0.25)}function AT(w,$){let W=Number(w);return W>=0&&W%$===0&&String(W)===String(w)}function k4(w){return{__BARE_VALUE__:w}}var k5=k4((w)=>{if(h0(w.value))return w.value}),M2=k4((w)=>{if(h0(w.value))return`${w.value}%`}),Z6=k4((w)=>{if(h0(w.value))return`${w.value}px`}),fT=k4((w)=>{if(h0(w.value))return`${w.value}ms`}),cX=k4((w)=>{if(h0(w.value))return`${w.value}deg`}),B20=k4((w)=>{if(w.fraction===null)return;let[$,W]=T0(w.fraction,"/");if(!(!h0($)||!h0(W)))return w.fraction}),KT=k4((w)=>{if(h0(Number(w.value)))return`repeat(${w.value}, minmax(0, 1fr))`}),FT={accentColor:({theme:w})=>w("colors"),animation:{none:"none",spin:"spin 1s linear infinite",ping:"ping 1s cubic-bezier(0, 0, 0.2, 1) infinite",pulse:"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite",bounce:"bounce 1s infinite"},aria:{busy:'busy="true"',checked:'checked="true"',disabled:'disabled="true"',expanded:'expanded="true"',hidden:'hidden="true"',pressed:'pressed="true"',readonly:'readonly="true"',required:'required="true"',selected:'selected="true"'},aspectRatio:{auto:"auto",square:"1 / 1",video:"16 / 9",...B20},backdropBlur:({theme:w})=>w("blur"),backdropBrightness:({theme:w})=>({...w("brightness"),...M2}),backdropContrast:({theme:w})=>({...w("contrast"),...M2}),backdropGrayscale:({theme:w})=>({...w("grayscale"),...M2}),backdropHueRotate:({theme:w})=>({...w("hueRotate"),...cX}),backdropInvert:({theme:w})=>({...w("invert"),...M2}),backdropOpacity:({theme:w})=>({...w("opacity"),...M2}),backdropSaturate:({theme:w})=>({...w("saturate"),...M2}),backdropSepia:({theme:w})=>({...w("sepia"),...M2}),backgroundColor:({theme:w})=>w("colors"),backgroundImage:{none:"none","gradient-to-t":"linear-gradient(to top, var(--tw-gradient-stops))","gradient-to-tr":"linear-gradient(to top right, var(--tw-gradient-stops))","gradient-to-r":"linear-gradient(to right, var(--tw-gradient-stops))","gradient-to-br":"linear-gradient(to bottom right, var(--tw-gradient-stops))","gradient-to-b":"linear-gradient(to bottom, var(--tw-gradient-stops))","gradient-to-bl":"linear-gradient(to bottom left, var(--tw-gradient-stops))","gradient-to-l":"linear-gradient(to left, var(--tw-gradient-stops))","gradient-to-tl":"linear-gradient(to top left, var(--tw-gradient-stops))"},backgroundOpacity:({theme:w})=>w("opacity"),backgroundPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},backgroundSize:{auto:"auto",cover:"cover",contain:"contain"},blur:{0:"0",none:"",sm:"4px",DEFAULT:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},borderColor:({theme:w})=>({DEFAULT:"currentcolor",...w("colors")}),borderOpacity:({theme:w})=>w("opacity"),borderRadius:{none:"0px",sm:"0.125rem",DEFAULT:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},borderSpacing:({theme:w})=>w("spacing"),borderWidth:{DEFAULT:"1px",0:"0px",2:"2px",4:"4px",8:"8px",...Z6},boxShadow:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",DEFAULT:"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)","2xl":"0 25px 50px -12px rgb(0 0 0 / 0.25)",inner:"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)",none:"none"},boxShadowColor:({theme:w})=>w("colors"),brightness:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5",200:"2",...M2},caretColor:({theme:w})=>w("colors"),colors:()=>({...rX}),columns:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12","3xs":"16rem","2xs":"18rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",...k5},container:{},content:{none:"none"},contrast:{0:"0",50:".5",75:".75",100:"1",125:"1.25",150:"1.5",200:"2",...M2},cursor:{auto:"auto",default:"default",pointer:"pointer",wait:"wait",text:"text",move:"move",help:"help","not-allowed":"not-allowed",none:"none","context-menu":"context-menu",progress:"progress",cell:"cell",crosshair:"crosshair","vertical-text":"vertical-text",alias:"alias",copy:"copy","no-drop":"no-drop",grab:"grab",grabbing:"grabbing","all-scroll":"all-scroll","col-resize":"col-resize","row-resize":"row-resize","n-resize":"n-resize","e-resize":"e-resize","s-resize":"s-resize","w-resize":"w-resize","ne-resize":"ne-resize","nw-resize":"nw-resize","se-resize":"se-resize","sw-resize":"sw-resize","ew-resize":"ew-resize","ns-resize":"ns-resize","nesw-resize":"nesw-resize","nwse-resize":"nwse-resize","zoom-in":"zoom-in","zoom-out":"zoom-out"},divideColor:({theme:w})=>w("borderColor"),divideOpacity:({theme:w})=>w("borderOpacity"),divideWidth:({theme:w})=>({...w("borderWidth"),...Z6}),dropShadow:{sm:"0 1px 1px rgb(0 0 0 / 0.05)",DEFAULT:["0 1px 2px rgb(0 0 0 / 0.1)","0 1px 1px rgb(0 0 0 / 0.06)"],md:["0 4px 3px rgb(0 0 0 / 0.07)","0 2px 2px rgb(0 0 0 / 0.06)"],lg:["0 10px 8px rgb(0 0 0 / 0.04)","0 4px 3px rgb(0 0 0 / 0.1)"],xl:["0 20px 13px rgb(0 0 0 / 0.03)","0 8px 5px rgb(0 0 0 / 0.08)"],"2xl":"0 25px 25px rgb(0 0 0 / 0.15)",none:"0 0 #0000"},fill:({theme:w})=>w("colors"),flex:{1:"1 1 0%",auto:"1 1 auto",initial:"0 1 auto",none:"none"},flexBasis:({theme:w})=>({auto:"auto","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",...w("spacing")}),flexGrow:{0:"0",DEFAULT:"1",...k5},flexShrink:{0:"0",DEFAULT:"1",...k5},fontFamily:{sans:["ui-sans-serif","system-ui","sans-serif",'"Apple Color Emoji"','"Segoe UI Emoji"','"Segoe UI Symbol"','"Noto Color Emoji"'],serif:["ui-serif","Georgia","Cambria",'"Times New Roman"',"Times","serif"],mono:["ui-monospace","SFMono-Regular","Menlo","Monaco","Consolas",'"Liberation Mono"','"Courier New"',"monospace"]},fontSize:{xs:["0.75rem",{lineHeight:"1rem"}],sm:["0.875rem",{lineHeight:"1.25rem"}],base:["1rem",{lineHeight:"1.5rem"}],lg:["1.125rem",{lineHeight:"1.75rem"}],xl:["1.25rem",{lineHeight:"1.75rem"}],"2xl":["1.5rem",{lineHeight:"2rem"}],"3xl":["1.875rem",{lineHeight:"2.25rem"}],"4xl":["2.25rem",{lineHeight:"2.5rem"}],"5xl":["3rem",{lineHeight:"1"}],"6xl":["3.75rem",{lineHeight:"1"}],"7xl":["4.5rem",{lineHeight:"1"}],"8xl":["6rem",{lineHeight:"1"}],"9xl":["8rem",{lineHeight:"1"}]},fontWeight:{thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},gap:({theme:w})=>w("spacing"),gradientColorStops:({theme:w})=>w("colors"),gradientColorStopPositions:{"0%":"0%","5%":"5%","10%":"10%","15%":"15%","20%":"20%","25%":"25%","30%":"30%","35%":"35%","40%":"40%","45%":"45%","50%":"50%","55%":"55%","60%":"60%","65%":"65%","70%":"70%","75%":"75%","80%":"80%","85%":"85%","90%":"90%","95%":"95%","100%":"100%",...M2},grayscale:{0:"0",DEFAULT:"100%",...M2},gridAutoColumns:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridAutoRows:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridColumn:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridColumnEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13",...k5},gridColumnStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13",...k5},gridRow:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridRowEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13",...k5},gridRowStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13",...k5},gridTemplateColumns:{none:"none",subgrid:"subgrid",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))",...KT},gridTemplateRows:{none:"none",subgrid:"subgrid",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))",...KT},height:({theme:w})=>({auto:"auto","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content",...w("spacing")}),hueRotate:{0:"0deg",15:"15deg",30:"30deg",60:"60deg",90:"90deg",180:"180deg",...cX},inset:({theme:w})=>({auto:"auto","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%",...w("spacing")}),invert:{0:"0",DEFAULT:"100%",...M2},keyframes:{spin:{to:{transform:"rotate(360deg)"}},ping:{"75%, 100%":{transform:"scale(2)",opacity:"0"}},pulse:{"50%":{opacity:".5"}},bounce:{"0%, 100%":{transform:"translateY(-25%)",animationTimingFunction:"cubic-bezier(0.8,0,1,1)"},"50%":{transform:"none",animationTimingFunction:"cubic-bezier(0,0,0.2,1)"}}},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:{none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},listStyleType:{none:"none",disc:"disc",decimal:"decimal"},listStyleImage:{none:"none"},margin:({theme:w})=>({auto:"auto",...w("spacing")}),lineClamp:{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",...k5},maxHeight:({theme:w})=>({none:"none",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content",...w("spacing")}),maxWidth:({theme:w})=>({none:"none",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",min:"min-content",max:"max-content",fit:"fit-content",prose:"65ch",...w("spacing")}),minHeight:({theme:w})=>({full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content",...w("spacing")}),minWidth:({theme:w})=>({full:"100%",min:"min-content",max:"max-content",fit:"fit-content",...w("spacing")}),objectPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},opacity:{0:"0",5:"0.05",10:"0.1",15:"0.15",20:"0.2",25:"0.25",30:"0.3",35:"0.35",40:"0.4",45:"0.45",50:"0.5",55:"0.55",60:"0.6",65:"0.65",70:"0.7",75:"0.75",80:"0.8",85:"0.85",90:"0.9",95:"0.95",100:"1",...M2},order:{first:"-9999",last:"9999",none:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",...k5},outlineColor:({theme:w})=>w("colors"),outlineOffset:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Z6},outlineWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Z6},padding:({theme:w})=>w("spacing"),placeholderColor:({theme:w})=>w("colors"),placeholderOpacity:({theme:w})=>w("opacity"),ringColor:({theme:w})=>({DEFAULT:"currentcolor",...w("colors")}),ringOffsetColor:({theme:w})=>w("colors"),ringOffsetWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Z6},ringOpacity:({theme:w})=>({DEFAULT:"0.5",...w("opacity")}),ringWidth:{DEFAULT:"3px",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Z6},rotate:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg",45:"45deg",90:"90deg",180:"180deg",...cX},saturate:{0:"0",50:".5",100:"1",150:"1.5",200:"2",...M2},scale:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5",...M2},screens:{sm:"40rem",md:"48rem",lg:"64rem",xl:"80rem","2xl":"96rem"},scrollMargin:({theme:w})=>w("spacing"),scrollPadding:({theme:w})=>w("spacing"),sepia:{0:"0",DEFAULT:"100%",...M2},skew:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg",...cX},space:({theme:w})=>w("spacing"),spacing:{px:"1px",0:"0px",0.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",11:"2.75rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},stroke:({theme:w})=>({none:"none",...w("colors")}),strokeWidth:{0:"0",1:"1",2:"2",...k5},supports:{},data:{},textColor:({theme:w})=>w("colors"),textDecorationColor:({theme:w})=>w("colors"),textDecorationThickness:{auto:"auto","from-font":"from-font",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Z6},textIndent:({theme:w})=>w("spacing"),textOpacity:({theme:w})=>w("opacity"),textUnderlineOffset:{auto:"auto",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px",...Z6},transformOrigin:{center:"center",top:"top","top-right":"top right",right:"right","bottom-right":"bottom right",bottom:"bottom","bottom-left":"bottom left",left:"left","top-left":"top left"},transitionDelay:{0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1000:"1000ms",...fT},transitionDuration:{DEFAULT:"150ms",0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1000:"1000ms",...fT},transitionProperty:{none:"none",all:"all",DEFAULT:"color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter",colors:"color, background-color, border-color, outline-color, text-decoration-color, fill, stroke",opacity:"opacity",shadow:"box-shadow",transform:"transform"},transitionTimingFunction:{DEFAULT:"cubic-bezier(0.4, 0, 0.2, 1)",linear:"linear",in:"cubic-bezier(0.4, 0, 1, 1)",out:"cubic-bezier(0, 0, 0.2, 1)","in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},translate:({theme:w})=>({"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%",...w("spacing")}),size:({theme:w})=>({auto:"auto","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",min:"min-content",max:"max-content",fit:"fit-content",...w("spacing")}),width:({theme:w})=>({auto:"auto","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",screen:"100vw",svw:"100svw",lvw:"100lvw",dvw:"100dvw",min:"min-content",max:"max-content",fit:"fit-content",...w("spacing")}),willChange:{auto:"auto",scroll:"scroll-position",contents:"contents",transform:"transform"},zIndex:{auto:"auto",0:"0",10:"10",20:"20",30:"30",40:"40",50:"50",...k5}};var N20="4.2.1";function D20(w){let $=[0];for(let Y=0;Y<w.length;Y++)w.charCodeAt(Y)===10&&$.push(Y+1);function W(Y){let J=0,G=$.length;for(;G>0;){let H=(G|0)>>1,h=J+H;$[h]<=Y?(J=h+1,G=G-H-1):G=H}J-=1;let f=Y-$[J];return{line:J+1,column:f}}function X({line:Y,column:J}){Y-=1,Y=Math.min(Math.max(Y,0),$.length-1);let G=$[Y],f=$[Y+1]??G;return Math.min(Math.max(G+J,0),f)}return{find:W,findOffset:X}}var Q7=92,oX=47,aX=42,QT=34,OT=39,q20=58,WY=59,L5=10,YY=13,O7=32,Z7=9,ZT=123,ph=125,ih=40,zT=41,R20=91,v20=93,VT=45,rh=64,k20=33,k3=class w extends Error{loc;constructor($,W){if(W){let X=W[0],Y=D20(X.code).find(W[1]);$=`${X.file}:${Y.line}:${Y.column+1}: ${$}`}super($),this.name="CssSyntaxError",this.loc=W,Error.captureStackTrace&&Error.captureStackTrace(this,w)}};function QP(w,$){let W=$?.from?{file:$.from,code:w}:null;w[0]==="\uFEFF"&&(w=" "+w.slice(1));let X=[],Y=[],J=[],G=null,f=null,H="",h="",U=0,A;for(let F=0;F<w.length;F++){let O=w.charCodeAt(F);if(!(O===YY&&(A=w.charCodeAt(F+1),A===L5)))if(O===Q7)H===""&&(U=F),H+=w.slice(F,F+2),F+=1;else if(O===oX&&w.charCodeAt(F+1)===aX){let M=F;for(let R=F+2;R<w.length;R++)if(A=w.charCodeAt(R),A===Q7)R+=1;else if(A===aX&&w.charCodeAt(R+1)===oX){F=R+1;break}let N=w.slice(M,F+1);if(N.charCodeAt(2)===k20){let R=zP(N.slice(2,-2));Y.push(R),W&&(R.src=[W,M,F+1],R.dst=[W,M,F+1])}}else if(O===OT||O===QT){let M=MT(w,F,O,W);H+=w.slice(F,M+1),F=M}else{if((O===O7||O===L5||O===Z7)&&(A=w.charCodeAt(F+1))&&(A===O7||A===L5||A===Z7||A===YY&&(A=w.charCodeAt(F+2))&&A==L5))continue;if(O===L5){if(H.length===0)continue;A=H.charCodeAt(H.length-1),A!==O7&&A!==L5&&A!==Z7&&(H+=" ")}else if(O===VT&&w.charCodeAt(F+1)===VT&&H.length===0){let M="",N=F,R=-1;for(let P=F+2;P<w.length;P++)if(A=w.charCodeAt(P),A===Q7)P+=1;else if(A===OT||A===QT)P=MT(w,P,A,W);else if(A===oX&&w.charCodeAt(P+1)===aX){for(let j=P+2;j<w.length;j++)if(A=w.charCodeAt(j),A===Q7)j+=1;else if(A===aX&&w.charCodeAt(j+1)===oX){P=j+1;break}}else if(R===-1&&A===q20)R=H.length+P-N;else if(A===WY&&M.length===0){H+=w.slice(N,P),F=P;break}else if(A===ih)M+=")";else if(A===R20)M+="]";else if(A===ZT)M+="}";else if((A===ph||w.length-1===P)&&M.length===0){F=P-1,H+=w.slice(N,P);break}else(A===zT||A===v20||A===ph)&&M.length>0&&w[P]===M[M.length-1]&&(M=M.slice(0,-1));let E=dh(H,R);if(!E)throw new k3("Invalid custom property, expected a value",W?[W,N,F]:null);W&&(E.src=[W,N,F],E.dst=[W,N,F]),G?G.nodes.push(E):X.push(E),H=""}else if(O===WY&&H.charCodeAt(0)===rh)f=XY(H),W&&(f.src=[W,U,F],f.dst=[W,U,F]),G?G.nodes.push(f):X.push(f),H="",f=null;else if(O===WY&&h[h.length-1]!==")"){let M=dh(H);if(!M){if(H.length===0)continue;throw new k3(`Invalid declaration: \`${H.trim()}\``,W?[W,U,F]:null)}W&&(M.src=[W,U,F],M.dst=[W,U,F]),G?G.nodes.push(M):X.push(M),H=""}else if(O===ZT&&h[h.length-1]!==")")h+="}",f=t1(H.trim()),W&&(f.src=[W,U,F],f.dst=[W,U,F]),G&&G.nodes.push(f),J.push(G),G=f,H="",f=null;else if(O===ph&&h[h.length-1]!==")"){if(h==="")throw new k3("Missing opening {",W?[W,F,F]:null);if(h=h.slice(0,-1),H.length>0)if(H.charCodeAt(0)===rh)f=XY(H),W&&(f.src=[W,U,F],f.dst=[W,U,F]),G?G.nodes.push(f):X.push(f),H="",f=null;else{let N=H.indexOf(":");if(G){let R=dh(H,N);if(!R)throw new k3(`Invalid declaration: \`${H.trim()}\``,W?[W,U,F]:null);W&&(R.src=[W,U,F],R.dst=[W,U,F]),G.nodes.push(R)}}let M=J.pop()??null;M===null&&G&&X.push(G),G=M,H="",f=null}else if(O===ih)h+=")",H+="(";else if(O===zT){if(h[h.length-1]!==")")throw new k3("Missing opening (",W?[W,F,F]:null);h=h.slice(0,-1),H+=")"}else{if(H.length===0&&(O===O7||O===L5||O===Z7))continue;H===""&&(U=F),H+=String.fromCharCode(O)}}}if(H.charCodeAt(0)===rh){let F=XY(H);W&&(F.src=[W,U,w.length],F.dst=[W,U,w.length]),X.push(F)}if(h.length>0&&G){if(G.kind==="rule")throw new k3(`Missing closing } at ${G.selector}`,G.src?[G.src[0],G.src[1],G.src[1]]:null);if(G.kind==="at-rule")throw new k3(`Missing closing } at ${G.name} ${G.params}`,G.src?[G.src[0],G.src[1],G.src[1]]:null)}return Y.length>0?Y.concat(X):X}function XY(w,$=[]){let W=w,X="";for(let Y=5;Y<w.length;Y++){let J=w.charCodeAt(Y);if(J===O7||J===Z7||J===ih){W=w.slice(0,Y),X=w.slice(Y);break}}return w1(W.trim(),X.trim(),$)}function dh(w,$=w.indexOf(":")){if($===-1)return null;let W=w.indexOf("!important",$+1);return _(w.slice(0,$).trim(),w.slice($+1,W===-1?w.length:W).trim(),W!==-1)}function MT(w,$,W,X=null){let Y;for(let J=$+1;J<w.length;J++)if(Y=w.charCodeAt(J),Y===Q7)J+=1;else{if(Y===W)return J;if(Y===WY&&(w.charCodeAt(J+1)===L5||w.charCodeAt(J+1)===YY&&w.charCodeAt(J+2)===L5))throw new k3(`Unterminated string: ${w.slice($,J+1)+String.fromCharCode(W)}`,X?[X,$,J+1]:null);if(Y===L5||Y===YY&&w.charCodeAt(J+1)===L5)throw new k3(`Unterminated string: ${w.slice($,J)+String.fromCharCode(W)}`,X?[X,$,J+1]:null)}return $}function FY(w){if(arguments.length===0)throw TypeError("`CSS.escape` requires an argument.");let $=String(w),W=$.length,X=-1,Y,J="",G=$.charCodeAt(0);if(W===1&&G===45)return"\\"+$;for(;++X<W;){if(Y=$.charCodeAt(X),Y===0){J+="\uFFFD";continue}if(Y>=1&&Y<=31||Y===127||X===0&&Y>=48&&Y<=57||X===1&&Y>=48&&Y<=57&&G===45){J+="\\"+Y.toString(16)+" ";continue}if(Y>=128||Y===45||Y===95||Y>=48&&Y<=57||Y>=65&&Y<=90||Y>=97&&Y<=122){J+=$.charAt(X);continue}J+="\\"+$.charAt(X)}return J}function _7(w){return w.replace(/\\([\dA-Fa-f]{1,6}[\t\n\f\r ]?|[\S\s])/g,($)=>$.length>2?String.fromCodePoint(Number.parseInt($.slice(1).trim(),16)):$[1])}var OP=new Map([["--font",["--font-weight","--font-size"]],["--inset",["--inset-shadow","--inset-ring"]],["--text",["--text-color","--text-decoration-color","--text-decoration-thickness","--text-indent","--text-shadow","--text-underline-offset"]],["--grid-column",["--grid-column-start","--grid-column-end"]],["--grid-row",["--grid-row-start","--grid-row-end"]]]);function _T(w,$){return(OP.get($)??[]).some((W)=>w===W||w.startsWith(`${W}-`))}var L20=class{constructor(w=new Map,$=new Set([])){this.values=w,this.keyframes=$}prefix=null;get size(){return this.values.size}add(w,$,W=0,X){if(w.endsWith("-*")){if($!=="initial")throw Error(`Invalid theme value \`${$}\` for namespace \`${w}\``);w==="--*"?this.values.clear():this.clearNamespace(w.slice(0,-2),0)}if(W&4){let Y=this.values.get(w);if(Y&&!(Y.options&4))return}$==="initial"?this.values.delete(w):this.values.set(w,{value:$,options:W,src:X})}keysInNamespaces(w){let $=[];for(let W of w){let X=`${W}-`;for(let Y of this.values.keys())Y.startsWith(X)&&Y.indexOf("--",2)===-1&&(_T(Y,W)||$.push(Y.slice(X.length)))}return $}get(w){for(let $ of w){let W=this.values.get($);if(W)return W.value}return null}hasDefault(w){return(this.getOptions(w)&4)===4}getOptions(w){return w=_7(this.#W(w)),this.values.get(w)?.options??0}entries(){return this.prefix?Array.from(this.values,(w)=>(w[0]=this.prefixKey(w[0]),w)):this.values.entries()}prefixKey(w){return this.prefix?`--${this.prefix}-${w.slice(2)}`:w}#W(w){return this.prefix?`--${w.slice(3+this.prefix.length)}`:w}clearNamespace(w,$){let W=OP.get(w)??[];w:for(let X of this.values.keys())if(X.startsWith(w)){if($!==0&&(this.getOptions(X)&$)!==$)continue;for(let Y of W)if(X.startsWith(Y))continue w;this.values.delete(X)}}#$(w,$){for(let W of $){let X=w!==null?`${W}-${w}`:W;if(!this.values.has(X))if(w!==null&&w.includes(".")){if(X=`${W}-${w.replaceAll(".","_")}`,!this.values.has(X))continue}else continue;if(!_T(X,W))return X}return null}#w(w){let $=this.values.get(w);if(!$)return null;let W=null;return $.options&2&&(W=$.value),`var(${FY(this.prefixKey(w))}${W?`, ${W}`:""})`}markUsedVariable(w){let $=_7(this.#W(w)),W=this.values.get($);if(!W)return!1;let X=W.options&16;return W.options|=16,!X}resolve(w,$,W=0){let X=this.#$(w,$);if(!X)return null;let Y=this.values.get(X);return(W|Y.options)&1?Y.value:this.#w(X)}resolveValue(w,$){let W=this.#$(w,$);return W?this.values.get(W).value:null}resolveWith(w,$,W=[]){let X=this.#$(w,$);if(!X)return null;let Y={};for(let G of W){let f=`${X}${G}`,H=this.values.get(f);H&&(H.options&1?Y[G]=H.value:Y[G]=this.#w(f))}let J=this.values.get(X);return J.options&1?[J.value,Y]:[this.#w(X),Y]}namespace(w){let $=new Map,W=`${w}-`;for(let[X,Y]of this.values)X===w?$.set(null,Y.value):X.startsWith(`${W}-`)?$.set(X.slice(w.length),Y.value):X.startsWith(W)&&$.set(X.slice(W.length),Y.value);return $}addKeyframes(w){this.keyframes.add(w)}getKeyframes(){return Array.from(this.keyframes)}},j0=class extends Map{constructor(w){super();this.factory=w}get(w){let $=super.get(w);return $===void 0&&($=this.factory(w,this),this.set(w,$)),$}};function E5(w){return{kind:"word",value:w}}function E20(w,$){return{kind:"function",value:w,nodes:$}}function T20(w){return{kind:"separator",value:w}}function q1(w){let $="";for(let W of w)switch(W.kind){case"word":case"separator":{$+=W.value;break}case"function":$+=W.value+"("+q1(W.nodes)+")"}return $}var BT=92,P20=41,NT=58,DT=44,j20=34,qT=61,RT=62,vT=60,kT=10,C20=40,b20=39,I20=47,LT=32,ET=9;function G1(w){w=w.replaceAll(`\r
|
|
971
971
|
`,`
|
|
972
972
|
`);let $=[],W=[],X=null,Y="",J;for(let G=0;G<w.length;G++){let f=w.charCodeAt(G);switch(f){case BT:{Y+=w[G]+w[G+1],G++;break}case I20:{if(Y.length>0){let h=E5(Y);X?X.nodes.push(h):$.push(h),Y=""}let H=E5(w[G]);X?X.nodes.push(H):$.push(H);break}case NT:case DT:case qT:case RT:case vT:case kT:case LT:case ET:{if(Y.length>0){let A=E5(Y);X?X.nodes.push(A):$.push(A),Y=""}let H=G,h=G+1;for(;h<w.length&&(J=w.charCodeAt(h),!(J!==NT&&J!==DT&&J!==qT&&J!==RT&&J!==vT&&J!==kT&&J!==LT&&J!==ET));h++);G=h-1;let U=T20(w.slice(H,h));X?X.nodes.push(U):$.push(U);break}case b20:case j20:{let H=G;for(let h=G+1;h<w.length;h++)if(J=w.charCodeAt(h),J===BT)h+=1;else if(J===f){G=h;break}Y+=w.slice(H,G+1);break}case C20:{let H=E20(Y,[]);Y="",X?X.nodes.push(H):$.push(H),W.push(H),X=H;break}case P20:{let H=W.pop();if(Y.length>0){let h=E5(Y);H?.nodes.push(h),Y=""}W.length>0?X=W[W.length-1]:X=null;break}default:Y+=String.fromCharCode(f)}}return Y.length>0&&$.push(E5(Y)),$}var nh=((w)=>(w[w.Continue=0]="Continue",w[w.Skip=1]="Skip",w[w.Stop=2]="Stop",w[w.Replace=3]="Replace",w[w.ReplaceSkip=4]="ReplaceSkip",w[w.ReplaceStop=5]="ReplaceStop",w))(nh||{}),Z0={Continue:{kind:0},Skip:{kind:1},Stop:{kind:2},Replace:(w)=>({kind:3,nodes:Array.isArray(w)?w:[w]}),ReplaceSkip:(w)=>({kind:4,nodes:Array.isArray(w)?w:[w]}),ReplaceStop:(w)=>({kind:5,nodes:Array.isArray(w)?w:[w]})};function N0(w,$){typeof $=="function"?TT(w,$):TT(w,$.enter,$.exit)}function TT(w,$=()=>Z0.Continue,W=()=>Z0.Continue){let X={value:[w,0,null],prev:null},Y={parent:null,depth:0,path(){let J=[],G=X;for(;G;){let f=G.value[2];f&&J.push(f),G=G.prev}return J.reverse(),J}};for(;X!==null;){let J=X.value,G=J[0],f=J[1],H=J[2];if(f>=G.length){X=X.prev,Y.depth-=1;continue}if(Y.parent=H,f>=0){let F=G[f],O=$(F,Y)??Z0.Continue;switch(O.kind){case 0:{F.nodes&&F.nodes.length>0&&(Y.depth+=1,X={value:[F.nodes,0,F],prev:X}),J[1]=~f;continue}case 2:return;case 1:{J[1]=~f;continue}case 3:{G.splice(f,1,...O.nodes);continue}case 5:{G.splice(f,1,...O.nodes);return}case 4:{G.splice(f,1,...O.nodes),J[1]+=O.nodes.length;continue}default:throw Error(`Invalid \`WalkAction.${nh[O.kind]??`Unknown(${O.kind})`}\` in enter.`)}}let h=~f,U=G[h],A=W(U,Y)??Z0.Continue;switch(A.kind){case 0:J[1]=h+1;continue;case 2:return;case 3:{G.splice(h,1,...A.nodes),J[1]=h+A.nodes.length;continue}case 5:{G.splice(h,1,...A.nodes);return}case 4:{G.splice(h,1,...A.nodes),J[1]=h+A.nodes.length;continue}default:throw Error(`Invalid \`WalkAction.${nh[A.kind]??`Unknown(${A.kind})`}\` in exit.`)}}}function ZP(w){let $=[];return N0(G1(w),(W)=>{if(!(W.kind!=="function"||W.value!=="var"))return N0(W.nodes,(X)=>{X.kind!=="word"||X.value[0]!=="-"||X.value[1]!=="-"||$.push(X.value)}),Z0.Skip}),$}var S20=64;function J1(w,$=[]){return{kind:"rule",selector:w,nodes:$}}function w1(w,$="",W=[]){return{kind:"at-rule",name:w,params:$,nodes:W}}function t1(w,$=[]){return w.charCodeAt(0)===S20?XY(w,$):J1(w,$)}function _(w,$,W=!1){return{kind:"declaration",property:w,value:$,important:W}}function zP(w){return{kind:"comment",value:w}}function E4(w,$){return{kind:"context",context:w,nodes:$}}function c0(w){return{kind:"at-root",nodes:w}}function H5(w){switch(w.kind){case"rule":return{kind:w.kind,selector:w.selector,nodes:w.nodes.map(H5),src:w.src,dst:w.dst};case"at-rule":return{kind:w.kind,name:w.name,params:w.params,nodes:w.nodes.map(H5),src:w.src,dst:w.dst};case"at-root":return{kind:w.kind,nodes:w.nodes.map(H5),src:w.src,dst:w.dst};case"context":return{kind:w.kind,context:{...w.context},nodes:w.nodes.map(H5),src:w.src,dst:w.dst};case"declaration":return{kind:w.kind,property:w.property,value:w.value,important:w.important,src:w.src,dst:w.dst};case"comment":return{kind:w.kind,value:w.value,src:w.src,dst:w.dst};default:throw Error(`Unknown node kind: ${w.kind}`)}}function XU(w){return{depth:w.depth,get context(){let $={};for(let W of w.path())W.kind==="context"&&Object.assign($,W.context);return Object.defineProperty(this,"context",{value:$}),$},get parent(){let $=this.path().pop()??null;return Object.defineProperty(this,"parent",{value:$}),$},path(){return w.path().filter(($)=>$.kind!=="context")}}}function z7(w,$,W=3){let X=[],Y=new Set,J=new j0(()=>new Set),G=new j0(()=>new Set),f=new Set,H=new Set,h=[],U=[],A=new j0(()=>new Set);function F(M,N,R={},E=0){if(M.kind==="declaration"){if(M.property==="--tw-sort"||M.value===void 0||M.value===null)return;if(R.theme&&M.property[0]==="-"&&M.property[1]==="-"){if(M.value==="initial"){M.value=void 0;return}R.keyframes||J.get(N).add(M)}if(M.value.includes("var("))if(R.theme&&M.property[0]==="-"&&M.property[1]==="-")for(let P of ZP(M.value))A.get(P).add(M.property);else $.trackUsedVariables(M.value);if(M.property==="animation")for(let P of PT(M.value))H.add(P);W&2&&M.value.includes("color-mix(")&&!R.supportsColorMix&&!R.keyframes&&G.get(N).add(M),N.push(M)}else if(M.kind==="rule"){let P=[];for(let p of M.nodes)F(p,P,R,E+1);let j={},d=new Set;for(let p of P){if(p.kind!=="declaration")continue;let y=`${p.property}:${p.value}:${p.important}`;j[y]??=[],j[y].push(p)}for(let p in j)for(let y=0;y<j[p].length-1;++y)d.add(j[p][y]);if(d.size>0&&(P=P.filter((p)=>!d.has(p))),P.length===0)return;M.selector==="&"?N.push(...P):N.push({...M,nodes:P})}else if(M.kind==="at-rule"&&M.name==="@property"&&E===0){if(Y.has(M.params))return;if(W&1){let j=M.params,d=null,p=!1;for(let q of M.nodes)q.kind==="declaration"&&(q.property==="initial-value"?d=q.value:q.property==="inherits"&&(p=q.value==="true"));let y=_(j,d??"initial");y.src=M.src,p?h.push(y):U.push(y)}Y.add(M.params);let P={...M,nodes:[]};for(let j of M.nodes)F(j,P.nodes,R,E+1);N.push(P)}else if(M.kind==="at-rule"){M.name==="@keyframes"?R={...R,keyframes:!0}:M.name==="@supports"&&M.params.includes("color-mix(")&&(R={...R,supportsColorMix:!0});let P={...M,nodes:[]};for(let j of M.nodes)F(j,P.nodes,R,E+1);M.name==="@keyframes"&&R.theme&&f.add(P),(P.nodes.length>0||P.name==="@layer"||P.name==="@charset"||P.name==="@custom-media"||P.name==="@namespace"||P.name==="@import")&&N.push(P)}else if(M.kind==="at-root")for(let P of M.nodes){let j=[];F(P,j,R,0);for(let d of j)X.push(d)}else if(M.kind==="context"){if(M.context.reference)return;for(let P of M.nodes)F(P,N,{...R,...M.context},E)}else M.kind==="comment"&&N.push(M)}let O=[];for(let M of w)F(M,O,{},0);w:for(let[M,N]of J)for(let R of N){if(VP(R.property,$.theme,A)){if(R.property.startsWith($.theme.prefixKey("--animate-")))for(let P of PT(R.value))H.add(P);continue}let E=M.indexOf(R);if(M.splice(E,1),M.length===0){let P=x20(O,(j)=>j.kind==="rule"&&j.nodes===M);if(!P||P.length===0)continue w;P.unshift({kind:"at-root",nodes:O});do{let j=P.pop();if(!j)break;let d=P[P.length-1];if(!d||d.kind!=="at-root"&&d.kind!=="at-rule")break;let p=d.nodes.indexOf(j);if(p===-1)break;d.nodes.splice(p,1)}while(!0);continue w}}for(let M of f)if(!H.has(M.params)){let N=X.indexOf(M);X.splice(N,1)}if(O=O.concat(X),W&2)for(let[M,N]of G)for(let R of N){let E=M.indexOf(R);if(E===-1||R.value==null)continue;let P=G1(R.value),j=!1;if(N0(P,(y)=>{if(y.kind!=="function"||y.value!=="color-mix")return;let q=!1,a=!1;if(N0(y.nodes,(s)=>{if(s.kind=="word"&&s.value.toLowerCase()==="currentcolor"){a=!0,j=!0;return}let X0=s,H0=null,A0=new Set;do{if(X0.kind!=="function"||X0.value!=="var")return;let W0=X0.nodes[0];if(!W0||W0.kind!=="word")return;let V=W0.value;if(A0.has(V)){q=!0;return}if(A0.add(V),j=!0,H0=$.theme.resolveValue(null,[W0.value]),!H0){q=!0;return}if(H0.toLowerCase()==="currentcolor"){a=!0;return}H0.startsWith("var(")?X0=G1(H0)[0]:X0=null}while(X0);return Z0.Replace({kind:"word",value:H0})}),q||a){let s=y.nodes.findIndex((H0)=>H0.kind==="separator"&&H0.value.trim().includes(","));if(s===-1)return;let X0=y.nodes.length>s?y.nodes[s+1]:null;return X0?Z0.Replace(X0):void 0}else if(j){let s=y.nodes[2];s.kind==="word"&&(s.value==="oklab"||s.value==="oklch"||s.value==="lab"||s.value==="lch")&&(s.value="srgb")}}),!j)continue;let d={...R,value:q1(P)},p=t1("@supports (color: color-mix(in lab, red, red))",[R]);p.src=R.src,M.splice(E,1,d,p)}if(W&1){let M=[];if(h.length>0){let N=t1(":root, :host",h);N.src=h[0].src,M.push(N)}if(U.length>0){let N=t1("*, ::before, ::after, ::backdrop",U);N.src=U[0].src,M.push(N)}if(M.length>0){let N=O.findIndex((P)=>!(P.kind==="comment"||P.kind==="at-rule"&&(P.name==="@charset"||P.name==="@import"))),R=w1("@layer","properties",[]);R.src=M[0].src,O.splice(N<0?O.length:N,0,R);let E=t1("@layer properties",[w1("@supports","((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b))))",M)]);E.src=M[0].src,E.nodes[0].src=M[0].src,O.push(E)}}return O}function T3(w,$){let W=0,X={file:null,code:""};function Y(G,f=0){let H="",h=" ".repeat(f);if(G.kind==="declaration"){if(H+=`${h}${G.property}: ${G.value}${G.important?" !important":""};
|
|
973
973
|
`,$){W+=h.length;let U=W;W+=G.property.length,W+=2,W+=G.value?.length??0,G.important&&(W+=11);let A=W;W+=2,G.dst=[X,U,A]}}else if(G.kind==="rule"){if(H+=`${h}${G.selector} {
|
|
@@ -1038,7 +1038,7 @@ ${$.join(`
|
|
|
1038
1038
|
`;if($){W+=h.length;let A=W;W+=G.name.length,W+=1,W+=G.params.length;let F=W;W+=2,G.dst=[X,A,F]}return U}if(H+=`${h}${G.name}${G.params?` ${G.params} `:" "}{
|
|
1039
1039
|
`,$){W+=h.length;let U=W;W+=G.name.length,G.params&&(W+=1,W+=G.params.length),W+=1;let A=W;G.dst=[X,U,A],W+=2}for(let U of G.nodes)H+=Y(U,f+1);H+=`${h}}
|
|
1040
1040
|
`,$&&(W+=h.length,W+=2)}else if(G.kind==="comment"){if(H+=`${h}/*${G.value}*/
|
|
1041
|
-
`,$){W+=h.length;let U=W;W+=2+G.value.length+2;let A=W;G.dst=[X,U,A],W+=1}}else if(G.kind==="context"||G.kind==="at-root")return"";return H}let J="";for(let G of w)J+=Y(G,0);return X.code=J,J}var Q90=33;function O90(w,$,W){let X=new y4((h)=>new w.Input(h.code,{map:W?.input.map,from:h.file??void 0})),Y=new y4((h)=>$90(h.code)),J=w.root();J.source=W;function G(h){if(!h||!h[0])return;let U=Y.get(h[0]),A=U.find(h[1]),F=U.find(h[2]);return{input:X.get(h[0]),start:{line:A.line,column:A.column+1,offset:h[1]},end:{line:F.line,column:F.column+1,offset:h[2]}}}function f(h,U){let A=G(U);A?h.source=A:delete h.source}function H(h,U){if(h.kind==="declaration"){let A=w.decl({prop:h.property,value:h.value??"",important:h.important});f(A,h.src),U.append(A)}else if(h.kind==="rule"){let A=w.rule({selector:h.selector});f(A,h.src),A.raws.semicolon=!0,U.append(A);for(let F of h.nodes)H(F,A)}else if(h.kind==="at-rule"){let A=w.atRule({name:h.name.slice(1),params:h.params});f(A,h.src),A.raws.semicolon=!0,U.append(A);for(let F of h.nodes)H(F,A)}else if(h.kind==="comment"){let A=w.comment({text:h.value});A.raws.left="",A.raws.right="",f(A,h.src),U.append(A)}else h.kind==="at-root"||h.kind}for(let h of $)H(h,J);return J}function Z90(w){let $=new y4((J)=>({file:J.file??J.id??null,code:J.css}));function W(J){let G=J.source;if(!G)return;let f=G.input;if(f&&G.start!==void 0&&G.end!==void 0)return[$.get(f),G.start.offset,G.end.offset]}function X(J,G){if(J.type==="decl"){let f=U90(J.prop,J.value,J.important);f.src=W(J),G.push(f)}else if(J.type==="rule"){let f=h90(J.selector);f.src=W(J),J.each((H)=>X(H,f.nodes)),G.push(f)}else if(J.type==="atrule"){let f=kC(`@${J.name}`,J.params);f.src=W(J),J.each((H)=>X(H,f.nodes)),G.push(f)}else if(J.type==="comment"){if(J.text.charCodeAt(0)!==Q90)return;let f=A90(J.text);f.src=W(J),G.push(f)}}let Y=[];return w.each((J)=>X(J,Y)),Y}var CU="'",bU='"';function z90(){let w=new WeakSet;function $(W){let X=W.root().source?.input.file;if(!X)return;let Y=W.source?.input.file;if(!Y||w.has(W))return;let J=W.params[0],G=J[0]===bU&&J[J.length-1]===bU?bU:J[0]===CU&&J[J.length-1]===CU?CU:null;if(!G)return;let f=W.params.slice(1,-1),H="";if(f.startsWith("!")&&(f=f.slice(1),H="!"),!f.startsWith("./")&&!f.startsWith("../"))return;let h=uY.posix.join(u7(uY.dirname(Y)),f),U=uY.posix.dirname(u7(X)),A=uY.posix.relative(U,h);A.startsWith(".")||(A="./"+A),W.params=G+H+A+G,w.add(W)}return{postcssPlugin:"tailwindcss-postcss-fix-relative-paths",Once(W){W.walkAtRules(/source|plugin|config/,$)}}}var W1=LU.DEBUG,IU=new DC.default({maxSize:50});function V90(w,$,W){let X=`${$}:${W.base??""}:${JSON.stringify(W.optimize)}`;if(IU.has(X))return IU.get(X);let Y={mtimes:new Map,compiler:null,scanner:null,tailwindCssAst:[],cachedPostCssAst:w.root(),optimizedPostCssAst:w.root(),fullRebuildPaths:[]};return IU.set(X,Y),Y}function M90(w={}){let $=w.base??process.cwd(),W=w.optimize??!1,X=w.transformAssetUrls??!0;return{postcssPlugin:"@tailwindcss/postcss",plugins:[z90(),{postcssPlugin:"tailwindcss",async Once(Y,{result:J,postcss:G}){var f=[];try{let U=jw0(f,new WC),A=J.opts.from??"",F=A.endsWith(".module.css");W1&&U.start(`[@tailwindcss/postcss] ${HC($,A)}`);{W1&&U.start("Quick bail check");let E=!0;if(Y.walkAtRules((P)=>{if(P.name==="import"||P.name==="reference"||P.name==="theme"||P.name==="variant"||P.name==="config"||P.name==="plugin"||P.name==="apply"||P.name==="tailwind")return E=!1,!1}),E)return;W1&&U.end("Quick bail check")}let O=V90(G,A,w),M=D6.dirname(D6.resolve(A)),N=O.compiler===null;async function R(){W1&&U.start("Setup compiler"),O.fullRebuildPaths.length>0&&!N&&qC.clearRequireCache(O.fullRebuildPaths),O.fullRebuildPaths=[],W1&&U.start("PostCSS AST -> Tailwind CSS AST");let E=Z90(Y);W1&&U.end("PostCSS AST -> Tailwind CSS AST"),W1&&U.start("Create compiler");let P=await $C(E,{from:J.opts.from,base:M,shouldRewriteUrls:X,onDependency:(j)=>O.fullRebuildPaths.push(j),polyfills:F?j4.All^j4.AtProperty:j4.All});return W1&&U.end("Create compiler"),W1&&U.end("Setup compiler"),P}try{if(O.compiler??=R(),(await O.compiler).features===C4.None)return;let E="incremental";W1&&U.start("Register full rebuild paths");{for(let y of O.fullRebuildPaths)J.messages.push({type:"dependency",plugin:"@tailwindcss/postcss",file:D6.resolve(y),parent:J.opts.from});let p=J.messages.flatMap((y)=>y.type!=="dependency"?[]:y.file);p.push(A);for(let y of p){let q=Iw0.statSync(y,{throwIfNoEntry:!1})?.mtimeMs??null;if(q===null){y===A&&(E="full");continue}O.mtimes.get(y)!==q&&(E="full",O.mtimes.set(y,q))}}W1&&U.end("Register full rebuild paths"),E==="full"&&!N&&(O.compiler=R());let P=await O.compiler;if(O.scanner===null||E==="full"){W1&&U.start("Setup scanner");let p=(P.root==="none"?[]:P.root===null?[{base:$,pattern:"**/*",negated:!1}]:[{...P.root,negated:!1}]).concat(P.sources);O.scanner=new bw0({sources:p}),W1&&U.end("Setup scanner")}W1&&U.start("Scan for candidates");let j=P.features&C4.Utilities?O.scanner.scan():[];if(W1&&U.end("Scan for candidates"),P.features&C4.Utilities){W1&&U.start("Register dependency messages");let p=D6.resolve($,A);for(let y of O.scanner.files){let q=D6.resolve(y);q!==p&&J.messages.push({type:"dependency",plugin:"@tailwindcss/postcss",file:q,parent:J.opts.from})}for(let{base:y,pattern:q}of O.scanner.globs)q==="*"&&$===y||(q===""?J.messages.push({type:"dependency",plugin:"@tailwindcss/postcss",file:D6.resolve(y),parent:J.opts.from}):J.messages.push({type:"dir-dependency",plugin:"@tailwindcss/postcss",dir:D6.resolve(y),glob:q,parent:J.opts.from}));W1&&U.end("Register dependency messages")}W1&&U.start("Build utilities");let d=P.build(j);if(W1&&U.end("Build utilities"),O.tailwindCssAst!==d)if(W){W1&&U.start("Optimization"),W1&&U.start("AST -> CSS");let p=F90(d);W1&&U.end("AST -> CSS"),W1&&U.start("Lightning CSS");let y=XC(p,{minify:typeof W=="object"?W.minify:!0});W1&&U.end("Lightning CSS"),W1&&U.start("CSS -> PostCSS AST"),O.optimizedPostCssAst=G.parse(y.code,J.opts),W1&&U.end("CSS -> PostCSS AST"),W1&&U.end("Optimization")}else W1&&U.start("Transform Tailwind CSS AST into PostCSS AST"),O.cachedPostCssAst=O90(G,d,Y.source),W1&&U.end("Transform Tailwind CSS AST into PostCSS AST");O.tailwindCssAst=d,W1&&U.start("Update PostCSS AST"),Y.removeAll(),Y.append(W?O.optimizedPostCssAst.clone().nodes:O.cachedPostCssAst.clone().nodes),Y.raws.indent=" ",W1&&U.end("Update PostCSS AST"),W1&&U.end(`[@tailwindcss/postcss] ${HC($,A)}`)}catch(E){O.compiler=null;for(let P of O.fullRebuildPaths)J.messages.push({type:"dependency",plugin:"@tailwindcss/postcss",file:D6.resolve(P),parent:J.opts.from});throw console.error(E),E&&typeof E=="object"&&"message"in E?Y.error(`${E.message}`):Y.error(`${E}`)}}catch(U){var H=U,h=!0}finally{Cw0(f,H,h)}}}]}}var _90=Object.assign(M90,{postcss:!0});J0();J0();n0();J0();n0();var LC=Z.object({}),pY=Y2.extend({id:Z.literal("site-info"),entityType:Z.literal("site-info"),metadata:LC}),u4=Z.object({heading:Z.string().describe("Main CTA heading text"),buttonText:Z.string().describe("Call-to-action button text"),buttonLink:Z.string().describe("URL or anchor for the CTA button")}),W3=Z.object({title:Z.string().describe("The site's title"),description:Z.string().describe("The site's description"),copyright:Z.string().optional().describe("Copyright notice text"),logo:Z.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:Z.enum(["light","dark"]).optional().describe("Default theme mode"),cta:u4.optional().describe("Call-to-action configuration")});n0();class X3 extends T2{constructor(){super({entityType:"site-info",schema:pY,frontmatterSchema:W3,isSingleton:!0,hasBody:!1})}createSiteInfoContent(w){let $=W3.parse(w);return this.buildMarkdown("",$)}parseSiteInfoBody(w){return this.parseFrontmatter(w)}fromMarkdown(w){return{content:w,entityType:"site-info"}}extractMetadata(w){return{}}generateFrontMatter(w){let $=this.parseFrontmatter(w.content);return this.buildMarkdown("",$)}}var NI0=new X3;var CI0=new X3;var q90=new X3;async function v6(w){let W=(await w.listEntities("site-info",{limit:1}))[0];if(!W)throw Error("Site info not found \u2014 create a site-info entity");return q90.parseSiteInfoBody(W.content)}J0();var R90=W3.extend({navigation:Z.object({primary:Z.array(Z.object({label:Z.string(),href:Z.string(),priority:Z.number()})),secondary:Z.array(Z.object({label:Z.string(),href:Z.string(),priority:Z.number()}))}),copyright:Z.string(),socialLinks:Z.array(Z.object({platform:Z.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:Z.string().describe("Profile or contact URL"),label:Z.string().optional().describe("Optional display label")})).optional().describe("Social media links from profile entity")});J0();J0();var _S0=Y2.extend({metadata:Z.object({slug:Z.string()}).passthrough()});n0();J0();J0();n0();n0();J0();var L90=Z.object({environment:Z.enum(["preview","production"]).optional(),outputDir:Z.string(),workingDir:Z.string().optional(),enableContentGeneration:Z.boolean().optional(),siteConfig:Z.object({title:Z.string(),description:Z.string(),url:Z.string().optional(),analyticsScript:Z.string().optional()}).optional()});J0();J0();n0();var iS0=Z.object({slot:Z.enum(cw).optional().default("primary"),limit:Z.number().optional()});n0();J0();var sS0=Z.object({environment:Z.enum(["preview","production"]).optional().describe("Build environment (defaults to production, or preview if configured)")});J0();n0();var E90=Z.object({previewOutputDir:Z.string().describe("Output directory for preview builds").default("./dist/site-preview"),productionOutputDir:Z.string().describe("Output directory for production builds").default("./dist/site-production"),sharedImagesDir:Z.string().describe("Shared directory for optimized images (used by both preview and production)").default("./dist/images"),workingDir:Z.string().optional().describe("Working directory for builds").default("./.preact-work"),siteInfo:W3.default({title:"Brain",description:"A knowledge management system"}),themeCSS:Z.string().describe("Custom CSS theme overrides to inject into builds").optional(),analyticsScript:Z.string().describe("Analytics tracking script to inject into page head (e.g., Cloudflare Web Analytics)").optional(),templates:Z.any().optional().describe("Template definitions to register"),routes:Z.array(P8).optional().describe("Routes to register"),layouts:Z.record(Z.any()).optional().describe("Layout components (at least 'default' required)"),autoRebuild:Z.boolean().default(!0).describe("Automatically rebuild site when content changes"),rebuildDebounce:Z.number().min(100).describe("Debounce time in ms before triggering site rebuild after content changes").default(5000),entityDisplay:Z.record(Z.object({label:Z.string().describe("Display label for entity type (e.g., 'Essay')"),pluralName:Z.string().optional().describe("URL path segment (defaults to label.toLowerCase() + 's')"),layout:Z.string().optional().describe("Layout name for this entity type's generated routes (defaults to 'default')"),paginate:Z.boolean().optional().describe("Enable pagination for list pages"),pageSize:Z.number().optional().describe("Items per page (default: 10)"),navigation:Z.object({show:Z.boolean().optional().describe("Show in navigation"),slot:Z.enum(cw).optional().describe("Navigation slot (primary or secondary)"),priority:Z.number().min(0).max(100).optional().describe("Navigation priority (0-100)")}).optional().describe("Navigation settings for this entity type")})).optional().describe("Display metadata per entity type \u2014 label, plural name, layout, pagination, navigation slot. Consulted when auto-generating routes for active entity plugins."),staticAssets:Z.record(Z.string()).optional().describe("Static files to write to the output directory at build time. Keys are output paths (e.g. '/canvases/tree.js'), values are file contents as strings. Typically supplied by a SitePackage via text imports.")});J0();var j90=W3.extend({navigation:Z.object({primary:Z.array(Z.object({label:Z.string(),href:Z.string(),priority:Z.number()})),secondary:Z.array(Z.object({label:Z.string(),href:Z.string(),priority:Z.number()}))}),copyright:Z.string(),socialLinks:Z.array(Z.object({platform:Z.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:Z.string().describe("Profile or contact URL"),label:Z.string().optional().describe("Optional display label")})).optional().describe("Social media links from profile entity")});import{h as C90,Fragment as b90}from"preact";function mU({name:w,slots:$}){if(!$?.hasSlot(w))return null;let X=$.getSlot(w).map((Y)=>Y.render());return C90(b90,{},...X)}n0();var rY=iw,k6=o5.extend(rY.shape);n0();Q4();J0();var I90=new J5;class dY{postsListUrl;id="personal:homepage";name="Personal Homepage DataSource";description="Fetches profile and blog posts for a personal homepage";constructor(w){this.postsListUrl=w}async fetch(w,$,W){let X=W.entityService,[Y,J,G]=await Promise.all([n5(X),X.listEntities("post",{limit:20}),v6(X)]),f=I90.parseProfileBody(Y,k6),H=J.sort(Iw).slice(0,6).map(z4);if(!G.cta)throw Error("CTA not configured in site-info");let h={profile:f,posts:H,postsListUrl:this.postsListUrl,cta:G.cta};return $.parse(h)}}n0();Q4();var S90=new J5;class cY{id="personal:about";name="About Page DataSource";description="Fetches full profile data for the about page";async fetch(w,$,W){let X=await n5(W.entityService),J={profile:S90.parseProfileBody(X,k6)};return $.parse(J)}}import{jsxDEV as a0,Fragment as EC}from"preact/jsx-dev-runtime";function x90(w){return new Date(w).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}function y90(w){return w.split(/(\*[^*]+\*)/).map(($,W)=>{if($.startsWith("*")&&$.endsWith("*")&&$.length>2)return a0("em",{className:"font-sans italic font-medium text-theme-inverse tracking-[-0.015em] [font-variation-settings:'opsz'_72]",children:$.slice(1,-1)},W,!1,void 0,this);return $})}var uU=({profile:w,posts:$,postsListUrl:W,cta:X})=>{let Y=w.tagline??w.description,J=w.name.split(" ")[0];return a0(EC,{children:[a0(p1,{title:w.name,description:w.description??Y??"Personal site",ogType:"website"},void 0,!1,void 0,this),a0("header",{className:"hero-decor bg-brand text-theme-inverse relative flex flex-col items-center justify-center px-6 md:px-12 pt-32 pb-24 gap-7",children:a0("div",{className:"w-full max-w-[1100px] mx-auto text-center flex flex-col items-center gap-7",children:[Y&&a0("h1",{className:"font-heading font-bold text-[clamp(2.5rem,6vw,5rem)] leading-[1.05] tracking-[-0.035em] text-theme-inverse text-balance m-0 [font-variation-settings:'wdth'_90,'opsz'_96]",children:y90(Y)},void 0,!1,void 0,this),w.description&&a0("p",{className:"text-[clamp(1.0625rem,1.4vw,1.3125rem)] leading-[1.5] text-theme-inverse opacity-95 max-w-[600px] mx-auto m-0",children:w.description},void 0,!1,void 0,this),a0("div",{className:"flex flex-wrap justify-center gap-3.5 mt-2",children:[a0("a",{href:W,className:"inline-flex items-center gap-2 rounded-full py-3.5 px-7 bg-theme text-brand border-2 border-theme font-heading font-semibold text-[15px] hover:bg-theme-subtle hover:-translate-y-0.5 transition-all [font-variation-settings:'wdth'_92,'opsz'_18]",children:["Read the Blog ",a0("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),a0("a",{href:"/about",className:"rounded-full py-3.5 px-7 border-2 border-theme-light text-theme-inverse font-heading font-semibold text-[15px] hover:bg-brand-dark hover:border-theme hover:-translate-y-0.5 transition-all [font-variation-settings:'wdth'_92,'opsz'_18]",children:["About ",J]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),$.length>0&&a0("section",{className:"flex flex-col py-24 px-6 md:px-12 gap-11 bg-theme-subtle",children:[a0("div",{className:"flex justify-between items-end max-w-layout mx-auto w-full gap-6 flex-wrap",children:[a0("div",{children:[a0("span",{className:"block font-heading font-semibold text-[13px] uppercase tracking-[0.22em] text-brand mb-3 [font-variation-settings:'wdth'_85,'opsz'_12]",children:"The Archive"},void 0,!1,void 0,this),a0("h2",{className:"font-heading font-bold text-[clamp(2.25rem,5vw,3.75rem)] leading-none tracking-[-0.03em] text-heading m-0 [font-variation-settings:'wdth'_92,'opsz'_64]",children:["Recent"," ",a0("em",{className:"font-sans italic font-medium text-brand [font-variation-settings:'opsz'_60]",children:"posts"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),a0("a",{href:W,className:"font-heading font-semibold text-[15px] text-brand inline-flex items-center gap-1.5 pb-1.5 border-b-2 border-current hover:text-brand-dark transition-colors [font-variation-settings:'wdth'_88,'opsz'_16]",children:["View the whole archive ",a0("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),a0("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(min(100%,320px),1fr))] gap-8 max-w-layout mx-auto w-full",children:$.map((G)=>a0("a",{href:G.url,className:"group flex flex-col bg-theme border border-theme rounded-md overflow-hidden hover:-translate-y-1 hover:border-brand/50 transition-all no-underline shadow-sm hover:shadow-lg",children:[G.coverImageUrl?a0("img",{src:G.coverImageUrl,alt:G.metadata.title,className:"w-full aspect-[16/10] object-cover bg-theme-muted"},void 0,!1,void 0,this):a0("div",{className:"w-full aspect-[16/10] bg-gradient-to-br from-brand to-accent","aria-hidden":"true"},void 0,!1,void 0,this),a0("div",{className:"flex flex-col gap-4 p-7 flex-1",children:[a0("div",{className:"flex flex-wrap items-center gap-3.5 font-heading text-[11px] font-semibold uppercase tracking-[0.18em] text-theme-muted [font-variation-settings:'wdth'_85,'opsz'_11]",children:[G.frontmatter.seriesName&&a0(EC,{children:[a0("span",{className:"text-brand",children:G.frontmatter.seriesName},void 0,!1,void 0,this),a0("span",{className:"w-[3px] h-[3px] rounded-full bg-current opacity-50","aria-hidden":"true"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),a0("time",{children:x90(G.metadata.publishedAt??G.created)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),a0("h3",{className:"font-sans font-semibold text-[clamp(1.375rem,1.8vw,1.625rem)] leading-[1.18] tracking-[-0.012em] text-heading m-0 text-balance",children:G.metadata.title},void 0,!1,void 0,this),G.frontmatter.excerpt&&a0("p",{className:"text-base leading-[1.55] text-theme-muted m-0 flex-1",children:G.frontmatter.excerpt},void 0,!1,void 0,this),a0("span",{className:"inline-flex items-center gap-1.5 font-heading font-semibold text-[13px] uppercase tracking-[0.14em] text-brand mt-1 [font-variation-settings:'wdth'_88,'opsz'_14]",children:["Read the post"," ",a0("span",{"aria-hidden":"true",className:"transition-transform group-hover:translate-x-1",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},G.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),a0("section",{className:"cta-decor bg-theme-dark text-theme-on-dark flex-grow flex flex-col items-center justify-center py-24 px-6 md:px-12 gap-5",children:[a0("span",{className:"font-heading font-medium text-xs uppercase tracking-[0.24em] text-accent [font-variation-settings:'wdth'_85,'opsz'_12]",children:"Get in touch"},void 0,!1,void 0,this),a0("h2",{className:"text-center font-heading font-bold text-[clamp(2rem,4vw,3rem)] leading-none tracking-[-0.03em] text-theme-on-dark m-0 [font-variation-settings:'wdth'_90,'opsz'_64]",children:X.heading},void 0,!1,void 0,this),X.subtitle&&a0("p",{className:"text-center text-base leading-[1.55] text-theme-on-dark opacity-80 max-w-[480px] m-0",children:X.subtitle},void 0,!1,void 0,this),a0("a",{href:X.buttonLink,className:"inline-flex items-center gap-2 rounded-full py-3.5 px-7 bg-brand text-theme-inverse border-2 border-brand font-heading font-semibold text-[15px] hover:bg-brand-dark hover:-translate-y-0.5 transition-all mt-2 [font-variation-settings:'wdth'_92,'opsz'_18]",children:[X.buttonText," ",a0("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as h2,Fragment as m90}from"preact/jsx-dev-runtime";var gU=({profile:w})=>{let $=`About ${w.name}`,W=w.description??w.intro??"About page",X=Boolean(w.email??w.website);return h2(m90,{children:[h2(p1,{title:$,description:W,ogType:"profile"},void 0,!1,void 0,this),h2("section",{className:"hero-decor bg-brand text-theme-inverse relative flex flex-col px-6 md:px-12 pt-32 pb-24",children:h2("div",{className:"w-full max-w-3xl mx-auto flex flex-col gap-6",children:[h2("h1",{className:"font-heading font-bold text-[clamp(2.5rem,6vw,4.5rem)] leading-[1.05] tracking-[-0.035em] text-theme-inverse text-balance m-0 [font-variation-settings:'wdth'_90,'opsz'_96]",children:w.name},void 0,!1,void 0,this),w.description&&h2("p",{className:"text-[clamp(1.0625rem,1.4vw,1.25rem)] leading-[1.55] text-theme-inverse opacity-95 max-w-2xl m-0",children:w.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),w.story&&h2("section",{className:`py-24 px-6 md:px-12 bg-theme-subtle${X?"":" flex-grow"}`,children:h2("div",{className:"max-w-3xl mx-auto",children:h2(M4,{markdown:w.story},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),X&&h2("section",{className:"cta-decor bg-theme-dark text-theme-on-dark flex-grow flex flex-col items-center justify-center py-24 px-6 md:px-12 gap-5",children:[h2("span",{className:"font-heading font-medium text-xs uppercase tracking-[0.24em] text-accent [font-variation-settings:'wdth'_85,'opsz'_12]",children:"Get in touch"},void 0,!1,void 0,this),h2("h2",{className:"text-center font-heading font-bold text-[clamp(2rem,4vw,3rem)] leading-none tracking-[-0.03em] text-theme-on-dark m-0 [font-variation-settings:'wdth'_90,'opsz'_64]",children:["Say"," ",h2("em",{className:"font-sans italic font-medium text-accent [font-variation-settings:'opsz'_72]",children:"hi."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),h2("div",{className:"flex flex-wrap justify-center gap-3.5 mt-2",children:[w.email&&h2("a",{href:`mailto:${w.email}`,className:"inline-flex items-center gap-2 rounded-full py-3.5 px-7 bg-brand text-theme-inverse border-2 border-brand font-heading font-semibold text-[15px] hover:bg-brand-dark hover:-translate-y-0.5 transition-all [font-variation-settings:'wdth'_92,'opsz'_18]",children:["Get in Touch ",h2("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),w.website&&h2("a",{href:w.website,className:"rounded-full py-3.5 px-7 border-2 border-theme-light text-theme-on-dark font-heading font-semibold text-[15px] hover:bg-brand-dark hover:border-theme hover:-translate-y-0.5 transition-all [font-variation-settings:'wdth'_92,'opsz'_18]",children:"Website"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};var TC={name:"@brains/site-personal",private:!0,version:"0.2.0-alpha.46",description:"Personal site composition package",type:"module",exports:{".":"./src/index.ts"},files:["src"],scripts:{typecheck:"tsc --noEmit",lint:"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix"},dependencies:{"@brains/blog":"workspace:*","@brains/identity-service":"workspace:*","@brains/plugins":"workspace:*","@brains/site-builder-plugin":"workspace:*","@brains/site-composition":"workspace:*","@brains/site-info":"workspace:*","@brains/templates":"workspace:*","@brains/ui-library":"workspace:*","@brains/utils":"workspace:*",preact:"^10.27.2"},devDependencies:{"@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@types/bun":"latest","bun-types":"latest",eslint:"^8.56.0",typescript:"^5.3.3"}};var g90=Z.object({entityDisplay:Z.object({post:Z.object({label:Z.string().default("Post"),pluralName:Z.string().optional()}).default({})}).default({})});class lU extends F4{dependencies=["blog"];constructor(w={}){super("personal-site",TC,w,g90)}async onRegister(w){w.entities.extendFrontmatterSchema("anchor-profile",rY);let $=this.config.entityDisplay.post,W=`/${$.pluralName??$.label.toLowerCase()+"s"}`,X=new dY(W);w.entities.registerDataSource(X);let Y=new cY;w.entities.registerDataSource(Y);let J=Z.object({profile:k6,posts:Z.array(_5),postsListUrl:Z.string(),cta:u4}),G=Z.object({profile:k6});w.templates.register({homepage:z1({name:"homepage",description:"Personal homepage with recent blog posts",schema:J,dataSourceId:"personal:homepage",requiredPermission:"public",layout:{component:uU}}),about:z1({name:"about",description:"About page with profile",schema:G,dataSourceId:"personal:about",requiredPermission:"public",layout:{component:gU}})}),this.logger.info("Personal site plugin registered successfully")}async getTools(){return[]}async getResources(){return[]}}function PC(w){return new lU(w??{})}var pU=[{id:"home",path:"/",title:"Home",description:"Personal site homepage",layout:"default",navigation:{show:!0,label:"Home",slot:"secondary",priority:10},sections:[{id:"homepage",template:"personal-site:homepage",dataQuery:{}}]},{id:"about",path:"/about",title:"About",description:"About page",layout:"default",navigation:{show:!0,label:"About",slot:"primary",priority:90},sections:[{id:"about",template:"personal-site:about",dataQuery:{}}]}];import{jsxDEV as s2}from"preact/jsx-dev-runtime";function jC({sections:w,siteInfo:$}){let W=[...$.navigation.primary,...$.navigation.secondary].filter((X)=>X.label!=="Home");return s2("div",{className:"flex flex-col min-h-screen bg-theme overflow-x-clip",children:[s2(u8,{title:$.title,titleClassName:"font-heading font-bold text-2xl",navigation:$.navigation.primary,showThemeToggle:!0,themeToggleClassName:"bg-theme-toggle text-theme-toggle-icon hover:bg-theme-toggle-hover rounded-[10px]",...$.logo!==void 0?{logo:$.logo}:{}},void 0,!1,void 0,this),s2("main",{className:"flex-grow flex flex-col",children:w},void 0,!1,void 0,this),s2("footer",{className:"bg-footer text-footer border-t border-theme",children:s2("div",{className:"max-w-layout mx-auto flex flex-col md:flex-row justify-between items-center py-8 px-6 md:px-8",children:[s2("div",{className:"flex flex-col gap-1 mb-4 md:mb-0",children:[s2("span",{className:"text-brand font-heading font-bold text-lg",children:$.title},void 0,!1,void 0,this),$.description&&s2("span",{className:"text-theme-muted text-xs",children:$.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this),s2("nav",{className:"flex flex-wrap justify-center gap-x-6 gap-y-2 mb-4 md:mb-0",children:W.map((X)=>s2("a",{href:X.href,className:"text-theme-muted text-[13px] hover:text-brand transition-colors",children:X.label},X.href,!1,void 0,this))},void 0,!1,void 0,this),s2("div",{className:"flex items-center gap-4",children:[$.copyright&&s2("span",{className:"text-theme-light text-[11px]",children:$.copyright},void 0,!1,void 0,this),s2(h6,{variant:"footer",size:"sm"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}n0();J0();p5();n0();J0();n0();J0();J0();n0();var l90=Z.enum(["draft","queued","published"]),L6=Z.object({title:Z.string(),slug:Z.string().optional(),description:Z.string().optional(),author:Z.string().optional(),status:l90,publishedAt:Z.string().datetime().optional(),event:Z.string().optional(),coverImageId:Z.string().optional()}),p90=L6.pick({title:!0,description:!0,status:!0,publishedAt:!0,coverImageId:!0}).extend({slug:Z.string()}),iY=Y2.extend({entityType:Z.literal("deck"),metadata:p90}),nY=iY.extend({frontmatter:L6,body:Z.string()}),r7=nY.extend({url:Z.string().optional(),typeLabel:Z.string().optional(),listUrl:Z.string().optional(),listLabel:Z.string().optional(),coverImageUrl:Z.string().optional(),coverImageWidth:Z.number().optional(),coverImageHeight:Z.number().optional()});class rU extends T2{constructor(){super({entityType:"deck",schema:iY,frontmatterSchema:L6,supportsCoverImage:!0})}validateSlideStructure(w){if(!/^---$/gm.test(w))throw Error("Invalid deck: markdown must contain slide separators (---) to be a valid presentation")}toMarkdown(w){let $=this.extractBody(w.content);this.validateSlideStructure($);try{let W=this.parseFrontMatter(w.content,L6),X={...W,slug:W.slug??w.metadata.slug};return this.buildMarkdown($,X)}catch{return $}}fromMarkdown(w){let $=this.parseFrontmatter(w),W=this.extractBody(w);this.validateSlideStructure(W);let X=$.slug??X5($.title),Y=$.status;return{entityType:"deck",content:w,metadata:{slug:X,title:$.title,description:$.description,status:Y,publishedAt:$.publishedAt,coverImageId:$.coverImageId}}}generateTitle(w){return w.metadata.title}generateSummary(w){if(w.metadata.description)return w.metadata.description;return`Presentation: ${w.metadata.title}`}generateFrontMatter(w){return this.toMarkdown(w)}}var d7=new rU;J0();p5();var r90=Z.object({markdown:Z.string().describe("Markdown content with slide separators (---)")}),dU=z1({name:"deck-detail",description:"Render a presentation deck as Reveal.js slides",schema:r90,dataSourceId:"decks:entities",requiredPermission:"public",layout:{component:YH,fullscreen:!0}});p5();J0();var cU=Z.object({decks:Z.array(nY)}),iU=Z.object({decks:Z.array(r7),pageTitle:Z.string().optional()});import{jsxDEV as nU}from"preact/jsx-dev-runtime";var oU=({decks:w,pageTitle:$})=>{let W=w.map((X)=>({id:X.id,url:X.url,title:X.frontmatter.title,date:X.frontmatter.publishedAt??X.created,description:X.frontmatter.description}));return nU("div",{className:"deck-list bg-theme",children:nU("div",{className:"container mx-auto px-6 md:px-12 max-w-4xl py-16 md:py-24",children:nU(M3,{title:$??"Presentations",items:W},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)};J0();class oY extends MW{constructor(){super(cU,{title:"Deck List",mappings:[{key:"decks",label:"Decks",type:"array",itemType:"object"}]})}}var aU=z1({name:"deck-list",description:"List view of all presentation decks",schema:iU,dataSourceId:"decks:entities",requiredPermission:"public",formatter:new oY,layout:{component:oU}});J0();n0();var d90=Z.object({title:Z.string().max(80).describe("A short, punchy title (2-5 words) that's memorable and evocative"),content:Z.string().describe("Full slide deck content in markdown format with slide separators (---). Each slide should have a header and focused content."),description:Z.string().describe("A concise 1-2 sentence summary that captures the essence of the talk")}),CC=z1({name:"decks:generation",description:"Template for AI to generate complete slide decks from prompts",schema:d90,dataSourceId:"shell:ai-content",requiredPermission:"public",useKnowledgeContext:!0,basePrompt:`You are creating slide decks in a distinctive voice that blends philosophy, technology, and culture.
|
|
1041
|
+
`,$){W+=h.length;let U=W;W+=2+G.value.length+2;let A=W;G.dst=[X,U,A],W+=1}}else if(G.kind==="context"||G.kind==="at-root")return"";return H}let J="";for(let G of w)J+=Y(G,0);return X.code=J,J}var Q90=33;function O90(w,$,W){let X=new y4((h)=>new w.Input(h.code,{map:W?.input.map,from:h.file??void 0})),Y=new y4((h)=>$90(h.code)),J=w.root();J.source=W;function G(h){if(!h||!h[0])return;let U=Y.get(h[0]),A=U.find(h[1]),F=U.find(h[2]);return{input:X.get(h[0]),start:{line:A.line,column:A.column+1,offset:h[1]},end:{line:F.line,column:F.column+1,offset:h[2]}}}function f(h,U){let A=G(U);A?h.source=A:delete h.source}function H(h,U){if(h.kind==="declaration"){let A=w.decl({prop:h.property,value:h.value??"",important:h.important});f(A,h.src),U.append(A)}else if(h.kind==="rule"){let A=w.rule({selector:h.selector});f(A,h.src),A.raws.semicolon=!0,U.append(A);for(let F of h.nodes)H(F,A)}else if(h.kind==="at-rule"){let A=w.atRule({name:h.name.slice(1),params:h.params});f(A,h.src),A.raws.semicolon=!0,U.append(A);for(let F of h.nodes)H(F,A)}else if(h.kind==="comment"){let A=w.comment({text:h.value});A.raws.left="",A.raws.right="",f(A,h.src),U.append(A)}else h.kind==="at-root"||h.kind}for(let h of $)H(h,J);return J}function Z90(w){let $=new y4((J)=>({file:J.file??J.id??null,code:J.css}));function W(J){let G=J.source;if(!G)return;let f=G.input;if(f&&G.start!==void 0&&G.end!==void 0)return[$.get(f),G.start.offset,G.end.offset]}function X(J,G){if(J.type==="decl"){let f=U90(J.prop,J.value,J.important);f.src=W(J),G.push(f)}else if(J.type==="rule"){let f=h90(J.selector);f.src=W(J),J.each((H)=>X(H,f.nodes)),G.push(f)}else if(J.type==="atrule"){let f=kC(`@${J.name}`,J.params);f.src=W(J),J.each((H)=>X(H,f.nodes)),G.push(f)}else if(J.type==="comment"){if(J.text.charCodeAt(0)!==Q90)return;let f=A90(J.text);f.src=W(J),G.push(f)}}let Y=[];return w.each((J)=>X(J,Y)),Y}var CU="'",bU='"';function z90(){let w=new WeakSet;function $(W){let X=W.root().source?.input.file;if(!X)return;let Y=W.source?.input.file;if(!Y||w.has(W))return;let J=W.params[0],G=J[0]===bU&&J[J.length-1]===bU?bU:J[0]===CU&&J[J.length-1]===CU?CU:null;if(!G)return;let f=W.params.slice(1,-1),H="";if(f.startsWith("!")&&(f=f.slice(1),H="!"),!f.startsWith("./")&&!f.startsWith("../"))return;let h=uY.posix.join(u7(uY.dirname(Y)),f),U=uY.posix.dirname(u7(X)),A=uY.posix.relative(U,h);A.startsWith(".")||(A="./"+A),W.params=G+H+A+G,w.add(W)}return{postcssPlugin:"tailwindcss-postcss-fix-relative-paths",Once(W){W.walkAtRules(/source|plugin|config/,$)}}}var W1=LU.DEBUG,IU=new DC.default({maxSize:50});function V90(w,$,W){let X=`${$}:${W.base??""}:${JSON.stringify(W.optimize)}`;if(IU.has(X))return IU.get(X);let Y={mtimes:new Map,compiler:null,scanner:null,tailwindCssAst:[],cachedPostCssAst:w.root(),optimizedPostCssAst:w.root(),fullRebuildPaths:[]};return IU.set(X,Y),Y}function M90(w={}){let $=w.base??process.cwd(),W=w.optimize??!1,X=w.transformAssetUrls??!0;return{postcssPlugin:"@tailwindcss/postcss",plugins:[z90(),{postcssPlugin:"tailwindcss",async Once(Y,{result:J,postcss:G}){var f=[];try{let U=jw0(f,new WC),A=J.opts.from??"",F=A.endsWith(".module.css");W1&&U.start(`[@tailwindcss/postcss] ${HC($,A)}`);{W1&&U.start("Quick bail check");let E=!0;if(Y.walkAtRules((P)=>{if(P.name==="import"||P.name==="reference"||P.name==="theme"||P.name==="variant"||P.name==="config"||P.name==="plugin"||P.name==="apply"||P.name==="tailwind")return E=!1,!1}),E)return;W1&&U.end("Quick bail check")}let O=V90(G,A,w),M=D6.dirname(D6.resolve(A)),N=O.compiler===null;async function R(){W1&&U.start("Setup compiler"),O.fullRebuildPaths.length>0&&!N&&qC.clearRequireCache(O.fullRebuildPaths),O.fullRebuildPaths=[],W1&&U.start("PostCSS AST -> Tailwind CSS AST");let E=Z90(Y);W1&&U.end("PostCSS AST -> Tailwind CSS AST"),W1&&U.start("Create compiler");let P=await $C(E,{from:J.opts.from,base:M,shouldRewriteUrls:X,onDependency:(j)=>O.fullRebuildPaths.push(j),polyfills:F?j4.All^j4.AtProperty:j4.All});return W1&&U.end("Create compiler"),W1&&U.end("Setup compiler"),P}try{if(O.compiler??=R(),(await O.compiler).features===C4.None)return;let E="incremental";W1&&U.start("Register full rebuild paths");{for(let y of O.fullRebuildPaths)J.messages.push({type:"dependency",plugin:"@tailwindcss/postcss",file:D6.resolve(y),parent:J.opts.from});let p=J.messages.flatMap((y)=>y.type!=="dependency"?[]:y.file);p.push(A);for(let y of p){let q=Iw0.statSync(y,{throwIfNoEntry:!1})?.mtimeMs??null;if(q===null){y===A&&(E="full");continue}O.mtimes.get(y)!==q&&(E="full",O.mtimes.set(y,q))}}W1&&U.end("Register full rebuild paths"),E==="full"&&!N&&(O.compiler=R());let P=await O.compiler;if(O.scanner===null||E==="full"){W1&&U.start("Setup scanner");let p=(P.root==="none"?[]:P.root===null?[{base:$,pattern:"**/*",negated:!1}]:[{...P.root,negated:!1}]).concat(P.sources);O.scanner=new bw0({sources:p}),W1&&U.end("Setup scanner")}W1&&U.start("Scan for candidates");let j=P.features&C4.Utilities?O.scanner.scan():[];if(W1&&U.end("Scan for candidates"),P.features&C4.Utilities){W1&&U.start("Register dependency messages");let p=D6.resolve($,A);for(let y of O.scanner.files){let q=D6.resolve(y);q!==p&&J.messages.push({type:"dependency",plugin:"@tailwindcss/postcss",file:q,parent:J.opts.from})}for(let{base:y,pattern:q}of O.scanner.globs)q==="*"&&$===y||(q===""?J.messages.push({type:"dependency",plugin:"@tailwindcss/postcss",file:D6.resolve(y),parent:J.opts.from}):J.messages.push({type:"dir-dependency",plugin:"@tailwindcss/postcss",dir:D6.resolve(y),glob:q,parent:J.opts.from}));W1&&U.end("Register dependency messages")}W1&&U.start("Build utilities");let d=P.build(j);if(W1&&U.end("Build utilities"),O.tailwindCssAst!==d)if(W){W1&&U.start("Optimization"),W1&&U.start("AST -> CSS");let p=F90(d);W1&&U.end("AST -> CSS"),W1&&U.start("Lightning CSS");let y=XC(p,{minify:typeof W=="object"?W.minify:!0});W1&&U.end("Lightning CSS"),W1&&U.start("CSS -> PostCSS AST"),O.optimizedPostCssAst=G.parse(y.code,J.opts),W1&&U.end("CSS -> PostCSS AST"),W1&&U.end("Optimization")}else W1&&U.start("Transform Tailwind CSS AST into PostCSS AST"),O.cachedPostCssAst=O90(G,d,Y.source),W1&&U.end("Transform Tailwind CSS AST into PostCSS AST");O.tailwindCssAst=d,W1&&U.start("Update PostCSS AST"),Y.removeAll(),Y.append(W?O.optimizedPostCssAst.clone().nodes:O.cachedPostCssAst.clone().nodes),Y.raws.indent=" ",W1&&U.end("Update PostCSS AST"),W1&&U.end(`[@tailwindcss/postcss] ${HC($,A)}`)}catch(E){O.compiler=null;for(let P of O.fullRebuildPaths)J.messages.push({type:"dependency",plugin:"@tailwindcss/postcss",file:D6.resolve(P),parent:J.opts.from});throw console.error(E),E&&typeof E=="object"&&"message"in E?Y.error(`${E.message}`):Y.error(`${E}`)}}catch(U){var H=U,h=!0}finally{Cw0(f,H,h)}}}]}}var _90=Object.assign(M90,{postcss:!0});J0();J0();n0();J0();n0();var LC=Z.object({}),pY=Y2.extend({id:Z.literal("site-info"),entityType:Z.literal("site-info"),metadata:LC}),u4=Z.object({heading:Z.string().describe("Main CTA heading text"),buttonText:Z.string().describe("Call-to-action button text"),buttonLink:Z.string().describe("URL or anchor for the CTA button")}),W3=Z.object({title:Z.string().describe("The site's title"),description:Z.string().describe("The site's description"),copyright:Z.string().optional().describe("Copyright notice text"),logo:Z.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:Z.enum(["light","dark"]).optional().describe("Default theme mode"),cta:u4.optional().describe("Call-to-action configuration")});n0();class X3 extends T2{constructor(){super({entityType:"site-info",schema:pY,frontmatterSchema:W3,isSingleton:!0,hasBody:!1})}createSiteInfoContent(w){let $=W3.parse(w);return this.buildMarkdown("",$)}parseSiteInfoBody(w){return this.parseFrontmatter(w)}fromMarkdown(w){return{content:w,entityType:"site-info"}}extractMetadata(w){return{}}generateFrontMatter(w){let $=this.parseFrontmatter(w.content);return this.buildMarkdown("",$)}}var NI0=new X3;var CI0=new X3;var q90=new X3;async function v6(w){let W=(await w.listEntities("site-info",{limit:1}))[0];if(!W)throw Error("Site info not found \u2014 create a site-info entity");return q90.parseSiteInfoBody(W.content)}J0();var R90=W3.extend({navigation:Z.object({primary:Z.array(Z.object({label:Z.string(),href:Z.string(),priority:Z.number()})),secondary:Z.array(Z.object({label:Z.string(),href:Z.string(),priority:Z.number()}))}),copyright:Z.string(),socialLinks:Z.array(Z.object({platform:Z.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:Z.string().describe("Profile or contact URL"),label:Z.string().optional().describe("Optional display label")})).optional().describe("Social media links from profile entity")});J0();J0();var _S0=Y2.extend({metadata:Z.object({slug:Z.string()}).passthrough()});n0();J0();J0();n0();n0();J0();var L90=Z.object({environment:Z.enum(["preview","production"]).optional(),outputDir:Z.string(),workingDir:Z.string().optional(),enableContentGeneration:Z.boolean().optional(),siteConfig:Z.object({title:Z.string(),description:Z.string(),url:Z.string().optional(),analyticsScript:Z.string().optional()}).optional()});J0();J0();n0();var iS0=Z.object({slot:Z.enum(cw).optional().default("primary"),limit:Z.number().optional()});n0();J0();var sS0=Z.object({environment:Z.enum(["preview","production"]).optional().describe("Build environment (defaults to production, or preview if configured)")});J0();n0();var E90=Z.object({previewOutputDir:Z.string().describe("Output directory for preview builds").default("./dist/site-preview"),productionOutputDir:Z.string().describe("Output directory for production builds").default("./dist/site-production"),sharedImagesDir:Z.string().describe("Shared directory for optimized images (used by both preview and production)").default("./dist/images"),workingDir:Z.string().optional().describe("Working directory for builds").default("./.preact-work"),siteInfo:W3.default({title:"Brain",description:"A knowledge management system"}),themeCSS:Z.string().describe("Custom CSS theme overrides to inject into builds").optional(),analyticsScript:Z.string().describe("Analytics tracking script to inject into page head (e.g., Cloudflare Web Analytics)").optional(),templates:Z.any().optional().describe("Template definitions to register"),routes:Z.array(P8).optional().describe("Routes to register"),layouts:Z.record(Z.any()).optional().describe("Layout components (at least 'default' required)"),autoRebuild:Z.boolean().default(!0).describe("Automatically rebuild site when content changes"),rebuildDebounce:Z.number().min(100).describe("Debounce time in ms before triggering site rebuild after content changes").default(5000),entityDisplay:Z.record(Z.object({label:Z.string().describe("Display label for entity type (e.g., 'Essay')"),pluralName:Z.string().optional().describe("URL path segment (defaults to label.toLowerCase() + 's')"),layout:Z.string().optional().describe("Layout name for this entity type's generated routes (defaults to 'default')"),paginate:Z.boolean().optional().describe("Enable pagination for list pages"),pageSize:Z.number().optional().describe("Items per page (default: 10)"),navigation:Z.object({show:Z.boolean().optional().describe("Show in navigation"),slot:Z.enum(cw).optional().describe("Navigation slot (primary or secondary)"),priority:Z.number().min(0).max(100).optional().describe("Navigation priority (0-100)")}).optional().describe("Navigation settings for this entity type")})).optional().describe("Display metadata per entity type \u2014 label, plural name, layout, pagination, navigation slot. Consulted when auto-generating routes for active entity plugins."),staticAssets:Z.record(Z.string()).optional().describe("Static files to write to the output directory at build time. Keys are output paths (e.g. '/canvases/tree.js'), values are file contents as strings. Typically supplied by a SitePackage via text imports.")});J0();var j90=W3.extend({navigation:Z.object({primary:Z.array(Z.object({label:Z.string(),href:Z.string(),priority:Z.number()})),secondary:Z.array(Z.object({label:Z.string(),href:Z.string(),priority:Z.number()}))}),copyright:Z.string(),socialLinks:Z.array(Z.object({platform:Z.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:Z.string().describe("Profile or contact URL"),label:Z.string().optional().describe("Optional display label")})).optional().describe("Social media links from profile entity")});import{h as C90,Fragment as b90}from"preact";function mU({name:w,slots:$}){if(!$?.hasSlot(w))return null;let X=$.getSlot(w).map((Y)=>Y.render());return C90(b90,{},...X)}n0();var rY=iw,k6=o5.extend(rY.shape);n0();Q4();J0();var I90=new J5;class dY{postsListUrl;id="personal:homepage";name="Personal Homepage DataSource";description="Fetches profile and blog posts for a personal homepage";constructor(w){this.postsListUrl=w}async fetch(w,$,W){let X=W.entityService,[Y,J,G]=await Promise.all([n5(X),X.listEntities("post",{limit:20}),v6(X)]),f=I90.parseProfileBody(Y,k6),H=J.sort(Iw).slice(0,6).map(z4);if(!G.cta)throw Error("CTA not configured in site-info");let h={profile:f,posts:H,postsListUrl:this.postsListUrl,cta:G.cta};return $.parse(h)}}n0();Q4();var S90=new J5;class cY{id="personal:about";name="About Page DataSource";description="Fetches full profile data for the about page";async fetch(w,$,W){let X=await n5(W.entityService),J={profile:S90.parseProfileBody(X,k6)};return $.parse(J)}}import{jsxDEV as a0,Fragment as EC}from"preact/jsx-dev-runtime";function x90(w){return new Date(w).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}function y90(w){return w.split(/(\*[^*]+\*)/).map(($,W)=>{if($.startsWith("*")&&$.endsWith("*")&&$.length>2)return a0("em",{className:"font-sans italic font-medium text-theme-inverse tracking-[-0.015em] [font-variation-settings:'opsz'_72]",children:$.slice(1,-1)},W,!1,void 0,this);return $})}var uU=({profile:w,posts:$,postsListUrl:W,cta:X})=>{let Y=w.tagline??w.description,J=w.name.split(" ")[0];return a0(EC,{children:[a0(p1,{title:w.name,description:w.description??Y??"Personal site",ogType:"website"},void 0,!1,void 0,this),a0("header",{className:"hero-decor bg-brand text-theme-inverse relative flex flex-col items-center justify-center px-6 md:px-12 pt-32 pb-24 gap-7",children:a0("div",{className:"w-full max-w-[1100px] mx-auto text-center flex flex-col items-center gap-7",children:[Y&&a0("h1",{className:"font-heading font-bold text-[clamp(2.5rem,6vw,5rem)] leading-[1.05] tracking-[-0.035em] text-theme-inverse text-balance m-0 [font-variation-settings:'wdth'_90,'opsz'_96]",children:y90(Y)},void 0,!1,void 0,this),w.description&&a0("p",{className:"text-[clamp(1.0625rem,1.4vw,1.3125rem)] leading-[1.5] text-theme-inverse opacity-95 max-w-[600px] mx-auto m-0",children:w.description},void 0,!1,void 0,this),a0("div",{className:"flex flex-wrap justify-center gap-3.5 mt-2",children:[a0("a",{href:W,className:"inline-flex items-center gap-2 rounded-full py-3.5 px-7 bg-theme text-brand border-2 border-theme font-heading font-semibold text-[15px] hover:bg-theme-subtle hover:-translate-y-0.5 transition-all [font-variation-settings:'wdth'_92,'opsz'_18]",children:["Read the Blog ",a0("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),a0("a",{href:"/about",className:"rounded-full py-3.5 px-7 border-2 border-theme-light text-theme-inverse font-heading font-semibold text-[15px] hover:bg-brand-dark hover:border-theme hover:-translate-y-0.5 transition-all [font-variation-settings:'wdth'_92,'opsz'_18]",children:["About ",J]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),$.length>0&&a0("section",{className:"flex flex-col py-24 px-6 md:px-12 gap-11 bg-theme-subtle",children:[a0("div",{className:"flex justify-between items-end max-w-layout mx-auto w-full gap-6 flex-wrap",children:[a0("div",{children:[a0("span",{className:"block font-heading font-semibold text-[13px] uppercase tracking-[0.22em] text-brand mb-3 [font-variation-settings:'wdth'_85,'opsz'_12]",children:"The Archive"},void 0,!1,void 0,this),a0("h2",{className:"font-heading font-bold text-[clamp(2.25rem,5vw,3.75rem)] leading-none tracking-[-0.03em] text-heading m-0 [font-variation-settings:'wdth'_92,'opsz'_64]",children:["Recent"," ",a0("em",{className:"font-sans italic font-medium text-brand [font-variation-settings:'opsz'_60]",children:"posts"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),a0("a",{href:W,className:"font-heading font-semibold text-[15px] text-brand inline-flex items-center gap-1.5 pb-1.5 border-b-2 border-current hover:text-brand-dark transition-colors [font-variation-settings:'wdth'_88,'opsz'_16]",children:["View the whole archive ",a0("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),a0("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(min(100%,320px),1fr))] gap-8 max-w-layout mx-auto w-full",children:$.map((G)=>a0("a",{href:G.url,className:"group flex flex-col bg-theme border border-theme rounded-md overflow-hidden hover:-translate-y-1 hover:border-brand/50 transition-all no-underline shadow-sm hover:shadow-lg",children:[G.coverImageUrl?a0("img",{src:G.coverImageUrl,alt:G.metadata.title,className:"w-full aspect-[16/10] object-cover bg-theme-muted"},void 0,!1,void 0,this):a0("div",{className:"w-full aspect-[16/10] bg-gradient-to-br from-brand to-accent","aria-hidden":"true"},void 0,!1,void 0,this),a0("div",{className:"flex flex-col gap-4 p-7 flex-1",children:[a0("div",{className:"flex flex-wrap items-center gap-3.5 font-heading text-[11px] font-semibold uppercase tracking-[0.18em] text-theme-muted [font-variation-settings:'wdth'_85,'opsz'_11]",children:[G.frontmatter.seriesName&&a0(EC,{children:[a0("span",{className:"text-brand",children:G.frontmatter.seriesName},void 0,!1,void 0,this),a0("span",{className:"w-[3px] h-[3px] rounded-full bg-current opacity-50","aria-hidden":"true"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),a0("time",{children:x90(G.metadata.publishedAt??G.created)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),a0("h3",{className:"font-sans font-semibold text-[clamp(1.375rem,1.8vw,1.625rem)] leading-[1.18] tracking-[-0.012em] text-heading m-0 text-balance",children:G.metadata.title},void 0,!1,void 0,this),G.frontmatter.excerpt&&a0("p",{className:"text-base leading-[1.55] text-theme-muted m-0 flex-1",children:G.frontmatter.excerpt},void 0,!1,void 0,this),a0("span",{className:"inline-flex items-center gap-1.5 font-heading font-semibold text-[13px] uppercase tracking-[0.14em] text-brand mt-1 [font-variation-settings:'wdth'_88,'opsz'_14]",children:["Read the post"," ",a0("span",{"aria-hidden":"true",className:"transition-transform group-hover:translate-x-1",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},G.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),a0("section",{className:"cta-decor bg-theme-dark text-theme-on-dark flex-grow flex flex-col items-center justify-center py-24 px-6 md:px-12 gap-5",children:[a0("span",{className:"font-heading font-medium text-xs uppercase tracking-[0.24em] text-accent [font-variation-settings:'wdth'_85,'opsz'_12]",children:"Get in touch"},void 0,!1,void 0,this),a0("h2",{className:"text-center font-heading font-bold text-[clamp(2rem,4vw,3rem)] leading-none tracking-[-0.03em] text-theme-on-dark m-0 [font-variation-settings:'wdth'_90,'opsz'_64]",children:X.heading},void 0,!1,void 0,this),X.subtitle&&a0("p",{className:"text-center text-base leading-[1.55] text-theme-on-dark opacity-80 max-w-[480px] m-0",children:X.subtitle},void 0,!1,void 0,this),a0("a",{href:X.buttonLink,className:"inline-flex items-center gap-2 rounded-full py-3.5 px-7 bg-brand text-theme-inverse border-2 border-brand font-heading font-semibold text-[15px] hover:bg-brand-dark hover:-translate-y-0.5 transition-all mt-2 [font-variation-settings:'wdth'_92,'opsz'_18]",children:[X.buttonText," ",a0("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as h2,Fragment as m90}from"preact/jsx-dev-runtime";var gU=({profile:w})=>{let $=`About ${w.name}`,W=w.description??w.intro??"About page",X=Boolean(w.email??w.website);return h2(m90,{children:[h2(p1,{title:$,description:W,ogType:"profile"},void 0,!1,void 0,this),h2("section",{className:"hero-decor bg-brand text-theme-inverse relative flex flex-col px-6 md:px-12 pt-32 pb-24",children:h2("div",{className:"w-full max-w-3xl mx-auto flex flex-col gap-6",children:[h2("h1",{className:"font-heading font-bold text-[clamp(2.5rem,6vw,4.5rem)] leading-[1.05] tracking-[-0.035em] text-theme-inverse text-balance m-0 [font-variation-settings:'wdth'_90,'opsz'_96]",children:w.name},void 0,!1,void 0,this),w.description&&h2("p",{className:"text-[clamp(1.0625rem,1.4vw,1.25rem)] leading-[1.55] text-theme-inverse opacity-95 max-w-2xl m-0",children:w.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),w.story&&h2("section",{className:`py-24 px-6 md:px-12 bg-theme-subtle${X?"":" flex-grow"}`,children:h2("div",{className:"max-w-3xl mx-auto",children:h2(M4,{markdown:w.story},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),X&&h2("section",{className:"cta-decor bg-theme-dark text-theme-on-dark flex-grow flex flex-col items-center justify-center py-24 px-6 md:px-12 gap-5",children:[h2("span",{className:"font-heading font-medium text-xs uppercase tracking-[0.24em] text-accent [font-variation-settings:'wdth'_85,'opsz'_12]",children:"Get in touch"},void 0,!1,void 0,this),h2("h2",{className:"text-center font-heading font-bold text-[clamp(2rem,4vw,3rem)] leading-none tracking-[-0.03em] text-theme-on-dark m-0 [font-variation-settings:'wdth'_90,'opsz'_64]",children:["Say"," ",h2("em",{className:"font-sans italic font-medium text-accent [font-variation-settings:'opsz'_72]",children:"hi."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),h2("div",{className:"flex flex-wrap justify-center gap-3.5 mt-2",children:[w.email&&h2("a",{href:`mailto:${w.email}`,className:"inline-flex items-center gap-2 rounded-full py-3.5 px-7 bg-brand text-theme-inverse border-2 border-brand font-heading font-semibold text-[15px] hover:bg-brand-dark hover:-translate-y-0.5 transition-all [font-variation-settings:'wdth'_92,'opsz'_18]",children:["Get in Touch ",h2("span",{"aria-hidden":"true",children:"\u2192"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),w.website&&h2("a",{href:w.website,className:"rounded-full py-3.5 px-7 border-2 border-theme-light text-theme-on-dark font-heading font-semibold text-[15px] hover:bg-brand-dark hover:border-theme hover:-translate-y-0.5 transition-all [font-variation-settings:'wdth'_92,'opsz'_18]",children:"Website"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};var TC={name:"@brains/site-personal",private:!0,version:"0.2.0-alpha.47",description:"Personal site composition package",type:"module",exports:{".":"./src/index.ts"},files:["src"],scripts:{typecheck:"tsc --noEmit",lint:"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix"},dependencies:{"@brains/blog":"workspace:*","@brains/identity-service":"workspace:*","@brains/plugins":"workspace:*","@brains/site-builder-plugin":"workspace:*","@brains/site-composition":"workspace:*","@brains/site-info":"workspace:*","@brains/templates":"workspace:*","@brains/ui-library":"workspace:*","@brains/utils":"workspace:*",preact:"^10.27.2"},devDependencies:{"@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@types/bun":"latest","bun-types":"latest",eslint:"^8.56.0",typescript:"^5.3.3"}};var g90=Z.object({entityDisplay:Z.object({post:Z.object({label:Z.string().default("Post"),pluralName:Z.string().optional()}).default({})}).default({})});class lU extends F4{dependencies=["blog"];constructor(w={}){super("personal-site",TC,w,g90)}async onRegister(w){w.entities.extendFrontmatterSchema("anchor-profile",rY);let $=this.config.entityDisplay.post,W=`/${$.pluralName??$.label.toLowerCase()+"s"}`,X=new dY(W);w.entities.registerDataSource(X);let Y=new cY;w.entities.registerDataSource(Y);let J=Z.object({profile:k6,posts:Z.array(_5),postsListUrl:Z.string(),cta:u4}),G=Z.object({profile:k6});w.templates.register({homepage:z1({name:"homepage",description:"Personal homepage with recent blog posts",schema:J,dataSourceId:"personal:homepage",requiredPermission:"public",layout:{component:uU}}),about:z1({name:"about",description:"About page with profile",schema:G,dataSourceId:"personal:about",requiredPermission:"public",layout:{component:gU}})}),this.logger.info("Personal site plugin registered successfully")}async getTools(){return[]}async getResources(){return[]}}function PC(w){return new lU(w??{})}var pU=[{id:"home",path:"/",title:"Home",description:"Personal site homepage",layout:"default",navigation:{show:!0,label:"Home",slot:"secondary",priority:10},sections:[{id:"homepage",template:"personal-site:homepage",dataQuery:{}}]},{id:"about",path:"/about",title:"About",description:"About page",layout:"default",navigation:{show:!0,label:"About",slot:"primary",priority:90},sections:[{id:"about",template:"personal-site:about",dataQuery:{}}]}];import{jsxDEV as s2}from"preact/jsx-dev-runtime";function jC({sections:w,siteInfo:$}){let W=[...$.navigation.primary,...$.navigation.secondary].filter((X)=>X.label!=="Home");return s2("div",{className:"flex flex-col min-h-screen bg-theme overflow-x-clip",children:[s2(u8,{title:$.title,titleClassName:"font-heading font-bold text-2xl",navigation:$.navigation.primary,showThemeToggle:!0,themeToggleClassName:"bg-theme-toggle text-theme-toggle-icon hover:bg-theme-toggle-hover rounded-[10px]",...$.logo!==void 0?{logo:$.logo}:{}},void 0,!1,void 0,this),s2("main",{className:"flex-grow flex flex-col",children:w},void 0,!1,void 0,this),s2("footer",{className:"bg-footer text-footer border-t border-theme",children:s2("div",{className:"max-w-layout mx-auto flex flex-col md:flex-row justify-between items-center py-8 px-6 md:px-8",children:[s2("div",{className:"flex flex-col gap-1 mb-4 md:mb-0",children:[s2("span",{className:"text-brand font-heading font-bold text-lg",children:$.title},void 0,!1,void 0,this),$.description&&s2("span",{className:"text-theme-muted text-xs",children:$.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this),s2("nav",{className:"flex flex-wrap justify-center gap-x-6 gap-y-2 mb-4 md:mb-0",children:W.map((X)=>s2("a",{href:X.href,className:"text-theme-muted text-[13px] hover:text-brand transition-colors",children:X.label},X.href,!1,void 0,this))},void 0,!1,void 0,this),s2("div",{className:"flex items-center gap-4",children:[$.copyright&&s2("span",{className:"text-theme-light text-[11px]",children:$.copyright},void 0,!1,void 0,this),s2(h6,{variant:"footer",size:"sm"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}n0();J0();p5();n0();J0();n0();J0();J0();n0();var l90=Z.enum(["draft","queued","published"]),L6=Z.object({title:Z.string(),slug:Z.string().optional(),description:Z.string().optional(),author:Z.string().optional(),status:l90,publishedAt:Z.string().datetime().optional(),event:Z.string().optional(),coverImageId:Z.string().optional()}),p90=L6.pick({title:!0,description:!0,status:!0,publishedAt:!0,coverImageId:!0}).extend({slug:Z.string()}),iY=Y2.extend({entityType:Z.literal("deck"),metadata:p90}),nY=iY.extend({frontmatter:L6,body:Z.string()}),r7=nY.extend({url:Z.string().optional(),typeLabel:Z.string().optional(),listUrl:Z.string().optional(),listLabel:Z.string().optional(),coverImageUrl:Z.string().optional(),coverImageWidth:Z.number().optional(),coverImageHeight:Z.number().optional()});class rU extends T2{constructor(){super({entityType:"deck",schema:iY,frontmatterSchema:L6,supportsCoverImage:!0})}validateSlideStructure(w){if(!/^---$/gm.test(w))throw Error("Invalid deck: markdown must contain slide separators (---) to be a valid presentation")}toMarkdown(w){let $=this.extractBody(w.content);this.validateSlideStructure($);try{let W=this.parseFrontMatter(w.content,L6),X={...W,slug:W.slug??w.metadata.slug};return this.buildMarkdown($,X)}catch{return $}}fromMarkdown(w){let $=this.parseFrontmatter(w),W=this.extractBody(w);this.validateSlideStructure(W);let X=$.slug??X5($.title),Y=$.status;return{entityType:"deck",content:w,metadata:{slug:X,title:$.title,description:$.description,status:Y,publishedAt:$.publishedAt,coverImageId:$.coverImageId}}}generateTitle(w){return w.metadata.title}generateSummary(w){if(w.metadata.description)return w.metadata.description;return`Presentation: ${w.metadata.title}`}generateFrontMatter(w){return this.toMarkdown(w)}}var d7=new rU;J0();p5();var r90=Z.object({markdown:Z.string().describe("Markdown content with slide separators (---)")}),dU=z1({name:"deck-detail",description:"Render a presentation deck as Reveal.js slides",schema:r90,dataSourceId:"decks:entities",requiredPermission:"public",layout:{component:YH,fullscreen:!0}});p5();J0();var cU=Z.object({decks:Z.array(nY)}),iU=Z.object({decks:Z.array(r7),pageTitle:Z.string().optional()});import{jsxDEV as nU}from"preact/jsx-dev-runtime";var oU=({decks:w,pageTitle:$})=>{let W=w.map((X)=>({id:X.id,url:X.url,title:X.frontmatter.title,date:X.frontmatter.publishedAt??X.created,description:X.frontmatter.description}));return nU("div",{className:"deck-list bg-theme",children:nU("div",{className:"container mx-auto px-6 md:px-12 max-w-4xl py-16 md:py-24",children:nU(M3,{title:$??"Presentations",items:W},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)};J0();class oY extends MW{constructor(){super(cU,{title:"Deck List",mappings:[{key:"decks",label:"Decks",type:"array",itemType:"object"}]})}}var aU=z1({name:"deck-list",description:"List view of all presentation decks",schema:iU,dataSourceId:"decks:entities",requiredPermission:"public",formatter:new oY,layout:{component:oU}});J0();n0();var d90=Z.object({title:Z.string().max(80).describe("A short, punchy title (2-5 words) that's memorable and evocative"),content:Z.string().describe("Full slide deck content in markdown format with slide separators (---). Each slide should have a header and focused content."),description:Z.string().describe("A concise 1-2 sentence summary that captures the essence of the talk")}),CC=z1({name:"decks:generation",description:"Template for AI to generate complete slide decks from prompts",schema:d90,dataSourceId:"shell:ai-content",requiredPermission:"public",useKnowledgeContext:!0,basePrompt:`You are creating slide decks in a distinctive voice that blends philosophy, technology, and culture.
|
|
1042
1042
|
|
|
1043
1043
|
Your task is to generate a complete slide deck based on the user's prompt.
|
|
1044
1044
|
|
|
@@ -1106,12 +1106,12 @@ Add your conclusion here`,H=H??`Presentation: ${G}`,await this.reportProgress($,
|
|
|
1106
1106
|
Note: This presentation is for "${Y}".`:""}`,E=await this.context.ai.generate({prompt:R,templateName:"decks:generation"});G=G??E.title,f=f??E.content,H=H??E.description,await this.reportProgress($,{progress:50,message:`Generated deck: "${G}"`})}else if(!H)await this.reportProgress($,{progress:30,message:"Generating description with AI"}),H=(await this.context.ai.generate({prompt:`Title: ${G}
|
|
1107
1107
|
|
|
1108
1108
|
Content:
|
|
1109
|
-
${f}`,templateName:"decks:description"})).description,await this.reportProgress($,{progress:50,message:"Description generated"});else await this.reportProgress($,{progress:50,message:"Using provided content"});if(!G||!f)this.failEarly("Title and content are required");let U={slug:X5(G),title:G,status:"draft"},A=await T8({entityType:"deck",title:G,deriveId:(M)=>M,regeneratePrompt:"Generate a different presentation deck title on the same topic.",context:this.context});if(A!==G)U.title=A,U.slug=X5(A);let F={title:U.title,status:U.status,slug:U.slug,description:H,author:X,event:Y},O=J6(f,F);return{id:A,content:O,metadata:U,title:A,resultExtras:{title:A,slug:U.slug},createOptions:{deduplicateId:!0}}}summarizeDataForLog(w){return{prompt:w.prompt,title:w.title}}}var IC={name:"@brains/decks",private:!0,version:"0.2.0-alpha.
|
|
1109
|
+
${f}`,templateName:"decks:description"})).description,await this.reportProgress($,{progress:50,message:"Description generated"});else await this.reportProgress($,{progress:50,message:"Using provided content"});if(!G||!f)this.failEarly("Title and content are required");let U={slug:X5(G),title:G,status:"draft"},A=await T8({entityType:"deck",title:G,deriveId:(M)=>M,regeneratePrompt:"Generate a different presentation deck title on the same topic.",context:this.context});if(A!==G)U.title=A,U.slug=X5(A);let F={title:U.title,status:U.status,slug:U.slug,description:H,author:X,event:Y},O=J6(f,F);return{id:A,content:O,metadata:U,title:A,resultExtras:{title:A,slug:U.slug},createOptions:{deduplicateId:!0}}}summarizeDataForLog(w){return{prompt:w.prompt,title:w.title}}}var IC={name:"@brains/decks",private:!0,version:"0.2.0-alpha.47",description:"Presentation decks plugin for creating and viewing slide presentations",type:"module",exports:{".":"./src/index.ts"},scripts:{typecheck:"tsc --noEmit",test:"bun test",lint:"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix",eval:"cd evals && bun run brain-eval"},dependencies:{"@brains/image":"workspace:*","@brains/plugins":"workspace:*","@brains/utils":"workspace:*"},devDependencies:{"@brains/app":"workspace:*","@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@types/bun":"latest","bun-types":"latest",eslint:"^8.56.0",typescript:"^5.3.3"}};class SC extends Z3{entityType=d7.entityType;schema=d7.schema;adapter=d7;constructor(){super("decks",IC)}createGenerationHandler(w){return new tU(this.logger.child("DeckGenerationJobHandler"),w)}getTemplates(){return{"deck-detail":dU,"deck-list":aU,generation:CC,description:bC}}getDataSources(){return[new sU(this.logger)]}getEntityTypeConfig(){return{weight:1.5}}async onRegister(w){await this.registerWithPublishPipeline(w),this.subscribeToPublishExecute(w),this.registerEvalHandlers(w),this.logger.info("Decks plugin registered")}async registerWithPublishPipeline(w){await w.messaging.send("publish:register",{entityType:"deck",provider:{name:"internal",publish:async()=>({id:"internal"})}})}subscribeToPublishExecute(w){w.messaging.subscribe("publish:execute",async($)=>{let{entityType:W,entityId:X}=$.payload;if(W!=="deck")return{success:!0};try{let Y=await w.entityService.getEntity("deck",X);if(!Y)return await w.messaging.send("publish:report:failure",{entityType:W,entityId:X,error:`Deck not found: ${X}`}),{success:!0};if(Y.metadata.status==="published")return{success:!0};let J=new Date().toISOString(),G={...Y,metadata:{...Y.metadata,status:"published",publishedAt:J}};await w.entityService.updateEntity({...G,content:this.adapter.toMarkdown(G)}),await w.messaging.send("publish:report:success",{entityType:W,entityId:X,result:{id:X}})}catch(Y){await w.messaging.send("publish:report:failure",{entityType:W,entityId:X,error:b1(Y)})}return{success:!0}})}registerEvalHandlers(w){w.eval.registerHandler("generateDeck",async($)=>{let W=Z.object({prompt:Z.string(),event:Z.string().optional()}).parse($);return w.ai.generate({prompt:`${W.prompt}${W.event?`
|
|
1110
1110
|
|
|
1111
1111
|
Note: This presentation is for "${W.event}".`:""}`,templateName:"decks:generation"})}),w.eval.registerHandler("generateDescription",async($)=>{let W=Z.object({title:Z.string(),content:Z.string()}).parse($);return w.ai.generate({prompt:`Title: ${W.title}
|
|
1112
1112
|
|
|
1113
1113
|
Content:
|
|
1114
|
-
${W.content}`,templateName:"decks:description"})})}}J0();n0();var aY=iw.extend({expertise:Z.array(Z.string()).optional().describe("Skills, domains, areas of focus"),currentFocus:Z.string().optional().describe("What you're currently working on"),availability:Z.string().optional().describe("What you're open to (consulting, speaking, etc.)")}),E6=o5.extend(aY.shape);n0();Q4();J0();var o90=new J5;class sY{postsListUrl;decksListUrl;id="professional:homepage-list";name="Homepage List DataSource";description="Fetches profile, blog posts, and presentation decks for homepage";constructor(w,$){this.postsListUrl=w;this.decksListUrl=$}async fetch(w,$,W){let X=W.entityService,[Y,J,G,f]=await Promise.all([n5(X),X.listEntities("post",{limit:20}),X.listEntities("deck",{limit:20}),v6(X)]),H=o90.parseProfileBody(Y,E6),h=J.sort(Iw).slice(0,3).map(z4),U=G.sort(Iw).slice(0,3).map(c7);if(!f.cta)throw Error("CTA not configured in site-info");let A={profile:H,posts:h,decks:U,postsListUrl:this.postsListUrl,decksListUrl:this.decksListUrl,cta:f.cta};return $.parse(A)}}n0();Q4();var a90=new J5;class tY{id="professional:about";name="About Page DataSource";description="Fetches full profile data for the about page";async fetch(w,$,W){let X=await n5(W.entityService),J={profile:a90.parseProfileBody(X,E6)};return $.parse(J)}}import{jsxDEV as S1,Fragment as xC}from"preact/jsx-dev-runtime";var eU=({profile:w,posts:$,decks:W,postsListUrl:X,decksListUrl:Y,cta:J})=>{let G=w.tagline||w.description,f=$.map((A)=>({id:A.id,url:A.url,title:A.metadata.title,date:A.metadata.publishedAt||A.created,description:A.frontmatter.excerpt,series:A.frontmatter.seriesName&&A.frontmatter.seriesIndex?{name:A.frontmatter.seriesName,index:A.frontmatter.seriesIndex}:void 0})),H=W.map((A)=>({id:A.id,url:A.url,title:A.frontmatter.title||A.id,date:A.frontmatter.publishedAt??A.created,description:A.frontmatter.description})),h=w.name||"Home",U=w.intro||w.description||G||"Professional site";return S1(xC,{children:[S1(p1,{title:h,description:U,ogType:"website"},void 0,!1,void 0,this),S1("div",{className:"homepage-list bg-theme",children:[S1("header",{className:"hero-bg-pattern relative w-full min-h-[70vh] flex items-end px-6 md:px-12 bg-theme overflow-hidden",children:S1("div",{className:"relative z-10 max-w-6xl mx-auto w-full pb-16 md:pb-24",children:[G&&S1("h1",{className:"text-5xl md:text-6xl lg:text-7xl font-semibold text-heading leading-[1.08] tracking-tight",children:G},void 0,!1,void 0,this),w.intro&&S1(xC,{children:[S1("div",{className:"w-12 border-t border-theme mt-8 mb-6 md:mt-10 md:mb-8"},void 0,!1,void 0,this),S1("p",{className:"text-lg md:text-xl text-theme-muted leading-relaxed max-w-xl md:max-w-lg",children:w.intro},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),S1("div",{className:"section-divider"},void 0,!1,void 0,this),S1("div",{className:"container mx-auto px-6 md:px-12 max-w-5xl py-16 md:py-24",children:[S1("div",{className:"content-section-reveal mb-20 md:mb-32",children:S1(M3,{title:"Essays",items:f,viewAllUrl:X},void 0,!1,void 0,this)},void 0,!1,void 0,this),H.length>0&&S1("div",{className:"content-section-reveal mb-20 md:mb-32",children:S1(M3,{title:"Presentations",items:H,viewAllUrl:Y},void 0,!1,void 0,this)},void 0,!1,void 0,this),(w.description||w.expertise&&w.expertise.length>0)&&S1("div",{className:"content-section-reveal mb-20 md:mb-32",children:S1(M3,{title:"About",viewAllUrl:"/about",variant:"stacked",children:S1("div",{className:"space-y-6",children:[w.description&&S1("p",{className:"text-lg text-theme leading-relaxed",children:w.description},void 0,!1,void 0,this),w.expertise&&w.expertise.length>0&&S1(QH,{tags:w.expertise,variant:"accent",size:"sm"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),S1(GH,{cta:J,variant:"editorial",socialLinks:w.socialLinks},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as H1,Fragment as s90}from"preact/jsx-dev-runtime";var wA=({profile:w})=>{let $=`About ${w.name||"Me"}`,W=w.description||w.intro||"About page",X=w.expertise&&w.expertise.length>0||w.currentFocus||w.availability||w.email||w.website||w.socialLinks&&w.socialLinks.length>0;return H1(s90,{children:[H1(p1,{title:$,description:W,ogType:"profile"},void 0,!1,void 0,this),H1("div",{className:"about-page bg-theme",children:[H1("header",{className:"hero-bg-pattern relative w-full py-16 md:py-24 px-6 md:px-12 bg-theme overflow-hidden",children:H1("div",{className:"relative z-10 max-w-4xl mx-auto",children:[H1("h1",{className:"text-5xl md:text-6xl font-semibold mb-6 text-heading",children:["About ",w.name||"Me"]},void 0,!0,void 0,this),w.description&&H1("p",{className:"text-xl md:text-2xl text-theme-muted leading-relaxed",children:w.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),H1("div",{className:"container mx-auto px-6 md:px-12 max-w-4xl py-12 md:py-16",children:[w.story&&H1("section",{className:"content-section-reveal mb-20 md:mb-28",children:H1(M4,{markdown:w.story},void 0,!1,void 0,this)},void 0,!1,void 0,this),X&&H1("div",{className:"content-section-reveal grid md:grid-cols-2 gap-x-16 gap-y-12",children:[w.expertise&&w.expertise.length>0&&H1("section",{children:[H1("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-6",children:"Expertise"},void 0,!1,void 0,this),H1("ul",{className:"flex flex-wrap gap-3",children:w.expertise.map((Y,J)=>H1("li",{className:l8({variant:"accent",size:"lg"}),children:Y},J,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),w.currentFocus&&H1("section",{children:[H1("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-6",children:"Current Focus"},void 0,!1,void 0,this),H1("p",{className:"text-lg text-theme leading-relaxed",children:w.currentFocus},void 0,!1,void 0,this)]},void 0,!0,void 0,this),w.availability&&H1("section",{children:[H1("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-6",children:"Availability"},void 0,!1,void 0,this),H1("p",{className:"text-lg text-theme leading-relaxed",children:w.availability},void 0,!1,void 0,this)]},void 0,!0,void 0,this),(w.email||w.website||w.socialLinks&&w.socialLinks.length>0)&&H1("section",{children:[H1("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-6",children:"Contact"},void 0,!1,void 0,this),H1("div",{className:"space-y-4",children:[w.email&&H1("p",{className:"text-lg",children:H1("a",{href:`mailto:${w.email}`,className:"text-brand hover:text-brand-dark transition-colors",children:w.email},void 0,!1,void 0,this)},void 0,!1,void 0,this),w.website&&H1("p",{className:"text-lg",children:H1("a",{href:w.website,target:"_blank",rel:"noopener noreferrer",className:"text-brand hover:text-brand-dark transition-colors",children:w.website},void 0,!1,void 0,this)},void 0,!1,void 0,this),w.socialLinks&&w.socialLinks.length>0&&H1("div",{className:"flex flex-wrap gap-4 mt-4",children:w.socialLinks.map((Y,J)=>H1(G5,{href:Y.url,external:!0,variant:"secondary",size:"md",children:Y.label||Y.platform},J,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as N2,Fragment as yC}from"preact/jsx-dev-runtime";var $A=()=>{return N2(yC,{children:[N2(p1,{title:"Thanks for subscribing!",description:"You've successfully subscribed to the newsletter."},void 0,!1,void 0,this),N2("div",{className:"min-h-[60vh] flex items-center justify-center px-6",children:N2("div",{className:"text-center max-w-md",children:[N2("div",{className:"text-6xl mb-6",children:"\uD83C\uDF89"},void 0,!1,void 0,this),N2("h1",{className:"text-3xl font-semibold mb-4 text-heading",children:"Thanks for subscribing!"},void 0,!1,void 0,this),N2("p",{className:"text-lg text-theme-muted mb-8",children:"You'll receive a confirmation email shortly. Check your inbox to confirm your subscription."},void 0,!1,void 0,this),N2(G5,{href:"/",variant:"primary",children:"Back to Home"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},WA=()=>{return N2(yC,{children:[N2(p1,{title:"Subscription failed",description:"There was a problem with your subscription."},void 0,!1,void 0,this),N2("div",{className:"min-h-[60vh] flex items-center justify-center px-6",children:N2("div",{className:"text-center max-w-md",children:[N2("div",{className:"text-6xl mb-6",children:"\uD83D\uDE22"},void 0,!1,void 0,this),N2("h1",{className:"text-3xl font-semibold mb-4 text-heading",children:"Something went wrong"},void 0,!1,void 0,this),N2("p",{className:"text-lg text-theme-muted mb-8",children:"We couldn't process your subscription. Please try again or contact us if the problem persists."},void 0,!1,void 0,this),N2(G5,{href:"/",variant:"primary",children:"Back to Home"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};J0();var mC=Z.object({label:Z.string().describe("Display label for entity type (e.g., 'Essay')"),pluralName:Z.string().optional().describe("URL path segment (defaults to label.toLowerCase() + 's')")}),uC=Z.object({entityDisplay:Z.object({post:mC,deck:mC}).describe("Display metadata for post and deck entity types (required for homepage)")});var gC={name:"@brains/site-professional",private:!0,version:"0.2.0-alpha.46",description:"Professional site composition package",type:"module",exports:{".":"./src/index.ts"},files:["src"],scripts:{typecheck:"tsc --noEmit",lint:"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix"},dependencies:{"@brains/blog":"workspace:*","@brains/decks":"workspace:*","@brains/identity-service":"workspace:*","@brains/plugins":"workspace:*","@brains/site-builder-plugin":"workspace:*","@brains/site-composition":"workspace:*","@brains/site-info":"workspace:*","@brains/templates":"workspace:*","@brains/ui-library":"workspace:*","@brains/utils":"workspace:*",preact:"^10.27.2"},devDependencies:{"@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@types/bun":"latest","bun-types":"latest",eslint:"^8.56.0",typescript:"^5.3.3"}};class XA extends F4{dependencies=["blog","decks"];constructor(w){super("professional-site",gC,w,uC)}async onRegister(w){w.entities.extendFrontmatterSchema("anchor-profile",aY);let $=this.config.entityDisplay.post,W=this.config.entityDisplay.deck,X=`/${$.pluralName??$.label.toLowerCase()+"s"}`,Y=`/${W.pluralName??W.label.toLowerCase()+"s"}`,J=new sY(X,Y);w.entities.registerDataSource(J);let G=new tY;w.entities.registerDataSource(G);let f=Z.object({profile:E6,posts:Z.array(_5),decks:Z.array(r7),postsListUrl:Z.string(),decksListUrl:Z.string(),cta:u4}),H=Z.object({profile:E6}),h=Z.object({});w.templates.register({"homepage-list":z1({name:"homepage-list",description:"Professional homepage with essays and presentations",schema:f,dataSourceId:"professional:homepage-list",requiredPermission:"public",layout:{component:eU}}),about:z1({name:"about",description:"About page with full profile information",schema:H,dataSourceId:"professional:about",requiredPermission:"public",layout:{component:wA}}),"subscribe-thanks":z1({name:"subscribe-thanks",description:"Newsletter subscription success page",schema:h,requiredPermission:"public",layout:{component:$A}}),"subscribe-error":z1({name:"subscribe-error",description:"Newsletter subscription error page",schema:h,requiredPermission:"public",layout:{component:WA}})}),this.logger.info("Professional site plugin registered successfully")}async getTools(){return[]}async getResources(){return[]}}function lC(w){return new XA(w??{})}var pC=[{id:"home",path:"/",title:"Home",description:"Professional site homepage",layout:"default",navigation:{show:!0,label:"Home",slot:"secondary",priority:10},sections:[{id:"homepage",template:"professional-site:homepage-list",dataQuery:{}}]},{id:"about",path:"/about",title:"About",description:"About page",layout:"default",navigation:{show:!0,label:"About",slot:"primary",priority:90},sections:[{id:"about",template:"professional-site:about",dataQuery:{}}]},{id:"subscribe-thanks",path:"/subscribe/thanks",title:"Thanks for subscribing",description:"Newsletter subscription confirmation",layout:"default",navigation:{show:!1},sections:[{id:"subscribe-thanks",template:"professional-site:subscribe-thanks",dataQuery:{},content:{}}]},{id:"subscribe-error",path:"/subscribe/error",title:"Subscription failed",description:"Newsletter subscription error",layout:"default",navigation:{show:!1},sections:[{id:"subscribe-error",template:"professional-site:subscribe-error",dataQuery:{},content:{}}]}];import{jsxDEV as _9}from"preact/jsx-dev-runtime";function rC({sections:w,siteInfo:$,slots:W}){return _9("div",{className:"flex flex-col min-h-screen bg-theme overflow-x-clip",children:[_9(u8,{title:$.title,navigation:$.navigation.primary,...$.logo!==void 0?{logo:$.logo}:{}},void 0,!1,void 0,this),_9("main",{className:"flex-grow flex flex-col bg-theme",children:w},void 0,!1,void 0,this),_9("div",{className:"section-divider"},void 0,!1,void 0,this),_9(KH,{primaryNavigation:$.navigation.primary,secondaryNavigation:$.navigation.secondary,copyright:$.copyright,socialLinks:$.socialLinks,children:_9(mU,{name:"footer-top",slots:W},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}export{pU as routes,lC as professionalSitePlugin,pC as professionalRoutes,PC as personalSitePlugin,pU as personalRoutes,rC as ProfessionalLayout,jC as PersonalLayout};
|
|
1114
|
+
${W.content}`,templateName:"decks:description"})})}}J0();n0();var aY=iw.extend({expertise:Z.array(Z.string()).optional().describe("Skills, domains, areas of focus"),currentFocus:Z.string().optional().describe("What you're currently working on"),availability:Z.string().optional().describe("What you're open to (consulting, speaking, etc.)")}),E6=o5.extend(aY.shape);n0();Q4();J0();var o90=new J5;class sY{postsListUrl;decksListUrl;id="professional:homepage-list";name="Homepage List DataSource";description="Fetches profile, blog posts, and presentation decks for homepage";constructor(w,$){this.postsListUrl=w;this.decksListUrl=$}async fetch(w,$,W){let X=W.entityService,[Y,J,G,f]=await Promise.all([n5(X),X.listEntities("post",{limit:20}),X.listEntities("deck",{limit:20}),v6(X)]),H=o90.parseProfileBody(Y,E6),h=J.sort(Iw).slice(0,3).map(z4),U=G.sort(Iw).slice(0,3).map(c7);if(!f.cta)throw Error("CTA not configured in site-info");let A={profile:H,posts:h,decks:U,postsListUrl:this.postsListUrl,decksListUrl:this.decksListUrl,cta:f.cta};return $.parse(A)}}n0();Q4();var a90=new J5;class tY{id="professional:about";name="About Page DataSource";description="Fetches full profile data for the about page";async fetch(w,$,W){let X=await n5(W.entityService),J={profile:a90.parseProfileBody(X,E6)};return $.parse(J)}}import{jsxDEV as S1,Fragment as xC}from"preact/jsx-dev-runtime";var eU=({profile:w,posts:$,decks:W,postsListUrl:X,decksListUrl:Y,cta:J})=>{let G=w.tagline||w.description,f=$.map((A)=>({id:A.id,url:A.url,title:A.metadata.title,date:A.metadata.publishedAt||A.created,description:A.frontmatter.excerpt,series:A.frontmatter.seriesName&&A.frontmatter.seriesIndex?{name:A.frontmatter.seriesName,index:A.frontmatter.seriesIndex}:void 0})),H=W.map((A)=>({id:A.id,url:A.url,title:A.frontmatter.title||A.id,date:A.frontmatter.publishedAt??A.created,description:A.frontmatter.description})),h=w.name||"Home",U=w.intro||w.description||G||"Professional site";return S1(xC,{children:[S1(p1,{title:h,description:U,ogType:"website"},void 0,!1,void 0,this),S1("div",{className:"homepage-list bg-theme",children:[S1("header",{className:"hero-bg-pattern relative w-full min-h-[70vh] flex items-end px-6 md:px-12 bg-theme overflow-hidden",children:S1("div",{className:"relative z-10 max-w-6xl mx-auto w-full pb-16 md:pb-24",children:[G&&S1("h1",{className:"text-5xl md:text-6xl lg:text-7xl font-semibold text-heading leading-[1.08] tracking-tight",children:G},void 0,!1,void 0,this),w.intro&&S1(xC,{children:[S1("div",{className:"w-12 border-t border-theme mt-8 mb-6 md:mt-10 md:mb-8"},void 0,!1,void 0,this),S1("p",{className:"text-lg md:text-xl text-theme-muted leading-relaxed max-w-xl md:max-w-lg",children:w.intro},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),S1("div",{className:"section-divider"},void 0,!1,void 0,this),S1("div",{className:"container mx-auto px-6 md:px-12 max-w-5xl py-16 md:py-24",children:[S1("div",{className:"content-section-reveal mb-20 md:mb-32",children:S1(M3,{title:"Essays",items:f,viewAllUrl:X},void 0,!1,void 0,this)},void 0,!1,void 0,this),H.length>0&&S1("div",{className:"content-section-reveal mb-20 md:mb-32",children:S1(M3,{title:"Presentations",items:H,viewAllUrl:Y},void 0,!1,void 0,this)},void 0,!1,void 0,this),(w.description||w.expertise&&w.expertise.length>0)&&S1("div",{className:"content-section-reveal mb-20 md:mb-32",children:S1(M3,{title:"About",viewAllUrl:"/about",variant:"stacked",children:S1("div",{className:"space-y-6",children:[w.description&&S1("p",{className:"text-lg text-theme leading-relaxed",children:w.description},void 0,!1,void 0,this),w.expertise&&w.expertise.length>0&&S1(QH,{tags:w.expertise,variant:"accent",size:"sm"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),S1(GH,{cta:J,variant:"editorial",socialLinks:w.socialLinks},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as H1,Fragment as s90}from"preact/jsx-dev-runtime";var wA=({profile:w})=>{let $=`About ${w.name||"Me"}`,W=w.description||w.intro||"About page",X=w.expertise&&w.expertise.length>0||w.currentFocus||w.availability||w.email||w.website||w.socialLinks&&w.socialLinks.length>0;return H1(s90,{children:[H1(p1,{title:$,description:W,ogType:"profile"},void 0,!1,void 0,this),H1("div",{className:"about-page bg-theme",children:[H1("header",{className:"hero-bg-pattern relative w-full py-16 md:py-24 px-6 md:px-12 bg-theme overflow-hidden",children:H1("div",{className:"relative z-10 max-w-4xl mx-auto",children:[H1("h1",{className:"text-5xl md:text-6xl font-semibold mb-6 text-heading",children:["About ",w.name||"Me"]},void 0,!0,void 0,this),w.description&&H1("p",{className:"text-xl md:text-2xl text-theme-muted leading-relaxed",children:w.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),H1("div",{className:"container mx-auto px-6 md:px-12 max-w-4xl py-12 md:py-16",children:[w.story&&H1("section",{className:"content-section-reveal mb-20 md:mb-28",children:H1(M4,{markdown:w.story},void 0,!1,void 0,this)},void 0,!1,void 0,this),X&&H1("div",{className:"content-section-reveal grid md:grid-cols-2 gap-x-16 gap-y-12",children:[w.expertise&&w.expertise.length>0&&H1("section",{children:[H1("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-6",children:"Expertise"},void 0,!1,void 0,this),H1("ul",{className:"flex flex-wrap gap-3",children:w.expertise.map((Y,J)=>H1("li",{className:l8({variant:"accent",size:"lg"}),children:Y},J,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),w.currentFocus&&H1("section",{children:[H1("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-6",children:"Current Focus"},void 0,!1,void 0,this),H1("p",{className:"text-lg text-theme leading-relaxed",children:w.currentFocus},void 0,!1,void 0,this)]},void 0,!0,void 0,this),w.availability&&H1("section",{children:[H1("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-6",children:"Availability"},void 0,!1,void 0,this),H1("p",{className:"text-lg text-theme leading-relaxed",children:w.availability},void 0,!1,void 0,this)]},void 0,!0,void 0,this),(w.email||w.website||w.socialLinks&&w.socialLinks.length>0)&&H1("section",{children:[H1("h2",{className:"text-sm tracking-widest uppercase text-theme-muted mb-6",children:"Contact"},void 0,!1,void 0,this),H1("div",{className:"space-y-4",children:[w.email&&H1("p",{className:"text-lg",children:H1("a",{href:`mailto:${w.email}`,className:"text-brand hover:text-brand-dark transition-colors",children:w.email},void 0,!1,void 0,this)},void 0,!1,void 0,this),w.website&&H1("p",{className:"text-lg",children:H1("a",{href:w.website,target:"_blank",rel:"noopener noreferrer",className:"text-brand hover:text-brand-dark transition-colors",children:w.website},void 0,!1,void 0,this)},void 0,!1,void 0,this),w.socialLinks&&w.socialLinks.length>0&&H1("div",{className:"flex flex-wrap gap-4 mt-4",children:w.socialLinks.map((Y,J)=>H1(G5,{href:Y.url,external:!0,variant:"secondary",size:"md",children:Y.label||Y.platform},J,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import{jsxDEV as N2,Fragment as yC}from"preact/jsx-dev-runtime";var $A=()=>{return N2(yC,{children:[N2(p1,{title:"Thanks for subscribing!",description:"You've successfully subscribed to the newsletter."},void 0,!1,void 0,this),N2("div",{className:"min-h-[60vh] flex items-center justify-center px-6",children:N2("div",{className:"text-center max-w-md",children:[N2("div",{className:"text-6xl mb-6",children:"\uD83C\uDF89"},void 0,!1,void 0,this),N2("h1",{className:"text-3xl font-semibold mb-4 text-heading",children:"Thanks for subscribing!"},void 0,!1,void 0,this),N2("p",{className:"text-lg text-theme-muted mb-8",children:"You'll receive a confirmation email shortly. Check your inbox to confirm your subscription."},void 0,!1,void 0,this),N2(G5,{href:"/",variant:"primary",children:"Back to Home"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},WA=()=>{return N2(yC,{children:[N2(p1,{title:"Subscription failed",description:"There was a problem with your subscription."},void 0,!1,void 0,this),N2("div",{className:"min-h-[60vh] flex items-center justify-center px-6",children:N2("div",{className:"text-center max-w-md",children:[N2("div",{className:"text-6xl mb-6",children:"\uD83D\uDE22"},void 0,!1,void 0,this),N2("h1",{className:"text-3xl font-semibold mb-4 text-heading",children:"Something went wrong"},void 0,!1,void 0,this),N2("p",{className:"text-lg text-theme-muted mb-8",children:"We couldn't process your subscription. Please try again or contact us if the problem persists."},void 0,!1,void 0,this),N2(G5,{href:"/",variant:"primary",children:"Back to Home"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};J0();var mC=Z.object({label:Z.string().describe("Display label for entity type (e.g., 'Essay')"),pluralName:Z.string().optional().describe("URL path segment (defaults to label.toLowerCase() + 's')")}),uC=Z.object({entityDisplay:Z.object({post:mC,deck:mC}).describe("Display metadata for post and deck entity types (required for homepage)")});var gC={name:"@brains/site-professional",private:!0,version:"0.2.0-alpha.47",description:"Professional site composition package",type:"module",exports:{".":"./src/index.ts"},files:["src"],scripts:{typecheck:"tsc --noEmit",lint:"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix"},dependencies:{"@brains/blog":"workspace:*","@brains/decks":"workspace:*","@brains/identity-service":"workspace:*","@brains/plugins":"workspace:*","@brains/site-builder-plugin":"workspace:*","@brains/site-composition":"workspace:*","@brains/site-info":"workspace:*","@brains/templates":"workspace:*","@brains/ui-library":"workspace:*","@brains/utils":"workspace:*",preact:"^10.27.2"},devDependencies:{"@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@types/bun":"latest","bun-types":"latest",eslint:"^8.56.0",typescript:"^5.3.3"}};class XA extends F4{dependencies=["blog","decks"];constructor(w){super("professional-site",gC,w,uC)}async onRegister(w){w.entities.extendFrontmatterSchema("anchor-profile",aY);let $=this.config.entityDisplay.post,W=this.config.entityDisplay.deck,X=`/${$.pluralName??$.label.toLowerCase()+"s"}`,Y=`/${W.pluralName??W.label.toLowerCase()+"s"}`,J=new sY(X,Y);w.entities.registerDataSource(J);let G=new tY;w.entities.registerDataSource(G);let f=Z.object({profile:E6,posts:Z.array(_5),decks:Z.array(r7),postsListUrl:Z.string(),decksListUrl:Z.string(),cta:u4}),H=Z.object({profile:E6}),h=Z.object({});w.templates.register({"homepage-list":z1({name:"homepage-list",description:"Professional homepage with essays and presentations",schema:f,dataSourceId:"professional:homepage-list",requiredPermission:"public",layout:{component:eU}}),about:z1({name:"about",description:"About page with full profile information",schema:H,dataSourceId:"professional:about",requiredPermission:"public",layout:{component:wA}}),"subscribe-thanks":z1({name:"subscribe-thanks",description:"Newsletter subscription success page",schema:h,requiredPermission:"public",layout:{component:$A}}),"subscribe-error":z1({name:"subscribe-error",description:"Newsletter subscription error page",schema:h,requiredPermission:"public",layout:{component:WA}})}),this.logger.info("Professional site plugin registered successfully")}async getTools(){return[]}async getResources(){return[]}}function lC(w){return new XA(w??{})}var pC=[{id:"home",path:"/",title:"Home",description:"Professional site homepage",layout:"default",navigation:{show:!0,label:"Home",slot:"secondary",priority:10},sections:[{id:"homepage",template:"professional-site:homepage-list",dataQuery:{}}]},{id:"about",path:"/about",title:"About",description:"About page",layout:"default",navigation:{show:!0,label:"About",slot:"primary",priority:90},sections:[{id:"about",template:"professional-site:about",dataQuery:{}}]},{id:"subscribe-thanks",path:"/subscribe/thanks",title:"Thanks for subscribing",description:"Newsletter subscription confirmation",layout:"default",navigation:{show:!1},sections:[{id:"subscribe-thanks",template:"professional-site:subscribe-thanks",dataQuery:{},content:{}}]},{id:"subscribe-error",path:"/subscribe/error",title:"Subscription failed",description:"Newsletter subscription error",layout:"default",navigation:{show:!1},sections:[{id:"subscribe-error",template:"professional-site:subscribe-error",dataQuery:{},content:{}}]}];import{jsxDEV as _9}from"preact/jsx-dev-runtime";function rC({sections:w,siteInfo:$,slots:W}){return _9("div",{className:"flex flex-col min-h-screen bg-theme overflow-x-clip",children:[_9(u8,{title:$.title,navigation:$.navigation.primary,...$.logo!==void 0?{logo:$.logo}:{}},void 0,!1,void 0,this),_9("main",{className:"flex-grow flex flex-col bg-theme",children:w},void 0,!1,void 0,this),_9("div",{className:"section-divider"},void 0,!1,void 0,this),_9(KH,{primaryNavigation:$.navigation.primary,secondaryNavigation:$.navigation.secondary,copyright:$.copyright,socialLinks:$.socialLinks,children:_9(mU,{name:"footer-top",slots:W},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}export{pU as routes,lC as professionalSitePlugin,pC as professionalRoutes,PC as personalSitePlugin,pU as personalRoutes,rC as ProfessionalLayout,jC as PersonalLayout};
|
|
1115
1115
|
|
|
1116
|
-
//# debugId=
|
|
1116
|
+
//# debugId=34835879274A4BA764756E2164756E21
|
|
1117
1117
|
//# sourceMappingURL=site.js.map
|