@rizom/brain 0.2.0-alpha.188 → 0.2.0-alpha.189
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 +1282 -1145
- package/dist/chunks/blog-post-adapter-cy7k4kpa.js +5 -0
- package/dist/chunks/{index-ejwmsqv7.js → index-3097wt56.js} +4 -4
- package/dist/chunks/{index-ejwmsqv7.js.map → index-3097wt56.js.map} +1 -1
- package/dist/chunks/{index-tt7hjc6h.js → index-5hxej4de.js} +3 -3
- package/dist/chunks/{index-tt7hjc6h.js.map → index-5hxej4de.js.map} +1 -1
- package/dist/chunks/{index-spm9f4m4.js → index-9s5cwp2s.js} +3 -3
- package/dist/chunks/{index-spm9f4m4.js.map → index-9s5cwp2s.js.map} +1 -1
- package/dist/chunks/{index-d8kywpxf.js → index-bs70092j.js} +4 -4
- package/dist/chunks/{index-d8kywpxf.js.map → index-bs70092j.js.map} +1 -1
- package/dist/chunks/index-e2c4agdd.js +85 -0
- package/dist/chunks/{index-2x2cw3f4.js.map → index-e2c4agdd.js.map} +2 -2
- package/dist/chunks/index-fgtn8e68.js +6 -0
- package/dist/chunks/{index-nqbhg52b.js.map → index-fgtn8e68.js.map} +2 -2
- package/dist/chunks/{index-t6eyd566.js → index-fjp4jadv.js} +3 -3
- package/dist/chunks/{index-t6eyd566.js.map → index-fjp4jadv.js.map} +1 -1
- package/dist/chunks/{index-pe6yc4tr.js → index-gmfgjnnw.js} +3 -3
- package/dist/chunks/{index-pe6yc4tr.js.map → index-gmfgjnnw.js.map} +1 -1
- package/dist/chunks/{index-mp587vaf.js → index-h3s9msd8.js} +3 -3
- package/dist/chunks/{index-mp587vaf.js.map → index-h3s9msd8.js.map} +1 -1
- package/dist/chunks/{index-awx4ta1w.js → index-wvwq0pm7.js} +4 -4
- package/dist/chunks/{index-awx4ta1w.js.map → index-wvwq0pm7.js.map} +1 -1
- package/dist/chunks/{index-1hvq9kyt.js → index-z6qhxkv8.js} +3 -3
- package/dist/chunks/{index-1hvq9kyt.js.map → index-z6qhxkv8.js.map} +1 -1
- package/dist/chunks/{rss-datasource-21ffdrxs.js → rss-datasource-7w2d1gvk.js} +3 -3
- package/dist/chunks/{rss-datasource-21ffdrxs.js.map → rss-datasource-7w2d1gvk.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.js +2 -2
- package/dist/plugins.js.map +1 -1
- package/dist/services.js +1 -1
- package/dist/site.js +129 -129
- package/dist/site.js.map +5 -4
- 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 +694 -221
- package/dist/ui/cms-app.js.map +5 -5
- package/package.json +1 -1
- package/dist/chunks/blog-post-adapter-2taww08k.js +0 -5
- package/dist/chunks/index-2x2cw3f4.js +0 -85
- package/dist/chunks/index-nqbhg52b.js +0 -6
- /package/dist/chunks/{blog-post-adapter-2taww08k.js.map → blog-post-adapter-cy7k4kpa.js.map} +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{D as _,F as j,G as q,H as y,I as L,J as N,K as k,N as S,O as E,P as U,Q as v,R as WZ,W as cA,X as uA}from"./index-2x2cw3f4.js";import{ra as oA,ua as M,ya as pA,za as c}from"./index-ejwmsqv7.js";import{Ia as wZ}from"./index-spm9f4m4.js";import{Pa as Z}from"./index-awx4ta1w.js";var _$=Z.object({id:Z.string(),sessionId:Z.string(),interfaceType:Z.string(),channelId:Z.string(),channelName:Z.string().optional(),startedAt:Z.string(),lastActiveAt:Z.string(),createdAt:Z.string(),updatedAt:Z.string(),metadata:c}),O$=Z.object({id:Z.string(),conversationId:Z.string(),role:M,content:Z.string(),timestamp:Z.string(),metadata:c});var WA=Z.object({name:Z.string(),role:Z.string(),purpose:Z.string(),values:Z.array(Z.string())}),KA=Z.object({name:Z.string(),kind:Z.enum(["professional","team","collective"]),organization:Z.string().optional(),description:Z.string().optional(),avatar:Z.string().optional(),website:Z.string().optional(),email:Z.string().optional(),socialLinks:Z.array(Z.object({platform:Z.enum(["github","instagram","linkedin","email","website"]),url:Z.string(),label:Z.string().optional()})).optional()});import{createClient as J$}from"@libsql/client";class VA{constructor(A,$){this.name=A,this.unique=$}static[y]="SQLiteIndexBuilderOn";on(...A){return new NA(this.name,A,this.unique)}}class NA{static[y]="SQLiteIndexBuilder";config;constructor(A,$,H){this.config={name:A,columns:$,unique:H,where:void 0}}where(A){return this.config.where=A,this}build(A){return new DA(this.config,A)}}class DA{static[y]="SQLiteIndex";config;constructor(A,$){this.config={...A,table:$}}}function w(A){return new VA(A,!1)}var z=k("conversations",{id:N("id").primaryKey(),sessionId:N("session_id").notNull(),interfaceType:N("interface_type").notNull(),channelId:N("channel_id").notNull(),started:N("started").notNull(),lastActive:N("last_active").notNull(),metadata:N("metadata"),created:N("created").notNull(),updated:N("updated").notNull()},(A)=>({sessionIdx:w("idx_conversations_session").on(A.sessionId),channelIdx:w("idx_conversations_channel").on(A.channelId),interfaceSessionIdx:w("idx_conversations_interface_session").on(A.interfaceType,A.sessionId),interfaceChannelIdx:w("idx_conversations_interface_channel").on(A.interfaceType,A.channelId)})),FA=k("messages",{id:N("id").primaryKey(),conversationId:N("conversation_id").notNull().references(()=>z.id,{onDelete:"cascade"}),role:N("role").notNull(),content:N("content").notNull(),timestamp:N("timestamp").notNull(),metadata:N("metadata")},(A)=>({conversationIdx:w("idx_messages_conversation").on(A.conversationId),timestampIdx:w("idx_messages_timestamp").on(A.timestamp)})),UA=k("summary_tracking",{conversationId:N("conversation_id").primaryKey().references(()=>z.id,{onDelete:"cascade"}),lastSummarizedAt:N("last_summarized_at"),lastMessageId:N("last_message_id"),messagesSinceSummary:L("messages_since_summary").default(0),updated:N("updated").notNull()});var OZ=Z.preprocess((A)=>{if(typeof A!=="string")return A;try{return JSON.parse(A)}catch{return}},Z.record(Z.string(),Z.unknown())).catch({});function J(A){return OZ.parse(A)}var m=Z.object({actorId:Z.string(),canonicalId:Z.string().optional(),interfaceType:Z.string(),role:M,displayName:Z.string().optional(),username:Z.string().optional(),isBot:Z.boolean().optional()}),h=Z.object({messageId:Z.string().optional(),channelId:Z.string().optional(),channelName:Z.string().optional(),threadId:Z.string().optional(),metadata:Z.record(Z.string(),Z.unknown()).optional()}),CZ=Z.looseObject({actor:m.optional(),source:h.optional()});var BZ=Z.object({id:Z.string(),conversationId:Z.string(),role:Z.string(),content:Z.string(),timestamp:Z.string(),metadata:Z.string().nullable()}),MZ=Z.object({conversationId:Z.string(),messageCount:Z.number(),messages:Z.array(BZ),windowStart:Z.number(),windowEnd:Z.number(),windowSize:Z.number(),timestamp:Z.string()});var RA=Z.object({kind:Z.string().min(1),id:Z.string().min(1)}),QZ=Z.object({kind:Z.literal("text"),filename:Z.string().min(1),mediaType:Z.string().min(1),content:Z.string(),sizeBytes:Z.number().nonnegative().optional(),source:RA.optional()}),EZ=Z.custom((A)=>A instanceof Uint8Array),fZ=Z.object({kind:Z.literal("file"),filename:Z.string().min(1),mediaType:Z.string().min(1),data:EZ,sizeBytes:Z.number().nonnegative().optional(),source:RA.optional()}),JZ=Z.discriminatedUnion("kind",[QZ,fZ]),U1=Z.object({userPermissionLevel:Z.enum(["anchor","trusted","public"]).optional(),interfaceType:Z.string().optional(),channelId:Z.string().optional(),channelName:Z.string().optional(),actor:m.optional(),source:h.optional(),attachments:Z.array(JZ).optional()});var TZ=Z.object({status:Z.enum(["healthy","warning","error","unknown"]),message:Z.string().optional(),lastCheck:Z.date().optional(),details:Z.record(Z.string(),Z.unknown()).optional()}),wA=Z.object({name:Z.string(),pluginId:Z.string(),status:Z.string(),health:TZ.optional()});import{McpServer as S1,ResourceTemplate as x1}from"@modelcontextprotocol/sdk/server/mcp.js";var LA=Z.object({interfaceType:Z.string(),userId:Z.string(),conversationId:Z.string().optional(),channelId:Z.string().optional(),channelName:Z.string().optional(),runId:Z.string().optional(),toolCallId:Z.string().optional(),userPermissionLevel:Z.enum(["anchor","trusted","public"]).optional()}),_A=Z.strictObject({success:Z.literal(!0),data:Z.unknown().optional(),message:Z.string().optional(),cached:Z.literal(!0).optional()}),OA=Z.strictObject({success:Z.literal(!1),error:Z.string(),code:Z.string().optional()}),CA=Z.strictObject({needsConfirmation:Z.literal(!0),toolName:Z.string(),summary:Z.string(),completionSummary:Z.string().optional(),preview:Z.string().optional(),args:Z.unknown()}),u=Z.union([_A,OA,CA]);var k1=Z.union([Z.looseObject({success:Z.literal(!0)}),Z.object({success:Z.literal(!1),error:Z.string()})]);var SZ=Z.union([Z.object({success:Z.literal(!0),data:Z.unknown(),message:Z.string().optional()}),Z.object({success:Z.literal(!1),error:Z.string(),code:Z.string().optional()})]);var BH=Z.object({id:Z.string(),type:Z.string(),version:Z.string(),status:Z.string()}),MH=Z.object({name:Z.string(),description:Z.string()}),BA=Z.enum(["anchor","trusted","public"]),d=Z.object({label:Z.string(),url:Z.string(),pluginId:Z.string(),priority:Z.number().default(100),visibility:BA.default("public")}),xZ=Z.enum(["human","agent","admin","protocol"]),yZ=Z.enum(["available","coming-soon","disabled"]),l=Z.object({id:Z.string(),label:Z.string(),description:Z.string().optional(),href:Z.string(),kind:xZ,pluginId:Z.string(),priority:Z.number().default(100),visibility:BA.default("public"),status:yZ.default("available")}),i=Z.object({entityType:Z.string(),count:Z.number()}),kH=Z.object({model:Z.string(),version:Z.string(),uptime:Z.number(),entities:Z.number(),entityCounts:Z.array(i),embeddings:Z.number(),ai:Z.object({model:Z.string(),embeddingModel:Z.string()}),daemons:Z.array(wA),endpoints:Z.array(d),interactions:Z.array(l)});var qH=Z.object({id:Z.string(),version:Z.string(),type:Z.enum(["core","entity","service","interface"]),description:Z.string().optional(),dependencies:Z.array(Z.string()).optional(),packageName:Z.string()});var zZ=Z.object({status:Z.enum(["healthy","warning","error","unknown"]),message:Z.string().optional(),lastCheck:Z.string().optional(),details:Z.record(Z.string(),Z.unknown()).optional()}),mZ=Z.object({name:Z.string(),pluginId:Z.string(),status:Z.string(),health:zZ.optional()}),TH=Z.object({model:Z.string(),version:Z.string(),uptime:Z.number(),entities:Z.number(),entityCounts:Z.array(i),embeddings:Z.number(),ai:Z.object({model:Z.string(),embeddingModel:Z.string()}),daemons:Z.array(mZ),endpoints:Z.array(d),interactions:Z.array(l)});var yH=Z.object({enabled:Z.boolean().describe("Whether the plugin is enabled"),debug:Z.boolean().describe("Enable debug logging for this plugin")});class n extends Error{pluginId;issues;constructor(A,$){super(`Invalid plugin config for ${A}`);this.name="PluginConfigValidationError",this.pluginId=A,this.issues=$}}var r=Z.enum(["file_operations","content_operations","data_processing","batch_processing"]),hZ=Z.object({pluginId:Z.string().optional(),progressToken:Z.union([Z.string(),Z.number()]).optional(),operationType:r,operationTarget:Z.string().optional(),interfaceType:Z.string().optional(),conversationId:Z.string().optional(),channelId:Z.string().optional(),silent:Z.boolean().optional()}),Q=Z.object({pluginId:Z.string().optional(),progressToken:Z.union([Z.string(),Z.number()]).optional(),operationType:r,operationTarget:Z.string().optional(),interfaceType:Z.string().optional(),conversationId:Z.string().optional(),channelId:Z.string().optional(),silent:Z.boolean().optional(),rootJobId:Z.string()}),hH=Z.enum(["none","skip","replace","coalesce"]);var a=Z.enum(["pending","processing","completed","failed"]),MA=Z.enum(["completed","failed"]);var jZ=Z.object({id:Z.string(),type:Z.string(),status:a,data:Z.unknown(),result:Z.unknown().optional(),lastError:Z.string().optional().nullable(),attempts:Z.number(),maxRetries:Z.number(),priority:Z.number(),createdAt:Z.date(),updatedAt:Z.date(),processedAt:Z.date().optional().nullable(),completedAt:Z.date().optional().nullable(),failedAt:Z.date().optional().nullable()}),vZ=Z.object({jobId:Z.string(),type:Z.string(),status:MA,result:Z.unknown().optional(),error:Z.string().optional()}),kA=Z.object({success:Z.literal(!1),error:Z.string().optional()}),s=Z.object({id:Z.string(),type:Z.enum(["job","batch"]),status:a,message:Z.string().optional(),progress:Z.object({current:Z.number(),total:Z.number(),percentage:Z.number()}).optional(),aggregationKey:Z.string().optional(),batchDetails:Z.object({totalOperations:Z.number(),completedOperations:Z.number(),failedOperations:Z.number(),currentOperation:Z.string().optional(),errors:Z.array(Z.string()).optional()}).optional(),jobDetails:Z.object({jobType:Z.string(),priority:Z.number(),retryCount:Z.number()}).optional(),metadata:Q});var IZ=Z.record(Z.string(),Z.unknown());class qA{logger;schema;jobTypeName;constructor(A,$){this.logger=A,this.schema=$.schema,this.jobTypeName=$.jobTypeName}validateAndParse(A){if(!this.schema)throw Error(`${this.jobTypeName}: No schema provided. Override validateAndParse() or provide a schema.`);let $=this.schema.safeParse(A);if(!$.success)return this.logger.warn(`Invalid ${this.jobTypeName} job data`,{data:A,validationError:$.error.issues}),null;return this.logger.debug(`${this.jobTypeName} job data validation successful`,{data:this.summarizeDataForLog($.data)}),$.data}async onError(A,$,H,Y){this.logger.error(`${this.jobTypeName} job error handler triggered`,{jobId:H,errorMessage:A.message,errorStack:A.stack,data:this.summarizeDataForLog($)})}async reportProgress(A,$){await A.report({progress:$.progress,total:$.total??100,message:$.message})}summarizeDataForLog(A){let $=IZ.safeParse(A);return $.success?$.data:{}}}import{createClient as iH}from"@libsql/client";var QA=k("job_queue",{id:N("id").primaryKey().$defaultFn(()=>q()),type:N("type").notNull(),data:N("data").notNull(),result:N("result",{mode:"json"}),source:N("source"),metadata:N("metadata",{mode:"json"}).$type().notNull(),status:N("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:L("priority").notNull().default(0),retryCount:L("retryCount").notNull().default(0),maxRetries:L("maxRetries").notNull().default(3),lastError:N("lastError"),createdAt:L("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:L("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:L("startedAt"),completedAt:L("completedAt")},(A)=>({queueReadyIdx:w("idx_job_queue_ready").on(A.status,A.priority,A.scheduledFor),jobTypeIdx:w("idx_job_queue_type").on(A.type,A.status),jobSourceIdx:w("idx_job_queue_source").on(A.source)}));var Z4=Z.looseObject({deduplicationKey:Z.string().optional()});class O{callback;heartbeatInterval;constructor(A){this.callback=A}static from(A){if(!A)return;return new O(A)}createSub(A){let{scale:$}=A??{};if($){let{start:H,end:Y}=$,X=Y-H;return new O(async(P)=>{let W=H+P.progress/(P.total??100)*X;await this.callback({...P,progress:W,total:100})})}return new O(this.callback)}async report(A){await this.callback(A)}startHeartbeat(A,$=5000){this.stopHeartbeat(),this.heartbeatInterval=setInterval(()=>{this.report({message:A,progress:0}).catch(()=>{})},$)}stopHeartbeat(){if(this.heartbeatInterval)clearInterval(this.heartbeatInterval),this.heartbeatInterval=void 0}toCallback(){return this.callback}}var S4=Z.preprocess((A)=>{if(typeof A!=="string")return A;return JSON.parse(A)},Z.record(Z.string(),Z.unknown()));var pZ=Z.object({id:Z.string(),type:Z.string(),data:Z.string(),status:Z.enum(["pending","processing","completed","failed"]),source:Z.string().nullable(),priority:Z.number(),retryCount:Z.number(),maxRetries:Z.number(),lastError:Z.string().nullable(),createdAt:Z.number(),scheduledFor:Z.number(),startedAt:Z.number().nullable(),completedAt:Z.number().nullable(),metadata:Q,result:Z.unknown().nullable().optional()});function o(A,$,H){return async(Y)=>{let{type:X,data:P,toolContext:W=null,options:G}=Y,{metadata:K,...V}=G??{},D={source:$,...G?.rootJobId&&{rootJobId:G.rootJobId},...V,metadata:{operationType:"data_processing",pluginId:$,...W&&{interfaceType:W.interfaceType,channelId:W.channelId},...K}},F=H&&!X.includes(":")?`${$}:${X}`:X;return A.enqueue({type:F,data:P,options:D})}}function t(A,$){return async(H,Y)=>{let X=q(),P=H.map((G)=>({...G,type:G.type.includes(":")?G.type:`${$}:${G.type}`})),W={...Y,source:$,rootJobId:X,metadata:{...Y?.metadata,operationType:"batch_processing",pluginId:$}};return await A.enqueueBatch(P,W,X,$),X}}function e(A,$){return(H,Y)=>{let X=H.includes(":")?H:`${$}:${H}`;A.registerHandler(X,Y,$)}}var cZ=Z.custom((A)=>typeof A==="object"&&A!==null&&("safeParse"in A)),uZ=Z.object({name:Z.string(),schema:cZ});function EA(A){return uZ.safeParse(A).success}function dZ(A){if(!A)return;return{status:A.status,message:A.message,lastCheck:A.lastCheck?.toISOString(),details:A.details}}function fA(A){return{model:A.model,version:A.version,uptime:A.uptime,entities:A.entities,entityCounts:A.entityCounts,embeddings:A.embeddings,ai:A.ai,daemons:A.daemons.map(($)=>({name:$.name,pluginId:$.pluginId,status:$.status,health:dZ($.health)})),endpoints:A.endpoints,interactions:A.interactions}}function lZ(A){let $=M.safeParse(A);return $.success?$.data:"user"}function I(A){let $=J(A.metadata),H=typeof $.channelName==="string"?$.channelName:void 0;return{id:A.id,sessionId:A.sessionId,interfaceType:A.interfaceType,channelId:A.channelId,channelName:H,startedAt:A.started,lastActiveAt:A.lastActive,createdAt:A.created,updatedAt:A.updated,metadata:$}}function JA(A){return{id:A.id,conversationId:A.conversationId,role:lZ(A.role),content:A.content,timestamp:A.timestamp,metadata:J(A.metadata)}}function TA(A){return WA.parse(A)}function SA(A){return KA.parse(A)}function xA(A){return async()=>{return fA(await A.getAppInfo())}}function yA(A,$){return{get:()=>TA(A.getIdentity()),getProfile:()=>SA(A.getProfile()),getAppInfo:$}}function zA(A,$,H){let Y=A.getMessageBus();return{send:async(P)=>{return Y.send({...P,sender:$})},subscribe:(P,W)=>{if(EA(P)){let G=P,K=W,V=async(D)=>{let F=G.schema.safeParse(D.payload);if(!F.success)return H.warn(`Invalid payload for channel ${G.name}`,{error:F.error.message}),{noop:!0};let{payload:B,...R}=D;return K(F.data,R)};return Y.subscribe(G.name,V)}return Y.subscribe(P,W)}}}function mA(A,$){let H=A.getJobQueueService();return{...A.jobs,enqueue:o(H,$,!0),enqueueBatch:t(A.jobs,$),registerHandler:e(H,$)}}function hA(A){let $=A.getPermissionService();return{assertEntityActionAllowed:(H,Y,X)=>{$.assertEntityActionAllowed(H,Y,X.userPermissionLevel)}}}function jA(A){return{get:async($)=>{let Y=await A.getConversationService().getConversation($);return Y?I(Y):null},search:async($)=>{return(await A.getConversationService().searchConversations($)).map(I)},list:async($)=>{return(await A.getConversationService().listConversations($)).map(I)},getMessages:async($,H)=>{return(await A.getConversationService().getMessages($,H)).map(JA)},countMessages:async($)=>{return A.getConversationService().countMessages($)}}}function vA(A,$){return{registerHandler:(H,Y)=>{A.registerEvalHandler($,H,Y)}}}function IA(A){return{register:($,H)=>{A.getInsightsRegistry().register($,H)}}}function gA(A,$){return{register:(H)=>{A.registerEndpoint({...H,pluginId:$})}}}function bA(A,$){return{register:(H)=>{A.registerInteraction({...H,pluginId:$})}}}function f(A,$,H){let Y=A.getEntityService(),X=A.getLogger().child($),P=A.getDomain(),W=A.getLocalSiteUrl(),G=A.shouldPreferLocalUrls(),K=A.getThemeCSS(),V=xA(A),D=A.getAttachmentRegistry(),F=A.getRuntimeUploadRegistry(),B=A.getRuntimeState();return{pluginId:$,logger:X,entityService:Y,semantic:{project:(R)=>Y.projectSemanticSpace(R)},identity:yA(A,V),appInfo:V,judge:(R)=>A.judge(R),domain:P,siteUrl:P?`https://${P}`:void 0,localSiteUrl:W,previewUrl:P?`https://${pA(P)}`:void 0,preferLocalUrls:G,themeCSS:K,entityDisplay:H?.entityDisplay,spaces:A.getSpaces(),permissions:hA(A),messaging:zA(A,$,X),jobs:mA(A,$),attachments:D,uploads:F,runtimeState:B,recurringChecks:A.getRecurringChecks($),conversations:jA(A),dataDir:A.getDataDir(),eval:vA(A,$),insights:IA(A),endpoints:gA(A,$),interactions:bA(A,$)}}function iZ(A){return A.replace(/:/g,"-")}function nZ(A){return A.split(/[:.-]/).map(($)=>$.charAt(0).toUpperCase()+$.slice(1)).join(" ")}var AA=new Map;async function dA(A,$,H){let Y=AA.get($);if(Y!==void 0)return Y;let X=iZ($),P;try{P=await A.getEntity({entityType:"prompt",id:X})}catch{return H}if(P?.content){let W=uA(P.content,Z.record(Z.string(),Z.unknown())).content;return AA.set($,W),W}try{let W=nZ($),G=cA(H,{title:W,target:$});await A.createEntity({entity:{id:X,entityType:"prompt",content:G,metadata:{title:W,target:$,slug:X}}})}catch{}return AA.set($,H),H}function g(A){let $=A.getEntityService(),H=A.getEntityRegistry(),Y=A.getDataSourceRegistry();return{register:(X,P,W,G)=>{H.registerEntityType(X,P,W,G)},getAdapter:(X)=>{try{return H.getAdapter(X)}catch{return}},extendFrontmatterSchema:(X,P)=>{H.extendFrontmatterSchema(X,P)},getEffectiveFrontmatterSchema:(X)=>{return H.getEffectiveFrontmatterSchema(X)},registerCreateInterceptor:(X,P)=>{H.registerCreateInterceptor(X,P)},registerUploadSaveHandler:(X)=>{H.registerUploadSaveHandler(X)},getUploadSaveHandler:(X)=>{return H.getUploadSaveHandler(X)},update:async(X)=>{return $.updateEntity({entity:X})},registerDataSource:(X)=>{Y.register(X)}}}function b(A){return{resolve:($,H)=>{return dA(A,$,H)}}}function lA(A,$,H){let Y=f(A,$,H),X=A.getEntityService();return{...Y,entityService:X,entities:g(A),ai:{query:(P,W)=>A.query(P,W),generate:async(P)=>{return A.generateContent(P)},generateObject:async(P,W,G)=>{return A.generateObject(P,W,G)},generateImage:async(P,W)=>{return A.generateImage(P,W)},canGenerateImages:()=>{return A.canGenerateImages()}},prompts:b(X),permissions:Y.permissions}}function nA(A,$,H){let Y=!1,X=!1;if(A.jobs.registerHandler(H.job.type,H.job.handler),H.initialSync){let P=H.initialSync;A.messaging.subscribe("sync:initial:completed",async()=>{if(Y)return{success:!0};if(Y=!0,!(await P.shouldEnqueue?.()??!0))return $.info("Skipping derived entity projection initial sync",{projectionId:H.id,targetType:H.targetType}),{success:!0};return X=await iA(A,$,H,P.jobData,aZ(P.jobOptions),"initial-sync"),{success:!0}})}if(H.sourceChange){let P=H.sourceChange,W=new Set(P.sourceTypes),G=P.events??["entity:created","entity:updated"],K=async(V)=>{if(P.requireInitialSync&&!Y)return{success:!0};let D=V.payload,F=rZ(P,D);if(!F||!W.has("*")&&!W.has(F))return{success:!0};if(!(await P.shouldEnqueue?.(D)??!0))return{success:!0};let R=await P.jobData(D);if(!R)return{success:!0};return await iA(A,$,H,R,P.jobOptions?.(D),"source-change"),{success:!0}};for(let V of G)A.messaging.subscribe(V,K)}return{hasObservedInitialSync:()=>Y,hasQueuedInitialSync:()=>X}}function rZ(A,$){if(A.sourceType)return A.sourceType;if(A.sourceKind&&A.sourceKind!=="entity")return A.sourceKind;return $.entityType}async function iA(A,$,H,Y,X,P){try{return await A.jobs.enqueue({type:H.job.type,data:Y,...X?{options:X}:{}}),$.info("Queued derived entity projection",{projectionId:H.id,targetType:H.targetType,reason:P}),!0}catch(W){return $.error("Failed to queue derived entity projection",{projectionId:H.id,targetType:H.targetType,reason:P,error:_(W)}),!1}}function aZ(A){return typeof A==="function"?A():A}var sZ=Z.object({toolName:Z.string(),args:Z.unknown(),progressToken:Z.union([Z.string(),Z.number()]).optional(),hasProgress:Z.boolean().optional(),interfaceType:Z.string(),userId:Z.string(),conversationId:Z.string().optional(),channelId:Z.string().optional(),channelName:Z.string().optional(),runId:Z.string().optional(),toolCallId:Z.string().optional(),userPermissionLevel:Z.enum(["anchor","trusted","public"]).optional(),signal:Z.custom((A)=>A instanceof AbortSignal).optional()}),oZ=Z.object({resourceUri:Z.string()});class C{id;version;description;packageName;config;context;get logger(){return this.context?.logger??j.createFresh({context:this.id})}constructor(A,$,H,Y){this.id=A,this.packageName=$.name,this.version=$.version,this.description=$.description??`${$.name} plugin`;let X=Y.safeParse(H);if(!X.success)throw new n(A,X.error.issues.map((P)=>({path:P.path.map(String).join("."),code:P.code,message:P.message})));this.config=X.data}setupMessageHandlers(A){A.messaging.subscribe(`plugin:${this.id}:tool:execute`,async($)=>{try{let H=sZ.safeParse($.payload);if(!H.success)return{success:!1,error:"Invalid tool execution request format"};let{toolName:Y,args:X,progressToken:P,hasProgress:W,interfaceType:G,userId:K,conversationId:V,channelId:D,channelName:F,runId:B,toolCallId:R,userPermissionLevel:XA,signal:PA}=H.data,GA=(await this.getTools()).find((p)=>p.name===Y);if(!GA)return{success:!1,error:`Tool not found: ${Y}`};let _Z={interfaceType:G,userId:K,...V&&{conversationId:V},...D&&{channelId:D},...F&&{channelName:F},...B&&{runId:B},...R&&{toolCallId:R},...XA&&{userPermissionLevel:XA},...PA&&{signal:PA},...W&&P!==void 0&&{progressToken:P,sendProgress:async(p)=>{await A.messaging.send({type:`plugin:${this.id}:progress`,payload:{progressToken:P,notification:p}})}}};return{success:!0,data:await GA.handler(X,_Z)}}catch(H){return this.logger.error("Tool execution error",H),{success:!1,error:_(H)}}}),A.messaging.subscribe(`plugin:${this.id}:resource:get`,async($)=>{try{let H=oZ.safeParse($.payload);if(!H.success)return{success:!1,error:"Invalid resource get request format"};let{resourceUri:Y}=H.data,P=(await this.getResources()).find((G)=>G.uri===Y);if(!P)return{success:!1,error:`Resource not found: ${Y}`};return{success:!0,data:await P.handler()}}catch(H){return this.logger.error("Resource fetch error",H),{success:!1,error:_(H)}}})}async onRegister(A){}async onReady(A){}async ready(){await this.onReady(this.getContext())}async getCapabilities(){let A=await this.getInstructions();return{tools:await this.getTools(),resources:await this.getResources(),...A&&{instructions:A}}}async getTools(){return[]}async getResources(){return[]}async getInstructions(){return}async shutdown(){await this.onShutdown()}async onShutdown(){}getContext(){if(!this.context)throw Error(`Plugin ${this.id}: Plugin not registered yet`);return this.context}determineUserPermissionLevel(A){return"public"}createProgressBridge(A){if(!A)return;let $=this.context;if(!$)return;let H=this.id;return O.from(async(Y)=>{await $.messaging.send({type:`plugin:${H}:progress`,payload:{progressToken:A,notification:{progress:Y.progress,total:Y.total,message:Y.message}}})})}}var j6=Z.object({});class rA extends C{type="entity";entityActionPolicy;derivedEntityProjectionControllers=new Map;constructor(A,$,H,Y,X){super(A,$,H,Y);if(X!==void 0)this.entityActionPolicy=X}async register(A,$){let H=lA(A,this.id,$);if(this.context=H,this.setupMessageHandlers(H),H.entities.register(this.entityType,this.schema,this.adapter,this.getEntityTypeConfig()),this.interceptCreate!==rA.prototype.interceptCreate)H.entities.registerCreateInterceptor(this.entityType,(K,V)=>this.interceptCreate(K,V,H));let Y=this.createGenerationHandler(H);if(Y)H.jobs.registerHandler(`${this.entityType}:generation`,Y);let X=this.getTemplates();if(X&&Object.keys(X).length>0)A.registerTemplates(X,this.id);let P=this.getDataSources();for(let K of P)H.entities.registerDataSource(K);let W=this.getDerivedEntityProjections(H);for(let K of W){let V=nA(H,this.logger,K);this.derivedEntityProjectionControllers.set(K.id,V)}await this.onRegister(this.context);let G=await this.getInstructions();return{tools:[],resources:[],...G&&{instructions:G}}}async interceptCreate(A,$,H){return{kind:"continue",input:A}}createGenerationHandler(A){return null}getTemplates(){return null}getDataSources(){return[]}getEntityTypeConfig(){return}getDerivedEntityProjections(A){return[]}getDerivedEntityProjectionController(A){return this.derivedEntityProjectionControllers.get(A)}}function aA(A){return oA(A)}function sA(A){if(!A)return;return{...A.userPermissionLevel&&{userPermissionLevel:A.userPermissionLevel},...A.interfaceType&&{interfaceType:A.interfaceType},...A.channelId&&{channelId:A.channelId},...A.channelName&&{channelName:A.channelName},...A.actor&&{actor:A.actor},...A.source&&{source:A.source},...A.attachments&&{attachments:A.attachments}}}function tA(A){return{chat:async($,H,Y,X)=>{let P=sA(Y),W=X?await A.chat($,H,P,X):await A.chat($,H,P);return aA(W)},confirmPendingAction:async($,H,Y,X,P)=>{let W=sA(X);if(!W)throw Error("Confirmation requires caller context.");let G=P?await A.confirmPendingAction($,H,Y,W,P):await A.confirmPendingAction($,H,Y,W);return aA(G)},invalidate:()=>{A.invalidateAgent()}}}function eA(A,$,H){let Y=f(A,$,H),X=A.getMCPService(),P=A.getPermissionService(),W=tA(A.getAgentService());return{...Y,mcpTransport:X,agent:W,permissions:{...Y.permissions,getUserLevel:(G,K,V)=>{return P.determineUserLevel(G,K,V)}},daemons:{register:(G,K)=>{let V=`${$}:${G}`;A.registerDaemon(V,K,$),Y.logger.debug(`Registered daemon: ${V}`)}},conversations:{...Y.conversations,start:async(G)=>{return A.getConversationService().startConversation(G)},addMessage:async(G)=>{await A.getConversationService().addMessage(G)},updateMetadata:async(G)=>{return A.getConversationService().updateConversationMetadata(G)},delete:async(G)=>{return A.getConversationService().deleteConversation(G)}},tools:{listForPermissionLevel:(G)=>{return A.listToolsForPermissionLevel(G)}},apiRoutes:{getRoutes:()=>{return A.getPluginApiRoutes()},getMessageBus:()=>{return A.getMessageBus()}},webRoutes:{getRoutes:()=>{return A.getPluginWebRoutes()}},plugins:{has:(G)=>A.hasPlugin(G)}}}var tZ=3600000;class ZA extends C{type="interface";daemon;jobTrackingEntries=new Map;jobTrackingTtlMs=tZ;async register(A,$){let H=eA(A,this.id,$);if(this.context=H,this.initializeDaemon(),this.daemon)await this.registerDaemon(H);return this.setupMessageHandlers(H),await this.onRegister(H),this.getCapabilities()}async onRegister(A){}async registerDaemon(A){if(!this.daemon)return;A.daemons.register(this.id,this.daemon),A.logger.debug(`Registered daemon for interface: ${this.id}`)}createDaemon(){return}requiresDaemonStartup(){return!1}getWebRoutes(){return[]}initializeDaemon(){let A=this.createDaemon();if(A)this.daemon=A}async handleProgressEvent(A,$){}cleanupExpiredEntries(){let A=Date.now(),$=[];for(let[H,Y]of this.jobTrackingEntries)if(A-Y.createdAt>this.jobTrackingTtlMs)$.push(H);for(let H of $)this.jobTrackingEntries.delete(H)}ownsJob(A,$){return this.jobTrackingEntries.has(A)||$!==void 0&&this.jobTrackingEntries.has($)}getJobTracking(A,$){let H=this.jobTrackingEntries.get(A);if(H)return H.info;if($){let Y=this.jobTrackingEntries.get($);if(Y)return Y.info}return}setJobTracking(A,$){this.cleanupExpiredEntries(),this.jobTrackingEntries.set(A,{info:$,createdAt:Date.now()})}removeJobTracking(A){this.jobTrackingEntries.delete(A)}async createJobWithTracking(A,$){let Y=await this.getContext().jobs.enqueue(A);return this.setJobTracking(Y,$),Y}async createBatchWithTracking(A,$,H){let X=await this.getContext().jobs.enqueueBatch(A,H);return this.setJobTracking(X,$),X}}function x(A,$){return{state:$,toolName:A.toolName,conversationId:A.conversationId,interfaceType:A.interfaceType,...A.channelId!==void 0&&{channelId:A.channelId},...A.channelName!==void 0&&{channelName:A.channelName},...A.error!==void 0&&{error:A.error}}}function AZ(A,$){return A.pendingConfirmations?.some((H)=>H.toolName===$)===!0||eZ(A.cards).some((H)=>H.toolName===$)}function eZ(A){return A?.filter(($)=>$.kind==="tool-approval"&&$.state==="approval-requested")??[]}var $A=1e5,A$=[".md",".txt",".markdown"],Z$=["text/plain","text/markdown","text/x-markdown"],$$=/https?:\/\/[^\s<>"{}|\\^`[\]]+?(?=[,;:\s]|$)/gi,H$=["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"],Y$=Z.object({captureUrls:Z.boolean().default(!1),blockedUrlDomains:Z.array(Z.string()).default(H$)});function ZZ(A,$){if($&&Z$.some((H)=>$.startsWith(H)))return!0;return A$.some((H)=>A.toLowerCase().endsWith(H))}function $Z(A){return A<=$A}function HZ(A){if(A.includes(0))return!1;try{return new TextDecoder("utf-8",{fatal:!0}).decode(A),!0}catch{return!1}}function YZ(A,$){return`User uploaded a file "${A}":
|
|
2
|
+
import{D as _,F as j,G as q,H as y,I as L,J as N,K as k,O as S,P as E,Q as U,R as v,S as WZ,X as cA,Y as uA}from"./index-e2c4agdd.js";import{Aa as c,sa as oA,va as M,za as pA}from"./index-3097wt56.js";import{Ja as wZ}from"./index-9s5cwp2s.js";import{Qa as Z}from"./index-wvwq0pm7.js";var _$=Z.object({id:Z.string(),sessionId:Z.string(),interfaceType:Z.string(),channelId:Z.string(),channelName:Z.string().optional(),startedAt:Z.string(),lastActiveAt:Z.string(),createdAt:Z.string(),updatedAt:Z.string(),metadata:c}),O$=Z.object({id:Z.string(),conversationId:Z.string(),role:M,content:Z.string(),timestamp:Z.string(),metadata:c});var WA=Z.object({name:Z.string(),role:Z.string(),purpose:Z.string(),values:Z.array(Z.string())}),KA=Z.object({name:Z.string(),kind:Z.enum(["professional","team","collective"]),organization:Z.string().optional(),description:Z.string().optional(),avatar:Z.string().optional(),website:Z.string().optional(),email:Z.string().optional(),socialLinks:Z.array(Z.object({platform:Z.enum(["github","instagram","linkedin","email","website"]),url:Z.string(),label:Z.string().optional()})).optional()});import{createClient as J$}from"@libsql/client";class VA{constructor(A,$){this.name=A,this.unique=$}static[y]="SQLiteIndexBuilderOn";on(...A){return new NA(this.name,A,this.unique)}}class NA{static[y]="SQLiteIndexBuilder";config;constructor(A,$,H){this.config={name:A,columns:$,unique:H,where:void 0}}where(A){return this.config.where=A,this}build(A){return new DA(this.config,A)}}class DA{static[y]="SQLiteIndex";config;constructor(A,$){this.config={...A,table:$}}}function w(A){return new VA(A,!1)}var z=k("conversations",{id:N("id").primaryKey(),sessionId:N("session_id").notNull(),interfaceType:N("interface_type").notNull(),channelId:N("channel_id").notNull(),started:N("started").notNull(),lastActive:N("last_active").notNull(),metadata:N("metadata"),created:N("created").notNull(),updated:N("updated").notNull()},(A)=>({sessionIdx:w("idx_conversations_session").on(A.sessionId),channelIdx:w("idx_conversations_channel").on(A.channelId),interfaceSessionIdx:w("idx_conversations_interface_session").on(A.interfaceType,A.sessionId),interfaceChannelIdx:w("idx_conversations_interface_channel").on(A.interfaceType,A.channelId)})),FA=k("messages",{id:N("id").primaryKey(),conversationId:N("conversation_id").notNull().references(()=>z.id,{onDelete:"cascade"}),role:N("role").notNull(),content:N("content").notNull(),timestamp:N("timestamp").notNull(),metadata:N("metadata")},(A)=>({conversationIdx:w("idx_messages_conversation").on(A.conversationId),timestampIdx:w("idx_messages_timestamp").on(A.timestamp)})),UA=k("summary_tracking",{conversationId:N("conversation_id").primaryKey().references(()=>z.id,{onDelete:"cascade"}),lastSummarizedAt:N("last_summarized_at"),lastMessageId:N("last_message_id"),messagesSinceSummary:L("messages_since_summary").default(0),updated:N("updated").notNull()});var OZ=Z.preprocess((A)=>{if(typeof A!=="string")return A;try{return JSON.parse(A)}catch{return}},Z.record(Z.string(),Z.unknown())).catch({});function J(A){return OZ.parse(A)}var m=Z.object({actorId:Z.string(),canonicalId:Z.string().optional(),interfaceType:Z.string(),role:M,displayName:Z.string().optional(),username:Z.string().optional(),isBot:Z.boolean().optional()}),h=Z.object({messageId:Z.string().optional(),channelId:Z.string().optional(),channelName:Z.string().optional(),threadId:Z.string().optional(),metadata:Z.record(Z.string(),Z.unknown()).optional()}),CZ=Z.looseObject({actor:m.optional(),source:h.optional()});var BZ=Z.object({id:Z.string(),conversationId:Z.string(),role:Z.string(),content:Z.string(),timestamp:Z.string(),metadata:Z.string().nullable()}),MZ=Z.object({conversationId:Z.string(),messageCount:Z.number(),messages:Z.array(BZ),windowStart:Z.number(),windowEnd:Z.number(),windowSize:Z.number(),timestamp:Z.string()});var RA=Z.object({kind:Z.string().min(1),id:Z.string().min(1)}),QZ=Z.object({kind:Z.literal("text"),filename:Z.string().min(1),mediaType:Z.string().min(1),content:Z.string(),sizeBytes:Z.number().nonnegative().optional(),source:RA.optional()}),EZ=Z.custom((A)=>A instanceof Uint8Array),fZ=Z.object({kind:Z.literal("file"),filename:Z.string().min(1),mediaType:Z.string().min(1),data:EZ,sizeBytes:Z.number().nonnegative().optional(),source:RA.optional()}),JZ=Z.discriminatedUnion("kind",[QZ,fZ]),U1=Z.object({userPermissionLevel:Z.enum(["anchor","trusted","public"]).optional(),interfaceType:Z.string().optional(),channelId:Z.string().optional(),channelName:Z.string().optional(),actor:m.optional(),source:h.optional(),attachments:Z.array(JZ).optional()});var TZ=Z.object({status:Z.enum(["healthy","warning","error","unknown"]),message:Z.string().optional(),lastCheck:Z.date().optional(),details:Z.record(Z.string(),Z.unknown()).optional()}),wA=Z.object({name:Z.string(),pluginId:Z.string(),status:Z.string(),health:TZ.optional()});import{McpServer as S1,ResourceTemplate as x1}from"@modelcontextprotocol/sdk/server/mcp.js";var LA=Z.object({interfaceType:Z.string(),userId:Z.string(),conversationId:Z.string().optional(),channelId:Z.string().optional(),channelName:Z.string().optional(),runId:Z.string().optional(),toolCallId:Z.string().optional(),userPermissionLevel:Z.enum(["anchor","trusted","public"]).optional()}),_A=Z.strictObject({success:Z.literal(!0),data:Z.unknown().optional(),message:Z.string().optional(),cached:Z.literal(!0).optional()}),OA=Z.strictObject({success:Z.literal(!1),error:Z.string(),code:Z.string().optional()}),CA=Z.strictObject({needsConfirmation:Z.literal(!0),toolName:Z.string(),summary:Z.string(),completionSummary:Z.string().optional(),preview:Z.string().optional(),args:Z.unknown()}),u=Z.union([_A,OA,CA]);var k1=Z.union([Z.looseObject({success:Z.literal(!0)}),Z.object({success:Z.literal(!1),error:Z.string()})]);var SZ=Z.union([Z.object({success:Z.literal(!0),data:Z.unknown(),message:Z.string().optional()}),Z.object({success:Z.literal(!1),error:Z.string(),code:Z.string().optional()})]);var BH=Z.object({id:Z.string(),type:Z.string(),version:Z.string(),status:Z.string()}),MH=Z.object({name:Z.string(),description:Z.string()}),BA=Z.enum(["anchor","trusted","public"]),d=Z.object({label:Z.string(),url:Z.string(),pluginId:Z.string(),priority:Z.number().default(100),visibility:BA.default("public")}),xZ=Z.enum(["human","agent","admin","protocol"]),yZ=Z.enum(["available","coming-soon","disabled"]),l=Z.object({id:Z.string(),label:Z.string(),description:Z.string().optional(),href:Z.string(),kind:xZ,pluginId:Z.string(),priority:Z.number().default(100),visibility:BA.default("public"),status:yZ.default("available")}),i=Z.object({entityType:Z.string(),count:Z.number()}),kH=Z.object({model:Z.string(),version:Z.string(),uptime:Z.number(),entities:Z.number(),entityCounts:Z.array(i),embeddings:Z.number(),ai:Z.object({model:Z.string(),embeddingModel:Z.string()}),daemons:Z.array(wA),endpoints:Z.array(d),interactions:Z.array(l)});var qH=Z.object({id:Z.string(),version:Z.string(),type:Z.enum(["core","entity","service","interface"]),description:Z.string().optional(),dependencies:Z.array(Z.string()).optional(),packageName:Z.string()});var zZ=Z.object({status:Z.enum(["healthy","warning","error","unknown"]),message:Z.string().optional(),lastCheck:Z.string().optional(),details:Z.record(Z.string(),Z.unknown()).optional()}),mZ=Z.object({name:Z.string(),pluginId:Z.string(),status:Z.string(),health:zZ.optional()}),TH=Z.object({model:Z.string(),version:Z.string(),uptime:Z.number(),entities:Z.number(),entityCounts:Z.array(i),embeddings:Z.number(),ai:Z.object({model:Z.string(),embeddingModel:Z.string()}),daemons:Z.array(mZ),endpoints:Z.array(d),interactions:Z.array(l)});var yH=Z.object({enabled:Z.boolean().describe("Whether the plugin is enabled"),debug:Z.boolean().describe("Enable debug logging for this plugin")});class n extends Error{pluginId;issues;constructor(A,$){super(`Invalid plugin config for ${A}`);this.name="PluginConfigValidationError",this.pluginId=A,this.issues=$}}var r=Z.enum(["file_operations","content_operations","data_processing","batch_processing"]),hZ=Z.object({pluginId:Z.string().optional(),progressToken:Z.union([Z.string(),Z.number()]).optional(),operationType:r,operationTarget:Z.string().optional(),interfaceType:Z.string().optional(),conversationId:Z.string().optional(),channelId:Z.string().optional(),silent:Z.boolean().optional()}),Q=Z.object({pluginId:Z.string().optional(),progressToken:Z.union([Z.string(),Z.number()]).optional(),operationType:r,operationTarget:Z.string().optional(),interfaceType:Z.string().optional(),conversationId:Z.string().optional(),channelId:Z.string().optional(),silent:Z.boolean().optional(),rootJobId:Z.string()}),hH=Z.enum(["none","skip","replace","coalesce"]);var a=Z.enum(["pending","processing","completed","failed"]),MA=Z.enum(["completed","failed"]);var jZ=Z.object({id:Z.string(),type:Z.string(),status:a,data:Z.unknown(),result:Z.unknown().optional(),lastError:Z.string().optional().nullable(),attempts:Z.number(),maxRetries:Z.number(),priority:Z.number(),createdAt:Z.date(),updatedAt:Z.date(),processedAt:Z.date().optional().nullable(),completedAt:Z.date().optional().nullable(),failedAt:Z.date().optional().nullable()}),vZ=Z.object({jobId:Z.string(),type:Z.string(),status:MA,result:Z.unknown().optional(),error:Z.string().optional()}),kA=Z.object({success:Z.literal(!1),error:Z.string().optional()}),s=Z.object({id:Z.string(),type:Z.enum(["job","batch"]),status:a,message:Z.string().optional(),progress:Z.object({current:Z.number(),total:Z.number(),percentage:Z.number()}).optional(),aggregationKey:Z.string().optional(),batchDetails:Z.object({totalOperations:Z.number(),completedOperations:Z.number(),failedOperations:Z.number(),currentOperation:Z.string().optional(),errors:Z.array(Z.string()).optional()}).optional(),jobDetails:Z.object({jobType:Z.string(),priority:Z.number(),retryCount:Z.number()}).optional(),metadata:Q});var IZ=Z.record(Z.string(),Z.unknown());class qA{logger;schema;jobTypeName;constructor(A,$){this.logger=A,this.schema=$.schema,this.jobTypeName=$.jobTypeName}validateAndParse(A){if(!this.schema)throw Error(`${this.jobTypeName}: No schema provided. Override validateAndParse() or provide a schema.`);let $=this.schema.safeParse(A);if(!$.success)return this.logger.warn(`Invalid ${this.jobTypeName} job data`,{data:A,validationError:$.error.issues}),null;return this.logger.debug(`${this.jobTypeName} job data validation successful`,{data:this.summarizeDataForLog($.data)}),$.data}async onError(A,$,H,Y){this.logger.error(`${this.jobTypeName} job error handler triggered`,{jobId:H,errorMessage:A.message,errorStack:A.stack,data:this.summarizeDataForLog($)})}async reportProgress(A,$){await A.report({progress:$.progress,total:$.total??100,message:$.message})}summarizeDataForLog(A){let $=IZ.safeParse(A);return $.success?$.data:{}}}import{createClient as iH}from"@libsql/client";var QA=k("job_queue",{id:N("id").primaryKey().$defaultFn(()=>q()),type:N("type").notNull(),data:N("data").notNull(),result:N("result",{mode:"json"}),source:N("source"),metadata:N("metadata",{mode:"json"}).$type().notNull(),status:N("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:L("priority").notNull().default(0),retryCount:L("retryCount").notNull().default(0),maxRetries:L("maxRetries").notNull().default(3),lastError:N("lastError"),createdAt:L("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:L("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:L("startedAt"),completedAt:L("completedAt")},(A)=>({queueReadyIdx:w("idx_job_queue_ready").on(A.status,A.priority,A.scheduledFor),jobTypeIdx:w("idx_job_queue_type").on(A.type,A.status),jobSourceIdx:w("idx_job_queue_source").on(A.source)}));var Z4=Z.looseObject({deduplicationKey:Z.string().optional()});class O{callback;heartbeatInterval;constructor(A){this.callback=A}static from(A){if(!A)return;return new O(A)}createSub(A){let{scale:$}=A??{};if($){let{start:H,end:Y}=$,X=Y-H;return new O(async(P)=>{let W=H+P.progress/(P.total??100)*X;await this.callback({...P,progress:W,total:100})})}return new O(this.callback)}async report(A){await this.callback(A)}startHeartbeat(A,$=5000){this.stopHeartbeat(),this.heartbeatInterval=setInterval(()=>{this.report({message:A,progress:0}).catch(()=>{})},$)}stopHeartbeat(){if(this.heartbeatInterval)clearInterval(this.heartbeatInterval),this.heartbeatInterval=void 0}toCallback(){return this.callback}}var S4=Z.preprocess((A)=>{if(typeof A!=="string")return A;return JSON.parse(A)},Z.record(Z.string(),Z.unknown()));var pZ=Z.object({id:Z.string(),type:Z.string(),data:Z.string(),status:Z.enum(["pending","processing","completed","failed"]),source:Z.string().nullable(),priority:Z.number(),retryCount:Z.number(),maxRetries:Z.number(),lastError:Z.string().nullable(),createdAt:Z.number(),scheduledFor:Z.number(),startedAt:Z.number().nullable(),completedAt:Z.number().nullable(),metadata:Q,result:Z.unknown().nullable().optional()});function o(A,$,H){return async(Y)=>{let{type:X,data:P,toolContext:W=null,options:G}=Y,{metadata:K,...V}=G??{},D={source:$,...G?.rootJobId&&{rootJobId:G.rootJobId},...V,metadata:{operationType:"data_processing",pluginId:$,...W&&{interfaceType:W.interfaceType,channelId:W.channelId},...K}},F=H&&!X.includes(":")?`${$}:${X}`:X;return A.enqueue({type:F,data:P,options:D})}}function t(A,$){return async(H,Y)=>{let X=q(),P=H.map((G)=>({...G,type:G.type.includes(":")?G.type:`${$}:${G.type}`})),W={...Y,source:$,rootJobId:X,metadata:{...Y?.metadata,operationType:"batch_processing",pluginId:$}};return await A.enqueueBatch(P,W,X,$),X}}function e(A,$){return(H,Y)=>{let X=H.includes(":")?H:`${$}:${H}`;A.registerHandler(X,Y,$)}}var cZ=Z.custom((A)=>typeof A==="object"&&A!==null&&("safeParse"in A)),uZ=Z.object({name:Z.string(),schema:cZ});function EA(A){return uZ.safeParse(A).success}function dZ(A){if(!A)return;return{status:A.status,message:A.message,lastCheck:A.lastCheck?.toISOString(),details:A.details}}function fA(A){return{model:A.model,version:A.version,uptime:A.uptime,entities:A.entities,entityCounts:A.entityCounts,embeddings:A.embeddings,ai:A.ai,daemons:A.daemons.map(($)=>({name:$.name,pluginId:$.pluginId,status:$.status,health:dZ($.health)})),endpoints:A.endpoints,interactions:A.interactions}}function lZ(A){let $=M.safeParse(A);return $.success?$.data:"user"}function I(A){let $=J(A.metadata),H=typeof $.channelName==="string"?$.channelName:void 0;return{id:A.id,sessionId:A.sessionId,interfaceType:A.interfaceType,channelId:A.channelId,channelName:H,startedAt:A.started,lastActiveAt:A.lastActive,createdAt:A.created,updatedAt:A.updated,metadata:$}}function JA(A){return{id:A.id,conversationId:A.conversationId,role:lZ(A.role),content:A.content,timestamp:A.timestamp,metadata:J(A.metadata)}}function TA(A){return WA.parse(A)}function SA(A){return KA.parse(A)}function xA(A){return async()=>{return fA(await A.getAppInfo())}}function yA(A,$){return{get:()=>TA(A.getIdentity()),getProfile:()=>SA(A.getProfile()),getAppInfo:$}}function zA(A,$,H){let Y=A.getMessageBus();return{send:async(P)=>{return Y.send({...P,sender:$})},subscribe:(P,W)=>{if(EA(P)){let G=P,K=W,V=async(D)=>{let F=G.schema.safeParse(D.payload);if(!F.success)return H.warn(`Invalid payload for channel ${G.name}`,{error:F.error.message}),{noop:!0};let{payload:B,...R}=D;return K(F.data,R)};return Y.subscribe(G.name,V)}return Y.subscribe(P,W)}}}function mA(A,$){let H=A.getJobQueueService();return{...A.jobs,enqueue:o(H,$,!0),enqueueBatch:t(A.jobs,$),registerHandler:e(H,$)}}function hA(A){let $=A.getPermissionService();return{assertEntityActionAllowed:(H,Y,X)=>{$.assertEntityActionAllowed(H,Y,X.userPermissionLevel)}}}function jA(A){return{get:async($)=>{let Y=await A.getConversationService().getConversation($);return Y?I(Y):null},search:async($)=>{return(await A.getConversationService().searchConversations($)).map(I)},list:async($)=>{return(await A.getConversationService().listConversations($)).map(I)},getMessages:async($,H)=>{return(await A.getConversationService().getMessages($,H)).map(JA)},countMessages:async($)=>{return A.getConversationService().countMessages($)}}}function vA(A,$){return{registerHandler:(H,Y)=>{A.registerEvalHandler($,H,Y)}}}function IA(A){return{register:($,H)=>{A.getInsightsRegistry().register($,H)}}}function gA(A,$){return{register:(H)=>{A.registerEndpoint({...H,pluginId:$})}}}function bA(A,$){return{register:(H)=>{A.registerInteraction({...H,pluginId:$})}}}function f(A,$,H){let Y=A.getEntityService(),X=A.getLogger().child($),P=A.getDomain(),W=A.getLocalSiteUrl(),G=A.shouldPreferLocalUrls(),K=A.getThemeCSS(),V=xA(A),D=A.getAttachmentRegistry(),F=A.getRuntimeUploadRegistry(),B=A.getRuntimeState();return{pluginId:$,logger:X,entityService:Y,semantic:{project:(R)=>Y.projectSemanticSpace(R)},identity:yA(A,V),appInfo:V,judge:(R)=>A.judge(R),domain:P,siteUrl:P?`https://${P}`:void 0,localSiteUrl:W,previewUrl:P?`https://${pA(P)}`:void 0,preferLocalUrls:G,themeCSS:K,entityDisplay:H?.entityDisplay,spaces:A.getSpaces(),permissions:hA(A),messaging:zA(A,$,X),jobs:mA(A,$),attachments:D,uploads:F,runtimeState:B,recurringChecks:A.getRecurringChecks($),conversations:jA(A),dataDir:A.getDataDir(),eval:vA(A,$),insights:IA(A),endpoints:gA(A,$),interactions:bA(A,$)}}function iZ(A){return A.replace(/:/g,"-")}function nZ(A){return A.split(/[:.-]/).map(($)=>$.charAt(0).toUpperCase()+$.slice(1)).join(" ")}var AA=new Map;async function dA(A,$,H){let Y=AA.get($);if(Y!==void 0)return Y;let X=iZ($),P;try{P=await A.getEntity({entityType:"prompt",id:X})}catch{return H}if(P?.content){let W=uA(P.content,Z.record(Z.string(),Z.unknown())).content;return AA.set($,W),W}try{let W=nZ($),G=cA(H,{title:W,target:$});await A.createEntity({entity:{id:X,entityType:"prompt",content:G,metadata:{title:W,target:$,slug:X}}})}catch{}return AA.set($,H),H}function g(A){let $=A.getEntityService(),H=A.getEntityRegistry(),Y=A.getDataSourceRegistry();return{register:(X,P,W,G)=>{H.registerEntityType(X,P,W,G)},getAdapter:(X)=>{try{return H.getAdapter(X)}catch{return}},extendFrontmatterSchema:(X,P)=>{H.extendFrontmatterSchema(X,P)},getEffectiveFrontmatterSchema:(X)=>{return H.getEffectiveFrontmatterSchema(X)},registerCreateInterceptor:(X,P)=>{H.registerCreateInterceptor(X,P)},registerUploadSaveHandler:(X)=>{H.registerUploadSaveHandler(X)},getUploadSaveHandler:(X)=>{return H.getUploadSaveHandler(X)},update:async(X)=>{return $.updateEntity({entity:X})},registerDataSource:(X)=>{Y.register(X)}}}function b(A){return{resolve:($,H)=>{return dA(A,$,H)}}}function lA(A,$,H){let Y=f(A,$,H),X=A.getEntityService();return{...Y,entityService:X,entities:g(A),ai:{query:(P,W)=>A.query(P,W),generate:async(P)=>{return A.generateContent(P)},generateObject:async(P,W,G)=>{return A.generateObject(P,W,G)},generateImage:async(P,W)=>{return A.generateImage(P,W)},canGenerateImages:()=>{return A.canGenerateImages()}},prompts:b(X),permissions:Y.permissions}}function nA(A,$,H){let Y=!1,X=!1;if(A.jobs.registerHandler(H.job.type,H.job.handler),H.initialSync){let P=H.initialSync;A.messaging.subscribe("sync:initial:completed",async()=>{if(Y)return{success:!0};if(Y=!0,!(await P.shouldEnqueue?.()??!0))return $.info("Skipping derived entity projection initial sync",{projectionId:H.id,targetType:H.targetType}),{success:!0};return X=await iA(A,$,H,P.jobData,aZ(P.jobOptions),"initial-sync"),{success:!0}})}if(H.sourceChange){let P=H.sourceChange,W=new Set(P.sourceTypes),G=P.events??["entity:created","entity:updated"],K=async(V)=>{if(P.requireInitialSync&&!Y)return{success:!0};let D=V.payload,F=rZ(P,D);if(!F||!W.has("*")&&!W.has(F))return{success:!0};if(!(await P.shouldEnqueue?.(D)??!0))return{success:!0};let R=await P.jobData(D);if(!R)return{success:!0};return await iA(A,$,H,R,P.jobOptions?.(D),"source-change"),{success:!0}};for(let V of G)A.messaging.subscribe(V,K)}return{hasObservedInitialSync:()=>Y,hasQueuedInitialSync:()=>X}}function rZ(A,$){if(A.sourceType)return A.sourceType;if(A.sourceKind&&A.sourceKind!=="entity")return A.sourceKind;return $.entityType}async function iA(A,$,H,Y,X,P){try{return await A.jobs.enqueue({type:H.job.type,data:Y,...X?{options:X}:{}}),$.info("Queued derived entity projection",{projectionId:H.id,targetType:H.targetType,reason:P}),!0}catch(W){return $.error("Failed to queue derived entity projection",{projectionId:H.id,targetType:H.targetType,reason:P,error:_(W)}),!1}}function aZ(A){return typeof A==="function"?A():A}var sZ=Z.object({toolName:Z.string(),args:Z.unknown(),progressToken:Z.union([Z.string(),Z.number()]).optional(),hasProgress:Z.boolean().optional(),interfaceType:Z.string(),userId:Z.string(),conversationId:Z.string().optional(),channelId:Z.string().optional(),channelName:Z.string().optional(),runId:Z.string().optional(),toolCallId:Z.string().optional(),userPermissionLevel:Z.enum(["anchor","trusted","public"]).optional(),signal:Z.custom((A)=>A instanceof AbortSignal).optional()}),oZ=Z.object({resourceUri:Z.string()});class C{id;version;description;packageName;config;context;get logger(){return this.context?.logger??j.createFresh({context:this.id})}constructor(A,$,H,Y){this.id=A,this.packageName=$.name,this.version=$.version,this.description=$.description??`${$.name} plugin`;let X=Y.safeParse(H);if(!X.success)throw new n(A,X.error.issues.map((P)=>({path:P.path.map(String).join("."),code:P.code,message:P.message})));this.config=X.data}setupMessageHandlers(A){A.messaging.subscribe(`plugin:${this.id}:tool:execute`,async($)=>{try{let H=sZ.safeParse($.payload);if(!H.success)return{success:!1,error:"Invalid tool execution request format"};let{toolName:Y,args:X,progressToken:P,hasProgress:W,interfaceType:G,userId:K,conversationId:V,channelId:D,channelName:F,runId:B,toolCallId:R,userPermissionLevel:XA,signal:PA}=H.data,GA=(await this.getTools()).find((p)=>p.name===Y);if(!GA)return{success:!1,error:`Tool not found: ${Y}`};let _Z={interfaceType:G,userId:K,...V&&{conversationId:V},...D&&{channelId:D},...F&&{channelName:F},...B&&{runId:B},...R&&{toolCallId:R},...XA&&{userPermissionLevel:XA},...PA&&{signal:PA},...W&&P!==void 0&&{progressToken:P,sendProgress:async(p)=>{await A.messaging.send({type:`plugin:${this.id}:progress`,payload:{progressToken:P,notification:p}})}}};return{success:!0,data:await GA.handler(X,_Z)}}catch(H){return this.logger.error("Tool execution error",H),{success:!1,error:_(H)}}}),A.messaging.subscribe(`plugin:${this.id}:resource:get`,async($)=>{try{let H=oZ.safeParse($.payload);if(!H.success)return{success:!1,error:"Invalid resource get request format"};let{resourceUri:Y}=H.data,P=(await this.getResources()).find((G)=>G.uri===Y);if(!P)return{success:!1,error:`Resource not found: ${Y}`};return{success:!0,data:await P.handler()}}catch(H){return this.logger.error("Resource fetch error",H),{success:!1,error:_(H)}}})}async onRegister(A){}async onReady(A){}async ready(){await this.onReady(this.getContext())}async getCapabilities(){let A=await this.getInstructions();return{tools:await this.getTools(),resources:await this.getResources(),...A&&{instructions:A}}}async getTools(){return[]}async getResources(){return[]}async getInstructions(){return}async shutdown(){await this.onShutdown()}async onShutdown(){}getContext(){if(!this.context)throw Error(`Plugin ${this.id}: Plugin not registered yet`);return this.context}determineUserPermissionLevel(A){return"public"}createProgressBridge(A){if(!A)return;let $=this.context;if(!$)return;let H=this.id;return O.from(async(Y)=>{await $.messaging.send({type:`plugin:${H}:progress`,payload:{progressToken:A,notification:{progress:Y.progress,total:Y.total,message:Y.message}}})})}}var j6=Z.object({});class rA extends C{type="entity";entityActionPolicy;derivedEntityProjectionControllers=new Map;constructor(A,$,H,Y,X){super(A,$,H,Y);if(X!==void 0)this.entityActionPolicy=X}async register(A,$){let H=lA(A,this.id,$);if(this.context=H,this.setupMessageHandlers(H),H.entities.register(this.entityType,this.schema,this.adapter,this.getEntityTypeConfig()),this.interceptCreate!==rA.prototype.interceptCreate)H.entities.registerCreateInterceptor(this.entityType,(K,V)=>this.interceptCreate(K,V,H));let Y=this.createGenerationHandler(H);if(Y)H.jobs.registerHandler(`${this.entityType}:generation`,Y);let X=this.getTemplates();if(X&&Object.keys(X).length>0)A.registerTemplates(X,this.id);let P=this.getDataSources();for(let K of P)H.entities.registerDataSource(K);let W=this.getDerivedEntityProjections(H);for(let K of W){let V=nA(H,this.logger,K);this.derivedEntityProjectionControllers.set(K.id,V)}await this.onRegister(this.context);let G=await this.getInstructions();return{tools:[],resources:[],...G&&{instructions:G}}}async interceptCreate(A,$,H){return{kind:"continue",input:A}}createGenerationHandler(A){return null}getTemplates(){return null}getDataSources(){return[]}getEntityTypeConfig(){return}getDerivedEntityProjections(A){return[]}getDerivedEntityProjectionController(A){return this.derivedEntityProjectionControllers.get(A)}}function aA(A){return oA(A)}function sA(A){if(!A)return;return{...A.userPermissionLevel&&{userPermissionLevel:A.userPermissionLevel},...A.interfaceType&&{interfaceType:A.interfaceType},...A.channelId&&{channelId:A.channelId},...A.channelName&&{channelName:A.channelName},...A.actor&&{actor:A.actor},...A.source&&{source:A.source},...A.attachments&&{attachments:A.attachments}}}function tA(A){return{chat:async($,H,Y,X)=>{let P=sA(Y),W=X?await A.chat($,H,P,X):await A.chat($,H,P);return aA(W)},confirmPendingAction:async($,H,Y,X,P)=>{let W=sA(X);if(!W)throw Error("Confirmation requires caller context.");let G=P?await A.confirmPendingAction($,H,Y,W,P):await A.confirmPendingAction($,H,Y,W);return aA(G)},invalidate:()=>{A.invalidateAgent()}}}function eA(A,$,H){let Y=f(A,$,H),X=A.getMCPService(),P=A.getPermissionService(),W=tA(A.getAgentService());return{...Y,mcpTransport:X,agent:W,permissions:{...Y.permissions,getUserLevel:(G,K,V)=>{return P.determineUserLevel(G,K,V)}},daemons:{register:(G,K)=>{let V=`${$}:${G}`;A.registerDaemon(V,K,$),Y.logger.debug(`Registered daemon: ${V}`)}},conversations:{...Y.conversations,start:async(G)=>{return A.getConversationService().startConversation(G)},addMessage:async(G)=>{await A.getConversationService().addMessage(G)},updateMetadata:async(G)=>{return A.getConversationService().updateConversationMetadata(G)},delete:async(G)=>{return A.getConversationService().deleteConversation(G)}},tools:{listForPermissionLevel:(G)=>{return A.listToolsForPermissionLevel(G)}},apiRoutes:{getRoutes:()=>{return A.getPluginApiRoutes()},getMessageBus:()=>{return A.getMessageBus()}},webRoutes:{getRoutes:()=>{return A.getPluginWebRoutes()}},plugins:{has:(G)=>A.hasPlugin(G)}}}var tZ=3600000;class ZA extends C{type="interface";daemon;jobTrackingEntries=new Map;jobTrackingTtlMs=tZ;async register(A,$){let H=eA(A,this.id,$);if(this.context=H,this.initializeDaemon(),this.daemon)await this.registerDaemon(H);return this.setupMessageHandlers(H),await this.onRegister(H),this.getCapabilities()}async onRegister(A){}async registerDaemon(A){if(!this.daemon)return;A.daemons.register(this.id,this.daemon),A.logger.debug(`Registered daemon for interface: ${this.id}`)}createDaemon(){return}requiresDaemonStartup(){return!1}getWebRoutes(){return[]}initializeDaemon(){let A=this.createDaemon();if(A)this.daemon=A}async handleProgressEvent(A,$){}cleanupExpiredEntries(){let A=Date.now(),$=[];for(let[H,Y]of this.jobTrackingEntries)if(A-Y.createdAt>this.jobTrackingTtlMs)$.push(H);for(let H of $)this.jobTrackingEntries.delete(H)}ownsJob(A,$){return this.jobTrackingEntries.has(A)||$!==void 0&&this.jobTrackingEntries.has($)}getJobTracking(A,$){let H=this.jobTrackingEntries.get(A);if(H)return H.info;if($){let Y=this.jobTrackingEntries.get($);if(Y)return Y.info}return}setJobTracking(A,$){this.cleanupExpiredEntries(),this.jobTrackingEntries.set(A,{info:$,createdAt:Date.now()})}removeJobTracking(A){this.jobTrackingEntries.delete(A)}async createJobWithTracking(A,$){let Y=await this.getContext().jobs.enqueue(A);return this.setJobTracking(Y,$),Y}async createBatchWithTracking(A,$,H){let X=await this.getContext().jobs.enqueueBatch(A,H);return this.setJobTracking(X,$),X}}function x(A,$){return{state:$,toolName:A.toolName,conversationId:A.conversationId,interfaceType:A.interfaceType,...A.channelId!==void 0&&{channelId:A.channelId},...A.channelName!==void 0&&{channelName:A.channelName},...A.error!==void 0&&{error:A.error}}}function AZ(A,$){return A.pendingConfirmations?.some((H)=>H.toolName===$)===!0||eZ(A.cards).some((H)=>H.toolName===$)}function eZ(A){return A?.filter(($)=>$.kind==="tool-approval"&&$.state==="approval-requested")??[]}var $A=1e5,A$=[".md",".txt",".markdown"],Z$=["text/plain","text/markdown","text/x-markdown"],$$=/https?:\/\/[^\s<>"{}|\\^`[\]]+?(?=[,;:\s]|$)/gi,H$=["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"],Y$=Z.object({captureUrls:Z.boolean().default(!1),blockedUrlDomains:Z.array(Z.string()).default(H$)});function ZZ(A,$){if($&&Z$.some((H)=>$.startsWith(H)))return!0;return A$.some((H)=>A.toLowerCase().endsWith(H))}function $Z(A){return A<=$A}function HZ(A){if(A.includes(0))return!1;try{return new TextDecoder("utf-8",{fatal:!0}).decode(A),!0}catch{return!1}}function YZ(A,$){return`User uploaded a file "${A}":
|
|
3
3
|
|
|
4
4
|
${$}`}function XZ(A,$){let H=A.match($$)??[];return[...new Set(H)].filter((Y)=>{try{let{hostname:X}=new URL(Y);return!$.some((P)=>X===P||X.endsWith(`.${P}`))}catch{return!1}})}function HA(A,$){let H=A.attachment.source;if((H?.entityType==="document"||H?.entityType==="image")&&H.entityId)return{entityType:H.entityType,id:H.entityId};return X$(A.attachment.downloadUrl??A.attachment.url,$)}function X$(A,$="http://local"){if(!A)return;let H;try{H=new URL(A,$)}catch{return}let Y=H.searchParams.get("id")?.trim();if(!Y)return;if(H.pathname==="/api/chat/attachments/document")return{entityType:"document",id:Y};if(H.pathname==="/api/chat/attachments/image")return{entityType:"image",id:Y};return}function PZ(A,$){let H=P$($,A==="document"?/^application\/pdf$/i:/^image\/[a-z0-9.+-]+$/i);if(!H)return;if(A==="document"&&H.mimeType.toLowerCase()!=="application/pdf")return;return H}function GZ(A,$,H,Y){let X=A?.filename;if(typeof X==="string"&&X.trim())return X;if(H==="document")return`${$}.pdf`;let P=A?.format;if(typeof P==="string"&&P.trim())return`${$}.${P==="jpeg"?"jpg":P}`;let W=Y.split("/")[1]?.split("+")[0]??"png";return`${$}.${W}`}function P$(A,$){let H=A.match(/^data:([^;]+);base64,(.+)$/i),Y=H?.[1],X=H?.[2];if(!Y||!X||!$.test(Y))return;let P=Buffer.from(X,"base64");return{mimeType:Y,data:P.buffer.slice(P.byteOffset,P.byteOffset+P.byteLength)}}async function KZ({entityRef:A,userLevel:$,getEntity:H,getVisibleEntity:Y}){let X=WZ($),P=await Y(A,X);if(P)return{status:"visible",entity:P};return Boolean(await H(A))?{status:"denied"}:{status:"missing"}}function VZ(A){return A==="anchor"||A==="trusted"}function NZ(A,$){A.messaging.subscribe("job-progress",async(H)=>{try{let Y=s.safeParse(H.payload);if(!Y.success)return $.onInvalidSchema(),{success:!1};let X=Y.data;return await $.onProgress(X,X.metadata),{success:!0}}catch(Y){return $.onError(Y),{success:!1}}})}function DZ(A){let $=A.status==="completed"?"\u2705":"\u274C",H=A.status==="completed"?"completed":"failed",Y=A.metadata.operationType.replace(/_/g," "),X=A.metadata.operationTarget?`: ${A.metadata.operationTarget}`:"",P=`${$} **${Y}${X}** ${H}`;if(A.message)P+=`
|
|
5
5
|
${A.message}`;return P}function FZ(A){let $=A.metadata.operationType.replace(/_/g," "),H=A.metadata.operationTarget?`: ${A.metadata.operationTarget}`:"",Y=`\uD83D\uDD04 **${$}${H}**`;if(A.progress&&A.progress.total>0)Y+=` ${A.progress.current}/${A.progress.total} (${A.progress.percentage}%)`;if(A.message)Y+=`
|
|
6
6
|
${A.message}`;return Y}var G$=Z.enum(["tool:invoking","tool:completed","tool:failed"]),W$=Z.object({toolName:Z.string().min(1),conversationId:Z.string().min(1),interfaceType:Z.string().min(1),channelId:Z.string().min(1).optional(),channelName:Z.string().min(1).optional(),toolCallId:Z.string().min(1).optional(),error:Z.string().optional()}),K$=["tool:invoking","tool:completed","tool:failed"];function UZ(A,$){for(let H of K$)A.messaging.subscribe(H,async(Y)=>{try{let X=G$.safeParse(Y.type),P=W$.safeParse(Y.payload);if(!X.success||!P.success)return $.onInvalidSchema(),{success:!1};return await $.onToolActivity({type:X.data,...P.data}),{success:!0}}catch(X){return $.onError(X),{success:!1}}})}class YA{scope;fibers;delayMs;clock;closePromise=null;closed=!1;constructor(A,$){this.delayMs=A,this.clock=$?.clock,this.scope=U.runSync(E.make()),this.fibers=U.runSync(E.extend(v.make(),this.scope))}schedule(A,$){if(this.closed)return;let H=U.sleep(this.delayMs).pipe(U.andThen(U.sync($))),Y=this.clock?U.withClock(H,this.clock):H,X=U.runFork(Y);v.unsafeSet(this.fibers,A,X)}close(){return this.closed=!0,this.closePromise??=U.runPromise(E.close(this.scope,S.void)),this.closePromise}}var RZ=500,V$=500;class N$ extends ZA{isUploadableTextFile(A,$){return ZZ(A,$)}isFileSizeAllowed(A){return $Z(A)}formatFileUploadMessage(A,$){return YZ(A,$)}getMaxFileUploadBytes(){return $A}isLikelyTextContent(A){return HZ(A)}async resolveNativeArtifactDelivery(A){let $=[],H=new Set;if(!this.context||!A.cards)return{files:$,deniedCardIds:H};let Y=this.context;for(let X of A.cards){if(X.kind!=="attachment")continue;let P=HA(X,A.displayBaseUrl);if(!P)continue;let W=await KZ({entityRef:P,userLevel:A.userPermissionLevel,getEntity:(K)=>Y.entityService.getEntity(K),getVisibleEntity:(K,V)=>Y.entityService.getEntity({...K,visibilityScope:V})});if(W.status==="denied"){H.add(X.id);continue}if(W.status!=="visible")continue;if(!VZ(A.userPermissionLevel))continue;if(typeof W.entity.content!=="string")continue;let G=PZ(P.entityType,W.entity.content);if(!G)continue;if(A.maxBytes!==void 0&&G.data.byteLength>A.maxBytes){this.logger.debug("Skipping oversized native artifact upload",{cardId:X.id,sizeBytes:G.data.byteLength});continue}$.push({cardId:X.id,data:new Uint8Array(G.data),filename:X.attachment.filename??GZ(W.entity.metadata,P.id,P.entityType,G.mimeType),mimeType:G.mimeType})}return{files:$,deniedCardIds:H}}extractCaptureableUrls(A,$){return XZ(A,$)}async captureUrlViaAgent(A,$,H,Y,X){if(!this.context)return;let P=this.context.permissions.getUserLevel(Y,H,X);await this.context.agent.chat(`Save this link: ${A}`,`links-${$}`,{userPermissionLevel:P,interfaceType:Y,channelId:$})}progressEvents=new Map;progressCleanupSupervisor=new YA(V$);sendMessageWithId(A){return Promise.resolve(void 0)}editMessage(A){return Promise.resolve(!1)}supportsMessageEditing(){return!1}progressCallback;isProcessingInput=!1;currentChannelId=null;bufferedCompletionMessages=[];progressMessageTracking=new Map;agentResponseTracking=new Map;pendingToolCompletions=new Map;registerProgressCallback(A){this.progressCallback=A;let $=Array.from(this.progressEvents.values()).filter((H)=>H.status==="processing");A($)}unregisterProgressCallback(){delete this.progressCallback}trackAgentResponseForJob(A,$,H){this.agentResponseTracking.set(A,{messageId:$,channelId:H,lastUpdate:Date.now()}),this.logger.debug("Tracking agent response for job",{jobId:A,messageId:$,channelId:H})}async onRegister(A){await super.onRegister(A),NZ(A,{onProgress:async($,H)=>{await this.handleProgressEvent($,H)},onError:($)=>{this.logger.error("Error handling progress event",{error:$,interfaceId:this.id})},onInvalidSchema:()=>{this.logger.warn("Invalid progress event schema",{interfaceId:this.id})}}),UZ(A,{onToolActivity:async($)=>{await this.handleToolActivityEvent($)},onError:($)=>{this.logger.error("Error handling tool activity event",{error:$,interfaceId:this.id})},onInvalidSchema:()=>{this.logger.warn("Invalid tool activity event schema",{interfaceId:this.id})}}),this.logger.debug("Message interface registered with progress and tool handlers",{id:this.id})}async onShutdown(){await this.progressCleanupSupervisor.close(),this.progressEvents.clear(),this.progressMessageTracking.clear(),this.agentResponseTracking.clear(),this.pendingToolCompletions.clear(),this.bufferedCompletionMessages=[],this.isProcessingInput=!1,this.currentChannelId=null,delete this.progressCallback,await super.onShutdown()}async handleProgressEvent(A,$){if(!this.shouldHandleProgressEvent(A))return;this.updateProgressState(A);let H=A.metadata.channelId??null,Y=A.metadata.rootJobId;if(await this.handleProcessingProgress(A,H,Y))return;if(A.status==="completed"||A.status==="failed")await this.handleTerminalProgress(A,H,Y);await this.onProgressUpdate(A),this.logProgressProcessed(A)}shouldHandleProgressEvent(A){let $=A.metadata.interfaceType;return!$||$===this.id}updateProgressState(A){this.progressEvents.set(A.id,A),this.notifyProgressCallback()}async handleProcessingProgress(A,$,H){if(A.status!=="processing"||!this.supportsMessageEditing())return!1;let Y=this.agentResponseTracking.get(A.id);if(Y)return await this.editTrackedProgressMessage(A,Y),!0;let X=this.formatProgressOutput(A),P=this.progressMessageTracking.get(H),W=Date.now();if(P){if(W-P.lastUpdate>=RZ)await this.editMessage({channelId:P.channelId,messageId:P.messageId,newMessage:X}),P.lastUpdate=W}else if($&&!this.isProcessingInput)await this.sendInitialProgressMessage(H,$,X,W);return!1}async editTrackedProgressMessage(A,$){let H=Date.now();if(H-$.lastUpdate<RZ)return;await this.editMessage({channelId:$.channelId,messageId:$.messageId,newMessage:this.formatProgressOutput(A)}),$.lastUpdate=H}async sendInitialProgressMessage(A,$,H,Y){let X=await this.sendMessageWithId({channelId:$,message:H});if(!X)return;this.progressMessageTracking.set(A,{messageId:X,channelId:$,lastUpdate:Y}),this.logger.debug("Tracking progress message",{rootJobId:A,messageId:X,channelId:$})}async handleTerminalProgress(A,$,H){let Y=this.formatCompletionOutput(A),X=this.progressMessageTracking.get(H),P=this.agentResponseTracking.get(A.id);if(this.logger.debug("Completion event received",{eventId:A.id,rootJobId:H,hasProgressTracking:!!X,hasAgentTracking:!!P,supportsEditing:this.supportsMessageEditing()}),this.supportsMessageEditing())await this.updateTrackedCompletion(A,Y,X,P,H);if(!X&&!P&&$)this.sendOrBufferCompletionMessage(Y,$);this.scheduleProgressCleanup(A.id)}async updateTrackedCompletion(A,$,H,Y,X){if(Y){if(await this.editMessage({channelId:Y.channelId,messageId:Y.messageId,newMessage:$}),this.agentResponseTracking.delete(A.id),H)this.progressMessageTracking.delete(X);return}if(H)await this.editMessage({channelId:H.channelId,messageId:H.messageId,newMessage:$}),this.progressMessageTracking.delete(X)}sendOrBufferCompletionMessage(A,$){if(this.isProcessingInput){this.bufferedCompletionMessages.push({message:A,channelId:$});return}this.sendMessageToChannel({channelId:$,message:A})}scheduleProgressCleanup(A){this.progressCleanupSupervisor.schedule(A,()=>{this.progressEvents.delete(A),this.notifyProgressCallback()})}logProgressProcessed(A){this.logger.debug("Progress event processed",{eventId:A.id,status:A.status,operationType:A.metadata.operationType,targetChannel:A.metadata.channelId})}formatProgressOutput(A){return FZ(A)}formatCompletionOutput(A){return DZ(A)}async onProgressUpdate(A){}async handleToolActivityEvent(A){if(A.interfaceType!==this.id)return;switch(A.type){case"tool:invoking":this.pendingToolCompletions.delete(this.getToolCompletionKey(A)),await this.handleToolStatusUpdate(x(A,"running"));return;case"tool:completed":if(this.isProcessingInput){this.pendingToolCompletions.set(this.getToolCompletionKey(A),A);return}await this.handleToolStatusUpdate(x(A,"completed"));return;case"tool:failed":this.pendingToolCompletions.delete(this.getToolCompletionKey(A)),await this.handleToolStatusUpdate(x(A,"failed"));return}}async handleToolStatusUpdate(A){}async handleAgentResponseToolStatuses(A,$){if(this.pendingToolCompletions.size===0)return;let H=Array.from(this.pendingToolCompletions.values()).filter((Y)=>Y.interfaceType===this.id&&Y.conversationId===$);for(let Y of H){this.pendingToolCompletions.delete(this.getToolCompletionKey(Y));let X=AZ(A,Y.toolName)?"awaiting-approval":"completed";await this.handleToolStatusUpdate(x(Y,X))}}getToolCompletionKey(A){return`${A.interfaceType}:${A.conversationId}:${A.toolName}`}notifyProgressCallback(){if(this.progressCallback){let A=Array.from(this.progressEvents.values());this.progressCallback(A)}}getProgressEvents(){return Array.from(this.progressEvents.values())}getActiveProgressEvents(){return Array.from(this.progressEvents.values()).filter((A)=>A.status==="processing")}startProcessingInput(A=null){this.isProcessingInput=!0,this.currentChannelId=A}endProcessingInput(){this.isProcessingInput=!1;for(let{message:A,channelId:$}of this.bufferedCompletionMessages)this.sendMessageToChannel({channelId:$,message:A});this.bufferedCompletionMessages=[],this.currentChannelId=null}getCurrentChannelId(){return this.currentChannelId}}function LZ(A,$,H){let Y=f(A,$,H),X=A.getEntityService(),P=A.getRenderService(),W=A.getContentService();return{...Y,entityService:X,entities:g(A),webRoutes:{getRoutes:()=>A.getPluginWebRoutes()},templates:{register:(G,K)=>{A.registerTemplates(G,K??$)},format:(G,K)=>{return W.formatContent(G,K,{pluginId:$})},parse:(G,K)=>{return W.parseContent(G,K,$)},resolve:async(G,K)=>{return await W.resolveContent(G,K,$)},getCapabilities:(G)=>{let K=G.includes(":")?G:`${$}:${G}`,V=A.getTemplate(K);if(!V)return null;let D=wZ.getCapabilities(V);return{canGenerate:D.canGenerate,canFetch:D.canFetch,canRender:D.canRender,isStaticOnly:D.isStaticOnly}}},views:{get:(G)=>{return P.get(G)??void 0},list:()=>{return P.list()},hasRenderer:(G,K="web")=>{return P.hasRenderer(G,K)},getRenderer:(G,K="web")=>{return P.getRenderer(G,K)},validate:(G,K)=>{return P.validate(G,K)}},prompts:b(X),ai:{query:(G,K)=>A.query(G,K),generate:async(G)=>{return A.generateContent(G)},generateObject:async(G,K,V)=>{return A.generateObject(G,K,V)},generateImage:async(G,K)=>{return A.generateImage(G,K)},canGenerateImages:()=>{return A.canGenerateImages()}},registerInstructions:(G)=>{A.registerInstructions($,G)}}}class D$ extends C{type="service";getApiRoutes(){return[]}getWebRoutes(){return[]}async register(A,$){let H=LZ(A,this.id,$);return this.context=H,this.setupMessageHandlers(H),await this.onRegister(H),this.getCapabilities()}get entityService(){return this.getContext().entityService}registerEntityType(A,$,H,Y){this.getContext().entities.register(A,$,H,Y)}async enqueueJob(A){return this.getContext().jobs.enqueue(A)}async enqueueBatch(A,$){return this.getContext().jobs.enqueueBatch(A,$)}async registerEntityTypes(A){}async registerJobHandlers(A){}async onRegister(A){await this.registerEntityTypes(A),await this.registerJobHandlers(A)}}
|
|
7
7
|
export{qA as o,_$ as p,O$ as q,WA as r,KA as s,j6 as t,rA as u,ZA as v,N$ as w,D$ as x,U1 as y,TH as z};
|
|
8
8
|
|
|
9
|
-
//# debugId=
|
|
10
|
-
//# sourceMappingURL=index-
|
|
9
|
+
//# debugId=E44F88BB5148ED8064756E2164756E21
|
|
10
|
+
//# sourceMappingURL=index-z6qhxkv8.js.map
|
|
@@ -55,6 +55,6 @@
|
|
|
55
55
|
"import { BasePlugin } from \"../base-plugin\";\nimport type {\n PluginCapabilities,\n IShell,\n PluginRegistrationContext,\n} from \"../interfaces\";\nimport type {\n IEntityService,\n BaseEntity,\n EntityAdapter,\n EntityTypeConfig,\n} from \"@brains/entity-service\";\nimport type {\n BatchOperation,\n EnqueueJobRequest,\n JobOptions,\n} from \"@brains/job-queue\";\nimport type { ServicePluginContext } from \"./context\";\nimport { createServicePluginContext } from \"./context\";\nimport type { ApiRouteDefinition } from \"../types/api-routes\";\nimport type { WebRouteDefinition } from \"../types/web-routes\";\n\n/**\n * Base class for service plugins\n * Service plugins extend core functionality with entity management, job queuing, and AI generation\n */\nexport abstract class ServicePlugin<TConfig, TConfigInput> extends BasePlugin<\n TConfig,\n TConfigInput,\n ServicePluginContext\n> {\n public readonly type = \"service\" as const;\n\n /** Get API routes for this plugin (override in subclass) */\n getApiRoutes(): ApiRouteDefinition[] {\n return [];\n }\n\n /** Get web routes for this plugin (override in subclass) */\n getWebRoutes(): WebRouteDefinition[] {\n return [];\n }\n\n /**\n * Register the plugin with shell - creates ServicePluginContext internally\n */\n override async register(\n shell: IShell,\n registrationContext?: PluginRegistrationContext,\n ): Promise<PluginCapabilities> {\n // Create typed context from shell\n const context = createServicePluginContext(\n shell,\n this.id,\n registrationContext,\n );\n this.context = context;\n\n // Set up message handlers\n this.setupMessageHandlers(context);\n\n // Call lifecycle hook with typed context\n await this.onRegister(context);\n\n return this.getCapabilities();\n }\n\n /**\n * Get the entity service for direct access\n */\n protected get entityService(): IEntityService {\n const context = this.getContext();\n return context.entityService;\n }\n\n /**\n * Helper method to register an entity type\n */\n protected registerEntityType<T extends BaseEntity>(\n entityType: string,\n schema: EntityAdapter<T>[\"schema\"],\n adapter: EntityAdapter<T>,\n config?: EntityTypeConfig,\n ): void {\n const context = this.getContext();\n context.entities.register(entityType, schema, adapter, config);\n }\n\n /**\n * Helper method to enqueue a job\n * Pass toolContext in the request for tool-routed jobs, or omit it for background jobs.\n */\n protected async enqueueJob(request: EnqueueJobRequest): Promise<string> {\n const context = this.getContext();\n return context.jobs.enqueue(request);\n }\n\n /**\n * Helper method to enqueue a batch of operations\n */\n protected async enqueueBatch(\n operations: BatchOperation[],\n options?: JobOptions,\n ): Promise<string> {\n const context = this.getContext();\n return context.jobs.enqueueBatch(operations, options);\n }\n\n /**\n * Override to register entity types during initialization\n */\n protected async registerEntityTypes(\n _context: ServicePluginContext,\n ): Promise<void> {\n // Default implementation does nothing\n // Override in subclasses to register entity types\n }\n\n /**\n * Override to register job handlers during initialization\n */\n protected async registerJobHandlers(\n _context: ServicePluginContext,\n ): Promise<void> {\n // Default implementation does nothing\n // Override in subclasses to register job handlers\n }\n\n /**\n * Override onRegister to add service-specific initialization\n */\n protected override async onRegister(\n context: ServicePluginContext,\n ): Promise<void> {\n // Register entity types first\n await this.registerEntityTypes(context);\n\n // Register job handlers\n await this.registerJobHandlers(context);\n }\n}\n"
|
|
56
56
|
],
|
|
57
57
|
"mappings": "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",
|
|
58
|
-
"debugId": "
|
|
58
|
+
"debugId": "E44F88BB5148ED8064756E2164756E21",
|
|
59
59
|
"names": []
|
|
60
60
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{c as K}from"./index-d5r8p459.js";import{j as J}from"./index-
|
|
2
|
+
import{c as K}from"./index-d5r8p459.js";import{j as J}from"./index-fgtn8e68.js";import"./index-z6qhxkv8.js";import"./index-fjp4jadv.js";import{Y as I}from"./index-e2c4agdd.js";import"./index-3097wt56.js";import"./index-bs70092j.js";import"./index-9s5cwp2s.js";import{Qa as j}from"./index-wvwq0pm7.js";import"./index-gmfgjnnw.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
|
-
//# debugId=
|
|
5
|
-
//# sourceMappingURL=rss-datasource-
|
|
4
|
+
//# debugId=A37060E2D9903BE964756E2164756E21
|
|
5
|
+
//# sourceMappingURL=rss-datasource-7w2d1gvk.js.map
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"import type {\n BaseDataSourceContext,\n DataSource,\n DataSourceSchema,\n} from \"@brains/plugins\";\nimport type { Logger } from \"@brains/utils/logger\";\nimport { z } from \"@brains/utils/zod\";\nimport type { BlogPost } from \"../schemas/blog-post\";\nimport { parseMarkdownWithFrontmatter } from \"@brains/plugins\";\nimport { blogPostFrontmatterSchema } from \"../schemas/blog-post\";\nimport type { BlogPostWithData } from \"./blog-datasource\";\nimport { generateRSSFeed, type RSSFeedConfig } from \"../rss/feed-generator\";\n\n/**\n * RSS feed query schema\n */\nconst rssFeedQuerySchema = z.object({\n siteUrl: z.url(),\n title: z.string(),\n description: z.string(),\n language: z.string().optional(),\n copyright: z.string().optional(),\n});\n\ntype RSSFeedQuery = z.output<typeof rssFeedQuerySchema>;\n\n/**\n * DataSource for generating RSS feed from blog posts\n */\nexport class RSSDataSource implements DataSource {\n private readonly logger: Logger;\n public readonly id = \"blog:rss\";\n public readonly name = \"Blog RSS Feed DataSource\";\n public readonly description =\n \"Generates RSS 2.0 feed XML from published blog posts\";\n\n constructor(logger: Logger) {\n this.logger = logger;\n this.logger.debug(\"RSSDataSource initialized\");\n }\n\n /**\n * Fetch and generate RSS feed XML\n * @param context - Optional context (environment, etc.)\n */\n async fetch<T>(\n query: unknown,\n outputSchema: DataSourceSchema<T>,\n context: BaseDataSourceContext,\n ): Promise<T> {\n // Parse query parameters\n const params: RSSFeedQuery = rssFeedQuerySchema.parse(query);\n // Use context.entityService for automatic publishedOnly filtering\n const entityService = context.entityService;\n\n // Fetch all published posts\n const allPosts: BlogPost[] = await entityService.listEntities({\n entityType: \"post\",\n options: {\n limit: 1000,\n },\n });\n\n // Filter only published posts and parse frontmatter\n const publishedPosts: BlogPostWithData[] = allPosts\n .filter(\n (p) => p.metadata.status === \"published\" && p.metadata.publishedAt,\n )\n .map((entity) => {\n const parsed = parseMarkdownWithFrontmatter(\n entity.content,\n blogPostFrontmatterSchema,\n );\n return {\n ...entity,\n frontmatter: parsed.metadata,\n body: parsed.content,\n };\n });\n\n this.logger.debug(\n `Generating RSS feed with ${publishedPosts.length} posts`,\n );\n\n // Build RSS config\n const rssConfig: RSSFeedConfig = {\n title: params.title,\n description: params.description,\n link: params.siteUrl,\n language: params.language ?? \"en-us\",\n ...(params.copyright && { copyright: params.copyright }),\n };\n\n // Generate RSS XML\n const xml = generateRSSFeed(publishedPosts, rssConfig);\n\n const result = {\n xml,\n };\n\n return outputSchema.parse(result);\n }\n}\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": ";+XAgBA,FAAM,JAAqB,JAAE,CAAO,LAClC,EAAS,JAAE,FAAI,JACf,MAAO,EAAE,OAAO,EAChB,YAAa,EAAE,OAAO,EACtB,SAAU,EAAE,OAAO,EAAE,SAAS,EAC9B,UAAW,EAAE,OAAO,EAAE,SAAS,CACjC,CAAC,EAOM,MAAM,CAAoC,CAC9B,OACD,GAAK,WACL,KAAO,2BACP,YACd,uDAEF,WAAW,CAAC,EAAgB,CAC1B,KAAK,OAAS,EACd,KAAK,OAAO,MAAM,2BAA2B,OAOzC,MAAQ,CACZ,EACA,EACA,EACY,CAEZ,IAAM,EAAuB,EAAmB,MAAM,CAAK,EAarD,GARuB,MAHP,EAAQ,cAGmB,aAAa,CAC5D,WAAY,OACZ,QAAS,CACP,MAAO,IACT,CACF,CAAC,GAIE,OACC,CAAC,IAAM,EAAE,SAAS,SAAW,aAAe,EAAE,SAAS,WACzD,EACC,IAAI,CAAC,IAAW,CACf,IAAM,EAAS,EACb,EAAO,QACP,CACF,EACA,MAAO,IACF,EACH,YAAa,EAAO,SACpB,KAAM,EAAO,OACf,EACD,EAEH,KAAK,OAAO,MACV,4BAA4B,EAAe,cAC7C,EAGA,IAAM,EAA2B,CAC/B,MAAO,EAAO,MACd,YAAa,EAAO,YACpB,KAAM,EAAO,QACb,SAAU,EAAO,UAAY,WACzB,EAAO,WAAa,CAAE,UAAW,EAAO,SAAU,CACxD,EAKM,EAAS,CACb,IAHU,EAAgB,EAAgB,CAAS,CAIrD,EAEA,OAAO,EAAa,MAAM,CAAM,EAEpC",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "A37060E2D9903BE964756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/deploy.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import"./chunks/index-
|
|
2
|
+
import"./chunks/index-gmfgjnnw.js";import{appendFileSync as l,readFileSync as m}from"fs";var y=/^# ---- .+ ----$/;function p(e,t){let n=[],i=new Set,S=t?.skipSections??new Set,c=!1,s=!1,o=!1;for(let v of e.split(/\r?\n/)){let r=v.trim();if(y.test(r)){c=S.has(r),s=!1,o=!1;continue}if(c)continue;if(r.startsWith("#")){if(r.includes("@required"))s=!0;if(r.includes("@sensitive"))o=!0;continue}let u=r.match(/^([A-Z][A-Z0-9_]*)=/);if(!u?.[1]){s=!1,o=!1;continue}let a=u[1];if(!i.has(a))i.add(a),n.push({key:a,required:s,sensitive:o});s=!1,o=!1}return n}function d(e,t){return p(m(e,"utf8"),t)}async function f(e,t){let n=await e.text();if(!n)throw Error(`${t} returned an empty response (${e.status})`);try{return JSON.parse(n)}catch{throw Error(`${t} returned invalid JSON (${e.status}): ${n}`)}}function E(e){let t=m(e,"utf8");return Object.fromEntries(t.split(/\r?\n/).filter(Boolean).map((n)=>{let i=n.indexOf("=");return[n.slice(0,i),n.slice(i+1)]}))}function _(e){let t=process.env[e];if(!t)throw Error(`Missing ${e}`);return t}function h(e,t){let n=process.env.GITHUB_OUTPUT;if(n)l(n,`${e}=${t}
|
|
3
3
|
`)}function g(e,t){let n=process.env.GITHUB_ENV;if(!n)return;if(t.includes(`
|
|
4
4
|
`)){let i=`EOF_${e}_${Date.now().toString(36)}`;l(n,`${e}<<${i}
|
|
5
5
|
${t}
|
package/dist/entities.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{T as t,U as e,X as a,Y as n,Z as i,ba as r,da as o,ea as s,fa as p}from"./chunks/index-e2c4agdd.js";import"./chunks/index-bs70092j.js";import"./chunks/index-wvwq0pm7.js";import"./chunks/index-gmfgjnnw.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
|
-
//# debugId=
|
|
4
|
+
//# debugId=2AC65213D77FB4EC64756E2164756E21
|
|
5
5
|
//# sourceMappingURL=entities.js.map
|
package/dist/entities.js.map
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Pa as r,Qa as o}from"./chunks/index-wvwq0pm7.js";import"./chunks/index-gmfgjnnw.js";function t(i){return i}var e={name:"@rizom/brain",version:"0.2.0-alpha.189",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=
|
|
4
|
+
//# debugId=980C7AE34B54BDB164756E2164756E21
|
|
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": "
|
|
9
|
+
"debugId": "980C7AE34B54BDB164756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
package/dist/interfaces.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Ba as w,Ca as x,ga as d,ha as f,ia as h,ja as j,ka as k,la as q}from"./chunks/index-3097wt56.js";import"./chunks/index-bs70092j.js";import{Ka as v}from"./chunks/index-9s5cwp2s.js";import"./chunks/index-wvwq0pm7.js";import"./chunks/index-gmfgjnnw.js";export{v as UserPermissionLevelSchema,j as UnregisterRoutesPayloadSchema,f as RouteDefinitionSchema,h as RegisterRoutesPayloadSchema,d as NavigationSlots,w as MessageResponseSchema,k as ListRoutesPayloadSchema,q as GetRoutePayloadSchema,x as BaseMessageSchema};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=1BB56A2DDCFD91CB64756E2164756E21
|
|
5
5
|
//# sourceMappingURL=interfaces.js.map
|
package/dist/interfaces.js.map
CHANGED
package/dist/plugins.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
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-
|
|
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-z6qhxkv8.js";import"./chunks/index-e2c4agdd.js";import{Aa as w,Ba as _,Ca as H,na as E,qa as b,ra as k}from"./chunks/index-3097wt56.js";import"./chunks/index-bs70092j.js";import"./chunks/index-9s5cwp2s.js";import{Qa as o}from"./chunks/index-wvwq0pm7.js";import"./chunks/index-gmfgjnnw.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
|
|
|
6
|
-
//# debugId=
|
|
6
|
+
//# debugId=DB5DF6AAFA5746AF64756E2164756E21
|
|
7
7
|
//# sourceMappingURL=plugins.js.map
|
package/dist/plugins.js.map
CHANGED
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
"import { ServicePlugin as RuntimeServicePlugin } from \"../service/service-plugin\";\nimport type { ServicePluginContext as RuntimeServicePluginContext } from \"../service/context\";\nimport type { PluginConfigSchema } from \"../config\";\nimport type {\n IShell,\n PluginCapabilities,\n PluginRegistrationContext,\n} from \"../interfaces\";\nimport type { Plugin, Resource, ServicePluginContext, Tool } from \"./types\";\n\ninterface ServicePluginHooks {\n onRegister(context: ServicePluginContext): Promise<void>;\n onReady(context: ServicePluginContext): Promise<void>;\n onShutdown(): Promise<void>;\n getTools(): Promise<Tool[]>;\n getResources(): Promise<Resource[]>;\n getInstructions(): Promise<string | undefined>;\n}\n\nclass ServicePluginDelegate<TConfig, TConfigInput> extends RuntimeServicePlugin<\n TConfig,\n TConfigInput\n> {\n private readonly hooks: ServicePluginHooks;\n constructor(\n id: string,\n packageJson: { name: string; version: string; description?: string },\n config: TConfigInput,\n configSchema: PluginConfigSchema<TConfig>,\n hooks: ServicePluginHooks,\n ) {\n super(id, packageJson, config, configSchema);\n this.hooks = hooks;\n }\n\n protected override onRegister(\n context: RuntimeServicePluginContext,\n ): Promise<void> {\n return this.hooks.onRegister(context);\n }\n\n protected override onReady(\n context: RuntimeServicePluginContext,\n ): Promise<void> {\n return this.hooks.onReady(context);\n }\n\n protected override onShutdown(): Promise<void> {\n return this.hooks.onShutdown();\n }\n\n protected override getTools(): Promise<never[]> {\n return this.hooks.getTools() as Promise<never[]>;\n }\n\n protected override getResources(): Promise<never[]> {\n return this.hooks.getResources() as Promise<never[]>;\n }\n\n protected override getInstructions(): Promise<string | undefined> {\n return this.hooks.getInstructions();\n }\n}\n\nexport abstract class ServicePlugin<TConfig, TConfigInput> implements Plugin {\n public readonly type = \"service\" as const;\n public readonly id: string;\n public readonly version: string;\n public readonly packageName: string;\n public readonly description?: string;\n private readonly delegate: ServicePluginDelegate<TConfig, TConfigInput>;\n\n protected constructor(\n id: string,\n packageJson: { name: string; version: string; description?: string },\n config: TConfigInput,\n configSchema: PluginConfigSchema<TConfig>,\n ) {\n this.id = id;\n this.version = packageJson.version;\n this.packageName = packageJson.name;\n if (packageJson.description !== undefined) {\n this.description = packageJson.description;\n }\n this.delegate = new ServicePluginDelegate(\n id,\n packageJson,\n config,\n configSchema,\n {\n onRegister: (context): Promise<void> => this.onRegister(context),\n onReady: (context): Promise<void> => this.onReady(context),\n onShutdown: (): Promise<void> => this.onShutdown(),\n getTools: (): Promise<Tool[]> => this.getTools(),\n getResources: (): Promise<Resource[]> => this.getResources(),\n getInstructions: (): Promise<string | undefined> =>\n this.getInstructions(),\n },\n );\n }\n\n /** @internal */\n register(\n shell: IShell,\n context?: PluginRegistrationContext,\n ): Promise<PluginCapabilities> {\n return this.delegate.register(shell, context);\n }\n\n protected async onRegister(_context: ServicePluginContext): Promise<void> {}\n protected async onReady(_context: ServicePluginContext): Promise<void> {}\n protected async onShutdown(): Promise<void> {}\n protected async getTools(): Promise<Tool[]> {\n return [];\n }\n protected async getResources(): Promise<Resource[]> {\n return [];\n }\n protected async getInstructions(): Promise<string | undefined> {\n return undefined;\n }\n\n ready(): Promise<void> {\n return this.delegate.ready();\n }\n\n shutdown(): Promise<void> {\n return this.delegate.shutdown?.() ?? Promise.resolve();\n }\n}\n"
|
|
10
10
|
],
|
|
11
11
|
"mappings": "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",
|
|
12
|
-
"debugId": "
|
|
12
|
+
"debugId": "DB5DF6AAFA5746AF64756E2164756E21",
|
|
13
13
|
"names": []
|
|
14
14
|
}
|
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-
|
|
2
|
+
import{A as f,B as h,C as j}from"./chunks/index-fjp4jadv.js";import"./chunks/index-e2c4agdd.js";import"./chunks/index-bs70092j.js";import"./chunks/index-wvwq0pm7.js";import"./chunks/index-gmfgjnnw.js";export{f as baseQuerySchema,h as baseInputSchema,j as BaseEntityDataSource};
|
|
3
3
|
|
|
4
4
|
//# debugId=D0B48419CFE5A25D64756E2164756E21
|
|
5
5
|
//# sourceMappingURL=services.js.map
|