@rizom/brain 0.2.0-alpha.223 → 0.2.0-alpha.225
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 +1007 -1001
- package/dist/chunks/blog-post-adapter-tk0z5tgh.js +5 -0
- package/dist/chunks/{index-ps0mn8y9.js → index-18d0wj5t.js} +4 -4
- package/dist/chunks/{index-ps0mn8y9.js.map → index-18d0wj5t.js.map} +1 -1
- package/dist/chunks/{index-px8fmtx1.js → index-1qz89akh.js} +4 -4
- package/dist/chunks/{index-px8fmtx1.js.map → index-1qz89akh.js.map} +1 -1
- package/dist/chunks/{index-vtwspye3.js → index-48mg443r.js} +3 -3
- package/dist/chunks/{index-vtwspye3.js.map → index-48mg443r.js.map} +1 -1
- package/dist/chunks/{index-0bjkx8vb.js → index-4xzx30t8.js} +4 -4
- package/dist/chunks/{index-0bjkx8vb.js.map → index-4xzx30t8.js.map} +2 -2
- package/dist/chunks/{index-gca7xnrh.js → index-e933mq3w.js} +3 -3
- package/dist/chunks/{index-gca7xnrh.js.map → index-e933mq3w.js.map} +1 -1
- package/dist/chunks/{index-nqjbkf5n.js → index-gaa2742w.js} +3 -3
- package/dist/chunks/{index-nqjbkf5n.js.map → index-gaa2742w.js.map} +1 -1
- package/dist/chunks/index-gfewwta6.js +6 -0
- package/dist/chunks/{index-59y15khc.js.map → index-gfewwta6.js.map} +2 -2
- package/dist/chunks/{index-57d1xga4.js → index-h1zmmtbw.js} +4 -4
- package/dist/chunks/{index-57d1xga4.js.map → index-h1zmmtbw.js.map} +1 -1
- package/dist/chunks/index-jm9vaxsh.js +10 -0
- package/dist/chunks/{index-836tm28j.js.map → index-jm9vaxsh.js.map} +8 -8
- package/dist/chunks/{index-c93wmj0d.js → index-q53nehd5.js} +4 -4
- package/dist/chunks/{index-c93wmj0d.js.map → index-q53nehd5.js.map} +3 -3
- package/dist/chunks/index-rng6ka15.js +6 -0
- package/dist/chunks/{index-t7hbrpyx.js.map → index-rng6ka15.js.map} +12 -12
- package/dist/chunks/{rss-datasource-c67ta2xa.js → rss-datasource-v805vq9d.js} +3 -3
- package/dist/chunks/{rss-datasource-c67ta2xa.js.map → rss-datasource-v805vq9d.js.map} +1 -1
- package/dist/deploy.js +1 -1
- package/dist/entities.js +2 -2
- package/dist/entities.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/interfaces.js +2 -2
- package/dist/interfaces.js.map +1 -1
- package/dist/plugins.d.ts +17 -5
- package/dist/plugins.js +3 -3
- package/dist/plugins.js.map +3 -3
- package/dist/seed-content/ranger/anchor-profile/anchor-profile.md +1 -1
- package/dist/seed-content/ranger/site-info/site-info.md +1 -0
- package/dist/seed-content/relay/site-info/site-info.md +1 -0
- package/dist/seed-content/rover-seed-content-core/anchor-profile/anchor-profile.md +1 -1
- package/dist/seed-content/rover-seed-content-core/style-guide/style-guide.md +48 -0
- package/dist/seed-content/rover-seed-content-default/anchor-profile/anchor-profile.md +1 -1
- package/dist/seed-content/rover-seed-content-default/site-info/site-info.md +1 -0
- package/dist/seed-content/rover-seed-content-default/style-guide/style-guide.md +48 -0
- package/dist/seed-content/rover-seed-content-full/anchor-profile/anchor-profile.md +1 -1
- package/dist/seed-content/rover-seed-content-full/site-info/site-info.md +1 -0
- package/dist/seed-content/rover-seed-content-full/style-guide/style-guide.md +48 -0
- package/dist/services.js +2 -2
- package/dist/services.js.map +1 -1
- package/dist/site.js +155 -160
- package/dist/site.js.map +33 -25
- package/dist/templates.js +2 -2
- package/dist/templates.js.map +1 -1
- package/dist/themes.js +1 -1
- package/dist/ui/cms-app.js +121 -121
- package/dist/ui/cms-app.js.map +6 -6
- package/package.json +1 -1
- package/dist/chunks/blog-post-adapter-gny02sy3.js +0 -5
- package/dist/chunks/index-59y15khc.js +0 -6
- package/dist/chunks/index-836tm28j.js +0 -10
- package/dist/chunks/index-t7hbrpyx.js +0 -6
- /package/dist/chunks/{blog-post-adapter-gny02sy3.js.map → blog-post-adapter-tk0z5tgh.js.map} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Ja as f$}from"./index-18d0wj5t.js";import{Wa as G}from"./index-h1zmmtbw.js";var H$=G.object({id:G.string(),template:G.string(),content:G.unknown().optional(),dataQuery:G.looseObject({entityType:G.string().optional(),template:G.string().optional(),query:G.looseObject({id:G.string().optional(),limit:G.number().optional(),offset:G.number().optional()}).optional()}).optional(),order:G.number().optional()}),B$=["primary","secondary"],Y$=G.object({show:G.boolean().default(!1),label:G.string().optional(),slot:G.enum(B$).default("primary"),priority:G.number().min(0).max(100).default(50)}).optional(),O$=G.object({id:G.string(),path:G.string(),title:G.string().default(""),pageLabel:G.string().optional(),description:G.string().default(""),sections:G.array(H$).default([]),layout:G.string().default("default"),fullscreen:G.boolean().optional(),pluginId:G.string().optional(),sourceEntityType:G.string().optional(),external:G.boolean().optional(),navigation:Y$}),D2=G.object({routes:G.array(O$),pluginId:G.string()}),M2=G.object({paths:G.array(G.string()).optional(),pluginId:G.string().optional()}),K2=G.object({pluginId:G.string().optional()}),H2=G.object({path:G.string()}),NZ=G.object({label:G.string(),href:G.string(),priority:G.number()});var hZ=G.object({heading:G.string().describe("Main CTA heading text"),buttonText:G.string().describe("Call-to-action button text"),buttonLink:G.string().describe("URL or anchor for the CTA button")}),uZ=G.object({blurb:G.string().optional().describe("Short italic subtitle under the section title")}),B2=G.object({represents:G.enum(["brain","anchor"]).default("anchor").describe("Identity represented by the site"),title:G.string().describe("The site's title"),description:G.string().describe("The site's description"),url:G.string().optional().describe("Canonical site URL"),copyright:G.string().optional().describe("Copyright notice text"),logo:G.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:G.enum(["light","dark"]).optional().describe("Default theme mode"),analyticsScript:G.string().optional().describe("Analytics script HTML"),cta:hZ.optional().describe("Call-to-action configuration"),sections:G.record(G.string(),uZ).optional().describe("Optional per-section blurbs, keyed by section id (e.g. 'essays', 'presentations', 'about'). Used by homepage templates that render editorial section headers.")});var Y2=G.object({platform:G.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:G.string().describe("Profile or contact URL"),label:G.string().optional().describe("Optional display label")}),O2=G.object({represents:G.enum(["brain","anchor"]).default("anchor").describe("Identity represented by the site"),title:G.string().describe("The site's title"),description:G.string().describe("The site's description"),url:G.string().optional().describe("Canonical site URL"),copyright:G.string(),logo:G.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:G.enum(["light","dark"]).optional().describe("Default theme mode"),analyticsScript:G.string().optional().describe("Analytics script HTML"),cta:hZ.optional().describe("Call-to-action configuration"),sections:G.record(G.string(),uZ).optional().describe("Optional per-section blurbs, keyed by section id (e.g. 'essays', 'presentations', 'about'). Used by homepage templates that render editorial section headers."),navigation:G.object({primary:G.array(NZ),secondary:G.array(NZ)}),socialLinks:G.array(Y2).optional().describe("Social media links from profile metadata")});var y2=G.record(G.string(),G.unknown());var o2=G.object({message:G.string()});var P$=G.record(G.string(),G.unknown());class LZ{schema;config;processor=f$();constructor(K,W){this.schema=K,this.config=W}getLabels(){let K={};for(let W of this.config.mappings)K[W.key]=W.label;return K}generateBodyTemplate(){if(this.config.mappings.length===0)return"";let K=[];for(let W of this.config.mappings)K.push(`## ${W.label}`,"",`<!-- Write your ${W.label.toLowerCase()} here -->`,"");return K.join(`
|
|
3
3
|
`).trimEnd()+`
|
|
4
4
|
`}format(K){try{let W=[`# ${this.config.title}`,""];for(let O of this.config.mappings)this.formatField(K,O,W,2);return W.join(`
|
|
5
5
|
`)}catch(W){throw Error(`Failed to format structured content: ${this.describeError(W)}`,{cause:W})}}parse(K){try{let W=this.processor.parse(K),O=this.extractSections(W,2),A=this.buildDataFromSections(O,this.config.mappings);return this.schema.parse(A)}catch(W){throw Error(`Failed to parse structured content: ${this.describeError(W)}`,{cause:W})}}describeError(K){if(K instanceof G.ZodError)return K.issues.map((W)=>`${W.path.join(".")||"(root)"}: ${W.message}`).join("; ");return K instanceof Error?K.message:String(K)}escapeBlockMarkup(K){return K.replace(/^(\s*)#/gm,"$1\\#")}formatField(K,W,O,A){let V="#".repeat(A)+" "+W.label,F=this.getValueByPath(K,W.key);if(W.type==="custom"&&W.formatter){if(F!==void 0&&F!==null){O.push(V,"");let U=W.formatter(F);if(U)O.push(U,"")}return}switch(W.type){case"string":case"number":if(F===void 0||F===null)break;O.push(V,this.escapeBlockMarkup(String(F)),"");break;case"object":if(O.push(V),W.children&&F)for(let U of W.children)this.formatField(F,U,O,A+1);break;case"array":if(O.push(V,""),Array.isArray(F))if(W.itemType==="object"&&W.itemMappings)F.forEach((U,M)=>{if(O.push(`${"#".repeat(A+1)} ${W.label.slice(0,-1)} ${M+1}`),O.push(""),W.itemMappings)for(let T of W.itemMappings)this.formatField(U,T,O,A+2)});else{for(let U of F){let M=this.defaultArrayItemFormat(U);O.push(`- ${M}`)}O.push("")}break}}getValueByPath(K,W){let O=W.split("."),A=K;for(let V of O){let F=P$.safeParse(A);if(!F.success)return;A=F.data[V]}return A}defaultArrayItemFormat(K){if(typeof K==="string"||typeof K==="number")return String(K);return JSON.stringify(K)}extractSections(K,W){let O=new Map,A=null,V=[];for(let F of K.children)if(F.type==="heading"&&F.depth===W){if(A)O.set(A.toLowerCase(),V);A=this.getHeadingText(F),V=[]}else if(A)V.push(F);if(A)O.set(A.toLowerCase(),V);return O}extractSubsections(K,W){let O=new Map,A=null,V=[];for(let F of K)if(F.type==="heading"&&F.depth===W){if(A)O.set(A.toLowerCase(),V);A=this.getHeadingText(F),V=[]}else if(A)V.push(F);if(A)O.set(A.toLowerCase(),V);return O}textNodeSchema=G.object({type:G.literal("text"),value:G.string()});extractTextValue(K){let W=this.textNodeSchema.safeParse(K);return W.success?W.data.value:""}getHeadingText(K){return K.children.filter((O)=>O.type==="text").map((O)=>this.extractTextValue(O)).join("")}buildDataFromSections(K,W,O=2){let A={};for(let V of W){let F=K.get(V.label.toLowerCase());if(V.type==="custom"&&V.parser&&F){let U=this.getTextFromSection(F),M=V.parser(U);this.setValueByPath(A,V.key,M)}else if(V.type==="object"&&V.children&&F){let U=this.extractSubsections(F,O+1),M=this.buildDataFromSections(U,V.children,O+1);this.setValueByPath(A,V.key,M)}else if(V.type==="array"&&F)if(V.itemType==="object"&&V.itemMappings){let U=this.extractObjectArrayItems(F,O+1,V.itemMappings);this.setValueByPath(A,V.key,U)}else{let U=this.extractSimpleArrayItems(F);this.setValueByPath(A,V.key,U)}else if(F){let U=this.getTextFromSection(F),M=V.type==="number"?Number(U):U;this.setValueByPath(A,V.key,M)}}return A}setValueByPath(K,W,O){let A=W.split("."),V=K;for(let U=0;U<A.length-1;U++){let M=A[U];if(!M)continue;let T=P$.safeParse(V[M]);if(T.success){V[M]=T.data,V=T.data;continue}let Q={};V[M]=Q,V=Q}let F=A[A.length-1];if(F)V[F]=O}getTextFromSection(K){let W=[];for(let O of K)if(O.type==="paragraph"){let A=this.extractTextFromParagraph(O);if(A)W.push(A)}else if(O.type==="list"){let A=O;for(let V of A.children){let F=this.extractTextFromListItem(V);if(F)W.push(`- ${F}`)}}return W.join(`
|
|
@@ -36,7 +36,7 @@ import{Ma as f$}from"./index-ps0mn8y9.js";import{Za as G}from"./index-57d1xga4.j
|
|
|
36
36
|
`,$.length-P>X&&z>P)C+=$.slice(P,z)+`
|
|
37
37
|
`+$.slice(z+1);else C+=$.slice(P);return C.slice(1)}function yZ($){let X="",q=0;for(let Y=0;Y<$.length;q>=65536?Y+=2:Y++){q=r($,Y);let P=g[q];if(!P&&e(q)){if(X+=$[Y],q>=65536)X+=$[Y+1]}else X+=P||c(q)}return X}function CZ($,X,q){let Y="",P=$.tag;for(let R=0,z=q.length;R<z;R+=1){let I=q[R];if($.replacer)I=$.replacer.call(q,String(R),I);if(H($,X,I,!1,!1)||typeof I>"u"&&H($,X,null,!1,!1)){if(Y!=="")Y+=","+(!$.condenseFlow?" ":"");Y+=$.dump}}$.tag=P,$.dump="["+Y+"]"}function IZ($,X,q,Y){let P="",R=$.tag;for(let z=0,I=q.length;z<I;z+=1){let C=q[z];if($.replacer)C=$.replacer.call(q,String(z),C);if(H($,X+1,C,!0,!0,!1,!0)||typeof C>"u"&&H($,X+1,null,!0,!0,!1,!0)){if(!Y||P!=="")P+=XZ($,X);if($.dump&&M===$.dump.charCodeAt(0))P+="-";else P+="- ";P+=$.dump}}$.tag=R,$.dump=P||"[]"}function mZ($,X,q){let Y="",P=$.tag,R=Object.keys(q);for(let z=0,I=R.length;z<I;z+=1){let C="";if(Y!=="")C+=", ";if($.condenseFlow)C+='"';let L=R[z],k=q[L];if($.replacer)k=$.replacer.call(q,L,k);if(!H($,X,L,!1,!1))continue;if($.dump.length>1024)C+="? ";if(C+=$.dump+($.condenseFlow?'"':"")+":"+($.condenseFlow?"":" "),!H($,X,k,!1,!1))continue;C+=$.dump,Y+=C}$.tag=P,$.dump="{"+Y+"}"}function Z($,X,q,Y){let P="",R=$.tag,z=Object.keys(q);if($.sortKeys===!0)z.sort();else if(typeof $.sortKeys==="function")z.sort($.sortKeys);else if($.sortKeys)throw new W("sortKeys must be a boolean or a function");for(let I=0,C=z.length;I<C;I+=1){let L="";if(!Y||P!=="")L+=XZ($,X);let k=z[I],S=q[k];if($.replacer)S=$.replacer.call(q,k,S);if(!H($,X+1,k,!0,!0,!0))continue;let b=$.tag!==null&&$.tag!=="?"||$.dump&&$.dump.length>1024;if(b)if($.dump&&M===$.dump.charCodeAt(0))L+="?";else L+="? ";if(L+=$.dump,b)L+=XZ($,X);if(!H($,X+1,S,!0,b))continue;if($.dump&&M===$.dump.charCodeAt(0))L+=":";else L+=": ";L+=$.dump,P+=L}$.tag=R,$.dump=P||"{}"}function J($,X,q){let Y=q?$.explicitTypes:$.implicitTypes;for(let P=0,R=Y.length;P<R;P+=1){let z=Y[P];if((z.instanceOf||z.predicate)&&(!z.instanceOf||typeof X==="object"&&X instanceof z.instanceOf)&&(!z.predicate||z.predicate(X))){if(q)if(z.multi&&z.representName)$.tag=z.representName(X);else $.tag=z.tag;else $.tag="?";if(z.represent){let I=$.styleMap[z.tag]||z.defaultStyle,C;if(A.call(z.represent)==="[object Function]")C=z.represent(X,I);else if(V.call(z.represent,I))C=z.represent[I](X,I);else throw new W("!<"+z.tag+'> tag resolver accepts not "'+I+'" style');$.dump=C}return!0}}return!1}function H($,X,q,Y,P,R,z){if($.tag=null,$.dump=q,!J($,q,!1))J($,q,!0);let I=A.call($.dump),C=Y;if(Y)Y=$.flowLevel<0||$.flowLevel>X;let L=I==="[object Object]"||I==="[object Array]",k,S;if(L)k=$.duplicates.indexOf(q),S=k!==-1;if($.tag!==null&&$.tag!=="?"||S||$.indent!==2&&X>0)P=!1;if(S&&$.usedDuplicates[k])$.dump="*ref_"+k;else{if(L&&S&&!$.usedDuplicates[k])$.usedDuplicates[k]=!0;if(I==="[object Object]"){if(Y&&Object.keys($.dump).length!==0){if(Z($,X,$.dump,P),S)$.dump="&ref_"+k+$.dump}else if(mZ($,X,$.dump),S)$.dump="&ref_"+k+" "+$.dump}else if(I==="[object Array]"){if(Y&&$.dump.length!==0){if($.noArrayIndent&&!z&&X>0)IZ($,X-1,$.dump,P);else IZ($,X,$.dump,P);if(S)$.dump="&ref_"+k+$.dump}else if(CZ($,X,$.dump),S)$.dump="&ref_"+k+" "+$.dump}else if(I==="[object String]"){if($.tag!=="?")EZ($,$.dump,X,R,C)}else if(I==="[object Undefined]")return!1;else{if($.skipInvalid)return!1;throw new W("unacceptable kind of an object to dump "+I)}if($.tag!==null&&$.tag!=="?"){let b=encodeURI($.tag[0]==="!"?$.tag.slice(1):$.tag).replace(/!/g,"%21");if($.tag[0]==="!")b="!"+b;else if(b.slice(0,18)==="tag:yaml.org,2002:")b="!!"+b.slice(18);else b="!<"+b+">";$.dump=b+" "+$.dump}}return!0}function f($,X){let q=[],Y=[];D($,q,Y);let P=Y.length;for(let R=0;R<P;R+=1)X.duplicates.push(q[Y[R]]);X.usedDuplicates=Array(P)}function D($,X,q){if($!==null&&typeof $==="object"){let Y=X.indexOf($);if(Y!==-1){if(q.indexOf(Y)===-1)q.push(Y)}else if(X.push($),Array.isArray($))for(let P=0,R=$.length;P<R;P+=1)D($[P],X,q);else{let P=Object.keys($);for(let R=0,z=P.length;R<z;R+=1)D($[P[R]],X,q)}}}function w($,X){X=X||{};let q=new _Z(X);if(!q.noRefs)f($,q);let Y=$;if(q.replacer)Y=q.replacer.call({"":Y},"",Y);if(H(q,0,Y,!0,!0))return q.dump+`
|
|
38
38
|
`;return""}return D$.dump=w,D$}var d$;function R2(){if(d$)return m;d$=1;let K=z2(),W=q2();function O(A,V){return function(){throw Error("Function yaml."+A+" is removed in js-yaml 4. Use yaml."+V+" instead, which is now safe by default.")}}return m.Type=h(),m.Schema=l$(),m.FAILSAFE_SCHEMA=n$(),m.JSON_SCHEMA=t$(),m.CORE_SCHEMA=Z2(),m.DEFAULT_SCHEMA=M$(),m.load=K.load,m.loadAll=K.loadAll,m.dump=W.dump,m.YAMLException=BZ(),m.types={binary:X2(),float:e$(),map:r$(),null:i$(),pairs:G2(),set:F2(),timestamp:$2(),bool:s$(),int:a$(),merge:J2(),omap:V2(),seq:o$(),str:c$()},m.safeLoad=O("safeLoad","load"),m.safeLoadAll=O("safeLoadAll","loadAll"),m.safeDump=O("safeDump","dump"),m}var A2=R2(),w2=P2(A2),{Type:G0,Schema:F0,FAILSAFE_SCHEMA:Q0,JSON_SCHEMA:W0,CORE_SCHEMA:U0,DEFAULT_SCHEMA:D0,load:T2,loadAll:M0,dump:j2,YAMLException:K0,types:H0,safeLoad:B0,safeLoadAll:Y0,safeDump:O0}=w2;var f0=G.record(G.string(),G.unknown());var p0=G.object({slug:G.string(),title:G.string(),type:G.string(),entityId:G.string(),contentHash:G.string()});function C2(K,W={}){let O=W2(K),A=W2(W.sharedDomain??"rizom.ai").replace(/^\./,""),V=`.${A}`;if(O.endsWith(V)){let F=O.slice(0,-V.length);if(F.length>0&&!F.includes("."))return`${F}-preview.${A}`}return`preview.${O}`}function W2(K){return K.trim().replace(/^https?:\/\//i,"").replace(/\/$/,"").toLowerCase()}var I2=G.string(),N2=G.looseObject({id:G.string().min(1)}),L2=G.looseObject({label:G.string().min(1)}),k2=G.looseObject({layouts:G.record(G.string(),G.unknown()),plugin:G.custom((K)=>typeof K==="function").optional(),routes:G.array(N2),entityDisplay:G.record(G.string(),L2),content:G.unknown().optional(),themeOverride:G.string().optional(),headScripts:G.array(G.string()).optional(),staticAssets:G.record(G.string(),G.string()).optional()}),v2=G.custom((K)=>k2.safeParse(K).success);var U2=G.record(G.string(),G.unknown());var I4=G.union([G.object({success:G.boolean(),data:G.unknown().optional(),error:G.string().optional()}),G.object({noop:G.literal(!0)})]),N4=G.object({id:G.string(),timestamp:G.string(),type:G.string(),source:G.string(),target:G.string().optional(),metadata:U2.optional()});
|
|
39
|
-
export{B$ as
|
|
39
|
+
export{B$ as ea,O$ as fa,D2 as ga,M2 as ha,K2 as ia,H2 as ja,B2 as ka,LZ as la,T2 as ma,C2 as na,U2 as oa,I4 as pa,N4 as qa};
|
|
40
40
|
|
|
41
|
-
//# debugId=
|
|
42
|
-
//# sourceMappingURL=index-
|
|
41
|
+
//# debugId=81CA8E2A1425A99F64756E2164756E21
|
|
42
|
+
//# sourceMappingURL=index-q53nehd5.js.map
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"sources": ["../../../shared/site-composition/src/routes.ts", "../../../shared/site-composition/src/metadata.ts", "../../../shared/content-formatters/src/formatters/utils.ts", "../../../shared/content-formatters/src/formatters/simple-text.ts", "../../../shared/content-formatters/src/formatters/structured-content.ts", "../../../node_modules/js-yaml/dist/js-yaml.mjs", "../../../shared/content-formatters/src/formatters/default-yaml.ts", "../../../shared/content-formatters/src/entity-field-formatters.ts", "../../../shared/site-composition/src/domain.ts", "../../../shared/site-composition/src/package.ts", "../../../shell/plugins/src/contracts/metadata.ts", "../../../shell/plugins/src/contracts/messaging.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import { z } from \"@brains/utils/zod\";\nimport type {\n NavigationItem,\n NavigationMetadata,\n NavigationMetadataInput,\n RouteDefinition,\n RouteDefinitionInput,\n SectionDefinition,\n SectionDefinitionInput,\n} from \"@rizom/site\";\n\nexport type {\n EntityDisplayEntry,\n NavigationItem,\n NavigationMetadata,\n NavigationMetadataInput,\n NavigationSlot,\n RouteDefinition,\n RouteDefinitionInput,\n SectionDefinition,\n SectionDefinitionInput,\n} from \"@rizom/site\";\n\n/** Section definition schema for site routes. */\nexport const SectionDefinitionSchema: z.ZodType<\n SectionDefinition,\n SectionDefinitionInput\n> = z.object({\n id: z.string(),\n template: z.string(),\n content: z.unknown().optional(),\n dataQuery: z\n .looseObject({\n entityType: z.string().optional(),\n template: z.string().optional(),\n query: z\n .looseObject({\n id: z.string().optional(),\n limit: z.number().optional(),\n offset: z.number().optional(),\n })\n .optional(),\n })\n .optional(),\n order: z.number().optional(),\n});\n\n/** Navigation slot types. */\nexport const NavigationSlots = [\"primary\", \"secondary\"] as const;\n\n/** Navigation metadata schema for route definitions. */\nexport const NavigationMetadataSchema: z.ZodType<\n NavigationMetadata | undefined,\n NavigationMetadataInput | undefined\n> = z\n .object({\n show: z.boolean().default(false),\n label: z.string().optional(),\n slot: z.enum(NavigationSlots).default(\"primary\"),\n priority: z.number().min(0).max(100).default(50),\n })\n .optional();\n\n/** Route definition schema. */\nexport const RouteDefinitionSchema: z.ZodType<\n RouteDefinition,\n RouteDefinitionInput\n> = z.object({\n id: z.string(),\n path: z.string(),\n title: z.string().default(\"\"),\n /** Bare display label without any page-suffix. Used for visual headings on list pages. */\n pageLabel: z.string().optional(),\n description: z.string().default(\"\"),\n sections: z.array(SectionDefinitionSchema).default([]),\n layout: z.string().default(\"default\"),\n fullscreen: z.boolean().optional(),\n pluginId: z.string().optional(),\n sourceEntityType: z.string().optional(),\n external: z.boolean().optional(),\n navigation: NavigationMetadataSchema,\n});\n\nexport interface RegisterRoutesPayload {\n routes: RouteDefinition[];\n pluginId: string;\n}\n\nexport interface UnregisterRoutesPayload {\n paths?: string[] | undefined;\n pluginId?: string | undefined;\n}\n\nexport interface ListRoutesPayload {\n pluginId?: string | undefined;\n}\n\nexport interface GetRoutePayload {\n path: string;\n}\n\n/** Message payload schemas for route operations. */\nexport const RegisterRoutesPayloadSchema: z.ZodType<RegisterRoutesPayload> =\n z.object({\n routes: z.array(RouteDefinitionSchema),\n pluginId: z.string(),\n });\n\nexport const UnregisterRoutesPayloadSchema: z.ZodType<UnregisterRoutesPayload> =\n z.object({\n paths: z.array(z.string()).optional(),\n pluginId: z.string().optional(),\n });\n\nexport const ListRoutesPayloadSchema: z.ZodType<ListRoutesPayload> = z.object({\n pluginId: z.string().optional(),\n});\n\nexport const GetRoutePayloadSchema: z.ZodType<GetRoutePayload> = z.object({\n path: z.string(),\n});\n\nexport interface RouteOperationResponse {\n success: boolean;\n message?: string;\n error?: string;\n}\n\nexport interface ListRoutesResponse {\n routes: RouteDefinition[];\n}\n\nexport interface GetRouteResponse {\n route?: RouteDefinition | undefined;\n}\n\n/** Navigation item shape for extracted navigation data. */\nexport const NavigationItemSchema: z.ZodType<NavigationItem> = z.object({\n label: z.string(),\n href: z.string(),\n priority: z.number(),\n});\n",
|
|
6
|
-
"import { z } from \"@brains/utils/zod\";\nimport type {\n SiteLayoutInfo,\n SiteMetadata,\n SiteMetadataCTA,\n SiteMetadataSection,\n} from \"@rizom/site\";\nimport { NavigationItemSchema } from \"./routes\";\n\nexport type {\n SiteLayoutInfo,\n SiteMetadata,\n SiteMetadataCTA,\n SiteMetadataSection,\n} from \"@rizom/site\";\n\nexport const SITE_METADATA_GET_CHANNEL = \"site:metadata:get\";\nexport const SITE_METADATA_UPDATED_CHANNEL = \"site:metadata:updated\";\n\nexport const siteMetadataCTASchema: z.ZodType<SiteMetadataCTA> = z.object({\n heading: z.string().describe(\"Main CTA heading text\"),\n buttonText: z.string().describe(\"Call-to-action button text\"),\n buttonLink: z.string().describe(\"URL or anchor for the CTA button\"),\n});\n\n/** Per-section homepage descriptors — short editorial blurbs displayed\n * beneath each section title (e.g. under \"Essays\"). Keys match section ids\n * the homepage template knows about (\"essays\", \"presentations\", \"about\", …).\n */\nexport const siteMetadataSectionSchema: z.ZodType<SiteMetadataSection> =\n z.object({\n blurb: z\n .string()\n .optional()\n .describe(\"Short italic subtitle under the section title\"),\n });\n\ntype SiteMetadataSchema = z.ZodObject<{\n title: z.ZodString;\n description: z.ZodString;\n url: z.ZodOptional<z.ZodString>;\n copyright: z.ZodOptional<z.ZodString>;\n logo: z.ZodOptional<z.ZodBoolean>;\n themeMode: z.ZodOptional<z.ZodEnum<{ light: \"light\"; dark: \"dark\" }>>;\n analyticsScript: z.ZodOptional<z.ZodString>;\n cta: z.ZodOptional<typeof siteMetadataCTASchema>;\n sections: z.ZodOptional<\n z.ZodRecord<z.ZodString, typeof siteMetadataSectionSchema>\n >;\n}>;\n\n/** Plain site metadata consumed by site renderers. */\nexport const siteMetadataSchema: SiteMetadataSchema = z.object({\n title: z.string().describe(\"The site's title\"),\n description: z.string().describe(\"The site's description\"),\n url: z.string().optional().describe(\"Canonical site URL\"),\n copyright: z.string().optional().describe(\"Copyright notice text\"),\n logo: z\n .boolean()\n .optional()\n .describe(\"Whether to display logo instead of title text in header\"),\n themeMode: z\n .enum([\"light\", \"dark\"])\n .optional()\n .describe(\"Default theme mode\"),\n analyticsScript: z.string().optional().describe(\"Analytics script HTML\"),\n cta: siteMetadataCTASchema\n .optional()\n .describe(\"Call-to-action configuration\"),\n sections: z\n .record(z.string(), siteMetadataSectionSchema)\n .optional()\n .describe(\n \"Optional per-section blurbs, keyed by section id (e.g. 'essays', 'presentations', 'about'). Used by homepage templates that render editorial section headers.\",\n ),\n});\n\ntype SiteMetadataSchemaOutput = z.infer<typeof siteMetadataSchema>;\ntype SiteMetadataCTASchemaOutput = z.infer<typeof siteMetadataCTASchema>;\n\nfunction expectSiteMetadata(value: SiteMetadataSchemaOutput): SiteMetadata {\n return value;\n}\n\nfunction expectSiteMetadataCTA(\n value: SiteMetadataCTASchemaOutput,\n): SiteMetadataCTA {\n return value;\n}\n\nvoid expectSiteMetadata;\nvoid expectSiteMetadataCTA;\n\nconst socialLinkSchema = z.object({\n platform: z\n .enum([\"github\", \"instagram\", \"linkedin\", \"email\", \"website\"])\n .describe(\"Social media platform\"),\n url: z.string().describe(\"Profile or contact URL\"),\n label: z.string().optional().describe(\"Optional display label\"),\n});\n\n/** Complete site information passed to layout components. */\nexport const siteLayoutInfoSchema: z.ZodType<SiteLayoutInfo> = z.object({\n title: z.string().describe(\"The site's title\"),\n description: z.string().describe(\"The site's description\"),\n url: z.string().optional().describe(\"Canonical site URL\"),\n copyright: z.string(),\n logo: z\n .boolean()\n .optional()\n .describe(\"Whether to display logo instead of title text in header\"),\n themeMode: z\n .enum([\"light\", \"dark\"])\n .optional()\n .describe(\"Default theme mode\"),\n analyticsScript: z.string().optional().describe(\"Analytics script HTML\"),\n cta: siteMetadataCTASchema\n .optional()\n .describe(\"Call-to-action configuration\"),\n sections: z\n .record(z.string(), siteMetadataSectionSchema)\n .optional()\n .describe(\n \"Optional per-section blurbs, keyed by section id (e.g. 'essays', 'presentations', 'about'). Used by homepage templates that render editorial section headers.\",\n ),\n navigation: z.object({\n primary: z.array(NavigationItemSchema),\n secondary: z.array(NavigationItemSchema),\n }),\n socialLinks: z\n .array(socialLinkSchema)\n .optional()\n .describe(\"Social media links from profile metadata\"),\n});\n\ntype SiteLayoutInfoSchemaOutput = z.infer<typeof siteLayoutInfoSchema>;\nfunction expectSiteLayoutInfo(\n value: SiteLayoutInfoSchemaOutput,\n): SiteLayoutInfo {\n return value;\n}\nvoid expectSiteLayoutInfo;\n",
|
|
6
|
+
"import { z } from \"@brains/utils/zod\";\nimport type {\n SiteLayoutInfo,\n SiteMetadata,\n SiteMetadataCTA,\n SiteMetadataSection,\n} from \"@rizom/site\";\nimport { NavigationItemSchema } from \"./routes\";\n\nexport type {\n SiteLayoutInfo,\n SiteMetadata,\n SiteMetadataCTA,\n SiteMetadataSection,\n} from \"@rizom/site\";\n\nexport const SITE_METADATA_GET_CHANNEL = \"site:metadata:get\";\nexport const SITE_METADATA_UPDATED_CHANNEL = \"site:metadata:updated\";\n\nexport const siteMetadataCTASchema: z.ZodType<SiteMetadataCTA> = z.object({\n heading: z.string().describe(\"Main CTA heading text\"),\n buttonText: z.string().describe(\"Call-to-action button text\"),\n buttonLink: z.string().describe(\"URL or anchor for the CTA button\"),\n});\n\n/** Per-section homepage descriptors — short editorial blurbs displayed\n * beneath each section title (e.g. under \"Essays\"). Keys match section ids\n * the homepage template knows about (\"essays\", \"presentations\", \"about\", …).\n */\nexport const siteMetadataSectionSchema: z.ZodType<SiteMetadataSection> =\n z.object({\n blurb: z\n .string()\n .optional()\n .describe(\"Short italic subtitle under the section title\"),\n });\n\ntype SiteMetadataSchema = z.ZodObject<{\n represents: z.ZodDefault<z.ZodEnum<{ brain: \"brain\"; anchor: \"anchor\" }>>;\n title: z.ZodString;\n description: z.ZodString;\n url: z.ZodOptional<z.ZodString>;\n copyright: z.ZodOptional<z.ZodString>;\n logo: z.ZodOptional<z.ZodBoolean>;\n themeMode: z.ZodOptional<z.ZodEnum<{ light: \"light\"; dark: \"dark\" }>>;\n analyticsScript: z.ZodOptional<z.ZodString>;\n cta: z.ZodOptional<typeof siteMetadataCTASchema>;\n sections: z.ZodOptional<\n z.ZodRecord<z.ZodString, typeof siteMetadataSectionSchema>\n >;\n}>;\n\n/** Plain site metadata consumed by site renderers. */\nexport const siteMetadataSchema: SiteMetadataSchema = z.object({\n represents: z\n .enum([\"brain\", \"anchor\"])\n .default(\"anchor\")\n .describe(\"Identity represented by the site\"),\n title: z.string().describe(\"The site's title\"),\n description: z.string().describe(\"The site's description\"),\n url: z.string().optional().describe(\"Canonical site URL\"),\n copyright: z.string().optional().describe(\"Copyright notice text\"),\n logo: z\n .boolean()\n .optional()\n .describe(\"Whether to display logo instead of title text in header\"),\n themeMode: z\n .enum([\"light\", \"dark\"])\n .optional()\n .describe(\"Default theme mode\"),\n analyticsScript: z.string().optional().describe(\"Analytics script HTML\"),\n cta: siteMetadataCTASchema\n .optional()\n .describe(\"Call-to-action configuration\"),\n sections: z\n .record(z.string(), siteMetadataSectionSchema)\n .optional()\n .describe(\n \"Optional per-section blurbs, keyed by section id (e.g. 'essays', 'presentations', 'about'). Used by homepage templates that render editorial section headers.\",\n ),\n});\n\ntype SiteMetadataSchemaOutput = z.infer<typeof siteMetadataSchema>;\ntype SiteMetadataCTASchemaOutput = z.infer<typeof siteMetadataCTASchema>;\n\nfunction expectSiteMetadata(value: SiteMetadataSchemaOutput): SiteMetadata {\n return value;\n}\n\nfunction expectSiteMetadataCTA(\n value: SiteMetadataCTASchemaOutput,\n): SiteMetadataCTA {\n return value;\n}\n\nvoid expectSiteMetadata;\nvoid expectSiteMetadataCTA;\n\nconst socialLinkSchema = z.object({\n platform: z\n .enum([\"github\", \"instagram\", \"linkedin\", \"email\", \"website\"])\n .describe(\"Social media platform\"),\n url: z.string().describe(\"Profile or contact URL\"),\n label: z.string().optional().describe(\"Optional display label\"),\n});\n\n/** Complete site information passed to layout components. */\nexport const siteLayoutInfoSchema: z.ZodType<SiteLayoutInfo> = z.object({\n represents: z\n .enum([\"brain\", \"anchor\"])\n .default(\"anchor\")\n .describe(\"Identity represented by the site\"),\n title: z.string().describe(\"The site's title\"),\n description: z.string().describe(\"The site's description\"),\n url: z.string().optional().describe(\"Canonical site URL\"),\n copyright: z.string(),\n logo: z\n .boolean()\n .optional()\n .describe(\"Whether to display logo instead of title text in header\"),\n themeMode: z\n .enum([\"light\", \"dark\"])\n .optional()\n .describe(\"Default theme mode\"),\n analyticsScript: z.string().optional().describe(\"Analytics script HTML\"),\n cta: siteMetadataCTASchema\n .optional()\n .describe(\"Call-to-action configuration\"),\n sections: z\n .record(z.string(), siteMetadataSectionSchema)\n .optional()\n .describe(\n \"Optional per-section blurbs, keyed by section id (e.g. 'essays', 'presentations', 'about'). Used by homepage templates that render editorial section headers.\",\n ),\n navigation: z.object({\n primary: z.array(NavigationItemSchema),\n secondary: z.array(NavigationItemSchema),\n }),\n socialLinks: z\n .array(socialLinkSchema)\n .optional()\n .describe(\"Social media links from profile metadata\"),\n});\n\ntype SiteLayoutInfoSchemaOutput = z.infer<typeof siteLayoutInfoSchema>;\nfunction expectSiteLayoutInfo(\n value: SiteLayoutInfoSchemaOutput,\n): SiteLayoutInfo {\n return value;\n}\nvoid expectSiteLayoutInfo;\n",
|
|
7
7
|
"import { z } from \"@brains/utils/zod\";\n\n/**\n * Type-safe property access utilities\n */\n\nconst recordSchema = z.record(z.string(), z.unknown());\n\n/**\n * Safely get a property from an unknown object\n */\nexport function getProp(obj: unknown, key: string): unknown {\n const parsed = recordSchema.safeParse(obj);\n return parsed.success ? parsed.data[key] : undefined;\n}\n\n/**\n * Get a string property or default\n */\nexport function getStringProp(\n obj: unknown,\n key: string,\n defaultValue = \"\",\n): string {\n const value = getProp(obj, key);\n return typeof value === \"string\" ? value : defaultValue;\n}\n\n/**\n * Get a number property or default\n */\nexport function getNumberProp(\n obj: unknown,\n key: string,\n defaultValue = 0,\n): number {\n const value = getProp(obj, key);\n return typeof value === \"number\" ? value : defaultValue;\n}\n\n/**\n * Get a boolean property or default\n */\nexport function getBooleanProp(\n obj: unknown,\n key: string,\n defaultValue = false,\n): boolean {\n const value = getProp(obj, key);\n return typeof value === \"boolean\" ? value : defaultValue;\n}\n\n/**\n * Get an array property or default\n */\nexport function getArrayProp<T = unknown>(\n obj: unknown,\n key: string,\n defaultValue: T[] = [],\n): T[] {\n const value = getProp(obj, key);\n return Array.isArray(value) ? (value as T[]) : defaultValue;\n}\n\n/**\n * Check if object has all specified properties\n */\nexport function hasProps(obj: unknown, keys: string[]): boolean {\n const parsed = recordSchema.safeParse(obj);\n return parsed.success && keys.every((key) => key in parsed.data);\n}\n",
|
|
8
8
|
"import { ResponseFormatter } from \"./base\";\nimport { z } from \"@brains/utils/zod\";\n\ninterface SimpleTextResponse {\n message: string;\n}\n\nconst simpleTextResponseSchema = z.object({\n message: z.string(),\n});\n\nexport class SimpleTextResponseFormatter extends ResponseFormatter<SimpleTextResponse> {\n format(data: SimpleTextResponse): string {\n const parsed = simpleTextResponseSchema.safeParse(data);\n if (parsed.success) {\n return parsed.data.message;\n }\n return JSON.stringify(data, null, 2);\n }\n\n canFormat(data: unknown): boolean {\n return simpleTextResponseSchema.safeParse(data).success;\n }\n}\n",
|
|
9
9
|
"import type { ContentFormatter } from \"../types\";\nimport { z, type ZodType } from \"@brains/utils/zod\";\nimport { remark } from \"remark\";\nimport type {\n Root,\n Heading,\n Paragraph,\n PhrasingContent,\n RootContent,\n List,\n ListItem,\n} from \"mdast\";\n\nconst recordSchema = z.record(z.string(), z.unknown());\n\nexport type StructuredContentSchema<T> = ZodType<T, unknown>;\n\n/**\n * Field mapping configuration for structured content formatting\n */\nexport interface FieldMapping {\n /** The data field name (supports dot notation for nested fields) */\n key: string;\n /** The markdown heading label */\n label: string;\n /** The field type */\n type: \"string\" | \"number\" | \"object\" | \"array\" | \"custom\";\n /** Child mappings for object types */\n children?: FieldMapping[];\n /** For arrays: the type of each item */\n itemType?: \"string\" | \"number\" | \"object\";\n /** For arrays of objects: mappings for each item's fields */\n itemMappings?: FieldMapping[];\n /** Custom formatter function for the field */\n formatter?: (value: unknown) => string;\n /** Custom parser function for the field */\n parser?: (text: string) => unknown;\n}\n\n/**\n * Configuration for the structured content formatter\n */\nexport interface FormatterConfig {\n /** The main title for the content */\n title: string;\n /** Field mappings that define the structure */\n mappings: FieldMapping[];\n}\n\n/**\n * Generic formatter for structured content that uses declarative field mappings\n * to convert between structured data and human-readable markdown.\n */\nexport class StructuredContentFormatter<T> implements ContentFormatter<T> {\n private schema: StructuredContentSchema<T>;\n private config: FormatterConfig;\n private processor = remark();\n\n constructor(schema: StructuredContentSchema<T>, config: FormatterConfig) {\n this.schema = schema;\n this.config = config;\n }\n\n /**\n * Get section labels from the formatter configuration.\n * Returns a record mapping field keys to their heading labels.\n */\n public getLabels(): Record<string, string> {\n const labels: Record<string, string> = {};\n for (const mapping of this.config.mappings) {\n labels[mapping.key] = mapping.label;\n }\n return labels;\n }\n\n /**\n * Generate a markdown body template with section headings.\n * Produces only the ## heading skeleton from mappings — no data, no nested subheadings.\n */\n public generateBodyTemplate(): string {\n if (this.config.mappings.length === 0) return \"\";\n const lines: string[] = [];\n for (const mapping of this.config.mappings) {\n lines.push(\n `## ${mapping.label}`,\n \"\",\n `<!-- Write your ${mapping.label.toLowerCase()} here -->`,\n \"\",\n );\n }\n return lines.join(\"\\n\").trimEnd() + \"\\n\";\n }\n\n /**\n * Format structured data into human-readable markdown\n */\n public format(data: T): string {\n try {\n const lines: string[] = [`# ${this.config.title}`, \"\"];\n\n for (const mapping of this.config.mappings) {\n this.formatField(data, mapping, lines, 2);\n }\n\n return lines.join(\"\\n\");\n } catch (error) {\n throw new Error(\n `Failed to format structured content: ${this.describeError(error)}`,\n { cause: error },\n );\n }\n }\n\n /**\n * Parse human-readable markdown back to structured data\n */\n public parse(content: string): T {\n try {\n const tree = this.processor.parse(content) as Root;\n const sections = this.extractSections(tree, 2);\n const data = this.buildDataFromSections(sections, this.config.mappings);\n return this.schema.parse(data);\n } catch (error) {\n throw new Error(\n `Failed to parse structured content: ${this.describeError(error)}`,\n { cause: error },\n );\n }\n }\n\n /**\n * Summarize an error for inclusion in a wrapped error message,\n * flattening zod issues to \"path: reason\" pairs.\n */\n private describeError(error: unknown): string {\n if (error instanceof z.ZodError) {\n return error.issues\n .map((issue) => `${issue.path.join(\".\") || \"(root)\"}: ${issue.message}`)\n .join(\"; \");\n }\n return error instanceof Error ? error.message : String(error);\n }\n\n /**\n * Escape line-leading '#' in string values so they stay paragraph text\n * when parsed back, instead of being re-read as section headings\n * (e.g. shell comments like \"# install\").\n */\n private escapeBlockMarkup(value: string): string {\n return value.replace(/^(\\s*)#/gm, \"$1\\\\#\");\n }\n\n /**\n * Format a field and add it to the lines array\n */\n private formatField(\n data: unknown,\n mapping: FieldMapping,\n lines: string[],\n depth: number,\n ): void {\n const heading = \"#\".repeat(depth) + \" \" + mapping.label;\n const value = this.getValueByPath(data, mapping.key);\n\n // Use custom formatter if provided\n if (mapping.type === \"custom\" && mapping.formatter) {\n if (value !== undefined && value !== null) {\n lines.push(heading, \"\");\n const formatted = mapping.formatter(value);\n if (formatted) {\n lines.push(formatted, \"\");\n }\n }\n return;\n }\n\n switch (mapping.type) {\n case \"string\":\n case \"number\":\n // Absent optional fields stay absent — emitting an empty heading\n // would round-trip them back as \"\".\n if (value === undefined || value === null) break;\n lines.push(heading, this.escapeBlockMarkup(String(value)), \"\");\n break;\n\n case \"object\":\n lines.push(heading);\n if (mapping.children && value) {\n for (const child of mapping.children) {\n this.formatField(value, child, lines, depth + 1);\n }\n }\n break;\n\n case \"array\":\n lines.push(heading, \"\");\n if (Array.isArray(value)) {\n if (mapping.itemType === \"object\" && mapping.itemMappings) {\n // Format array of objects with structure\n value.forEach((item, index) => {\n lines.push(\n `${\"#\".repeat(depth + 1)} ${mapping.label.slice(0, -1)} ${index + 1}`,\n );\n lines.push(\"\");\n // Format each field of the object\n if (mapping.itemMappings) {\n for (const itemMapping of mapping.itemMappings) {\n this.formatField(item, itemMapping, lines, depth + 2);\n }\n }\n });\n } else {\n // Format simple array items as a list\n for (const item of value) {\n const formatted = this.defaultArrayItemFormat(item);\n lines.push(`- ${formatted}`);\n }\n lines.push(\"\");\n }\n }\n break;\n }\n }\n\n /**\n * Get a value from an object by dot-notation path\n */\n private getValueByPath(obj: unknown, path: string): unknown {\n const parts = path.split(\".\");\n let current: unknown = obj;\n\n for (const part of parts) {\n const parsed = recordSchema.safeParse(current);\n if (!parsed.success) return undefined;\n current = parsed.data[part];\n }\n\n return current;\n }\n\n /**\n * Default formatter for array items\n */\n private defaultArrayItemFormat(item: unknown): string {\n if (typeof item === \"string\" || typeof item === \"number\") {\n return String(item);\n }\n return JSON.stringify(item);\n }\n\n /**\n * Extract sections from markdown AST by heading depth\n */\n private extractSections(\n tree: Root,\n targetDepth: number,\n ): Map<string, RootContent[]> {\n const sections = new Map<string, RootContent[]>();\n let currentSection: string | null = null;\n let currentContent: RootContent[] = [];\n\n for (const node of tree.children) {\n if (node.type === \"heading\" && node.depth === targetDepth) {\n // Save previous section if exists\n if (currentSection) {\n sections.set(currentSection.toLowerCase(), currentContent);\n }\n\n // Start new section\n currentSection = this.getHeadingText(node);\n currentContent = [];\n } else if (currentSection) {\n currentContent.push(node);\n }\n }\n\n // Save last section\n if (currentSection) {\n sections.set(currentSection.toLowerCase(), currentContent);\n }\n\n return sections;\n }\n\n /**\n * Extract subsections from content array\n */\n private extractSubsections(\n content: RootContent[],\n targetDepth: number,\n ): Map<string, RootContent[]> {\n const subsections = new Map<string, RootContent[]>();\n let currentSubsection: string | null = null;\n let currentContent: RootContent[] = [];\n\n for (const node of content) {\n if (node.type === \"heading\" && node.depth === targetDepth) {\n // Save previous subsection if exists\n if (currentSubsection) {\n subsections.set(currentSubsection.toLowerCase(), currentContent);\n }\n\n // Start new subsection\n currentSubsection = this.getHeadingText(node);\n currentContent = [];\n } else if (currentSubsection) {\n currentContent.push(node);\n }\n }\n\n // Save last subsection\n if (currentSubsection) {\n subsections.set(currentSubsection.toLowerCase(), currentContent);\n }\n\n return subsections;\n }\n\n // Zod schema for text node validation\n private readonly textNodeSchema = z.object({\n type: z.literal(\"text\"),\n value: z.string(),\n });\n\n /**\n * Extract text value from a node safely using Zod\n */\n private extractTextValue(node: unknown): string {\n const parsed = this.textNodeSchema.safeParse(node);\n return parsed.success ? parsed.data.value : \"\";\n }\n\n /**\n * Get text content from a heading node\n */\n private getHeadingText(heading: Heading): string {\n const textNodes = heading.children.filter((child) => child.type === \"text\");\n return textNodes.map((node) => this.extractTextValue(node)).join(\"\");\n }\n\n /**\n * Build data object from sections based on mappings\n */\n private buildDataFromSections(\n sections: Map<string, RootContent[]>,\n mappings: FieldMapping[],\n depth: number = 2,\n ): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n\n for (const mapping of mappings) {\n const section = sections.get(mapping.label.toLowerCase());\n\n // Handle custom parser if provided\n if (mapping.type === \"custom\" && mapping.parser && section) {\n const textValue = this.getTextFromSection(section);\n const value = mapping.parser(textValue);\n this.setValueByPath(result, mapping.key, value);\n } else if (mapping.type === \"object\" && mapping.children && section) {\n // Extract subsections for object type\n const subsections = this.extractSubsections(section, depth + 1);\n const objectValue = this.buildDataFromSections(\n subsections,\n mapping.children,\n depth + 1,\n );\n this.setValueByPath(result, mapping.key, objectValue);\n } else if (mapping.type === \"array\" && section) {\n // Extract array items\n if (mapping.itemType === \"object\" && mapping.itemMappings) {\n // Extract structured objects from subsections\n const items = this.extractObjectArrayItems(\n section,\n depth + 1,\n mapping.itemMappings,\n );\n this.setValueByPath(result, mapping.key, items);\n } else {\n // Extract simple list items\n const items = this.extractSimpleArrayItems(section);\n this.setValueByPath(result, mapping.key, items);\n }\n } else if (section) {\n // Extract text content for string/number types\n const textValue = this.getTextFromSection(section);\n const value = mapping.type === \"number\" ? Number(textValue) : textValue;\n this.setValueByPath(result, mapping.key, value);\n }\n }\n\n return result;\n }\n\n /**\n * Set a value in an object by dot-notation path\n */\n private setValueByPath(\n obj: Record<string, unknown>,\n path: string,\n value: unknown,\n ): void {\n const parts = path.split(\".\");\n let current = obj;\n\n for (let i = 0; i < parts.length - 1; i++) {\n const part = parts[i];\n if (!part) continue;\n\n const parsed = recordSchema.safeParse(current[part]);\n if (parsed.success) {\n current[part] = parsed.data;\n current = parsed.data;\n continue;\n }\n\n const next: Record<string, unknown> = {};\n current[part] = next;\n current = next;\n }\n\n const lastPart = parts[parts.length - 1];\n if (lastPart) {\n current[lastPart] = value;\n }\n }\n\n /**\n * Extract text content from a section\n */\n private getTextFromSection(content: RootContent[]): string {\n const textParts: string[] = [];\n\n for (const node of content) {\n if (node.type === \"paragraph\") {\n const text = this.extractTextFromParagraph(node as Paragraph);\n if (text) {\n textParts.push(text);\n }\n } else if (node.type === \"list\") {\n // Extract text from list items\n const list = node as List;\n for (const item of list.children) {\n const itemText = this.extractTextFromListItem(item);\n if (itemText) {\n textParts.push(`- ${itemText}`);\n }\n }\n }\n }\n\n // Join multiple paragraphs with newlines\n return textParts.join(\"\\n\");\n }\n\n /**\n * Extract text from a paragraph node.\n *\n * Preserves inline markdown emphasis (`*em*`) and strong (`**strong**`)\n * so layouts that opt into custom rendering (e.g. an accent-highlight\n * treatment for `*...*` runs) can still see the author's markup.\n * Plain consumers that read the string as-is receive the markers as\n * literal characters — that's faithful to what was authored.\n */\n private extractTextFromParagraph(paragraph: Paragraph): string {\n return this.extractInlineText(paragraph.children).trim();\n }\n\n /**\n * Walk a phrasing-content tree and emit a string that re-serializes\n * inline markup. Used by paragraph + list-item extraction so both\n * treat emphasis consistently.\n */\n private extractInlineText(children: readonly PhrasingContent[]): string {\n const parts: string[] = [];\n for (const child of children) {\n if (child.type === \"text\") {\n parts.push(this.extractTextValue(child));\n } else if (child.type === \"emphasis\") {\n const inner = this.extractInlineText(child.children);\n if (inner) parts.push(`*${inner}*`);\n } else if (child.type === \"strong\") {\n const inner = this.extractInlineText(child.children);\n if (inner) parts.push(`**${inner}**`);\n }\n }\n return parts.join(\"\");\n }\n\n /**\n * Extract simple array items from list nodes\n */\n private extractSimpleArrayItems(content: RootContent[]): string[] {\n const items: string[] = [];\n\n for (const node of content) {\n if (node.type === \"list\") {\n // TypeScript doesn't narrow RootContent to List automatically\n // so we need to help it understand\n const listNode = node as List;\n for (const item of listNode.children) {\n // List.children is already typed as ListItem[]\n const text = this.extractTextFromListItem(item);\n if (text) {\n items.push(text);\n }\n }\n }\n }\n\n return items;\n }\n\n /**\n * Extract array of objects from structured subsections\n */\n private extractObjectArrayItems(\n content: RootContent[],\n targetDepth: number,\n itemMappings: FieldMapping[],\n ): Record<string, unknown>[] {\n const items: Record<string, unknown>[] = [];\n let currentItemContent: RootContent[] = [];\n let inItem = false;\n\n for (const node of content) {\n if (node.type === \"heading\" && node.depth === targetDepth) {\n // Save previous item if exists\n if (inItem && currentItemContent.length > 0) {\n const subsections = this.extractSubsections(\n currentItemContent,\n targetDepth + 1,\n );\n const item = this.buildDataFromSections(\n subsections,\n itemMappings,\n targetDepth + 1,\n );\n items.push(item);\n }\n\n // Start new item\n currentItemContent = [];\n inItem = true;\n } else if (inItem) {\n currentItemContent.push(node);\n }\n }\n\n // Don't forget the last item\n if (inItem && currentItemContent.length > 0) {\n const subsections = this.extractSubsections(\n currentItemContent,\n targetDepth + 1,\n );\n const item = this.buildDataFromSections(\n subsections,\n itemMappings,\n targetDepth + 1,\n );\n items.push(item);\n }\n\n return items;\n }\n\n /**\n * Extract text from a list item\n */\n private extractTextFromListItem(listItem: ListItem): string {\n const parts: string[] = [];\n\n for (const child of listItem.children) {\n if (child.type === \"paragraph\") {\n const text = this.extractTextFromParagraph(child as Paragraph);\n if (text) {\n parts.push(text);\n }\n }\n }\n\n return parts.join(\"\\n\");\n }\n}\n",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"import { z } from \"@brains/utils/zod\";\n\n/**\n * Best-effort extension metadata carried across public DTO boundaries.\n *\n * Individual keys are not stable public API. When a metadata value becomes a\n * documented contract, hoist it to a typed top-level field on the owning DTO\n * schema and keep this bag only as optional extension data.\n */\nexport const ExtensionMetadataSchema: z.ZodRecord<z.ZodString, z.ZodUnknown> =\n z.record(z.string(), z.unknown());\n\nexport type ExtensionMetadata = z.output<typeof ExtensionMetadataSchema>;\n",
|
|
16
16
|
"import type { UserPermissionLevel } from \"@brains/templates\";\nimport { z } from \"@brains/utils/zod\";\nimport { ExtensionMetadataSchema } from \"./metadata\";\n\nexport const MessageResponseSchema: z.ZodUnion<\n [\n z.ZodObject<{\n success: z.ZodBoolean;\n data: z.ZodOptional<z.ZodUnknown>;\n error: z.ZodOptional<z.ZodString>;\n }>,\n z.ZodObject<{ noop: z.ZodLiteral<true> }>,\n ]\n> = z.union([\n z.object({\n success: z.boolean(),\n data: z.unknown().optional(),\n error: z.string().optional(),\n }),\n z.object({ noop: z.literal(true) }),\n]);\n\nexport type MessageResponse<T = unknown> =\n | ({ success: boolean; error?: string | undefined } & {\n data?: T | undefined;\n })\n | { noop: true };\n\nexport const BaseMessageSchema: z.ZodObject<{\n id: z.ZodString;\n timestamp: z.ZodString;\n type: z.ZodString;\n source: z.ZodString;\n target: z.ZodOptional<z.ZodString>;\n metadata: z.ZodOptional<typeof ExtensionMetadataSchema>;\n}> = z.object({\n id: z.string(),\n timestamp: z.string(),\n type: z.string(),\n source: z.string(),\n target: z.string().optional(),\n metadata: ExtensionMetadataSchema.optional(),\n});\n\nexport type BaseMessage = z.output<typeof BaseMessageSchema>;\n\nexport type MessageWithPayload<T = unknown> = BaseMessage & {\n payload: T;\n};\n\nexport interface MessageSendOptions {\n target?: string;\n metadata?: z.output<typeof ExtensionMetadataSchema>;\n broadcast?: boolean;\n}\n\nexport interface MessageSendRequest<T = unknown> extends MessageSendOptions {\n type: string;\n payload: T;\n}\n\nexport type MessageSender<T = unknown, R = unknown> = (\n request: MessageSendRequest<T>,\n) => Promise<MessageResponse<R>>;\n\nexport interface MessageContext {\n userId?: string;\n channelId?: string;\n messageId?: string;\n timestamp?: string;\n interfaceType?: string;\n userPermissionLevel?: UserPermissionLevel;\n threadId?: string;\n}\n"
|
|
17
17
|
],
|
|
18
|
-
"mappings": "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",
|
|
19
|
-
"debugId": "
|
|
18
|
+
"mappings": "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",
|
|
19
|
+
"debugId": "81CA8E2A1425A99F64756E2164756E21",
|
|
20
20
|
"names": []
|
|
21
21
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{m as d}from"./index-jm9vaxsh.js";import{$ as q,B,C as kf,J as Gf,L as Bf,M as Z,N as y,O as R,S as K,T as Nf,U as u,W as Uf,Y as t,Z as Of,_ as o,aa as n}from"./index-4xzx30t8.js";import{Ca as h,Ia as P,sa as e,ta as i,ya as Vf}from"./index-18d0wj5t.js";import{Wa as U}from"./index-h1zmmtbw.js";var Sf={pluginsRegistered:"system:plugins:registered",initialSyncCompleted:"sync:initial:completed",shellReady:"system:shell:ready"};var I=/^upload-[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;var GU=U.object({id:U.string().regex(I),ref:U.object({kind:U.string().min(1),id:U.string().regex(I)}),filename:U.string().min(1),mediaType:U.string().min(1),sizeBytes:U.number().nonnegative(),createdAt:U.string().datetime(),metadata:U.record(U.string(),U.unknown()).optional()});function g(f){if(typeof f!=="object"||f===null||!("entityId"in f))return;let x=f.entityId;return typeof x==="string"&&x.trim().length>0?x.trim():void 0}function bf(f){if(typeof f!=="object"||f===null||!("coverImage"in f))return;let x=f.coverImage;if(x===void 0||x===!1)return;if(x===!0)return{generate:!0};if(typeof x!=="object"||x===null)return;let A=x;if(A.generate===!1)return;let k=A.prompt?.trim();return{generate:!0,...k&&{prompt:k}}}function E(f){return Object.fromEntries(Object.entries(f).filter(([,x])=>x!==void 0))}function Tf(f){let x={...f};return delete x.status,delete x.error,E(x)}class Hf extends d{context;entityType;constructor(f,x,A){super(f,{schema:A.schema,jobTypeName:A.jobTypeName});this.context=x,this.entityType=A.entityType}async afterCreate(f,x,A,k){}async onGenerationFailure(f,x){}validateAndParse(f){let x=super.validateAndParse(f);if(!x)return null;let A=bf(f);if(typeof x!=="object")return x;let k=g(f);if(!A&&!k)return x;return Object.assign(x,{...A&&{coverImage:A},...k&&{entityId:k}}),x}async process(f,x,A){try{await this.reportProgress(A,{progress:P.START,message:`Starting ${this.jobTypeName}`});let k=await this.generate(f,A),$=g(f),M=$?this.applyPreallocatedEntityId($,k):k;await this.reportProgress(A,{progress:P.SAVE,message:`Saving ${this.entityType} to database`});let L=$?await this.updatePreallocatedStub($,M):await this.context.entityService.createEntity({entity:{id:M.id,entityType:this.entityType,content:M.content,metadata:M.metadata},options:M.createOptions});return await this.afterCreate(f,L.entityId,A,M),await this.enqueueGenericCoverImageIfRequested(f,L.entityId,A,M),await this.reportProgress(A,{progress:P.COMPLETE,message:`${M.title??this.entityType} created successfully`}),{success:!0,entityId:L.entityId,...M.resultExtras}}catch(k){if(k instanceof a)return await this.markPreallocatedStubFailed(f,k.message),await this.onGenerationFailure(f,k.message),{success:!1,error:k.message};let $=B(k);return this.logger.error(`${this.jobTypeName} job failed`,{error:k,jobId:x,data:this.summarizeDataForLog(f)}),await this.markPreallocatedStubFailed(f,$),await this.onGenerationFailure(f,$),Vf.failure(k)}}applyPreallocatedEntityId(f,x){let A={...x.metadata},k=x.content,$=x.resultExtras;if(typeof A.slug==="string")A.slug=f,k=o(k,"slug",f),$={...$,slug:f};return{...x,id:f,content:k,metadata:A,...$&&{resultExtras:$}}}async updatePreallocatedStub(f,x){let A=await this.context.entityService.getEntity({entityType:this.entityType,id:f,visibilityScope:"restricted"});if(!A)throw Error(`Pre-allocated entity stub not found: ${this.entityType}/${f}`);let k=this.mergeStubWithGenerated(A,x);return this.context.entityService.updateEntity({entity:{...A,id:f,entityType:this.entityType,content:k.content,metadata:k.metadata}})}mergeStubWithGenerated(f,x){let A=Tf(t(f.content).frontmatter),k=Tf(f.metadata),$=E(x.metadata),M=t(x.content),L=E(M.frontmatter),T=E({...A,...$,...L});return this.context.entities.getEffectiveFrontmatterSchema(this.entityType)?.parse(T),{content:Of(T,M.content),metadata:{...k,...$}}}async markPreallocatedStubFailed(f,x){let A=g(f);if(!A)return;try{let k=await this.context.entityService.getEntity({entityType:this.entityType,id:A,visibilityScope:"restricted"});if(!k)return;await this.context.entityService.updateEntity({entity:{...k,content:o(o(k.content,"status","failed"),"error",x),metadata:{...k.metadata,status:"failed",error:x}}})}catch(k){this.logger.warn("Failed to mark generation stub as failed",{error:k,entityId:A,entityType:this.entityType})}}async enqueueGenericCoverImageIfRequested(f,x,A,k){let $=bf(f);if(!$)return;await this.reportProgress(A,{progress:90,message:"Queueing cover image generation"});let M=k.title??x;await this.context.jobs.enqueue({type:h.generate,data:{prompt:$.prompt??`Editorial cover image for: ${M}. `,title:`${M} Cover`,aspectRatio:"16:9",targetEntityType:this.entityType,targetEntityId:x,entityTitle:M,entityContent:k.content},toolContext:{interfaceType:"job",userId:"system"}})}failEarly(f){throw new a(f)}}class a extends Error{constructor(f){super(f);this.name="GenerationFailure"}}var nf=U.object({kind:U.string().min(1),id:U.string().min(1)}),lf=U.object({kind:U.string().min(1),filename:U.string().min(1),mediaType:U.string().min(1),sizeBytes:U.number().nonnegative().optional(),source:nf.optional()}),IU=U.array(lf),gU=U.array(i),tU=U.array(e),aU=U.record(U.string(),U.unknown());var fA=U.record(U.string(),U.unknown());var MA=U.record(U.string(),U.unknown());var sf=new Map([[".png","image/png"],[".jpg","image/jpeg"],[".jpeg","image/jpeg"],[".webp","image/webp"],[".gif","image/gif"],[".pdf","application/pdf"]]),NA=new Set(sf.values());async function tx(f){let{entityType:x,title:A,deriveId:k,regeneratePrompt:$,context:M}=f,L=k(A),T=await M.entityService.getEntity({entityType:x,id:L});if(!T||T.metadata.status==="generating")return A;M.logger.debug(`Entity ID collision: ${x}/${L}, asking AI for a new title`);let J=U.object({title:U.string().max(80).describe("A short, unique title (2-6 words)")}),{object:W}=await M.ai.generateObject(`The title "${A}" is already taken. ${$}`,J),X=W.title;return M.logger.debug(`AI suggested new title: "${X}"`),X}var ff=K.extend({id:U.literal("brain-character"),entityType:U.literal("brain-character")}),S=U.object({name:U.string().describe("The brain's friendly display name"),role:U.string().describe("The brain's primary role"),purpose:U.string().describe("The brain's purpose and goals"),values:U.array(U.string()).describe("Core values that guide behavior")});var jf=U.record(U.string(),U.unknown());class z extends q{constructor(){super({entityType:"brain-character",purpose:"The brain's own identity, character, and purpose (singleton).",schema:ff,frontmatterSchema:S,isSingleton:!0,hasBody:!1})}createCharacterContent(f){return this.buildMarkdown("",f)}parseCharacterBody(f){return this.parseFrontmatter(f)}toMarkdown(f){let x=this.parseFrontmatter(f.content);return this.buildMarkdown("",jf.parse(x))}fromMarkdown(f){return{content:f,entityType:"brain-character"}}extractMetadata(f){let x=this.parseFrontmatter(f.content);return{role:x.role,values:x.values}}generateFrontMatter(f){let x=this.parseFrontmatter(f.content);return this.buildMarkdown("",jf.parse(x))}}class j extends n{static instance=null;adapter=new z;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(f,x,A){return j.instance??=new j(f,x,A),j.instance}static resetInstance(){j.instance=null}static createFresh(f,x,A){return new j(f,x,A)}constructor(f,x,A){super(f,x,"brain-character",A??j.getDefaultCharacter(),u("brain character is loaded at bootstrap before any user is in scope"))}parseBody(f){return this.adapter.parseCharacterBody(f)}createContent(f){return this.adapter.createCharacterContent(f)}getCharacter(){return this.get()}getCharacterContent(){return this.getContent()}}var xf=K.extend({id:U.literal("anchor-profile"),entityType:U.literal("anchor-profile")}),mf=U.enum(["person","team","organization"]),Q=U.object({name:U.string().describe("Name of the anchor"),organization:U.string().optional().describe("Organization the anchor belongs to"),description:U.string().optional().describe("Short description or biography"),avatar:U.string().optional().describe("URL or asset path to avatar/logo"),website:U.string().optional().describe("Primary website URL"),email:U.string().optional().describe("Contact email"),socialLinks:U.array(U.object({platform:U.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:U.string().describe("Profile or contact URL"),label:U.string().optional().describe("Optional display label")})).optional().describe("Social media and contact links")});var ax=U.record(U.string(),U.unknown());class l extends q{constructor(){super({entityType:"anchor-profile",purpose:"The profile of the brain's anchor owner (singleton).",schema:xf,frontmatterSchema:Q,isSingleton:!0,hasBody:!0})}createProfileContent(f){let x=Q.parse(f);return this.buildMarkdown("",x)}parseProfileBody(f,x){if(x){let{metadata:A,content:k}=Uf(f,x);return k?{...A,story:k}:A}return this.parseFrontmatter(f)}fromMarkdown(f){return{content:f,entityType:"anchor-profile"}}extractMetadata(f){let x=this.parseFrontmatter(f.content);return{name:x.name,email:x.email,website:x.website}}generateFrontMatter(f){let x=this.parseFrontmatter(f.content);return this.buildMarkdown("",ax.parse(x))}}class D extends n{static instance=null;adapter=new l;static getDefaultProfile(){return{name:"Unknown"}}static getInstance(f,x,A){return D.instance??=new D(f,x,A),D.instance}static resetInstance(){D.instance=null}static createFresh(f,x,A){return new D(f,x,A)}constructor(f,x,A){super(f,x,"anchor-profile",A??D.getDefaultProfile(),u("anchor profile is loaded at bootstrap before any user is in scope"))}parseBody(f){return this.adapter.parseProfileBody(f)}createContent(f){return this.adapter.createProfileContent(f)}getProfile(){return this.get()}getProfileContent(){return this.getContent()}}var s=U.enum(["person","team","organization"]),mk=U.object({kind:U.string().trim().min(1),category:s,labels:U.object({singular:U.string().trim().min(1),plural:U.string().trim().min(1)})});var Yf=U.looseObject({id:U.string(),description:U.string(),name:U.string().optional(),tags:U.array(U.string()).optional().default([])}),dx=Q.extend({kind:U.string().trim().min(1).optional(),category:s.optional()}).superRefine((f,x)=>{if(f.kind===void 0!==(f.category===void 0))x.addIssue({code:"custom",message:"Anchor kind and category must be provided together"})}),rx=U.looseObject({uri:U.string(),params:U.record(U.string(),U.unknown()).optional()}),ex=U.looseObject({name:U.string(),url:U.string(),description:U.string().optional(),skills:U.array(Yf).optional().default([]),capabilities:U.looseObject({extensions:U.array(rx).optional().default([])}).optional()});var ix=U.object({name:U.string(),description:U.string(),tags:U.array(U.string()),examples:U.array(U.string())});import{EventEmitter as Xf}from"events";var _={REGISTERED:"registered",INITIALIZED:"initialized",ERROR:"error",DISABLED:"disabled"},H={REGISTERED:"plugin:registered",BEFORE_INITIALIZE:"plugin:before_initialize",INITIALIZED:"plugin:initialized",ERROR:"plugin:error",DISABLED:"plugin:disabled"};class F extends Error{pluginId;constructor(f,x){super(`Plugin ${f}: ${x}`);this.name="PluginError",this.pluginId=f}}class Af{scope;ingress=new Set;closePromise=null;closed=!1;constructor(){this.scope=R.runSync(y.make())}addFinalizer(f){if(this.closed)throw Error("Cannot register a resource after plugin teardown");R.runSync(y.addFinalizer(this.scope,R.promise(async()=>{await f()})))}addIngress(f){if(this.closed)throw Error("Cannot register ingress after plugin teardown");this.ingress.add(f)}close(f=Z.void){return this.closed=!0,this.closePromise??=this.closeScope(f),this.closePromise}async closeScope(f){let x,A=!1,k=[...this.ingress].reverse();for(let T of k)try{T.stopAdmission()}catch(J){if(!A)x=J;A=!0}let $=await Promise.allSettled(k.map((T)=>Promise.resolve().then(()=>T.drain())));this.ingress.clear();let M=$.find((T)=>T.status==="rejected");if(!A&&M)x=M.reason,A=!0;let L=await R.runPromiseExit(y.close(this.scope,f));if(!A&&Z.isFailure(L))x=Bf.squash(L.cause),A=!0;if(A)throw x}}function Qf(f,x){let A=f.getMessageBus(),k=new Set,$={send:(w)=>A.send(w),subscribe:(w,C,N)=>{let b=!0,O=new Set,V=(v)=>{if(!b)return{noop:!0};let Lf,Cf=new Promise((Y)=>{Lf=Y});O.add(Cf);let c=()=>{O.delete(Cf),Lf()},_f;try{_f=Promise.resolve(C(v))}catch(Y){throw c(),Y}return _f.then((Y)=>{return c(),Y},(Y)=>{throw c(),Y})},p=A.subscribe(w,V,N),G={type:w,originalHandler:C,stopAdmission:()=>{if(!b)return;b=!1,p(),k.delete(G)}};k.add(G);try{x.addIngress({stopAdmission:G.stopAdmission,drain:async()=>{await Promise.all(O)}})}catch(v){throw G.stopAdmission(),v}return G.stopAdmission},unsubscribe:(w,C)=>{let N=[...k].filter((b)=>b.type===w&&b.originalHandler===C);if(N.length===0){A.unsubscribe(w,C);return}for(let b of N)b.stopAdmission()}},M=f.getAttachmentRegistry(),L={...M,register:(w,C,N)=>{let b=!0,O=M.register(w,C,N),V=()=>{if(!b)return;b=!1,O()};return x.addFinalizer(V),V}},T=f.getEntityRegistry(),J=new Proxy(T,{get(w,C){let N=Reflect.get(w,C,w);if(C==="registerEntityType"&&typeof N==="function")return(...b)=>{let O=Reflect.apply(N,w,b),V=b[0];if(typeof V==="string")x.addFinalizer(()=>w.unregisterEntityType(V));return O};return typeof N==="function"?N.bind(w):N}}),W=f.getProfileKindRegistry(),X=new Proxy(W,{get(w,C){let N=Reflect.get(w,C,w);if(C==="register"&&typeof N==="function")return(...b)=>{let O=Reflect.apply(N,w,b),V=b[0];if(typeof V==="string")x.addFinalizer(()=>w.unregisterPlugin(V));return O};return typeof N==="function"?N.bind(w):N}}),uf=f.getDataSourceRegistry(),Pf=new Proxy(uf,{get(w,C){let N=Reflect.get(w,C,w);if(C==="register"&&typeof N==="function")return(...b)=>{let O=Reflect.apply(N,w,b),V=b[0];if(typeof V==="object"&&V!==null&&"id"in V&&typeof V.id==="string"){let p=V.id.includes(":")?V.id:`shell:${V.id}`;x.addFinalizer(()=>w.unregister(p))}return O};return typeof N==="function"?N.bind(w):N}}),of=f.getInsightsRegistry(),Ef=new Proxy(of,{get(w,C){let N=Reflect.get(w,C,w);if(C==="register"&&typeof N==="function")return(...b)=>{let O=Reflect.apply(N,w,b),V=b[0];if(typeof V==="string")x.addFinalizer(()=>w.unregister(V));return O};return typeof N==="function"?N.bind(w):N}});return new Proxy(f,{get(w,C){if(C==="getMessageBus")return()=>$;if(C==="getAttachmentRegistry")return()=>L;if(C==="getEntityRegistry")return()=>J;if(C==="getDataSourceRegistry")return()=>Pf;if(C==="getProfileKindRegistry")return()=>X;if(C==="getInsightsRegistry")return()=>Ef;let N=Reflect.get(w,C,w);return typeof N==="function"?N.bind(w):N}})}class $f{plugins;events;daemonRegistry;logger;resourceScopes=new Map;releasePromises=new Map;constructor(f,x,A,k){this.plugins=f,this.events=x,this.daemonRegistry=A,this.logger=k.child("PluginLifecycle")}async initializePlugin(f,x,A){let k=this.plugins.get(f);if(!k)throw new F(f,"Registration failed: Plugin is not registered");let $=k.plugin,M=new Af;M.addFinalizer(()=>x.unregisterPluginCapabilities?.(f)),M.addFinalizer(()=>x.getJobQueueService().unregisterPluginHandlers(f)),this.resourceScopes.set(f,M),this.releasePromises.delete(f),this.logger.debug(`Initializing plugin: ${f}`);try{this.events.emit(H.BEFORE_INITIALIZE,f,$);let L=await $.register(Qf(x,M),A);return k.status=_.INITIALIZED,this.logger.debug(`Initialized plugin: ${f}`),this.events.emit(H.INITIALIZED,f,$),L}catch(L){throw this.logger.error(`Error initializing plugin ${f}: ${B(L)}`),await this.failPluginInitialization(f,L),L}}async finalizePluginRegistration(f){let x=this.plugins.get(f);if(!x)throw new F(f,"Registration finalization failed: Plugin is not registered");if(x.status!==_.INITIALIZED)return;try{await x.plugin.finalizeRegistration?.(),this.logger.debug(`Registration finalized for plugin: ${f}`)}catch(A){throw await this.failPluginInitialization(f,A),A}}async readyPlugin(f){let x=this.plugins.get(f);if(!x)throw new F(f,"Ready failed: Plugin is not registered");if(x.status!==_.INITIALIZED){this.logger.debug(`Skipping ready hook for non-initialized plugin: ${f}`);return}try{await x.plugin.ready?.(),this.logger.debug(`Ready hook completed for plugin: ${f}`)}catch(A){let k=kf(A);x.status=_.ERROR,x.error=k;try{this.events.emit(H.ERROR,f,k)}catch($){this.logger.error(`Plugin error listener failed for ${f}`,$)}throw k}}async startPluginDaemons(f){let x=this.plugins.get(f);if(x?.status!==_.INITIALIZED)return;try{await this.daemonRegistry.startPlugin(f),this.logger.debug(`Started daemons for plugin: ${f}`)}catch(A){if(x.plugin.requiresDaemonStartup?.())throw A;this.logger.warn(`Daemon ${f} failed to start: ${B(A)}`)}}async failPluginInitialization(f,x){let A=this.plugins.get(f);if(!A)return;let k=A.status!==_.ERROR,$=kf(x);if(A.status=_.ERROR,A.error=$,await this.releasePluginResources(f,Z.fail(x)),k)try{this.events.emit(H.ERROR,f,$)}catch(M){this.logger.error(`Plugin error listener failed for ${f}`,M)}}async disablePlugin(f){let x=this.plugins.get(f);if(!x){this.logger.warn(`Cannot disable plugin ${f}: not registered`);return}if(x.status===_.DISABLED)return;this.logger.debug(`Disabling plugin: ${f}`);let A=x.status===_.ERROR;await this.releasePluginResources(f,Z.void);let k=this.plugins.get(f);if(!A&&k&&k.status!==_.DISABLED)k.status=_.DISABLED,this.events.emit(H.DISABLED,f,k.plugin);this.logger.debug(`Disabled plugin: ${f}`)}releasePluginResources(f,x){let A=this.releasePromises.get(f);if(A)return A;let k=this.releasePluginResourcesOnce(f,x);return this.releasePromises.set(f,k),k}async releasePluginResourcesOnce(f,x){let A=this.plugins.get(f);if(!A)return;try{await this.daemonRegistry.stopPlugin(f),this.logger.debug(`Stopped daemons for plugin: ${f}`)}catch($){this.logger.error(`Failed to stop daemons for plugin: ${f}`,$)}let k=this.resourceScopes.get(f);if(this.resourceScopes.delete(f),k)try{await k.close(x)}catch($){this.logger.error(`Failed to close resources for plugin ${f}`,$)}if(A.plugin.shutdown)try{await A.plugin.shutdown(),this.logger.debug(`Shutdown completed for plugin: ${f}`)}catch($){this.logger.error(`Plugin shutdown failed for ${f}:`,$)}for(let $ of this.daemonRegistry.getByPlugin(f))try{await this.daemonRegistry.unregister($.name)}catch(M){this.logger.error(`Failed to unregister daemon ${$.name} for plugin ${f}`,M)}}}class Mf{plugins;events;logger;constructor(f,x,A){this.plugins=f,this.events=x,this.logger=A.child("DependencyResolver")}async resolveInitializationOrder(f){this.logger.debug("Resolving plugin initialization order...");let x=Array.from(this.plugins.keys()),A=new Set,k=!0;while(k&&A.size<x.length){k=!1;for(let L of x){if(A.has(L))continue;if(!this.plugins.get(L))continue;if(this.getUnmetDependencies(L).length===0)try{await f(L),A.add(L),k=!0}catch(W){let X=B(W);this.logger.error(`Failed to initialize plugin ${L}: ${X}`),A.add(L),k=!0}}}let $=x.filter((L)=>!A.has(L));if($.length>0){let L=$.join(", ");this.logger.error(`Failed to initialize plugins due to dependency issues: ${L}`);for(let T of $){let J=this.getUnmetDependencies(T);this.logger.error(`Plugin ${T} has unmet dependencies: ${J.join(", ")}`);let W=this.plugins.get(T);if(W)W.status=_.ERROR,W.error=new F(T,`Unmet dependencies: ${J.join(", ")}`);this.events.emit(H.ERROR,T,W?.error)}}let M=new Set;for(let[L,T]of this.plugins)if(T.status===_.INITIALIZED)M.add(L);return this.logger.debug(`Resolved ${M.size} of ${x.length} plugins`),{initialized:M,failed:$}}getUnmetDependencies(f){let x=this.plugins.get(f);if(!x)return[];let{dependencies:A}=x,k=[];for(let $ of A){let M=this.plugins.get($);if(!M){k.push($);continue}if(M.status!==_.INITIALIZED)k.push($)}return k}}class wf{logger;constructor(f){this.logger=f.child("CapabilityRegistrar")}async registerCapabilities(f,x,A){if(A.tools.length>0)f.registerTools(x,A.tools),this.logger.debug(`Registered ${A.tools.length} tools from ${x}`);if(A.resources.length>0)f.registerResources(x,A.resources),this.logger.debug(`Registered ${A.resources.length} resources from ${x}`);if(A.instructions)f.registerInstructions(x,A.instructions),this.logger.debug(`Registered instructions from ${x}`)}}async function Zf(f){let A=(await R.runPromise(R.all(f.map((k)=>R.either(R.tryPromise({try:k,catch:($)=>$}))),{concurrency:"unbounded"}))).find(Gf.isLeft);if(A)throw A.left}class m{static instance=null;plugins=new Map;logger;events=new Xf;daemonRegistry;shell=null;initializedPluginIds=[];pluginLifecycle;dependencyResolver;capabilityRegistrar;static getInstance(f,x){return m.instance??=new m(f,x),m.instance}static resetInstance(){m.instance=null}static createFresh(f,x){return new m(f,x)}setShell(f){this.shell=f}constructor(f,x){this.logger=f.child("PluginManager"),this.events=new Xf,this.daemonRegistry=x,this.pluginLifecycle=new $f(this.plugins,this.events,this.daemonRegistry,f),this.dependencyResolver=new Mf(this.plugins,this.events,f),this.capabilityRegistrar=new wf(f)}registerPlugin(f){if(!f.id)throw new F("unknown","Registration failed: Plugin must have an id");if(this.logger.debug(`Registering plugin: ${f.id} (${f.version})`),this.plugins.has(f.id)){let $=this.plugins.get(f.id)?.plugin.version;throw new F(f.id,`Registration failed: Plugin is already registered with version ${$}`)}let x=f.dependencies??[],A={plugin:f,status:_.REGISTERED,dependencies:x};this.plugins.set(f.id,A),this.logger.debug(`Registered plugin: ${f.id} (${f.version})`),this.events.emit(H.REGISTERED,f.id,f)}async initializePlugins(f){this.logger.debug("Initializing plugins..."),this.initializedPluginIds=[];let x=await this.dependencyResolver.resolveInitializationOrder(async(A)=>{await this.initializePlugin(A,f)});this.logger.debug(`Initialized ${x.initialized.size} of ${this.plugins.size} plugins`)}async initializePlugin(f,x){if(!this.shell)throw new F(f,"Cannot initialize plugin: Shell not set. Call setShell() first.");let A=this.shell;try{let k=await this.pluginLifecycle.initializePlugin(f,A,x);await this.capabilityRegistrar.registerCapabilities(A,f,k),this.initializedPluginIds.push(f)}catch(k){throw await this.pluginLifecycle.failPluginInitialization(f,k),k}}async finalizePluginRegistrations(){this.logger.debug("Finalizing plugin registrations...");for(let f of this.initializedPluginIds)await this.pluginLifecycle.finalizePluginRegistration(f)}async readyPlugins(){this.logger.debug("Dispatching plugin ready hooks...");try{await Zf(this.initializedPluginIds.map((f)=>()=>this.pluginLifecycle.readyPlugin(f)))}catch(f){for(let x of this.initializedPluginIds){let A=this.plugins.get(x);if(A?.status===_.ERROR)await this.pluginLifecycle.failPluginInitialization(x,A.error??f)}throw f}}async startPluginDaemons(){this.logger.debug("Starting plugin daemons..."),await Zf(this.initializedPluginIds.map((f)=>()=>this.pluginLifecycle.startPluginDaemons(f)))}getPlugin(f){return this.plugins.get(f)?.plugin}getPluginStatus(f){return this.plugins.get(f)?.status}hasPlugin(f){return this.plugins.has(f)}isPluginInitialized(f){return this.plugins.get(f)?.status===_.INITIALIZED}getAllPluginIds(){return Array.from(this.plugins.keys())}getAllPlugins(){return new Map(this.plugins)}getFailedPlugins(){return Array.from(this.plugins.entries()).filter((f)=>f[1].status===_.ERROR&&f[1].error!==void 0).map(([f,x])=>({id:f,error:x.error}))}getPluginPackageName(f){return this.plugins.get(f)?.plugin.packageName}async disablePlugin(f){await this.pluginLifecycle.disablePlugin(f)}async shutdownPlugins(){let f=new Set;for(let x of[...this.initializedPluginIds].reverse())await this.disablePlugin(x),f.add(x);for(let x of[...this.plugins.keys()].reverse())if(!f.has(x))await this.disablePlugin(x)}on(f,x){this.events.on(f,x)}once(f,x){this.events.once(f,x)}off(f,x){this.events.off(f,x)}getEventEmitter(){return this.events}}var fU=U.enum(["generating","draft","queued","published","failed"]),Kf=U.enum(["generating","draft","queued","published","failed"]),xU=U.object({title:U.string(),slug:U.string().optional(),status:fU,publishedAt:U.string().datetime().optional(),excerpt:U.string(),author:U.string(),coverImageId:U.string().optional(),ogImageId:U.string().optional(),seriesName:U.string().optional(),seriesIndex:U.number().optional(),ogImage:U.string().url().optional(),ogDescription:U.string().optional(),twitterCard:U.enum(["summary","summary_large_image"]).optional(),canonicalUrl:U.string().url().optional(),atprotoUri:U.string().optional()}),xN=xU.pick({title:!0,status:!0,publishedAt:!0,seriesName:!0,seriesIndex:!0}).extend({slug:U.string(),error:U.string().optional()}),UU=U.object({title:U.string(),status:Kf,publishedAt:U.string().datetime().optional(),seriesName:U.string().optional(),seriesIndex:U.number().optional(),slug:U.string(),error:U.string().optional()}),AU=U.object({title:U.string(),slug:U.string().optional(),status:Kf,publishedAt:U.string().datetime().optional(),excerpt:U.string(),author:U.string(),coverImageId:U.string().optional(),ogImageId:U.string().optional(),seriesName:U.string().optional(),seriesIndex:U.number().optional(),ogImage:U.string().url().optional(),ogDescription:U.string().optional(),twitterCard:U.enum(["summary","summary_large_image"]).optional(),canonicalUrl:U.string().url().optional(),atprotoUri:U.string().optional()}),kU=Nf.extend({entityType:U.literal("post"),metadata:UU}),qf=kU.extend({frontmatter:AU,body:U.string(),coverImageUrl:U.string().optional()}),UN=qf.extend({url:U.string().optional(),typeLabel:U.string().optional(),listUrl:U.string().optional(),listLabel:U.string().optional(),seriesUrl:U.string().optional(),coverImageUrl:U.string().optional(),ogImageUrl:U.string().optional(),coverImageWidth:U.number().optional(),coverImageHeight:U.number().optional(),coverImageSrcset:U.string().optional(),coverImageSizes:U.string().optional()}),AN=qf.extend({url:U.string(),typeLabel:U.string(),listUrl:U.string(),listLabel:U.string(),seriesUrl:U.string().optional(),coverImageUrl:U.string().optional(),ogImageUrl:U.string().optional(),coverImageWidth:U.number().optional(),coverImageHeight:U.number().optional(),coverImageSrcset:U.string().optional(),coverImageSizes:U.string().optional()});
|
|
3
|
+
export{Sf as d,Hf as e,tx as f,Q as g,xU as h,kU as i,qf as j,UN as k,AN as l};
|
|
4
|
+
|
|
5
|
+
//# debugId=5D5C2DB1F819D68664756E2164756E21
|
|
6
|
+
//# sourceMappingURL=index-rng6ka15.js.map
|