@rizom/brain 0.2.0-alpha.173 → 0.2.0-alpha.174

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.
@@ -1,6 +1,6 @@
1
1
  // @bun
2
- import{da as R}from"./index-h97nvbss.js";import{Pa as H}from"./index-awx4ta1w.js";var U=H.looseObject({id:H.string().optional(),limit:H.number().optional(),page:H.number().optional(),pageSize:H.number().optional(),baseUrl:H.string().optional()}),V=H.looseObject({entityType:H.string().optional(),query:U.optional()});class W{logger;constructor(j){this.logger=j}buildDetailResult(j,w){throw Error(`${this.id}: buildDetailResult() not implemented. Override this method or override fetch() to handle detail views.`)}parseQuery(j){let w=V.parse(j);return{entityType:w.entityType??this.config.entityType,query:w.query??{}}}async fetch(j,w,C){let B=this.parseQuery(j),A=C.entityService;if(B.query.id){let J=await this.fetchDetail(B.query.id,A);return w.parse(this.buildDetailResult(J.item,J.navigation))}let G=await this.fetchList(B.query,A);return w.parse(this.buildListResult(G.items,G.pagination,B.query))}async fetchDetail(j,w){let C=await this.lookupEntity(j,w),B=this.transformEntity(C),A=null;if(this.config.enableNavigation)A=await this.resolveNavigation(C,w);return{item:B,navigation:A}}async fetchList(j,w,C){let B=j.page??1,A=j.pageSize??j.limit??this.config.defaultLimit??100,G=(B-1)*A,J=j.page!==void 0,[K,L]=await Promise.all([w.listEntities({entityType:this.config.entityType,options:{limit:A,offset:G,sortFields:this.config.defaultSort,...C}}),J?w.countEntities({entityType:this.config.entityType,options:C?.filter?{filter:C.filter}:void 0}):Promise.resolve(0)]),M=K.map((T)=>this.transformEntity(T)),N=J?R(L,B,A):null;return{items:M,pagination:N}}async resolveNavigation(j,w,C){let B=this.config.navigationLimit??1000,A=await w.listEntities({entityType:this.config.entityType,options:{limit:B,sortFields:C??this.config.defaultSort}}),G=A.findIndex((N)=>N.id===j.id),J=G>0?A[G-1]:void 0,K=G<A.length-1?A[G+1]:void 0,L=J?this.transformEntity(J):null,M=K?this.transformEntity(K):null;return{prev:L,next:M}}async lookupEntity(j,w){if(this.config.lookupField==="id"){let A=await w.getEntity({entityType:this.config.entityType,id:j});if(!A)throw Error(`${this.config.entityType} not found: ${j}`);return A}let B=(await w.listEntities({entityType:this.config.entityType,options:{filter:{metadata:{slug:j}},limit:1}}))[0];if(!B)throw Error(`${this.config.entityType} not found with slug: ${j}`);return B}}
2
+ import{da as R}from"./index-q6b959de.js";import{Pa as H}from"./index-awx4ta1w.js";var U=H.looseObject({id:H.string().optional(),limit:H.number().optional(),page:H.number().optional(),pageSize:H.number().optional(),baseUrl:H.string().optional()}),V=H.looseObject({entityType:H.string().optional(),query:U.optional()});class W{logger;constructor(j){this.logger=j}buildDetailResult(j,w){throw Error(`${this.id}: buildDetailResult() not implemented. Override this method or override fetch() to handle detail views.`)}parseQuery(j){let w=V.parse(j);return{entityType:w.entityType??this.config.entityType,query:w.query??{}}}async fetch(j,w,C){let B=this.parseQuery(j),A=C.entityService;if(B.query.id){let J=await this.fetchDetail(B.query.id,A);return w.parse(this.buildDetailResult(J.item,J.navigation))}let G=await this.fetchList(B.query,A);return w.parse(this.buildListResult(G.items,G.pagination,B.query))}async fetchDetail(j,w){let C=await this.lookupEntity(j,w),B=this.transformEntity(C),A=null;if(this.config.enableNavigation)A=await this.resolveNavigation(C,w);return{item:B,navigation:A}}async fetchList(j,w,C){let B=j.page??1,A=j.pageSize??j.limit??this.config.defaultLimit??100,G=(B-1)*A,J=j.page!==void 0,[K,L]=await Promise.all([w.listEntities({entityType:this.config.entityType,options:{limit:A,offset:G,sortFields:this.config.defaultSort,...C}}),J?w.countEntities({entityType:this.config.entityType,options:C?.filter?{filter:C.filter}:void 0}):Promise.resolve(0)]),M=K.map((T)=>this.transformEntity(T)),N=J?R(L,B,A):null;return{items:M,pagination:N}}async resolveNavigation(j,w,C){let B=this.config.navigationLimit??1000,A=await w.listEntities({entityType:this.config.entityType,options:{limit:B,sortFields:C??this.config.defaultSort}}),G=A.findIndex((N)=>N.id===j.id),J=G>0?A[G-1]:void 0,K=G<A.length-1?A[G+1]:void 0,L=J?this.transformEntity(J):null,M=K?this.transformEntity(K):null;return{prev:L,next:M}}async lookupEntity(j,w){if(this.config.lookupField==="id"){let A=await w.getEntity({entityType:this.config.entityType,id:j});if(!A)throw Error(`${this.config.entityType} not found: ${j}`);return A}let B=(await w.listEntities({entityType:this.config.entityType,options:{filter:{metadata:{slug:j}},limit:1}}))[0];if(!B)throw Error(`${this.config.entityType} not found with slug: ${j}`);return B}}
3
3
  export{U as A,V as B,W as C};
4
4
 
5
5
  //# debugId=E9E34627F3A5A8DD64756E2164756E21
6
- //# sourceMappingURL=index-80gehwzs.js.map
6
+ //# sourceMappingURL=index-y5phk0t1.js.map
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{c as K}from"./index-d5r8p459.js";import{j as J}from"./index-a4995mz5.js";import"./index-3kgt7n11.js";import"./index-80gehwzs.js";import{X as I}from"./index-h97nvbss.js";import"./index-ejwmsqv7.js";import"./index-d8kywpxf.js";import"./index-spm9f4m4.js";import{Pa as j}from"./index-awx4ta1w.js";import"./index-pe6yc4tr.js";var V=j.object({siteUrl:j.url(),title:j.string(),description:j.string(),language:j.string().optional(),copyright:j.string().optional()});class Y{logger;id="blog:rss";name="Blog RSS Feed DataSource";description="Generates RSS 2.0 feed XML from published blog posts";constructor(D){this.logger=D,this.logger.debug("RSSDataSource initialized")}async fetch(D,N,O){let v=V.parse(D),E=(await O.entityService.listEntities({entityType:"post",options:{limit:1000}})).filter((A)=>A.metadata.status==="published"&&A.metadata.publishedAt).map((A)=>{let H=I(A.content,J);return{...A,frontmatter:H.metadata,body:H.content}});this.logger.debug(`Generating RSS feed with ${E.length} posts`);let T={title:v.title,description:v.description,link:v.siteUrl,language:v.language??"en-us",...v.copyright&&{copyright:v.copyright}},U={xml:K(E,T)};return N.parse(U)}}export{Y as RSSDataSource};
2
+ import{c as K}from"./index-d5r8p459.js";import{j as J}from"./index-5ksrvnfa.js";import"./index-0jj13cwd.js";import"./index-y5phk0t1.js";import{X as I}from"./index-q6b959de.js";import"./index-ejwmsqv7.js";import"./index-d8kywpxf.js";import"./index-spm9f4m4.js";import{Pa as j}from"./index-awx4ta1w.js";import"./index-pe6yc4tr.js";var V=j.object({siteUrl:j.url(),title:j.string(),description:j.string(),language:j.string().optional(),copyright:j.string().optional()});class Y{logger;id="blog:rss";name="Blog RSS Feed DataSource";description="Generates RSS 2.0 feed XML from published blog posts";constructor(D){this.logger=D,this.logger.debug("RSSDataSource initialized")}async fetch(D,N,O){let v=V.parse(D),E=(await O.entityService.listEntities({entityType:"post",options:{limit:1000}})).filter((A)=>A.metadata.status==="published"&&A.metadata.publishedAt).map((A)=>{let H=I(A.content,J);return{...A,frontmatter:H.metadata,body:H.content}});this.logger.debug(`Generating RSS feed with ${E.length} posts`);let T={title:v.title,description:v.description,link:v.siteUrl,language:v.language??"en-us",...v.copyright&&{copyright:v.copyright}},U={xml:K(E,T)};return N.parse(U)}}export{Y as RSSDataSource};
3
3
 
4
4
  //# debugId=AD3C8DB4AF4B3EE664756E2164756E21
5
- //# sourceMappingURL=rss-datasource-7xrpgr20.js.map
5
+ //# sourceMappingURL=rss-datasource-x181257n.js.map
@@ -231,6 +231,14 @@ interface EntityAdapter<TEntity extends BaseEntity<TMetadata>, TMetadata = Recor
231
231
  getBodyTemplate(): string;
232
232
  /** Optional: Declares that this entity type supports cover images via coverImageId in frontmatter */
233
233
  supportsCoverImage?: boolean;
234
+ /**
235
+ * Optional: the `metadata.status` values that count as published for
236
+ * `publishedOnly` queries (production site builds). Declaring this makes the
237
+ * list exact — entities without a status are NOT published. When absent, the
238
+ * default lifecycle semantics apply: status `published`, `active`, or no
239
+ * status at all.
240
+ */
241
+ publishedStatuses?: string[];
234
242
  /** Optional: Extract coverImageId from entity content/frontmatter */
235
243
  getCoverImageId?(entity: TEntity): string | undefined;
236
244
  /**
@@ -562,6 +570,7 @@ interface BaseEntityAdapterConfig<TEntity extends BaseEntity<TMetadata>, TMetada
562
570
  isSingleton?: boolean;
563
571
  hasBody?: boolean;
564
572
  supportsCoverImage?: boolean;
573
+ publishedStatuses?: string[];
565
574
  bodyFormatter?: BodyTemplateProvider;
566
575
  }
567
576
  /**
@@ -581,6 +590,7 @@ declare abstract class BaseEntityAdapter<TEntity extends BaseEntity<TMetadata>,
581
590
  readonly isSingleton?: boolean;
582
591
  readonly hasBody?: boolean;
583
592
  readonly supportsCoverImage?: boolean;
593
+ readonly publishedStatuses?: string[];
584
594
  private readonly fmSchema;
585
595
  private readonly bodyFormatter;
586
596
  constructor(config: BaseEntityAdapterConfig<TEntity, TMetadata, TFrontmatter>);
package/dist/entities.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{S as t,T as e,W as a,X as n,Y as i,aa as r,ca as o,da as s,ea as p}from"./chunks/index-h97nvbss.js";import"./chunks/index-d8kywpxf.js";import"./chunks/index-awx4ta1w.js";import"./chunks/index-pe6yc4tr.js";export{n as parseMarkdownWithFrontmatter,o as paginationInfoSchema,p as paginateItems,a as generateMarkdownWithFrontmatter,i as generateFrontmatter,s as buildPaginationInfo,e as baseEntitySchema,t as NOTE_ENTITY_TYPE,r as BaseEntityAdapter};
2
+ import{S as t,T as e,W as a,X as n,Y as i,aa as r,ca as o,da as s,ea as p}from"./chunks/index-q6b959de.js";import"./chunks/index-d8kywpxf.js";import"./chunks/index-awx4ta1w.js";import"./chunks/index-pe6yc4tr.js";export{n as parseMarkdownWithFrontmatter,o as paginationInfoSchema,p as paginateItems,a as generateMarkdownWithFrontmatter,i as generateFrontmatter,s as buildPaginationInfo,e as baseEntitySchema,t as NOTE_ENTITY_TYPE,r as BaseEntityAdapter};
3
3
 
4
4
  //# debugId=BB07479D862B5C0D64756E2164756E21
5
5
  //# sourceMappingURL=entities.js.map
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{Oa as r,Pa as o}from"./chunks/index-awx4ta1w.js";import"./chunks/index-pe6yc4tr.js";function t(i){return i}var e={name:"@rizom/brain",version:"0.2.0-alpha.173",description:"Brain runtime + CLI \u2014 scaffold, run, and manage AI brain instances",keywords:["brain","ai","cli","mcp","agent","personal-ai","knowledge-management"],license:"Apache-2.0",author:"Yeehaa <yeehaa@rizom.ai> (https://rizom.ai)",bin:{brain:"./dist/brain.js"},bugs:"https://github.com/rizom-ai/brains/issues",dependencies:{"@clack/prompts":"^1.5.1","@modelcontextprotocol/sdk":"^1.29.0","@tailwindcss/postcss":"^4.3.1","@tailwindcss/typography":"^0.5.20",postcss:"^8.5.15",preact:"^10.27.2","preact-render-to-string":"^6.7.0",tailwindcss:"^4.3.1",zod:"^4.1.8"},devDependencies:{"@brains/app":"workspace:*","@brains/build-tools":"workspace:*","@brains/content-formatters":"workspace:*","@brains/deploy-support":"workspace:*","@brains/eslint-config":"workspace:*","@brains/mcp-service":"workspace:*","@brains/plugins":"workspace:*","@brains/ranger":"workspace:*","@brains/relay":"workspace:*","@brains/rover":"workspace:*","@brains/site-composition":"workspace:*","@brains/site-default":"workspace:*","@brains/site-personal":"workspace:*","@brains/site-professional":"workspace:*","@brains/theme-rizom":"workspace:*","@brains/typescript-config":"workspace:*","@brains/utils":"workspace:*","@rizom/theme-default":"workspace:*","@types/bun":"^1.3.14",rolldown:"^1.0.0","rolldown-plugin-dts":"^0.27.4",typescript:"^7.0.2"},engines:{bun:">=1.3.3"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./cli":"./dist/brain.js","./plugins":{types:"./dist/plugins.d.ts",import:"./dist/plugins.js"},"./entities":{types:"./dist/entities.d.ts",import:"./dist/entities.js"},"./services":{types:"./dist/services.d.ts",import:"./dist/services.js"},"./interfaces":{types:"./dist/interfaces.d.ts",import:"./dist/interfaces.js"},"./templates":{types:"./dist/templates.d.ts",import:"./dist/templates.js"},"./site":{types:"./dist/site.d.ts",import:"./dist/site.js"},"./themes":{types:"./dist/themes.d.ts",import:"./dist/themes.js"},"./deploy":{types:"./dist/deploy.d.ts",import:"./dist/deploy.js"},"./tsconfig.instance.json":"./tsconfig.instance.json"},files:["dist","templates","tsconfig.instance.json"],homepage:"https://github.com/rizom-ai/brains/tree/main/packages/brain-cli#readme",optionalDependencies:{"@bitwarden/sdk-napi":"^1.0.0","@libsql/client":"^0.17.4","@tailwindcss/oxide":"^4.1.4",lightningcss:"^1.29.2","playwright-core":"^1.61.0","react-devtools-core":"^7.0.1",sharp:"^0.35.1"},publishConfig:{access:"public"},repository:{type:"git",url:"https://github.com/rizom-ai/brains.git",directory:"packages/brain-cli"},scripts:{build:"bun scripts/build.ts","dev:start":"bun scripts/build.ts && bun dist/brain.js start",lint:"eslint . --max-warnings 0","lint:fix":"eslint . --max-warnings 0 --fix",prepublishOnly:"bun scripts/build.ts",test:"bun test",typecheck:"tsc --noEmit"},type:"module"};var n=e.version;export{o as z,t as defineBrain,r as ZodError,n as PLUGIN_API_VERSION};
2
+ import{Oa as r,Pa as o}from"./chunks/index-awx4ta1w.js";import"./chunks/index-pe6yc4tr.js";function t(i){return i}var e={name:"@rizom/brain",version:"0.2.0-alpha.174",description:"Brain runtime + CLI \u2014 scaffold, run, and manage AI brain instances",keywords:["brain","ai","cli","mcp","agent","personal-ai","knowledge-management"],license:"Apache-2.0",author:"Yeehaa <yeehaa@rizom.ai> (https://rizom.ai)",bin:{brain:"./dist/brain.js"},bugs:"https://github.com/rizom-ai/brains/issues",dependencies:{"@clack/prompts":"^1.5.1","@modelcontextprotocol/sdk":"^1.29.0","@tailwindcss/postcss":"^4.3.1","@tailwindcss/typography":"^0.5.20",postcss:"^8.5.15",preact:"^10.27.2","preact-render-to-string":"^6.7.0",tailwindcss:"^4.3.1",zod:"^4.1.8"},devDependencies:{"@brains/app":"workspace:*","@brains/build-tools":"workspace:*","@brains/content-formatters":"workspace:*","@brains/deploy-support":"workspace:*","@brains/eslint-config":"workspace:*","@brains/mcp-service":"workspace:*","@brains/plugins":"workspace:*","@brains/ranger":"workspace:*","@brains/relay":"workspace:*","@brains/rover":"workspace:*","@brains/site-composition":"workspace:*","@brains/site-default":"workspace:*","@brains/site-personal":"workspace:*","@brains/site-professional":"workspace:*","@brains/theme-rizom":"workspace:*","@brains/typescript-config":"workspace:*","@brains/utils":"workspace:*","@rizom/theme-default":"workspace:*","@types/bun":"^1.3.14",rolldown:"^1.0.0","rolldown-plugin-dts":"^0.27.4",typescript:"^7.0.2"},engines:{bun:">=1.3.3"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./cli":"./dist/brain.js","./plugins":{types:"./dist/plugins.d.ts",import:"./dist/plugins.js"},"./entities":{types:"./dist/entities.d.ts",import:"./dist/entities.js"},"./services":{types:"./dist/services.d.ts",import:"./dist/services.js"},"./interfaces":{types:"./dist/interfaces.d.ts",import:"./dist/interfaces.js"},"./templates":{types:"./dist/templates.d.ts",import:"./dist/templates.js"},"./site":{types:"./dist/site.d.ts",import:"./dist/site.js"},"./themes":{types:"./dist/themes.d.ts",import:"./dist/themes.js"},"./deploy":{types:"./dist/deploy.d.ts",import:"./dist/deploy.js"},"./tsconfig.instance.json":"./tsconfig.instance.json"},files:["dist","templates","tsconfig.instance.json"],homepage:"https://github.com/rizom-ai/brains/tree/main/packages/brain-cli#readme",optionalDependencies:{"@bitwarden/sdk-napi":"^1.0.0","@libsql/client":"^0.17.4","@tailwindcss/oxide":"^4.1.4",lightningcss:"^1.29.2","playwright-core":"^1.61.0","react-devtools-core":"^7.0.1",sharp:"^0.35.1"},publishConfig:{access:"public"},repository:{type:"git",url:"https://github.com/rizom-ai/brains.git",directory:"packages/brain-cli"},scripts:{build:"bun scripts/build.ts","dev:start":"bun scripts/build.ts && bun dist/brain.js start",lint:"eslint . --max-warnings 0","lint:fix":"eslint . --max-warnings 0 --fix",prepublishOnly:"bun scripts/build.ts",test:"bun test",typecheck:"tsc --noEmit"},type:"module"};var n=e.version;export{o as z,t as defineBrain,r as ZodError,n as PLUGIN_API_VERSION};
3
3
 
4
- //# debugId=1B7865A63CB4911F64756E2164756E21
4
+ //# debugId=BB67E0A0625E65BE64756E2164756E21
5
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -6,6 +6,6 @@
6
6
  "import packageJson from \"../package.json\" with { type: \"json\" };\n\n/**\n * Pre-v1 external plugin API marker.\n *\n * During alpha, the external plugin API compatibility marker tracks the\n * published @rizom/brain package version. Once the plugin API is declared\n * stable, this can move to an independent semver contract such as 1.0.0.\n */\nexport const PLUGIN_API_VERSION: string = packageJson.version;\n"
7
7
  ],
8
8
  "mappings": ";0FA0EO,UAAS,CAAW,CAAC,EAA8C,CACxE,OAAO,6yFClEF,IAAM,EAA6B,EAAY",
9
- "debugId": "1B7865A63CB4911F64756E2164756E21",
9
+ "debugId": "BB67E0A0625E65BE64756E2164756E21",
10
10
  "names": []
11
11
  }
package/dist/plugins.d.ts CHANGED
@@ -357,6 +357,14 @@ interface EntityAdapter<TEntity extends BaseEntity<TMetadata>, TMetadata = Recor
357
357
  getBodyTemplate(): string;
358
358
  /** Optional: Declares that this entity type supports cover images via coverImageId in frontmatter */
359
359
  supportsCoverImage?: boolean;
360
+ /**
361
+ * Optional: the `metadata.status` values that count as published for
362
+ * `publishedOnly` queries (production site builds). Declaring this makes the
363
+ * list exact — entities without a status are NOT published. When absent, the
364
+ * default lifecycle semantics apply: status `published`, `active`, or no
365
+ * status at all.
366
+ */
367
+ publishedStatuses?: string[];
360
368
  /** Optional: Extract coverImageId from entity content/frontmatter */
361
369
  getCoverImageId?(entity: TEntity): string | undefined;
362
370
  /**
package/dist/plugins.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{p as N,q as A,r as D,s as U,u as c,v as l,w as y,x as P,y as B,z as O}from"./chunks/index-3kgt7n11.js";import"./chunks/index-h97nvbss.js";import{Aa as _,Ba as H,ma as E,pa as b,qa as k,za as w}from"./chunks/index-ejwmsqv7.js";import"./chunks/index-d8kywpxf.js";import"./chunks/index-spm9f4m4.js";import{Pa as o}from"./chunks/index-awx4ta1w.js";import"./chunks/index-pe6yc4tr.js";function v(e){return e}function R(e){return e}function C(e){return e===void 0?{success:!0}:{success:!0,data:e}}function S(e){return{success:!1,error:e}}var x=o.object({captureUrls:o.boolean().default(!1),blockedUrlDomains:o.array(o.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"])});function I(e,t){return{name:e,schema:t}}class p extends c{hooks;constructor(e,t,i,r,n){super(e,t,i,r);this.hooks=n}get entityType(){return this.hooks.getEntityType()}get schema(){return this.hooks.getSchema()}get adapter(){return this.hooks.getAdapter()}onRegister(e){return this.hooks.onRegister(e)}onReady(e){return this.hooks.onReady(e)}onShutdown(){return this.hooks.onShutdown()}getEntityTypeConfig(){return this.hooks.getEntityTypeConfig()}getDataSources(){return this.hooks.getDataSources()}getInstructions(){return this.hooks.getInstructions()}interceptCreate(e,t,i){return this.hooks.interceptCreate(e,t,i)}}class u{type="entity";id;version;packageName;description;delegate;constructor(e,t,i,r){if(this.id=e,this.version=t.version,this.packageName=t.name,t.description!==void 0)this.description=t.description;this.delegate=new p(e,t,i,r,{getEntityType:()=>this.entityType,getSchema:()=>this.schema,getAdapter:()=>this.adapter,onRegister:(n)=>this.onRegister(n),onReady:(n)=>this.onReady(n),onShutdown:()=>this.onShutdown(),getEntityTypeConfig:()=>this.getEntityTypeConfig(),getDataSources:()=>this.getDataSources(),getInstructions:()=>this.getInstructions(),interceptCreate:(n,a,T)=>this.interceptCreate(n,a,T)})}register(e,t){return this.delegate.register(e,t)}async onRegister(e){}async onReady(e){}async onShutdown(){}async getInstructions(){return}getEntityTypeConfig(){return}getDataSources(){return[]}async interceptCreate(e,t,i){return{kind:"continue",input:e}}ready(){return this.delegate.ready()}shutdown(){return this.delegate.shutdown?.()??Promise.resolve()}}class m extends l{hooks;constructor(e,t,i,r,n){super(e,t,i,r);this.hooks=n}onRegister(e){return this.hooks.onRegister(e)}onReady(e){return this.hooks.onReady(e)}onShutdown(){return this.hooks.onShutdown()}getTools(){return this.hooks.getTools()}getResources(){return this.hooks.getResources()}getInstructions(){return this.hooks.getInstructions()}getWebRoutes(){return this.hooks.getWebRoutes()}requiresDaemonStartup(){return this.hooks.requiresDaemonStartup()}}class s{type="interface";id;version;packageName;description;delegate;constructor(e,t,i,r){if(this.id=e,this.version=t.version,this.packageName=t.name,t.description!==void 0)this.description=t.description;this.delegate=new m(e,t,i,r,{onRegister:(n)=>this.onRegister(n),onReady:(n)=>this.onReady(n),onShutdown:()=>this.onShutdown(),getTools:()=>this.getTools(),getResources:()=>this.getResources(),getInstructions:()=>this.getInstructions(),getWebRoutes:()=>this.getWebRoutes(),requiresDaemonStartup:()=>this.requiresDaemonStartup()})}register(e,t){return this.delegate.register(e,t)}async onRegister(e){}async onReady(e){}async onShutdown(){}async getTools(){return[]}async getResources(){return[]}async getInstructions(){return}getWebRoutes(){return[]}requiresDaemonStartup(){return!1}ready(){return this.delegate.ready()}shutdown(){return this.delegate.shutdown?.()??Promise.resolve()}}class f extends y{hooks;constructor(e,t,i,r,n){super(e,t,i,r);this.hooks=n}async onRegister(e){await super.onRegister(e),await this.hooks.onRegister(e)}onReady(e){return this.hooks.onReady(e)}onShutdown(){return this.hooks.onShutdown()}getTools(){return this.hooks.getTools()}getResources(){return this.hooks.getResources()}getInstructions(){return this.hooks.getInstructions()}getWebRoutes(){return this.hooks.getWebRoutes()}requiresDaemonStartup(){return this.hooks.requiresDaemonStartup()}sendMessageToChannel(e){this.hooks.sendMessageToChannel(e)}sendMessageWithId(e){return this.hooks.sendMessageWithId(e)}editMessage(e){return this.hooks.editMessage(e)}supportsMessageEditing(){return this.hooks.supportsMessageEditing()}onProgressUpdate(e){return this.hooks.onProgressUpdate(e)}trackAgentResponseForJobPublic(e,t,i){this.trackAgentResponseForJob(e,t,i)}captureUrlViaAgentPublic(e,t,i,r,n){return this.captureUrlViaAgent(e,t,i,r,n)}getCurrentChannelIdPublic(){return this.getCurrentChannelId()}}class d extends s{messageDelegate;constructor(e,t,i,r){super(e,t,i,r);this.messageDelegate=new f(e,t,i,r,{onRegister:(n)=>this.onRegister(n),onReady:(n)=>this.onReady(n),onShutdown:()=>this.onShutdown(),getTools:()=>this.getTools(),getResources:()=>this.getResources(),getInstructions:()=>this.getInstructions(),getWebRoutes:()=>this.getWebRoutes(),requiresDaemonStartup:()=>this.requiresDaemonStartup(),sendMessageToChannel:(n)=>this.sendMessageToChannel(n),sendMessageWithId:(n)=>this.sendMessageWithId(n),editMessage:(n)=>this.editMessage(n),supportsMessageEditing:()=>this.supportsMessageEditing(),onProgressUpdate:(n)=>this.onProgressUpdate(n)})}register(e,t){return this.messageDelegate.register(e,t)}async onRegister(e){}async onReady(e){}async onShutdown(){}async getTools(){return[]}async getResources(){return[]}async getInstructions(){return}sendMessageWithId(e){return Promise.resolve(void 0)}editMessage(e){return Promise.resolve(!1)}supportsMessageEditing(){return!1}async onProgressUpdate(e){}isUploadableTextFile(e,t){let i=[".md",".txt",".markdown"];if(t&&["text/plain","text/markdown","text/x-markdown"].some((n)=>t.startsWith(n)))return!0;return i.some((n)=>e.toLowerCase().endsWith(n))}isFileSizeAllowed(e){return e<=1e5}formatFileUploadMessage(e,t){return`User uploaded a file "${e}":
2
+ import{p as N,q as A,r as D,s as U,u as c,v as l,w as y,x as P,y as B,z as O}from"./chunks/index-0jj13cwd.js";import"./chunks/index-q6b959de.js";import{Aa as _,Ba as H,ma as E,pa as b,qa as k,za as w}from"./chunks/index-ejwmsqv7.js";import"./chunks/index-d8kywpxf.js";import"./chunks/index-spm9f4m4.js";import{Pa as o}from"./chunks/index-awx4ta1w.js";import"./chunks/index-pe6yc4tr.js";function v(e){return e}function R(e){return e}function C(e){return e===void 0?{success:!0}:{success:!0,data:e}}function S(e){return{success:!1,error:e}}var x=o.object({captureUrls:o.boolean().default(!1),blockedUrlDomains:o.array(o.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"])});function I(e,t){return{name:e,schema:t}}class p extends c{hooks;constructor(e,t,i,r,n){super(e,t,i,r);this.hooks=n}get entityType(){return this.hooks.getEntityType()}get schema(){return this.hooks.getSchema()}get adapter(){return this.hooks.getAdapter()}onRegister(e){return this.hooks.onRegister(e)}onReady(e){return this.hooks.onReady(e)}onShutdown(){return this.hooks.onShutdown()}getEntityTypeConfig(){return this.hooks.getEntityTypeConfig()}getDataSources(){return this.hooks.getDataSources()}getInstructions(){return this.hooks.getInstructions()}interceptCreate(e,t,i){return this.hooks.interceptCreate(e,t,i)}}class u{type="entity";id;version;packageName;description;delegate;constructor(e,t,i,r){if(this.id=e,this.version=t.version,this.packageName=t.name,t.description!==void 0)this.description=t.description;this.delegate=new p(e,t,i,r,{getEntityType:()=>this.entityType,getSchema:()=>this.schema,getAdapter:()=>this.adapter,onRegister:(n)=>this.onRegister(n),onReady:(n)=>this.onReady(n),onShutdown:()=>this.onShutdown(),getEntityTypeConfig:()=>this.getEntityTypeConfig(),getDataSources:()=>this.getDataSources(),getInstructions:()=>this.getInstructions(),interceptCreate:(n,a,T)=>this.interceptCreate(n,a,T)})}register(e,t){return this.delegate.register(e,t)}async onRegister(e){}async onReady(e){}async onShutdown(){}async getInstructions(){return}getEntityTypeConfig(){return}getDataSources(){return[]}async interceptCreate(e,t,i){return{kind:"continue",input:e}}ready(){return this.delegate.ready()}shutdown(){return this.delegate.shutdown?.()??Promise.resolve()}}class m extends l{hooks;constructor(e,t,i,r,n){super(e,t,i,r);this.hooks=n}onRegister(e){return this.hooks.onRegister(e)}onReady(e){return this.hooks.onReady(e)}onShutdown(){return this.hooks.onShutdown()}getTools(){return this.hooks.getTools()}getResources(){return this.hooks.getResources()}getInstructions(){return this.hooks.getInstructions()}getWebRoutes(){return this.hooks.getWebRoutes()}requiresDaemonStartup(){return this.hooks.requiresDaemonStartup()}}class s{type="interface";id;version;packageName;description;delegate;constructor(e,t,i,r){if(this.id=e,this.version=t.version,this.packageName=t.name,t.description!==void 0)this.description=t.description;this.delegate=new m(e,t,i,r,{onRegister:(n)=>this.onRegister(n),onReady:(n)=>this.onReady(n),onShutdown:()=>this.onShutdown(),getTools:()=>this.getTools(),getResources:()=>this.getResources(),getInstructions:()=>this.getInstructions(),getWebRoutes:()=>this.getWebRoutes(),requiresDaemonStartup:()=>this.requiresDaemonStartup()})}register(e,t){return this.delegate.register(e,t)}async onRegister(e){}async onReady(e){}async onShutdown(){}async getTools(){return[]}async getResources(){return[]}async getInstructions(){return}getWebRoutes(){return[]}requiresDaemonStartup(){return!1}ready(){return this.delegate.ready()}shutdown(){return this.delegate.shutdown?.()??Promise.resolve()}}class f extends y{hooks;constructor(e,t,i,r,n){super(e,t,i,r);this.hooks=n}async onRegister(e){await super.onRegister(e),await this.hooks.onRegister(e)}onReady(e){return this.hooks.onReady(e)}onShutdown(){return this.hooks.onShutdown()}getTools(){return this.hooks.getTools()}getResources(){return this.hooks.getResources()}getInstructions(){return this.hooks.getInstructions()}getWebRoutes(){return this.hooks.getWebRoutes()}requiresDaemonStartup(){return this.hooks.requiresDaemonStartup()}sendMessageToChannel(e){this.hooks.sendMessageToChannel(e)}sendMessageWithId(e){return this.hooks.sendMessageWithId(e)}editMessage(e){return this.hooks.editMessage(e)}supportsMessageEditing(){return this.hooks.supportsMessageEditing()}onProgressUpdate(e){return this.hooks.onProgressUpdate(e)}trackAgentResponseForJobPublic(e,t,i){this.trackAgentResponseForJob(e,t,i)}captureUrlViaAgentPublic(e,t,i,r,n){return this.captureUrlViaAgent(e,t,i,r,n)}getCurrentChannelIdPublic(){return this.getCurrentChannelId()}}class d extends s{messageDelegate;constructor(e,t,i,r){super(e,t,i,r);this.messageDelegate=new f(e,t,i,r,{onRegister:(n)=>this.onRegister(n),onReady:(n)=>this.onReady(n),onShutdown:()=>this.onShutdown(),getTools:()=>this.getTools(),getResources:()=>this.getResources(),getInstructions:()=>this.getInstructions(),getWebRoutes:()=>this.getWebRoutes(),requiresDaemonStartup:()=>this.requiresDaemonStartup(),sendMessageToChannel:(n)=>this.sendMessageToChannel(n),sendMessageWithId:(n)=>this.sendMessageWithId(n),editMessage:(n)=>this.editMessage(n),supportsMessageEditing:()=>this.supportsMessageEditing(),onProgressUpdate:(n)=>this.onProgressUpdate(n)})}register(e,t){return this.messageDelegate.register(e,t)}async onRegister(e){}async onReady(e){}async onShutdown(){}async getTools(){return[]}async getResources(){return[]}async getInstructions(){return}sendMessageWithId(e){return Promise.resolve(void 0)}editMessage(e){return Promise.resolve(!1)}supportsMessageEditing(){return!1}async onProgressUpdate(e){}isUploadableTextFile(e,t){let i=[".md",".txt",".markdown"];if(t&&["text/plain","text/markdown","text/x-markdown"].some((n)=>t.startsWith(n)))return!0;return i.some((n)=>e.toLowerCase().endsWith(n))}isFileSizeAllowed(e){return e<=1e5}formatFileUploadMessage(e,t){return`User uploaded a file "${e}":
3
3
 
4
4
  ${t}`}extractCaptureableUrls(e,t){let i=e.match(/https?:\/\/[^\s<>"{}|\\^`[\]]+?(?=[,;:\s]|$)/gi)??[];return[...new Set(i)].filter((r)=>{try{let{hostname:n}=new URL(r);return!t.some((a)=>n===a||n.endsWith(`.${a}`))}catch{return!1}})}captureUrlViaAgent(e,t,i,r,n){return this.messageDelegate.captureUrlViaAgentPublic(e,t,i,r,n)}trackAgentResponseForJob(e,t,i){this.messageDelegate.trackAgentResponseForJobPublic(e,t,i)}registerProgressCallback(e){this.messageDelegate.registerProgressCallback(e)}unregisterProgressCallback(){this.messageDelegate.unregisterProgressCallback()}getProgressEvents(){return this.messageDelegate.getProgressEvents()}getActiveProgressEvents(){return this.messageDelegate.getActiveProgressEvents()}startProcessingInput(e=null){this.messageDelegate.startProcessingInput(e)}endProcessingInput(){this.messageDelegate.endProcessingInput()}getCurrentChannelId(){return this.messageDelegate.getCurrentChannelIdPublic()}ready(){return this.messageDelegate.ready()}shutdown(){return this.messageDelegate.shutdown?.()??Promise.resolve()}}class h extends P{hooks;constructor(e,t,i,r,n){super(e,t,i,r);this.hooks=n}onRegister(e){return this.hooks.onRegister(e)}onReady(e){return this.hooks.onReady(e)}onShutdown(){return this.hooks.onShutdown()}getTools(){return this.hooks.getTools()}getResources(){return this.hooks.getResources()}getInstructions(){return this.hooks.getInstructions()}}class g{type="service";id;version;packageName;description;delegate;constructor(e,t,i,r){if(this.id=e,this.version=t.version,this.packageName=t.name,t.description!==void 0)this.description=t.description;this.delegate=new h(e,t,i,r,{onRegister:(n)=>this.onRegister(n),onReady:(n)=>this.onReady(n),onShutdown:()=>this.onShutdown(),getTools:()=>this.getTools(),getResources:()=>this.getResources(),getInstructions:()=>this.getInstructions()})}register(e,t){return this.delegate.register(e,t)}async onRegister(e){}async onReady(e){}async onShutdown(){}async getTools(){return[]}async getResources(){return[]}async getInstructions(){return}ready(){return this.delegate.ready()}shutdown(){return this.delegate.shutdown?.()??Promise.resolve()}}export{x as urlCaptureConfigSchema,C as toolSuccess,S as toolError,I as defineChannel,v as createTool,R as createResource,b as ToolResultDataSchema,g as ServicePlugin,E as PendingConfirmationSchema,A as MessageSchema,_ as MessageResponseSchema,d as MessageInterfacePlugin,s as InterfacePlugin,w as ExtensionMetadataSchema,u as EntityPlugin,N as ConversationSchema,B as ChatContextSchema,D as BrainCharacterSchema,H as BaseMessageSchema,O as AppInfoSchema,U as AnchorProfileSchema,k as AgentResponseSchema};
5
5
 
package/dist/services.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{A as f,B as h,C as j}from"./chunks/index-80gehwzs.js";import"./chunks/index-h97nvbss.js";import"./chunks/index-d8kywpxf.js";import"./chunks/index-awx4ta1w.js";import"./chunks/index-pe6yc4tr.js";export{f as baseQuerySchema,h as baseInputSchema,j as BaseEntityDataSource};
2
+ import{A as f,B as h,C as j}from"./chunks/index-y5phk0t1.js";import"./chunks/index-q6b959de.js";import"./chunks/index-d8kywpxf.js";import"./chunks/index-awx4ta1w.js";import"./chunks/index-pe6yc4tr.js";export{f as baseQuerySchema,h as baseInputSchema,j as BaseEntityDataSource};
3
3
 
4
4
  //# debugId=D0B48419CFE5A25D64756E2164756E21
5
5
  //# sourceMappingURL=services.js.map