@rizom/brain 0.2.0-alpha.173 → 0.2.0-alpha.175
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 +779 -779
- package/dist/chunks/blog-post-adapter-4vf8z8mx.js +5 -0
- package/dist/chunks/{index-3kgt7n11.js → index-0jj13cwd.js} +2 -2
- package/dist/chunks/{index-a4995mz5.js → index-5ksrvnfa.js} +2 -2
- package/dist/chunks/{index-gnfj8y9x.js → index-fchahqen.js} +2 -2
- package/dist/chunks/{index-h97nvbss.js → index-q6b959de.js} +3 -3
- package/dist/chunks/{index-h97nvbss.js.map → index-q6b959de.js.map} +5 -5
- package/dist/chunks/{index-80gehwzs.js → index-y5phk0t1.js} +2 -2
- package/dist/chunks/{rss-datasource-7xrpgr20.js → rss-datasource-x181257n.js} +2 -2
- package/dist/entities.d.ts +10 -0
- package/dist/entities.js +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/plugins.d.ts +8 -0
- package/dist/plugins.js +1 -1
- package/dist/services.js +1 -1
- package/dist/site.js +6 -6
- package/dist/site.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/blog-post-adapter-p61wgmxb.js +0 -5
- /package/dist/chunks/{blog-post-adapter-p61wgmxb.js.map → blog-post-adapter-4vf8z8mx.js.map} +0 -0
- /package/dist/chunks/{index-3kgt7n11.js.map → index-0jj13cwd.js.map} +0 -0
- /package/dist/chunks/{index-a4995mz5.js.map → index-5ksrvnfa.js.map} +0 -0
- /package/dist/chunks/{index-gnfj8y9x.js.map → index-fchahqen.js.map} +0 -0
- /package/dist/chunks/{index-80gehwzs.js.map → index-y5phk0t1.js.map} +0 -0
- /package/dist/chunks/{rss-datasource-7xrpgr20.js.map → rss-datasource-x181257n.js.map} +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{a,b}from"./index-fchahqen.js";import"./index-5ksrvnfa.js";import"./index-0jj13cwd.js";import"./index-y5phk0t1.js";import"./index-q6b959de.js";import"./index-ejwmsqv7.js";import"./index-d8kywpxf.js";import"./index-spm9f4m4.js";import"./index-awx4ta1w.js";import"./index-pe6yc4tr.js";export{b as blogPostAdapter,a as BlogPostAdapter};
|
|
3
|
+
|
|
4
|
+
//# debugId=1740B4E5E07C590464756E2164756E21
|
|
5
|
+
//# sourceMappingURL=blog-post-adapter-4vf8z8mx.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
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-h97nvbss.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}),C$=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 CZ=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 CZ.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()}),OZ=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()}),CA=Z.strictObject({success:Z.literal(!1),error:Z.string(),code:Z.string().optional()}),OA=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,CA,OA]);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 C{callback;heartbeatInterval;constructor(A){this.callback=A}static from(A){if(!A)return;return new C(A)}createSub(A){let{scale:$}=A??{};if($){let{start:H,end:Y}=$,X=Y-H;return new C(async(P)=>{let W=H+P.progress/(P.total??100)*X;await this.callback({...P,progress:W,total:100})})}return new C(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,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 O{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 C.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 O{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 O{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,N as S,O as E,P as U,Q as v,R as WZ,W as cA,X as uA}from"./index-q6b959de.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}),C$=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 CZ=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 CZ.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()}),OZ=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()}),CA=Z.strictObject({success:Z.literal(!1),error:Z.string(),code:Z.string().optional()}),OA=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,CA,OA]);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 C{callback;heartbeatInterval;constructor(A){this.callback=A}static from(A){if(!A)return;return new C(A)}createSub(A){let{scale:$}=A??{};if($){let{start:H,end:Y}=$,X=Y-H;return new C(async(P)=>{let W=H+P.progress/(P.total??100)*X;await this.callback({...P,progress:W,total:100})})}return new C(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,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 O{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 C.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 O{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 O{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+=`
|
|
@@ -7,4 +7,4 @@ ${A.message}`;return Y}var G$=Z.enum(["tool:invoking","tool:completed","tool:fai
|
|
|
7
7
|
export{qA as o,_$ as p,C$ 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
9
|
//# debugId=AB522C13AFE5539A64756E2164756E21
|
|
10
|
-
//# sourceMappingURL=index-
|
|
10
|
+
//# sourceMappingURL=index-0jj13cwd.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{o as c}from"./index-3kgt7n11.js";import{$ as n,D as R,E as i,L as jf,M as Tf,N as Y,O as S,P as T,T as s,U as Uf,V as Z,X as a,Z as p,_ as wf,aa as X,ba as P}from"./index-h97nvbss.js";import{na as v,oa as h,ta as Af,va as B}from"./index-ejwmsqv7.js";import{Pa as x}from"./index-awx4ta1w.js";var E=/^upload-[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;var rx=x.object({id:x.string().regex(E),ref:x.object({kind:x.string().min(1),id:x.string().regex(E)}),filename:x.string().min(1),mediaType:x.string().min(1),sizeBytes:x.number().nonnegative(),createdAt:x.string().datetime(),metadata:x.record(x.string(),x.unknown()).optional()});function z(f){if(typeof f!=="object"||f===null||!("entityId"in f))return;let k=f.entityId;return typeof k==="string"&&k.trim().length>0?k.trim():void 0}function $f(f){if(typeof f!=="object"||f===null||!("coverImage"in f))return;let k=f.coverImage;if(k===void 0||k===!1)return;if(k===!0)return{generate:!0};if(typeof k!=="object"||k===null)return;let U=k;if(U.generate===!1)return;let $=U.prompt?.trim();return{generate:!0,...$&&{prompt:$}}}function G(f){return Object.fromEntries(Object.entries(f).filter(([,k])=>k!==void 0))}function Mf(f){let k={...f};return delete k.status,delete k.error,G(k)}class uf extends c{context;entityType;constructor(f,k,U){super(f,{schema:U.schema,jobTypeName:U.jobTypeName});this.context=k,this.entityType=U.entityType}async afterCreate(f,k,U,$){}async onGenerationFailure(f,k){}validateAndParse(f){let k=super.validateAndParse(f);if(!k)return null;let U=$f(f);if(typeof k!=="object")return k;let $=z(f);if(!U&&!$)return k;return Object.assign(k,{...U&&{coverImage:U},...$&&{entityId:$}}),k}async process(f,k,U){try{await this.reportProgress(U,{progress:B.START,message:`Starting ${this.jobTypeName}`});let $=await this.generate(f,U),M=z(f),A=M?this.applyPreallocatedEntityId(M,$):$;await this.reportProgress(U,{progress:B.SAVE,message:`Saving ${this.entityType} to database`});let w=M?await this.updatePreallocatedStub(M,A):await this.context.entityService.createEntity({entity:{id:A.id,entityType:this.entityType,content:A.content,metadata:A.metadata},options:A.createOptions});return await this.afterCreate(f,w.entityId,U,A),await this.enqueueGenericCoverImageIfRequested(f,w.entityId,U,A),await this.reportProgress(U,{progress:B.COMPLETE,message:`${A.title??this.entityType} created successfully`}),{success:!0,entityId:w.entityId,...A.resultExtras}}catch($){if($ instanceof t)return await this.markPreallocatedStubFailed(f,$.message),await this.onGenerationFailure(f,$.message),{success:!1,error:$.message};let M=R($);return this.logger.error(`${this.jobTypeName} job failed`,{error:$,jobId:k,data:this.summarizeDataForLog(f)}),await this.markPreallocatedStubFailed(f,M),await this.onGenerationFailure(f,M),Af.failure($)}}applyPreallocatedEntityId(f,k){let U={...k.metadata},$=k.content,M=k.resultExtras;if(typeof U.slug==="string")U.slug=f,$=n($,"slug",f),M={...M,slug:f};return{...k,id:f,content:$,metadata:U,...M&&{resultExtras:M}}}async updatePreallocatedStub(f,k){let U=await this.context.entityService.getEntity({entityType:this.entityType,id:f,visibilityScope:"restricted"});if(!U)throw Error(`Pre-allocated entity stub not found: ${this.entityType}/${f}`);let $=this.mergeStubWithGenerated(U,k);return this.context.entityService.updateEntity({entity:{...U,id:f,entityType:this.entityType,content:$.content,metadata:$.metadata}})}mergeStubWithGenerated(f,k){let U=Mf(p(f.content).frontmatter),$=Mf(f.metadata),M=G(k.metadata),A=p(k.content),w=G(A.frontmatter),F=G({...U,...M,...w});return this.context.entities.getEffectiveFrontmatterSchema(this.entityType)?.parse(F),{content:wf(F,A.content),metadata:{...$,...M}}}async markPreallocatedStubFailed(f,k){let U=z(f);if(!U)return;try{let $=await this.context.entityService.getEntity({entityType:this.entityType,id:U,visibilityScope:"restricted"});if(!$)return;await this.context.entityService.updateEntity({entity:{...$,content:n(n($.content,"status","failed"),"error",k),metadata:{...$.metadata,status:"failed",error:k}}})}catch($){this.logger.warn("Failed to mark generation stub as failed",{error:$,entityId:U,entityType:this.entityType})}}async enqueueGenericCoverImageIfRequested(f,k,U,$){let M=$f(f);if(!M)return;await this.reportProgress(U,{progress:90,message:"Queueing cover image generation"});let A=$.title??k;await this.context.jobs.enqueue({type:"image:image-generate",data:{prompt:M.prompt??`Editorial cover image for: ${A}. `,title:`${A} Cover`,aspectRatio:"16:9",targetEntityType:this.entityType,targetEntityId:k,entityTitle:A,entityContent:$.content},toolContext:{interfaceType:"job",userId:"system"}})}failEarly(f){throw new t(f)}}class t extends Error{constructor(f){super(f);this.name="GenerationFailure"}}var Yf=x.object({kind:x.string().min(1),id:x.string().min(1)}),sf=x.object({kind:x.string().min(1),filename:x.string().min(1),mediaType:x.string().min(1),sizeBytes:x.number().nonnegative().optional(),source:Yf.optional()}),Vk=x.array(sf),mk=x.array(h),_k=x.array(v),Jk=x.record(x.string(),x.unknown());var jk=x.record(x.string(),x.unknown());var Yk=x.record(x.string(),x.unknown());var Xf=new Map([[".png","image/png"],[".jpg","image/jpeg"],[".jpeg","image/jpeg"],[".webp","image/webp"],[".gif","image/gif"],[".pdf","application/pdf"]]),Xk=new Set(Xf.values());async function Sx(f){let{entityType:k,title:U,deriveId:$,regeneratePrompt:M,context:A}=f,w=$(U),F=await A.entityService.getEntity({entityType:k,id:w});if(!F||F.metadata.status==="generating")return U;A.logger.debug(`Entity ID collision: ${k}/${w}, asking AI for a new title`);let W=x.object({title:x.string().max(80).describe("A short, unique title (2-6 words)")}),{object:J}=await A.ai.generateObject(`The title "${U}" is already taken. ${M}`,W),H=J.title;return A.logger.debug(`AI suggested new title: "${H}"`),H}var g=s.extend({id:x.literal("brain-character"),entityType:x.literal("brain-character")}),q=x.object({name:x.string().describe("The brain's friendly display name"),role:x.string().describe("The brain's primary role"),purpose:x.string().describe("The brain's purpose and goals"),values:x.array(x.string()).describe("Core values that guide behavior")});var Vf=x.record(x.string(),x.unknown());class l extends X{constructor(){super({entityType:"brain-character",purpose:"The brain's own identity, character, and purpose (singleton).",schema:g,frontmatterSchema:q,isSingleton:!0,hasBody:!1})}createCharacterContent(f){return this.buildMarkdown("",f)}parseCharacterBody(f){return this.parseFrontmatter(f)}toMarkdown(f){let k=this.parseFrontmatter(f.content);return this.buildMarkdown("",Vf.parse(k))}fromMarkdown(f){return{content:f,entityType:"brain-character"}}extractMetadata(f){let k=this.parseFrontmatter(f.content);return{role:k.role,values:k.values}}generateFrontMatter(f){let k=this.parseFrontmatter(f.content);return this.buildMarkdown("",Vf.parse(k))}}class j extends P{static instance=null;adapter=new l;static getDefaultCharacter(){return{name:"Brain",role:"Knowledge assistant",purpose:"Help organize, understand, and retrieve information from your knowledge base",values:["clarity","accuracy","helpfulness"]}}static getInstance(f,k,U){return j.instance??=new j(f,k,U),j.instance}static resetInstance(){j.instance=null}static createFresh(f,k,U){return new j(f,k,U)}constructor(f,k,U){super(f,k,"brain-character",U??j.getDefaultCharacter(),Z("brain character is loaded at bootstrap before any user is in scope"))}parseBody(f){return this.adapter.parseCharacterBody(f)}createContent(f){return this.adapter.createCharacterContent(f)}getCharacter(){return this.get()}getCharacterContent(){return this.getContent()}}var I=s.extend({id:x.literal("anchor-profile"),entityType:x.literal("anchor-profile")}),K=x.object({name:x.string().describe("Name (person or organization)"),kind:x.enum(["professional","team","collective"]).describe("Type of anchor: professional (individual), team, or collective"),organization:x.string().optional().describe("Organization the anchor belongs to"),description:x.string().optional().describe("Short description or biography"),avatar:x.string().optional().describe("URL or asset path to avatar/logo"),website:x.string().optional().describe("Primary website URL"),email:x.string().optional().describe("Contact email"),socialLinks:x.array(x.object({platform:x.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:x.string().describe("Profile or contact URL"),label:x.string().optional().describe("Optional display label")})).optional().describe("Social media and contact links")});var Ex=x.record(x.string(),x.unknown());class Q extends X{constructor(){super({entityType:"anchor-profile",purpose:"The profile of the brain's anchor owner (singleton).",schema:I,frontmatterSchema:K,isSingleton:!0,hasBody:!0})}createProfileContent(f){let k=K.parse(f);return this.buildMarkdown("",k)}parseProfileBody(f,k){if(k){let{metadata:U,content:$}=a(f,k);return $?{...U,story:$}:U}return this.parseFrontmatter(f)}fromMarkdown(f){return{content:f,entityType:"anchor-profile"}}extractMetadata(f){let k=this.parseFrontmatter(f.content);return{name:k.name,email:k.email,website:k.website}}generateFrontMatter(f){let k=this.parseFrontmatter(f.content);return this.buildMarkdown("",Ex.parse(k))}}var d=x.object({tagline:x.string().optional().describe("Short, punchy one-liner for homepage"),intro:x.string().optional().describe("Optional longer introduction for homepage"),story:x.string().optional().describe("Extended bio/narrative (multi-paragraph markdown)")}),mf=d.extend({role:x.string().optional().describe("Professional role or working identity"),audience:x.string().optional().describe("Primary audience or community served"),expertise:x.array(x.string()).optional().describe("Skills, domains, areas of focus"),currentFocus:x.string().optional().describe("What you're currently working on"),availability:x.string().optional().describe("What you're open to (consulting, speaking, etc.)"),desiredTone:x.string().optional().describe("Preferred tone for profile-shaped outputs")});async function e(f){let U=(await f.listEntities({entityType:"anchor-profile",options:{limit:1}}))[0];if(!U)throw Error("Profile not found \u2014 create an anchor-profile entity");return U.content}async function _f(f,k){let U=await e(f);return new Q().parseProfileBody(U,k)}class O extends P{static instance=null;adapter=new Q;static getDefaultProfile(){return{name:"Unknown",kind:"professional"}}static getInstance(f,k,U){return O.instance??=new O(f,k,U),O.instance}static resetInstance(){O.instance=null}static createFresh(f,k,U){return new O(f,k,U)}constructor(f,k,U){super(f,k,"anchor-profile",U??O.getDefaultProfile(),Z("anchor profile is loaded at bootstrap before any user is in scope"))}parseBody(f){return this.adapter.parseProfileBody(f)}createContent(f){return this.adapter.createProfileContent(f)}getProfile(){return this.get()}getProfileContent(){return this.getContent()}}var Jf=x.looseObject({id:x.string(),description:x.string(),name:x.string().optional(),tags:x.array(x.string()).optional().default([])});var zx=x.looseObject({uri:x.string(),params:x.record(x.string(),x.unknown()).optional()}),px=x.looseObject({name:x.string(),url:x.string(),description:x.string().optional(),skills:x.array(Jf).optional().default([]),capabilities:x.looseObject({extensions:x.array(zx).optional().default([])}).optional()});var tx=x.object({name:x.string(),description:x.string(),tags:x.array(x.string()),examples:x.array(x.string())});import{EventEmitter as Of}from"events";var o={REGISTERED:"registered",INITIALIZED:"initialized",ERROR:"error",DISABLED:"disabled"},m={REGISTERED:"plugin:registered",BEFORE_INITIALIZE:"plugin:before_initialize",INITIALIZED:"plugin:initialized",ERROR:"plugin:error",DISABLED:"plugin:disabled"};class _ extends Error{pluginId;constructor(f,k){super(`Plugin ${f}: ${k}`);this.name="PluginError",this.pluginId=f}}class r{scope;closePromise=null;closed=!1;constructor(){this.scope=T.runSync(S.make())}addFinalizer(f){if(this.closed)throw Error("Cannot register a resource after plugin teardown");T.runSync(S.addFinalizer(this.scope,T.promise(async()=>{await f()})))}close(f=Y.void){return this.closed=!0,this.closePromise??=this.closeScope(f),this.closePromise}async closeScope(f){let k=await T.runPromiseExit(S.close(this.scope,f));if(Y.isFailure(k))throw Tf.squash(k.cause)}}function Nf(f,k){let U=f.getMessageBus(),$={send:(u)=>U.send(u),subscribe:(u,L,b)=>{let V=!0,N=U.subscribe(u,L,b),C=()=>{if(!V)return;V=!1,N()};return k.addFinalizer(C),C},unsubscribe:(u,L)=>U.unsubscribe(u,L)},M=f.getAttachmentRegistry(),A={...M,register:(u,L,b)=>{let V=!0,N=M.register(u,L,b),C=()=>{if(!V)return;V=!1,N()};return k.addFinalizer(C),C}},w=f.getEntityRegistry(),F=new Proxy(w,{get(u,L){let b=Reflect.get(u,L,u);if(L==="registerEntityType"&&typeof b==="function")return(...V)=>{let N=Reflect.apply(b,u,V),C=V[0];if(typeof C==="string")k.addFinalizer(()=>u.unregisterEntityType(C));return N};return typeof b==="function"?b.bind(u):b}}),W=f.getDataSourceRegistry(),J=new Proxy(W,{get(u,L){let b=Reflect.get(u,L,u);if(L==="register"&&typeof b==="function")return(...V)=>{let N=Reflect.apply(b,u,V),C=V[0];if(typeof C==="object"&&C!==null&&"id"in C&&typeof C.id==="string"){let Kf=C.id.includes(":")?C.id:`shell:${C.id}`;k.addFinalizer(()=>u.unregister(Kf))}return N};return typeof b==="function"?b.bind(u):b}}),H=f.getInsightsRegistry(),Hf=new Proxy(H,{get(u,L){let b=Reflect.get(u,L,u);if(L==="register"&&typeof b==="function")return(...V)=>{let N=Reflect.apply(b,u,V),C=V[0];if(typeof C==="string")k.addFinalizer(()=>u.unregister(C));return N};return typeof b==="function"?b.bind(u):b}});return new Proxy(f,{get(u,L){if(L==="getMessageBus")return()=>$;if(L==="getAttachmentRegistry")return()=>A;if(L==="getEntityRegistry")return()=>F;if(L==="getDataSourceRegistry")return()=>J;if(L==="getInsightsRegistry")return()=>Hf;let b=Reflect.get(u,L,u);return typeof b==="function"?b.bind(u):b}})}class ff{plugins;events;daemonRegistry;logger;resourceScopes=new Map;releasedPluginIds=new Set;constructor(f,k,U,$){this.plugins=f,this.events=k,this.daemonRegistry=U,this.logger=$.child("PluginLifecycle")}async initializePlugin(f,k,U){let $=this.plugins.get(f);if(!$)throw new _(f,"Registration failed: Plugin is not registered");let M=$.plugin,A=new r;A.addFinalizer(()=>k.unregisterPluginCapabilities?.(f)),A.addFinalizer(()=>k.getJobQueueService().unregisterPluginHandlers(f)),this.resourceScopes.set(f,A),this.releasedPluginIds.delete(f),this.logger.debug(`Initializing plugin: ${f}`);try{this.events.emit(m.BEFORE_INITIALIZE,f,M);let w=await M.register(Nf(k,A),U);return $.status=o.INITIALIZED,this.logger.debug(`Initialized plugin: ${f}`),this.events.emit(m.INITIALIZED,f,M),w}catch(w){throw this.logger.error(`Error initializing plugin ${f}: ${R(w)}`),await this.failPluginInitialization(f,w),w}}async readyPlugin(f){let k=this.plugins.get(f);if(!k)throw new _(f,"Ready failed: Plugin is not registered");if(k.status!==o.INITIALIZED){this.logger.debug(`Skipping ready hook for non-initialized plugin: ${f}`);return}try{await k.plugin.ready?.(),this.logger.debug(`Ready hook completed for plugin: ${f}`)}catch(U){let $=i(U);k.status=o.ERROR,k.error=$;try{this.events.emit(m.ERROR,f,$)}catch(M){this.logger.error(`Plugin error listener failed for ${f}`,M)}throw $}}async startPluginDaemons(f){let k=this.plugins.get(f);if(k?.status!==o.INITIALIZED)return;try{await this.daemonRegistry.startPlugin(f),this.logger.debug(`Started daemons for plugin: ${f}`)}catch(U){if(k.plugin.requiresDaemonStartup?.())throw U;this.logger.warn(`Daemon ${f} failed to start: ${R(U)}`)}}async failPluginInitialization(f,k){let U=this.plugins.get(f);if(!U)return;let $=U.status!==o.ERROR,M=i(k);if(U.status=o.ERROR,U.error=M,await this.releasePluginResources(f,Y.fail(k)),$)try{this.events.emit(m.ERROR,f,M)}catch(A){this.logger.error(`Plugin error listener failed for ${f}`,A)}}async disablePlugin(f){let k=this.plugins.get(f);if(!k){this.logger.warn(`Cannot disable plugin ${f}: not registered`);return}if(k.status===o.DISABLED)return;this.logger.debug(`Disabling plugin: ${f}`);let U=k.status===o.ERROR;if(await this.releasePluginResources(f,Y.void),!U)k.status=o.DISABLED,this.events.emit(m.DISABLED,f,k.plugin);this.logger.debug(`Disabled plugin: ${f}`)}async releasePluginResources(f,k){if(this.releasedPluginIds.has(f))return;this.releasedPluginIds.add(f);let U=this.plugins.get(f);if(!U)return;try{await this.daemonRegistry.stopPlugin(f),this.logger.debug(`Stopped daemons for plugin: ${f}`)}catch(M){this.logger.error(`Failed to stop daemons for plugin: ${f}`,M)}if(U.plugin.shutdown)try{await U.plugin.shutdown(),this.logger.debug(`Shutdown completed for plugin: ${f}`)}catch(M){this.logger.error(`Plugin shutdown failed for ${f}:`,M)}for(let M of this.daemonRegistry.getByPlugin(f))try{await this.daemonRegistry.unregister(M.name)}catch(A){this.logger.error(`Failed to unregister daemon ${M.name} for plugin ${f}`,A)}let $=this.resourceScopes.get(f);if(this.resourceScopes.delete(f),$)try{await $.close(k)}catch(M){this.logger.error(`Failed to close resources for plugin ${f}`,M)}}}class xf{plugins;events;logger;constructor(f,k,U){this.plugins=f,this.events=k,this.logger=U.child("DependencyResolver")}async resolveInitializationOrder(f){this.logger.debug("Resolving plugin initialization order...");let k=Array.from(this.plugins.keys()),U=new Set,$=!0;while($&&U.size<k.length){$=!1;for(let w of k){if(U.has(w))continue;if(!this.plugins.get(w))continue;if(this.getUnmetDependencies(w).length===0)try{await f(w),U.add(w),$=!0}catch(J){let H=R(J);this.logger.error(`Failed to initialize plugin ${w}: ${H}`),U.add(w),$=!0}}}let M=k.filter((w)=>!U.has(w));if(M.length>0){let w=M.join(", ");this.logger.error(`Failed to initialize plugins due to dependency issues: ${w}`);for(let F of M){let W=this.getUnmetDependencies(F);this.logger.error(`Plugin ${F} has unmet dependencies: ${W.join(", ")}`);let J=this.plugins.get(F);if(J)J.status=o.ERROR,J.error=new _(F,`Unmet dependencies: ${W.join(", ")}`);this.events.emit(m.ERROR,F,J?.error)}}let A=new Set;for(let[w,F]of this.plugins)if(F.status===o.INITIALIZED)A.add(w);return this.logger.debug(`Resolved ${A.size} of ${k.length} plugins`),{initialized:A,failed:M}}getUnmetDependencies(f){let k=this.plugins.get(f);if(!k)return[];let{dependencies:U}=k,$=[];for(let M of U){let A=this.plugins.get(M);if(!A){$.push(M);continue}if(A.status!==o.INITIALIZED)$.push(M)}return $}}class kf{logger;constructor(f){this.logger=f.child("CapabilityRegistrar")}async registerCapabilities(f,k,U){if(U.tools.length>0)f.registerTools(k,U.tools),this.logger.debug(`Registered ${U.tools.length} tools from ${k}`);if(U.resources.length>0)f.registerResources(k,U.resources),this.logger.debug(`Registered ${U.resources.length} resources from ${k}`);if(U.instructions)f.registerInstructions(k,U.instructions),this.logger.debug(`Registered instructions from ${k}`)}}async function Wf(f){let U=(await T.runPromise(T.all(f.map(($)=>T.either(T.tryPromise({try:$,catch:(M)=>M}))),{concurrency:"unbounded"}))).find(jf.isLeft);if(U)throw U.left}class D{static instance=null;plugins=new Map;logger;events=new Of;daemonRegistry;shell=null;initializedPluginIds=[];pluginLifecycle;dependencyResolver;capabilityRegistrar;static getInstance(f,k){return D.instance??=new D(f,k),D.instance}static resetInstance(){D.instance=null}static createFresh(f,k){return new D(f,k)}setShell(f){this.shell=f}constructor(f,k){this.logger=f.child("PluginManager"),this.events=new Of,this.daemonRegistry=k,this.pluginLifecycle=new ff(this.plugins,this.events,this.daemonRegistry,f),this.dependencyResolver=new xf(this.plugins,this.events,f),this.capabilityRegistrar=new kf(f)}registerPlugin(f){if(!f.id)throw new _("unknown","Registration failed: Plugin must have an id");if(this.logger.debug(`Registering plugin: ${f.id} (${f.version})`),this.plugins.has(f.id)){let M=this.plugins.get(f.id)?.plugin.version;throw new _(f.id,`Registration failed: Plugin is already registered with version ${M}`)}let k=f.dependencies??[],U={plugin:f,status:o.REGISTERED,dependencies:k};this.plugins.set(f.id,U),this.logger.debug(`Registered plugin: ${f.id} (${f.version})`),this.events.emit(m.REGISTERED,f.id,f)}async initializePlugins(f){this.logger.debug("Initializing plugins..."),this.initializedPluginIds=[];let k=await this.dependencyResolver.resolveInitializationOrder(async(U)=>{await this.initializePlugin(U,f)});this.logger.debug(`Initialized ${k.initialized.size} of ${this.plugins.size} plugins`)}async initializePlugin(f,k){if(!this.shell)throw new _(f,"Cannot initialize plugin: Shell not set. Call setShell() first.");let U=this.shell;try{let $=await this.pluginLifecycle.initializePlugin(f,U,k);await this.capabilityRegistrar.registerCapabilities(U,f,$),this.initializedPluginIds.push(f)}catch($){throw await this.pluginLifecycle.failPluginInitialization(f,$),$}}async readyPlugins(){this.logger.debug("Dispatching plugin ready hooks...");try{await Wf(this.initializedPluginIds.map((f)=>()=>this.pluginLifecycle.readyPlugin(f)))}catch(f){for(let k of this.initializedPluginIds){let U=this.plugins.get(k);if(U?.status===o.ERROR)await this.pluginLifecycle.failPluginInitialization(k,U.error??f)}throw f}}async startPluginDaemons(){this.logger.debug("Starting plugin daemons..."),await Wf(this.initializedPluginIds.map((f)=>()=>this.pluginLifecycle.startPluginDaemons(f)))}getPlugin(f){return this.plugins.get(f)?.plugin}getPluginStatus(f){return this.plugins.get(f)?.status}hasPlugin(f){return this.plugins.has(f)}isPluginInitialized(f){return this.plugins.get(f)?.status===o.INITIALIZED}getAllPluginIds(){return Array.from(this.plugins.keys())}getAllPlugins(){return new Map(this.plugins)}getFailedPlugins(){return Array.from(this.plugins.entries()).filter((f)=>f[1].status===o.ERROR&&f[1].error!==void 0).map(([f,k])=>({id:f,error:k.error}))}getPluginPackageName(f){return this.plugins.get(f)?.plugin.packageName}async disablePlugin(f){await this.pluginLifecycle.disablePlugin(f)}async shutdownPlugins(){let f=new Set;for(let k of[...this.initializedPluginIds].reverse())await this.disablePlugin(k),f.add(k);for(let k of[...this.plugins.keys()].reverse())if(!f.has(k))await this.disablePlugin(k)}on(f,k){this.events.on(f,k)}once(f,k){this.events.once(f,k)}off(f,k){this.events.off(f,k)}getEventEmitter(){return this.events}}var cx=x.enum(["generating","draft","queued","published","failed"]),Df=x.enum(["generating","draft","queued","published","failed"]),yx=x.object({title:x.string(),slug:x.string().optional(),status:cx,publishedAt:x.string().datetime().optional(),excerpt:x.string(),author:x.string(),coverImageId:x.string().optional(),ogImageId:x.string().optional(),seriesName:x.string().optional(),seriesIndex:x.number().optional(),ogImage:x.string().url().optional(),ogDescription:x.string().optional(),twitterCard:x.enum(["summary","summary_large_image"]).optional(),canonicalUrl:x.string().url().optional(),atprotoUri:x.string().optional()}),Ow=yx.pick({title:!0,status:!0,publishedAt:!0,seriesName:!0,seriesIndex:!0}).extend({slug:x.string(),error:x.string().optional()}),vx=x.object({title:x.string(),status:Df,publishedAt:x.string().datetime().optional(),seriesName:x.string().optional(),seriesIndex:x.number().optional(),slug:x.string(),error:x.string().optional()}),hx=x.object({title:x.string(),slug:x.string().optional(),status:Df,publishedAt:x.string().datetime().optional(),excerpt:x.string(),author:x.string(),coverImageId:x.string().optional(),ogImageId:x.string().optional(),seriesName:x.string().optional(),seriesIndex:x.number().optional(),ogImage:x.string().url().optional(),ogDescription:x.string().optional(),twitterCard:x.enum(["summary","summary_large_image"]).optional(),canonicalUrl:x.string().url().optional(),atprotoUri:x.string().optional()}),gx=Uf.extend({entityType:x.literal("post"),metadata:vx}),Rf=gx.extend({frontmatter:hx,body:x.string(),coverImageUrl:x.string().optional()}),Ww=Rf.extend({url:x.string().optional(),typeLabel:x.string().optional(),listUrl:x.string().optional(),listLabel:x.string().optional(),seriesUrl:x.string().optional(),coverImageUrl:x.string().optional(),ogImageUrl:x.string().optional(),coverImageWidth:x.number().optional(),coverImageHeight:x.number().optional(),coverImageSrcset:x.string().optional(),coverImageSizes:x.string().optional()}),jw=Rf.extend({url:x.string(),typeLabel:x.string(),listUrl:x.string(),listLabel:x.string(),seriesUrl:x.string().optional(),coverImageUrl:x.string().optional(),ogImageUrl:x.string().optional(),coverImageWidth:x.number().optional(),coverImageHeight:x.number().optional(),coverImageSrcset:x.string().optional(),coverImageSizes:x.string().optional()});
|
|
2
|
+
import{o as c}from"./index-0jj13cwd.js";import{$ as n,D as R,E as i,L as jf,M as Tf,N as Y,O as S,P as T,T as s,U as Uf,V as Z,X as a,Z as p,_ as wf,aa as X,ba as P}from"./index-q6b959de.js";import{na as v,oa as h,ta as Af,va as B}from"./index-ejwmsqv7.js";import{Pa as x}from"./index-awx4ta1w.js";var E=/^upload-[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;var rx=x.object({id:x.string().regex(E),ref:x.object({kind:x.string().min(1),id:x.string().regex(E)}),filename:x.string().min(1),mediaType:x.string().min(1),sizeBytes:x.number().nonnegative(),createdAt:x.string().datetime(),metadata:x.record(x.string(),x.unknown()).optional()});function z(f){if(typeof f!=="object"||f===null||!("entityId"in f))return;let k=f.entityId;return typeof k==="string"&&k.trim().length>0?k.trim():void 0}function $f(f){if(typeof f!=="object"||f===null||!("coverImage"in f))return;let k=f.coverImage;if(k===void 0||k===!1)return;if(k===!0)return{generate:!0};if(typeof k!=="object"||k===null)return;let U=k;if(U.generate===!1)return;let $=U.prompt?.trim();return{generate:!0,...$&&{prompt:$}}}function G(f){return Object.fromEntries(Object.entries(f).filter(([,k])=>k!==void 0))}function Mf(f){let k={...f};return delete k.status,delete k.error,G(k)}class uf extends c{context;entityType;constructor(f,k,U){super(f,{schema:U.schema,jobTypeName:U.jobTypeName});this.context=k,this.entityType=U.entityType}async afterCreate(f,k,U,$){}async onGenerationFailure(f,k){}validateAndParse(f){let k=super.validateAndParse(f);if(!k)return null;let U=$f(f);if(typeof k!=="object")return k;let $=z(f);if(!U&&!$)return k;return Object.assign(k,{...U&&{coverImage:U},...$&&{entityId:$}}),k}async process(f,k,U){try{await this.reportProgress(U,{progress:B.START,message:`Starting ${this.jobTypeName}`});let $=await this.generate(f,U),M=z(f),A=M?this.applyPreallocatedEntityId(M,$):$;await this.reportProgress(U,{progress:B.SAVE,message:`Saving ${this.entityType} to database`});let w=M?await this.updatePreallocatedStub(M,A):await this.context.entityService.createEntity({entity:{id:A.id,entityType:this.entityType,content:A.content,metadata:A.metadata},options:A.createOptions});return await this.afterCreate(f,w.entityId,U,A),await this.enqueueGenericCoverImageIfRequested(f,w.entityId,U,A),await this.reportProgress(U,{progress:B.COMPLETE,message:`${A.title??this.entityType} created successfully`}),{success:!0,entityId:w.entityId,...A.resultExtras}}catch($){if($ instanceof t)return await this.markPreallocatedStubFailed(f,$.message),await this.onGenerationFailure(f,$.message),{success:!1,error:$.message};let M=R($);return this.logger.error(`${this.jobTypeName} job failed`,{error:$,jobId:k,data:this.summarizeDataForLog(f)}),await this.markPreallocatedStubFailed(f,M),await this.onGenerationFailure(f,M),Af.failure($)}}applyPreallocatedEntityId(f,k){let U={...k.metadata},$=k.content,M=k.resultExtras;if(typeof U.slug==="string")U.slug=f,$=n($,"slug",f),M={...M,slug:f};return{...k,id:f,content:$,metadata:U,...M&&{resultExtras:M}}}async updatePreallocatedStub(f,k){let U=await this.context.entityService.getEntity({entityType:this.entityType,id:f,visibilityScope:"restricted"});if(!U)throw Error(`Pre-allocated entity stub not found: ${this.entityType}/${f}`);let $=this.mergeStubWithGenerated(U,k);return this.context.entityService.updateEntity({entity:{...U,id:f,entityType:this.entityType,content:$.content,metadata:$.metadata}})}mergeStubWithGenerated(f,k){let U=Mf(p(f.content).frontmatter),$=Mf(f.metadata),M=G(k.metadata),A=p(k.content),w=G(A.frontmatter),F=G({...U,...M,...w});return this.context.entities.getEffectiveFrontmatterSchema(this.entityType)?.parse(F),{content:wf(F,A.content),metadata:{...$,...M}}}async markPreallocatedStubFailed(f,k){let U=z(f);if(!U)return;try{let $=await this.context.entityService.getEntity({entityType:this.entityType,id:U,visibilityScope:"restricted"});if(!$)return;await this.context.entityService.updateEntity({entity:{...$,content:n(n($.content,"status","failed"),"error",k),metadata:{...$.metadata,status:"failed",error:k}}})}catch($){this.logger.warn("Failed to mark generation stub as failed",{error:$,entityId:U,entityType:this.entityType})}}async enqueueGenericCoverImageIfRequested(f,k,U,$){let M=$f(f);if(!M)return;await this.reportProgress(U,{progress:90,message:"Queueing cover image generation"});let A=$.title??k;await this.context.jobs.enqueue({type:"image:image-generate",data:{prompt:M.prompt??`Editorial cover image for: ${A}. `,title:`${A} Cover`,aspectRatio:"16:9",targetEntityType:this.entityType,targetEntityId:k,entityTitle:A,entityContent:$.content},toolContext:{interfaceType:"job",userId:"system"}})}failEarly(f){throw new t(f)}}class t extends Error{constructor(f){super(f);this.name="GenerationFailure"}}var Yf=x.object({kind:x.string().min(1),id:x.string().min(1)}),sf=x.object({kind:x.string().min(1),filename:x.string().min(1),mediaType:x.string().min(1),sizeBytes:x.number().nonnegative().optional(),source:Yf.optional()}),Vk=x.array(sf),mk=x.array(h),_k=x.array(v),Jk=x.record(x.string(),x.unknown());var jk=x.record(x.string(),x.unknown());var Yk=x.record(x.string(),x.unknown());var Xf=new Map([[".png","image/png"],[".jpg","image/jpeg"],[".jpeg","image/jpeg"],[".webp","image/webp"],[".gif","image/gif"],[".pdf","application/pdf"]]),Xk=new Set(Xf.values());async function Sx(f){let{entityType:k,title:U,deriveId:$,regeneratePrompt:M,context:A}=f,w=$(U),F=await A.entityService.getEntity({entityType:k,id:w});if(!F||F.metadata.status==="generating")return U;A.logger.debug(`Entity ID collision: ${k}/${w}, asking AI for a new title`);let W=x.object({title:x.string().max(80).describe("A short, unique title (2-6 words)")}),{object:J}=await A.ai.generateObject(`The title "${U}" is already taken. ${M}`,W),H=J.title;return A.logger.debug(`AI suggested new title: "${H}"`),H}var g=s.extend({id:x.literal("brain-character"),entityType:x.literal("brain-character")}),q=x.object({name:x.string().describe("The brain's friendly display name"),role:x.string().describe("The brain's primary role"),purpose:x.string().describe("The brain's purpose and goals"),values:x.array(x.string()).describe("Core values that guide behavior")});var Vf=x.record(x.string(),x.unknown());class l extends X{constructor(){super({entityType:"brain-character",purpose:"The brain's own identity, character, and purpose (singleton).",schema:g,frontmatterSchema:q,isSingleton:!0,hasBody:!1})}createCharacterContent(f){return this.buildMarkdown("",f)}parseCharacterBody(f){return this.parseFrontmatter(f)}toMarkdown(f){let k=this.parseFrontmatter(f.content);return this.buildMarkdown("",Vf.parse(k))}fromMarkdown(f){return{content:f,entityType:"brain-character"}}extractMetadata(f){let k=this.parseFrontmatter(f.content);return{role:k.role,values:k.values}}generateFrontMatter(f){let k=this.parseFrontmatter(f.content);return this.buildMarkdown("",Vf.parse(k))}}class j extends P{static instance=null;adapter=new l;static getDefaultCharacter(){return{name:"Brain",role:"Knowledge assistant",purpose:"Help organize, understand, and retrieve information from your knowledge base",values:["clarity","accuracy","helpfulness"]}}static getInstance(f,k,U){return j.instance??=new j(f,k,U),j.instance}static resetInstance(){j.instance=null}static createFresh(f,k,U){return new j(f,k,U)}constructor(f,k,U){super(f,k,"brain-character",U??j.getDefaultCharacter(),Z("brain character is loaded at bootstrap before any user is in scope"))}parseBody(f){return this.adapter.parseCharacterBody(f)}createContent(f){return this.adapter.createCharacterContent(f)}getCharacter(){return this.get()}getCharacterContent(){return this.getContent()}}var I=s.extend({id:x.literal("anchor-profile"),entityType:x.literal("anchor-profile")}),K=x.object({name:x.string().describe("Name (person or organization)"),kind:x.enum(["professional","team","collective"]).describe("Type of anchor: professional (individual), team, or collective"),organization:x.string().optional().describe("Organization the anchor belongs to"),description:x.string().optional().describe("Short description or biography"),avatar:x.string().optional().describe("URL or asset path to avatar/logo"),website:x.string().optional().describe("Primary website URL"),email:x.string().optional().describe("Contact email"),socialLinks:x.array(x.object({platform:x.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:x.string().describe("Profile or contact URL"),label:x.string().optional().describe("Optional display label")})).optional().describe("Social media and contact links")});var Ex=x.record(x.string(),x.unknown());class Q extends X{constructor(){super({entityType:"anchor-profile",purpose:"The profile of the brain's anchor owner (singleton).",schema:I,frontmatterSchema:K,isSingleton:!0,hasBody:!0})}createProfileContent(f){let k=K.parse(f);return this.buildMarkdown("",k)}parseProfileBody(f,k){if(k){let{metadata:U,content:$}=a(f,k);return $?{...U,story:$}:U}return this.parseFrontmatter(f)}fromMarkdown(f){return{content:f,entityType:"anchor-profile"}}extractMetadata(f){let k=this.parseFrontmatter(f.content);return{name:k.name,email:k.email,website:k.website}}generateFrontMatter(f){let k=this.parseFrontmatter(f.content);return this.buildMarkdown("",Ex.parse(k))}}var d=x.object({tagline:x.string().optional().describe("Short, punchy one-liner for homepage"),intro:x.string().optional().describe("Optional longer introduction for homepage"),story:x.string().optional().describe("Extended bio/narrative (multi-paragraph markdown)")}),mf=d.extend({role:x.string().optional().describe("Professional role or working identity"),audience:x.string().optional().describe("Primary audience or community served"),expertise:x.array(x.string()).optional().describe("Skills, domains, areas of focus"),currentFocus:x.string().optional().describe("What you're currently working on"),availability:x.string().optional().describe("What you're open to (consulting, speaking, etc.)"),desiredTone:x.string().optional().describe("Preferred tone for profile-shaped outputs")});async function e(f){let U=(await f.listEntities({entityType:"anchor-profile",options:{limit:1}}))[0];if(!U)throw Error("Profile not found \u2014 create an anchor-profile entity");return U.content}async function _f(f,k){let U=await e(f);return new Q().parseProfileBody(U,k)}class O extends P{static instance=null;adapter=new Q;static getDefaultProfile(){return{name:"Unknown",kind:"professional"}}static getInstance(f,k,U){return O.instance??=new O(f,k,U),O.instance}static resetInstance(){O.instance=null}static createFresh(f,k,U){return new O(f,k,U)}constructor(f,k,U){super(f,k,"anchor-profile",U??O.getDefaultProfile(),Z("anchor profile is loaded at bootstrap before any user is in scope"))}parseBody(f){return this.adapter.parseProfileBody(f)}createContent(f){return this.adapter.createProfileContent(f)}getProfile(){return this.get()}getProfileContent(){return this.getContent()}}var Jf=x.looseObject({id:x.string(),description:x.string(),name:x.string().optional(),tags:x.array(x.string()).optional().default([])});var zx=x.looseObject({uri:x.string(),params:x.record(x.string(),x.unknown()).optional()}),px=x.looseObject({name:x.string(),url:x.string(),description:x.string().optional(),skills:x.array(Jf).optional().default([]),capabilities:x.looseObject({extensions:x.array(zx).optional().default([])}).optional()});var tx=x.object({name:x.string(),description:x.string(),tags:x.array(x.string()),examples:x.array(x.string())});import{EventEmitter as Of}from"events";var o={REGISTERED:"registered",INITIALIZED:"initialized",ERROR:"error",DISABLED:"disabled"},m={REGISTERED:"plugin:registered",BEFORE_INITIALIZE:"plugin:before_initialize",INITIALIZED:"plugin:initialized",ERROR:"plugin:error",DISABLED:"plugin:disabled"};class _ extends Error{pluginId;constructor(f,k){super(`Plugin ${f}: ${k}`);this.name="PluginError",this.pluginId=f}}class r{scope;closePromise=null;closed=!1;constructor(){this.scope=T.runSync(S.make())}addFinalizer(f){if(this.closed)throw Error("Cannot register a resource after plugin teardown");T.runSync(S.addFinalizer(this.scope,T.promise(async()=>{await f()})))}close(f=Y.void){return this.closed=!0,this.closePromise??=this.closeScope(f),this.closePromise}async closeScope(f){let k=await T.runPromiseExit(S.close(this.scope,f));if(Y.isFailure(k))throw Tf.squash(k.cause)}}function Nf(f,k){let U=f.getMessageBus(),$={send:(u)=>U.send(u),subscribe:(u,L,b)=>{let V=!0,N=U.subscribe(u,L,b),C=()=>{if(!V)return;V=!1,N()};return k.addFinalizer(C),C},unsubscribe:(u,L)=>U.unsubscribe(u,L)},M=f.getAttachmentRegistry(),A={...M,register:(u,L,b)=>{let V=!0,N=M.register(u,L,b),C=()=>{if(!V)return;V=!1,N()};return k.addFinalizer(C),C}},w=f.getEntityRegistry(),F=new Proxy(w,{get(u,L){let b=Reflect.get(u,L,u);if(L==="registerEntityType"&&typeof b==="function")return(...V)=>{let N=Reflect.apply(b,u,V),C=V[0];if(typeof C==="string")k.addFinalizer(()=>u.unregisterEntityType(C));return N};return typeof b==="function"?b.bind(u):b}}),W=f.getDataSourceRegistry(),J=new Proxy(W,{get(u,L){let b=Reflect.get(u,L,u);if(L==="register"&&typeof b==="function")return(...V)=>{let N=Reflect.apply(b,u,V),C=V[0];if(typeof C==="object"&&C!==null&&"id"in C&&typeof C.id==="string"){let Kf=C.id.includes(":")?C.id:`shell:${C.id}`;k.addFinalizer(()=>u.unregister(Kf))}return N};return typeof b==="function"?b.bind(u):b}}),H=f.getInsightsRegistry(),Hf=new Proxy(H,{get(u,L){let b=Reflect.get(u,L,u);if(L==="register"&&typeof b==="function")return(...V)=>{let N=Reflect.apply(b,u,V),C=V[0];if(typeof C==="string")k.addFinalizer(()=>u.unregister(C));return N};return typeof b==="function"?b.bind(u):b}});return new Proxy(f,{get(u,L){if(L==="getMessageBus")return()=>$;if(L==="getAttachmentRegistry")return()=>A;if(L==="getEntityRegistry")return()=>F;if(L==="getDataSourceRegistry")return()=>J;if(L==="getInsightsRegistry")return()=>Hf;let b=Reflect.get(u,L,u);return typeof b==="function"?b.bind(u):b}})}class ff{plugins;events;daemonRegistry;logger;resourceScopes=new Map;releasedPluginIds=new Set;constructor(f,k,U,$){this.plugins=f,this.events=k,this.daemonRegistry=U,this.logger=$.child("PluginLifecycle")}async initializePlugin(f,k,U){let $=this.plugins.get(f);if(!$)throw new _(f,"Registration failed: Plugin is not registered");let M=$.plugin,A=new r;A.addFinalizer(()=>k.unregisterPluginCapabilities?.(f)),A.addFinalizer(()=>k.getJobQueueService().unregisterPluginHandlers(f)),this.resourceScopes.set(f,A),this.releasedPluginIds.delete(f),this.logger.debug(`Initializing plugin: ${f}`);try{this.events.emit(m.BEFORE_INITIALIZE,f,M);let w=await M.register(Nf(k,A),U);return $.status=o.INITIALIZED,this.logger.debug(`Initialized plugin: ${f}`),this.events.emit(m.INITIALIZED,f,M),w}catch(w){throw this.logger.error(`Error initializing plugin ${f}: ${R(w)}`),await this.failPluginInitialization(f,w),w}}async readyPlugin(f){let k=this.plugins.get(f);if(!k)throw new _(f,"Ready failed: Plugin is not registered");if(k.status!==o.INITIALIZED){this.logger.debug(`Skipping ready hook for non-initialized plugin: ${f}`);return}try{await k.plugin.ready?.(),this.logger.debug(`Ready hook completed for plugin: ${f}`)}catch(U){let $=i(U);k.status=o.ERROR,k.error=$;try{this.events.emit(m.ERROR,f,$)}catch(M){this.logger.error(`Plugin error listener failed for ${f}`,M)}throw $}}async startPluginDaemons(f){let k=this.plugins.get(f);if(k?.status!==o.INITIALIZED)return;try{await this.daemonRegistry.startPlugin(f),this.logger.debug(`Started daemons for plugin: ${f}`)}catch(U){if(k.plugin.requiresDaemonStartup?.())throw U;this.logger.warn(`Daemon ${f} failed to start: ${R(U)}`)}}async failPluginInitialization(f,k){let U=this.plugins.get(f);if(!U)return;let $=U.status!==o.ERROR,M=i(k);if(U.status=o.ERROR,U.error=M,await this.releasePluginResources(f,Y.fail(k)),$)try{this.events.emit(m.ERROR,f,M)}catch(A){this.logger.error(`Plugin error listener failed for ${f}`,A)}}async disablePlugin(f){let k=this.plugins.get(f);if(!k){this.logger.warn(`Cannot disable plugin ${f}: not registered`);return}if(k.status===o.DISABLED)return;this.logger.debug(`Disabling plugin: ${f}`);let U=k.status===o.ERROR;if(await this.releasePluginResources(f,Y.void),!U)k.status=o.DISABLED,this.events.emit(m.DISABLED,f,k.plugin);this.logger.debug(`Disabled plugin: ${f}`)}async releasePluginResources(f,k){if(this.releasedPluginIds.has(f))return;this.releasedPluginIds.add(f);let U=this.plugins.get(f);if(!U)return;try{await this.daemonRegistry.stopPlugin(f),this.logger.debug(`Stopped daemons for plugin: ${f}`)}catch(M){this.logger.error(`Failed to stop daemons for plugin: ${f}`,M)}if(U.plugin.shutdown)try{await U.plugin.shutdown(),this.logger.debug(`Shutdown completed for plugin: ${f}`)}catch(M){this.logger.error(`Plugin shutdown failed for ${f}:`,M)}for(let M of this.daemonRegistry.getByPlugin(f))try{await this.daemonRegistry.unregister(M.name)}catch(A){this.logger.error(`Failed to unregister daemon ${M.name} for plugin ${f}`,A)}let $=this.resourceScopes.get(f);if(this.resourceScopes.delete(f),$)try{await $.close(k)}catch(M){this.logger.error(`Failed to close resources for plugin ${f}`,M)}}}class xf{plugins;events;logger;constructor(f,k,U){this.plugins=f,this.events=k,this.logger=U.child("DependencyResolver")}async resolveInitializationOrder(f){this.logger.debug("Resolving plugin initialization order...");let k=Array.from(this.plugins.keys()),U=new Set,$=!0;while($&&U.size<k.length){$=!1;for(let w of k){if(U.has(w))continue;if(!this.plugins.get(w))continue;if(this.getUnmetDependencies(w).length===0)try{await f(w),U.add(w),$=!0}catch(J){let H=R(J);this.logger.error(`Failed to initialize plugin ${w}: ${H}`),U.add(w),$=!0}}}let M=k.filter((w)=>!U.has(w));if(M.length>0){let w=M.join(", ");this.logger.error(`Failed to initialize plugins due to dependency issues: ${w}`);for(let F of M){let W=this.getUnmetDependencies(F);this.logger.error(`Plugin ${F} has unmet dependencies: ${W.join(", ")}`);let J=this.plugins.get(F);if(J)J.status=o.ERROR,J.error=new _(F,`Unmet dependencies: ${W.join(", ")}`);this.events.emit(m.ERROR,F,J?.error)}}let A=new Set;for(let[w,F]of this.plugins)if(F.status===o.INITIALIZED)A.add(w);return this.logger.debug(`Resolved ${A.size} of ${k.length} plugins`),{initialized:A,failed:M}}getUnmetDependencies(f){let k=this.plugins.get(f);if(!k)return[];let{dependencies:U}=k,$=[];for(let M of U){let A=this.plugins.get(M);if(!A){$.push(M);continue}if(A.status!==o.INITIALIZED)$.push(M)}return $}}class kf{logger;constructor(f){this.logger=f.child("CapabilityRegistrar")}async registerCapabilities(f,k,U){if(U.tools.length>0)f.registerTools(k,U.tools),this.logger.debug(`Registered ${U.tools.length} tools from ${k}`);if(U.resources.length>0)f.registerResources(k,U.resources),this.logger.debug(`Registered ${U.resources.length} resources from ${k}`);if(U.instructions)f.registerInstructions(k,U.instructions),this.logger.debug(`Registered instructions from ${k}`)}}async function Wf(f){let U=(await T.runPromise(T.all(f.map(($)=>T.either(T.tryPromise({try:$,catch:(M)=>M}))),{concurrency:"unbounded"}))).find(jf.isLeft);if(U)throw U.left}class D{static instance=null;plugins=new Map;logger;events=new Of;daemonRegistry;shell=null;initializedPluginIds=[];pluginLifecycle;dependencyResolver;capabilityRegistrar;static getInstance(f,k){return D.instance??=new D(f,k),D.instance}static resetInstance(){D.instance=null}static createFresh(f,k){return new D(f,k)}setShell(f){this.shell=f}constructor(f,k){this.logger=f.child("PluginManager"),this.events=new Of,this.daemonRegistry=k,this.pluginLifecycle=new ff(this.plugins,this.events,this.daemonRegistry,f),this.dependencyResolver=new xf(this.plugins,this.events,f),this.capabilityRegistrar=new kf(f)}registerPlugin(f){if(!f.id)throw new _("unknown","Registration failed: Plugin must have an id");if(this.logger.debug(`Registering plugin: ${f.id} (${f.version})`),this.plugins.has(f.id)){let M=this.plugins.get(f.id)?.plugin.version;throw new _(f.id,`Registration failed: Plugin is already registered with version ${M}`)}let k=f.dependencies??[],U={plugin:f,status:o.REGISTERED,dependencies:k};this.plugins.set(f.id,U),this.logger.debug(`Registered plugin: ${f.id} (${f.version})`),this.events.emit(m.REGISTERED,f.id,f)}async initializePlugins(f){this.logger.debug("Initializing plugins..."),this.initializedPluginIds=[];let k=await this.dependencyResolver.resolveInitializationOrder(async(U)=>{await this.initializePlugin(U,f)});this.logger.debug(`Initialized ${k.initialized.size} of ${this.plugins.size} plugins`)}async initializePlugin(f,k){if(!this.shell)throw new _(f,"Cannot initialize plugin: Shell not set. Call setShell() first.");let U=this.shell;try{let $=await this.pluginLifecycle.initializePlugin(f,U,k);await this.capabilityRegistrar.registerCapabilities(U,f,$),this.initializedPluginIds.push(f)}catch($){throw await this.pluginLifecycle.failPluginInitialization(f,$),$}}async readyPlugins(){this.logger.debug("Dispatching plugin ready hooks...");try{await Wf(this.initializedPluginIds.map((f)=>()=>this.pluginLifecycle.readyPlugin(f)))}catch(f){for(let k of this.initializedPluginIds){let U=this.plugins.get(k);if(U?.status===o.ERROR)await this.pluginLifecycle.failPluginInitialization(k,U.error??f)}throw f}}async startPluginDaemons(){this.logger.debug("Starting plugin daemons..."),await Wf(this.initializedPluginIds.map((f)=>()=>this.pluginLifecycle.startPluginDaemons(f)))}getPlugin(f){return this.plugins.get(f)?.plugin}getPluginStatus(f){return this.plugins.get(f)?.status}hasPlugin(f){return this.plugins.has(f)}isPluginInitialized(f){return this.plugins.get(f)?.status===o.INITIALIZED}getAllPluginIds(){return Array.from(this.plugins.keys())}getAllPlugins(){return new Map(this.plugins)}getFailedPlugins(){return Array.from(this.plugins.entries()).filter((f)=>f[1].status===o.ERROR&&f[1].error!==void 0).map(([f,k])=>({id:f,error:k.error}))}getPluginPackageName(f){return this.plugins.get(f)?.plugin.packageName}async disablePlugin(f){await this.pluginLifecycle.disablePlugin(f)}async shutdownPlugins(){let f=new Set;for(let k of[...this.initializedPluginIds].reverse())await this.disablePlugin(k),f.add(k);for(let k of[...this.plugins.keys()].reverse())if(!f.has(k))await this.disablePlugin(k)}on(f,k){this.events.on(f,k)}once(f,k){this.events.once(f,k)}off(f,k){this.events.off(f,k)}getEventEmitter(){return this.events}}var cx=x.enum(["generating","draft","queued","published","failed"]),Df=x.enum(["generating","draft","queued","published","failed"]),yx=x.object({title:x.string(),slug:x.string().optional(),status:cx,publishedAt:x.string().datetime().optional(),excerpt:x.string(),author:x.string(),coverImageId:x.string().optional(),ogImageId:x.string().optional(),seriesName:x.string().optional(),seriesIndex:x.number().optional(),ogImage:x.string().url().optional(),ogDescription:x.string().optional(),twitterCard:x.enum(["summary","summary_large_image"]).optional(),canonicalUrl:x.string().url().optional(),atprotoUri:x.string().optional()}),Ow=yx.pick({title:!0,status:!0,publishedAt:!0,seriesName:!0,seriesIndex:!0}).extend({slug:x.string(),error:x.string().optional()}),vx=x.object({title:x.string(),status:Df,publishedAt:x.string().datetime().optional(),seriesName:x.string().optional(),seriesIndex:x.number().optional(),slug:x.string(),error:x.string().optional()}),hx=x.object({title:x.string(),slug:x.string().optional(),status:Df,publishedAt:x.string().datetime().optional(),excerpt:x.string(),author:x.string(),coverImageId:x.string().optional(),ogImageId:x.string().optional(),seriesName:x.string().optional(),seriesIndex:x.number().optional(),ogImage:x.string().url().optional(),ogDescription:x.string().optional(),twitterCard:x.enum(["summary","summary_large_image"]).optional(),canonicalUrl:x.string().url().optional(),atprotoUri:x.string().optional()}),gx=Uf.extend({entityType:x.literal("post"),metadata:vx}),Rf=gx.extend({frontmatter:hx,body:x.string(),coverImageUrl:x.string().optional()}),Ww=Rf.extend({url:x.string().optional(),typeLabel:x.string().optional(),listUrl:x.string().optional(),listLabel:x.string().optional(),seriesUrl:x.string().optional(),coverImageUrl:x.string().optional(),ogImageUrl:x.string().optional(),coverImageWidth:x.number().optional(),coverImageHeight:x.number().optional(),coverImageSrcset:x.string().optional(),coverImageSizes:x.string().optional()}),jw=Rf.extend({url:x.string(),typeLabel:x.string(),listUrl:x.string(),listLabel:x.string(),seriesUrl:x.string().optional(),coverImageUrl:x.string().optional(),ogImageUrl:x.string().optional(),coverImageWidth:x.number().optional(),coverImageHeight:x.number().optional(),coverImageSrcset:x.string().optional(),coverImageSizes:x.string().optional()});
|
|
3
3
|
export{uf as d,Sx as e,K as f,d as g,mf as h,_f as i,yx as j,gx as k,Rf as l,Ww as m,jw as n};
|
|
4
4
|
|
|
5
5
|
//# debugId=8B3EE0654BE53B2B64756E2164756E21
|
|
6
|
-
//# sourceMappingURL=index-
|
|
6
|
+
//# sourceMappingURL=index-5ksrvnfa.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{j as v,k as G}from"./index-
|
|
2
|
+
import{j as v,k as G}from"./index-5ksrvnfa.js";import{aa as D}from"./index-q6b959de.js";import{Da as z}from"./index-d8kywpxf.js";class H extends D{constructor(){super({entityType:"post",purpose:"A long-form published article, essay, or blog post written for an audience.",schema:G,frontmatterSchema:v,supportsCoverImage:!0})}toMarkdown(j){let q=this.extractBody(j.content);try{let x=this.parseFrontMatter(j.content,v),I={...x,slug:x.slug??j.metadata.slug};return this.buildMarkdown(q,I)}catch{return q}}fromMarkdown(j){let q=this.parseFrontMatter(j,v),x=q.slug??z(q.title);return{content:j,entityType:"post",metadata:{title:q.title,slug:x,status:q.status,publishedAt:q.publishedAt,seriesName:q.seriesName,seriesIndex:q.seriesIndex}}}parsePostFrontmatter(j){return this.parseFrontMatter(j.content,v)}createPostContent(j,q){return this.buildMarkdown(q,j)}buildStub(j){let q={title:j.title,slug:j.id,status:"generating",excerpt:"",author:"AI"};return{content:this.buildMarkdown("",q),metadata:{title:j.title,slug:j.id,status:"generating"}}}}var M=new H;
|
|
3
3
|
export{H as a,M as b};
|
|
4
4
|
|
|
5
5
|
//# debugId=30A48AC66CFBFF8764756E2164756E21
|
|
6
|
-
//# sourceMappingURL=index-
|
|
6
|
+
//# sourceMappingURL=index-fchahqen.js.map
|
|
@@ -49,7 +49,7 @@ return `+str.trim()+`;
|
|
|
49
49
|
`?$+`
|
|
50
50
|
`:$}});var yV=p((Wr,gV)=>{var mj=h1();gV.exports=function($,Z){let X=mj(Z);if($.data==null)$.data={};if(typeof X.excerpt==="function")return X.excerpt($,X);let J=$.data.excerpt_separator||X.excerpt_separator;if(J==null&&(X.excerpt===!1||X.excerpt==null))return $;let Y=typeof X.excerpt==="string"?X.excerpt:J||X.delimiters[0],G=$.content.indexOf(Y);if(G!==-1)$.excerpt=$.content.slice(0,G);return $}});var dV=p((Kr,mV)=>{var hV=E1(),dj=p2(),D4=tZ();mV.exports=function($){if(hV($)!=="object")$={content:$};if(hV($.data)!=="object")$.data={};if($.contents&&$.content==null)$.content=$.contents;return D4.define($,"orig",D4.toBuffer($.content)),D4.define($,"language",$.language||""),D4.define($,"matter",$.matter||""),D4.define($,"stringify",function(Z,X){if(X&&X.language)$.language=X.language;return dj($,Z,X)}),$.content=D4.toString($.content),$.isEmpty=!1,$.excerpt="",$}});var pV=p((Ur,cV)=>{var cj=c2(),pj=h1();cV.exports=function($,Z,X){let J=pj(X),Y=cj($,J);if(typeof Y.parse!=="function")throw TypeError('expected "'+$+'.parse" to be a function');return Y.parse(Z,J)}});var f2=p((Vr,oV)=>{var uj=S1("fs"),fj=hK(),u2=h1(),oj=p2(),uV=yV(),nj=d2(),rj=dV(),lj=pV(),fV=tZ();function U8($,Z){if($==="")return{data:{},content:$,excerpt:"",orig:$};let X=rj($),J=U8.cache[X.content];if(!Z){if(J)return X=Object.assign({},J),X.orig=J.orig,X;U8.cache[X.content]=X}return ij(X,Z)}function ij($,Z){let X=u2(Z),J=X.delimiters[0],Y=`
|
|
51
51
|
`+X.delimiters[1],G=$.content;if(X.language)$.language=X.language;let Q=J.length;if(!fV.startsWith(G,J,Q))return uV($,X),$;if(G.charAt(Q)===J.slice(-1))return $;G=G.slice(Q);let H=G.length,W=U8.language(G,X);if(W.name)$.language=W.name,G=G.slice(W.raw.length);let U=G.indexOf(Y);if(U===-1)U=H;if($.matter=G.slice(0,U),$.matter.replace(/^\s*#[^\n]+/gm,"").trim()==="")$.isEmpty=!0,$.empty=$.content,$.data={};else $.data=lj($.language,$.matter,X);if(U===H)$.content="";else{if($.content=G.slice(U+Y.length),$.content[0]==="\r")$.content=$.content.slice(1);if($.content[0]===`
|
|
52
|
-
`)$.content=$.content.slice(1)}if(uV($,X),X.sections===!0||typeof X.section==="function")fj($,X.section);return $}U8.engines=nj;U8.stringify=function($,Z,X){if(typeof $==="string")$=U8($,X);return oj($,Z,X)};U8.read=function($,Z){let X=uj.readFileSync($,"utf8"),J=U8(X,Z);return J.path=$,J};U8.test=function($,Z){return fV.startsWith($,u2(Z).delimiters[0])};U8.language=function($,Z){let J=u2(Z).delimiters[0];if(U8.test($))$=$.slice(J.length);let Y=$.slice(0,$.search(/\r?\n/));return{raw:Y,name:Y?Y.trim():""}};U8.cache={};U8.clearCache=function(){U8.cache={}};oV.exports=U8});var p_=P.enum(["public","shared","restricted"]),j1=P.union([p_,P.literal("private")]).optional().transform(($)=>{if($===void 0)return"public";if($==="private")return"restricted";return $});function RK($){if($==="anchor")return"restricted";if($==="trusted")return"shared";return"public"}var o_="note",F2=P.object({id:P.string(),entityType:P.string(),content:P.string(),created:P.string().datetime(),updated:P.string().datetime(),visibility:j1,metadata:P.record(P.string(),P.unknown()),contentHash:P.string()}),n_=P.enum(["public","shared","restricted"]),r_=P.object({id:P.string(),entityType:P.string(),content:P.string(),created:P.string().datetime(),updated:P.string().datetime(),visibility:P.union([n_,P.literal("private")]).optional().transform(($)=>{if($===void 0)return"public";if($==="private")return"restricted";return $}),metadata:P.record(P.string(),P.unknown()),contentHash:P.string()}),IK=P.object({}),l_=P.object({mediaType:P.string(),url:P.string(),downloadUrl:P.string().optional(),previewUrl:P.string().optional(),filename:P.string().optional(),sizeBytes:P.number().optional(),source:P.object({entityType:P.string().optional(),entityId:P.string().optional(),attachmentType:P.string().optional()}).optional()});var eZ=nV(f2(),1);function n2($,Z){if(Object.keys(Z).length===0)return $;let X=Object.fromEntries(Object.entries(Z).filter(([,J])=>J!==void 0));return eZ.default.stringify($,X)}function o2($){if($ instanceof Date)return $.toISOString();if(Array.isArray($))return $.map(o2);if($!==null&&typeof $==="object"){let Z={};for(let[X,J]of Object.entries($))Z[X]=o2(J);return Z}return $}function r$($,Z){let{content:X,data:J}=eZ.default($),Y=o2(J);return{content:X.trim(),metadata:Z.parse(Y)}}function r2($){if(Object.keys($).length===0)return"";let X=eZ.default.stringify("",$).match(/^---\n[\s\S]*?\n---/);return X?X[0]:""}var zr=P.object({visibility:P.enum(["public","shared","restricted","private"]).optional().transform(($)=>{if($===void 0)return"public";return $==="private"?"restricted":$})});function $X($){return $ instanceof Error?$.message:String($)}function Or($){return $ instanceof Error?$:Error(String($))}var Pr=P.looseObject({issues:P.array(P.looseObject({message:P.string()}))});class m1 extends Error{entityType;originalError;constructor($,Z){super(`Invalid entity data for ${$}: ${$X(Z)}`);this.name="EntityValidationError",this.entityType=$,this.originalError=Z}}var sj={generateBodyTemplate:()=>""},l2=P.record(P.string(),P.unknown());class ZX{entityType;purpose;schema;frontmatterSchema;isSingleton;hasBody;supportsCoverImage;fmSchema;bodyFormatter;constructor($){if(this.entityType=$.entityType,this.purpose=$.purpose,this.schema=$.schema,this.frontmatterSchema=$.frontmatterSchema,this.fmSchema=$.frontmatterSchema,this.bodyFormatter=$.bodyFormatter??sj,$.isSingleton!==void 0)this.isSingleton=$.isSingleton;if($.hasBody!==void 0)this.hasBody=$.hasBody;if($.supportsCoverImage!==void 0)this.supportsCoverImage=$.supportsCoverImage}toMarkdown($){let Z=this.renderBody($),J={...this.readExistingFrontmatter($.content)},Y=Object.keys(this.frontmatterSchema.shape);for(let[G,Q]of Object.entries($.metadata))if(Y.includes(G))J[G]=Q;return this.buildMarkdown(Z,J)}renderBody($){return this.extractBody($.content)}readExistingFrontmatter($){try{return r$($,l2).metadata}catch{return{}}}extractMetadata($){return $.metadata}parseFrontMatter($,Z){try{return r$($,Z).metadata}catch(X){throw new m1(this.entityType,X)}}getBodyTemplate(){return this.bodyFormatter.generateBodyTemplate()}generateFrontMatter($){return r2(l2.parse($.metadata))}extractBody($){try{return r$($,l2).content}catch{return $}}parseFrontmatter($){try{return r$($,this.fmSchema).metadata}catch(Z){throw new m1(this.entityType,Z)}}buildMarkdown($,Z){return n2($,Z)}}var tj=P.object({currentPage:P.number(),totalPages:P.number(),totalItems:P.number(),pageSize:P.number(),hasNextPage:P.boolean(),hasPrevPage:P.boolean()});function ej($,Z,X){let J=Math.max(1,Math.ceil($/X));return{currentPage:Z,totalPages:J,totalItems:$,pageSize:X,hasNextPage:Z<J,hasPrevPage:Z>1}}function $E($,Z){let{page:X,limit:J,pageSize:Y}=Z;if(X!==void 0){let G=X,Q=Y??J??$.length,H=$.length,W=Math.ceil(H/Q),U=(G-1)*Q,z=U+Q;return{items:$.slice(U,z),pagination:{currentPage:G,totalPages:W,totalItems:H,pageSize:Q,hasNextPage:G<W,hasPrevPage:G>1}}}if(J!==void 0)return{items:$.slice(0,J),pagination:null};return{items:$,pagination:null}}import{createClient as qi}from"@libsql/client";var I=Symbol.for("drizzle:entityKind");function V8($,Z){if(!$||typeof $!=="object")return!1;if($ instanceof Z)return!0;if(!Object.prototype.hasOwnProperty.call(Z,I))throw Error(`Class "${Z.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let X=Object.getPrototypeOf($).constructor;if(X)while(X){if(I in X&&X[I]===Z[I])return!0;X=Object.getPrototypeOf(X)}return!1}class s6{constructor($,Z){this.table=$,this.config=Z,this.name=Z.name,this.keyAsName=Z.keyAsName,this.notNull=Z.notNull,this.default=Z.default,this.defaultFn=Z.defaultFn,this.onUpdateFn=Z.onUpdateFn,this.hasDefault=Z.hasDefault,this.primary=Z.primaryKey,this.isUnique=Z.isUnique,this.uniqueName=Z.uniqueName,this.uniqueType=Z.uniqueType,this.dataType=Z.dataType,this.columnType=Z.columnType,this.generated=Z.generated,this.generatedIdentity=Z.generatedIdentity}static[I]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue($){return $}mapToDriverValue($){return $}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class i2{static[I]="ColumnBuilder";config;constructor($,Z,X){this.config={name:$,keyAsName:$==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:Z,columnType:X,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default($){return this.config.default=$,this.config.hasDefault=!0,this}$defaultFn($){return this.config.defaultFn=$,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn($){return this.config.onUpdateFn=$,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName($){if(this.config.name!=="")return;this.config.name=$}}var U5=Symbol.for("drizzle:Name");function rV($,...Z){return $(...Z)}function lV($,Z){return`${$[U5]}_${Z.join("_")}_unique`}class d1 extends s6{constructor($,Z){if(!Z.uniqueName)Z.uniqueName=lV($,[Z.name]);super($,Z);this.table=$}static[I]="PgColumn"}class ZE extends d1{static[I]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op($){return this.indexConfig.opClass=$,this}}class XE extends d1{static[I]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor($,Z){super($,Z);this.enum=Z.enum}getSQLType(){return this.enum.enumName}}var iV=Symbol.for("drizzle:isPgEnum");function sV($){return!!$&&typeof $==="function"&&iV in $&&$[iV]===!0}class JE extends d1{static[I]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor($,Z){super($,Z);this.enum=Z.enum}getSQLType(){return this.enum.enumName}}class XX{static[I]="Subquery";constructor($,Z,X,J=!1,Y=[]){this._={brand:"Subquery",sql:$,selectedFields:Z,alias:X,isWith:J,usedTables:Y}}}var aV="0.45.2";var s2,a2,tV={startActiveSpan($,Z){if(!s2)return Z();if(!a2)a2=s2.trace.getTracer("drizzle-orm",aV);return rV((X,J)=>J.startActiveSpan($,(Y)=>{try{return Z(Y)}catch(G){throw Y.setStatus({code:X.SpanStatusCode.ERROR,message:G instanceof Error?G.message:"Unknown error"}),G}finally{Y.end()}}),s2,a2)}};var z4=Symbol.for("drizzle:ViewBaseConfig");var t2=Symbol.for("drizzle:Schema"),eV=Symbol.for("drizzle:Columns"),$D=Symbol.for("drizzle:ExtraConfigColumns"),e2=Symbol.for("drizzle:OriginalName"),$G=Symbol.for("drizzle:BaseName"),c1=Symbol.for("drizzle:IsAlias"),ZD=Symbol.for("drizzle:ExtraConfigBuilder"),YE=Symbol.for("drizzle:IsDrizzleTable");class x0{static[I]="Table";static Symbol={Name:U5,Schema:t2,OriginalName:e2,Columns:eV,ExtraConfigColumns:$D,BaseName:$G,IsAlias:c1,ExtraConfigBuilder:ZD};[U5];[e2];[t2];[eV];[$D];[$G];[c1]=!1;[YE]=!0;[ZD]=void 0;constructor($,Z,X){this[U5]=this[e2]=$,this[t2]=Z,this[$G]=X}}function GE($){return $!==null&&$!==void 0&&typeof $.getSQL==="function"}function QE($){let Z={sql:"",params:[]};for(let X of $)if(Z.sql+=X.sql,Z.params.push(...X.params),X.typings?.length){if(!Z.typings)Z.typings=[];Z.typings.push(...X.typings)}return Z}class u8{static[I]="StringChunk";value;constructor($){this.value=Array.isArray($)?$:[$]}getSQL(){return new S0([this])}}class S0{constructor($){this.queryChunks=$;for(let Z of $)if(V8(Z,x0)){let X=Z[x0.Symbol.Schema];this.usedTables.push(X===void 0?Z[x0.Symbol.Name]:X+"."+Z[x0.Symbol.Name])}}static[I]="SQL";decoder=XD;shouldInlineParams=!1;usedTables=[];append($){return this.queryChunks.push(...$.queryChunks),this}toQuery($){return tV.startActiveSpan("drizzle.buildSQL",(Z)=>{let X=this.buildQueryFromSourceParams(this.queryChunks,$);return Z?.setAttributes({"drizzle.query.text":X.sql,"drizzle.query.params":JSON.stringify(X.params)}),X})}buildQueryFromSourceParams($,Z){let X=Object.assign({},Z,{inlineParams:Z.inlineParams||this.shouldInlineParams,paramStartIndex:Z.paramStartIndex||{value:0}}),{casing:J,escapeName:Y,escapeParam:G,prepareTyping:Q,inlineParams:H,paramStartIndex:W}=X;return QE($.map((U)=>{if(V8(U,u8))return{sql:U.value.join(""),params:[]};if(V8(U,JX))return{sql:Y(U.value),params:[]};if(U===void 0)return{sql:"",params:[]};if(Array.isArray(U)){let z=[new u8("(")];for(let[V,O]of U.entries())if(z.push(O),V<U.length-1)z.push(new u8(", "));return z.push(new u8(")")),this.buildQueryFromSourceParams(z,X)}if(V8(U,S0))return this.buildQueryFromSourceParams(U.queryChunks,{...X,inlineParams:H||U.shouldInlineParams});if(V8(U,x0)){let z=U[x0.Symbol.Schema],V=U[x0.Symbol.Name];return{sql:z===void 0||U[c1]?Y(V):Y(z)+"."+Y(V),params:[]}}if(V8(U,s6)){let z=J.getColumnCasing(U);if(Z.invokeSource==="indexes")return{sql:Y(z),params:[]};let V=U.table[x0.Symbol.Schema];return{sql:U.table[c1]||V===void 0?Y(U.table[x0.Symbol.Name])+"."+Y(z):Y(V)+"."+Y(U.table[x0.Symbol.Name])+"."+Y(z),params:[]}}if(V8(U,YD)){let z=U[z4].schema,V=U[z4].name;return{sql:z===void 0||U[z4].isAlias?Y(V):Y(z)+"."+Y(V),params:[]}}if(V8(U,ZG)){if(V8(U.value,YX))return{sql:G(W.value++,U),params:[U],typings:["none"]};let z=U.value===null?null:U.encoder.mapToDriverValue(U.value);if(V8(z,S0))return this.buildQueryFromSourceParams([z],X);if(H)return{sql:this.mapInlineParam(z,X),params:[]};let V=["none"];if(Q)V=[Q(U.encoder)];return{sql:G(W.value++,z),params:[z],typings:V}}if(V8(U,YX))return{sql:G(W.value++,U),params:[U],typings:["none"]};if(V8(U,S0.Aliased)&&U.fieldAlias!==void 0)return{sql:Y(U.fieldAlias),params:[]};if(V8(U,XX)){if(U._.isWith)return{sql:Y(U._.alias),params:[]};return this.buildQueryFromSourceParams([new u8("("),U._.sql,new u8(") "),new JX(U._.alias)],X)}if(sV(U)){if(U.schema)return{sql:Y(U.schema)+"."+Y(U.enumName),params:[]};return{sql:Y(U.enumName),params:[]}}if(GE(U)){if(U.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([U.getSQL()],X);return this.buildQueryFromSourceParams([new u8("("),U.getSQL(),new u8(")")],X)}if(H)return{sql:this.mapInlineParam(U,X),params:[]};return{sql:G(W.value++,U),params:[U],typings:["none"]}}))}mapInlineParam($,{escapeString:Z}){if($===null)return"null";if(typeof $==="number"||typeof $==="boolean")return $.toString();if(typeof $==="string")return Z($);if(typeof $==="object"){let X=$.toString();if(X==="[object Object]")return Z(JSON.stringify($));return Z(X)}throw Error("Unexpected param value: "+$)}getSQL(){return this}as($){if($===void 0)return this;return new S0.Aliased(this,$)}mapWith($){return this.decoder=typeof $==="function"?{mapFromDriverValue:$}:$,this}inlineParams(){return this.shouldInlineParams=!0,this}if($){return $?this:void 0}}class JX{constructor($){this.value=$}static[I]="Name";brand;getSQL(){return new S0([this])}}var XD={mapFromDriverValue:($)=>$},JD={mapToDriverValue:($)=>$},zl={...XD,...JD};class ZG{constructor($,Z=JD){this.value=$,this.encoder=Z}static[I]="Param";brand;getSQL(){return new S0([this])}}function l$($,...Z){let X=[];if(Z.length>0||$.length>0&&$[0]!=="")X.push(new u8($[0]));for(let[J,Y]of Z.entries())X.push(Y,new u8($[J+1]));return new S0(X)}(($)=>{function Z(){return new S0([])}$.empty=Z;function X(W){return new S0(W)}$.fromList=X;function J(W){return new S0([new u8(W)])}$.raw=J;function Y(W,U){let z=[];for(let[V,O]of W.entries()){if(V>0&&U!==void 0)z.push(U);z.push(O)}return new S0(z)}$.join=Y;function G(W){return new JX(W)}$.identifier=G;function Q(W){return new YX(W)}$.placeholder=Q;function H(W,U){return new ZG(W,U)}$.param=H})(l$||(l$={}));(($)=>{class Z{constructor(X,J){this.sql=X,this.fieldAlias=J}static[I]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new Z(this.sql,this.fieldAlias)}}$.Aliased=Z})(S0||(S0={}));class YX{constructor($){this.name=$}static[I]="Placeholder";getSQL(){return new S0([this])}}var HE=Symbol.for("drizzle:IsDrizzleView");class YD{static[I]="View";[z4];[HE]=!0;constructor({name:$,schema:Z,selectedFields:X,query:J}){this[z4]={name:$,originalName:$,schema:Z,selectedFields:X,query:J,isExisting:!J,isAlias:!1}}getSQL(){return new S0([this])}}s6.prototype.getSQL=function(){return new S0([this])};x0.prototype.getSQL=function(){return new S0([this])};XX.prototype.getSQL=function(){return new S0([this])};function C5($,Z){return{name:typeof $==="string"&&$.length>0?$:"",config:typeof $==="object"?$:Z}}var XG=typeof TextDecoder>"u"?null:new TextDecoder;class JG{static[I]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor($,Z){if(this.reference=()=>{let{name:X,columns:J,foreignColumns:Y}=$();return{name:X,columns:J,foreignTable:Y[0].table,foreignColumns:Y}},Z)this._onUpdate=Z.onUpdate,this._onDelete=Z.onDelete}onUpdate($){return this._onUpdate=$,this}onDelete($){return this._onDelete=$,this}build($){return new GD($,this)}}class GD{constructor($,Z){this.table=$,this.reference=Z.reference,this.onUpdate=Z._onUpdate,this.onDelete=Z._onDelete}static[I]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:$,columns:Z,foreignColumns:X}=this.reference(),J=Z.map((Q)=>Q.name),Y=X.map((Q)=>Q.name),G=[this.table[U5],...J,X[0].table[U5],...Y];return $??`${G.join("_")}_fk`}}function QD($,Z){return`${$[U5]}_${Z.join("_")}_unique`}class p0 extends i2{static[I]="SQLiteColumnBuilder";foreignKeyConfigs=[];references($,Z={}){return this.foreignKeyConfigs.push({ref:$,actions:Z}),this}unique($){return this.config.isUnique=!0,this.config.uniqueName=$,this}generatedAlwaysAs($,Z){return this.config.generated={as:$,type:"always",mode:Z?.mode??"virtual"},this}buildForeignKeys($,Z){return this.foreignKeyConfigs.map(({ref:X,actions:J})=>{return((Y,G)=>{let Q=new JG(()=>{let H=Y();return{columns:[$],foreignColumns:[H]}});if(G.onUpdate)Q.onUpdate(G.onUpdate);if(G.onDelete)Q.onDelete(G.onDelete);return Q.build(Z)})(X,J)})}}class u0 extends s6{constructor($,Z){if(!Z.uniqueName)Z.uniqueName=QD($,[Z.name]);super($,Z);this.table=$}static[I]="SQLiteColumn"}class HD extends p0{static[I]="SQLiteBigIntBuilder";constructor($){super($,"bigint","SQLiteBigInt")}build($){return new WD($,this.config)}}class WD extends u0{static[I]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue($){if(typeof Buffer<"u"&&Buffer.from){let Z=Buffer.isBuffer($)?$:$ instanceof ArrayBuffer?Buffer.from($):$.buffer?Buffer.from($.buffer,$.byteOffset,$.byteLength):Buffer.from($);return BigInt(Z.toString("utf8"))}return BigInt(XG.decode($))}mapToDriverValue($){return Buffer.from($.toString())}}class KD extends p0{static[I]="SQLiteBlobJsonBuilder";constructor($){super($,"json","SQLiteBlobJson")}build($){return new UD($,this.config)}}class UD extends u0{static[I]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue($){if(typeof Buffer<"u"&&Buffer.from){let Z=Buffer.isBuffer($)?$:$ instanceof ArrayBuffer?Buffer.from($):$.buffer?Buffer.from($.buffer,$.byteOffset,$.byteLength):Buffer.from($);return JSON.parse(Z.toString("utf8"))}return JSON.parse(XG.decode($))}mapToDriverValue($){return Buffer.from(JSON.stringify($))}}class VD extends p0{static[I]="SQLiteBlobBufferBuilder";constructor($){super($,"buffer","SQLiteBlobBuffer")}build($){return new DD($,this.config)}}class DD extends u0{static[I]="SQLiteBlobBuffer";mapFromDriverValue($){if(Buffer.isBuffer($))return $;return Buffer.from($)}getSQLType(){return"blob"}}function zD($,Z){let{name:X,config:J}=C5($,Z);if(J?.mode==="json")return new KD(X);if(J?.mode==="bigint")return new HD(X);return new VD(X)}class BD extends p0{static[I]="SQLiteCustomColumnBuilder";constructor($,Z,X){super($,"custom","SQLiteCustomColumn");this.config.fieldConfig=Z,this.config.customTypeParams=X}build($){return new OD($,this.config)}}class OD extends u0{static[I]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor($,Z){super($,Z);this.sqlName=Z.customTypeParams.dataType(Z.fieldConfig),this.mapTo=Z.customTypeParams.toDriver,this.mapFrom=Z.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue($){return typeof this.mapFrom==="function"?this.mapFrom($):$}mapToDriverValue($){return typeof this.mapTo==="function"?this.mapTo($):$}}function GX($){return(Z,X)=>{let{name:J,config:Y}=C5(Z,X);return new BD(J,Y,$)}}class QX extends p0{static[I]="SQLiteBaseIntegerBuilder";constructor($,Z,X){super($,Z,X);this.config.autoIncrement=!1}primaryKey($){if($?.autoIncrement)this.config.autoIncrement=!0;return this.config.hasDefault=!0,super.primaryKey()}}class HX extends u0{static[I]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class AD extends QX{static[I]="SQLiteIntegerBuilder";constructor($){super($,"number","SQLiteInteger")}build($){return new qD($,this.config)}}class qD extends HX{static[I]="SQLiteInteger"}class ND extends QX{static[I]="SQLiteTimestampBuilder";constructor($,Z){super($,"date","SQLiteTimestamp");this.config.mode=Z}defaultNow(){return this.default(l$`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build($){return new PD($,this.config)}}class PD extends HX{static[I]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue($){if(this.config.mode==="timestamp")return new Date($*1000);return new Date($)}mapToDriverValue($){let Z=$.getTime();if(this.config.mode==="timestamp")return Math.floor(Z/1000);return Z}}class wD extends QX{static[I]="SQLiteBooleanBuilder";constructor($,Z){super($,"boolean","SQLiteBoolean");this.config.mode=Z}build($){return new MD($,this.config)}}class MD extends HX{static[I]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue($){return Number($)===1}mapToDriverValue($){return $?1:0}}function p1($,Z){let{name:X,config:J}=C5($,Z);if(J?.mode==="timestamp"||J?.mode==="timestamp_ms")return new ND(X,J.mode);if(J?.mode==="boolean")return new wD(X,J.mode);return new AD(X)}class FD extends p0{static[I]="SQLiteNumericBuilder";constructor($){super($,"string","SQLiteNumeric")}build($){return new LD($,this.config)}}class LD extends u0{static[I]="SQLiteNumeric";mapFromDriverValue($){if(typeof $==="string")return $;return String($)}getSQLType(){return"numeric"}}class TD extends p0{static[I]="SQLiteNumericNumberBuilder";constructor($){super($,"number","SQLiteNumericNumber")}build($){return new _D($,this.config)}}class _D extends u0{static[I]="SQLiteNumericNumber";mapFromDriverValue($){if(typeof $==="number")return $;return Number($)}mapToDriverValue=String;getSQLType(){return"numeric"}}class RD extends p0{static[I]="SQLiteNumericBigIntBuilder";constructor($){super($,"bigint","SQLiteNumericBigInt")}build($){return new CD($,this.config)}}class CD extends u0{static[I]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function ID($,Z){let{name:X,config:J}=C5($,Z),Y=J?.mode;return Y==="number"?new TD(X):Y==="bigint"?new RD(X):new FD(X)}class jD extends p0{static[I]="SQLiteRealBuilder";constructor($){super($,"number","SQLiteReal")}build($){return new ED($,this.config)}}class ED extends u0{static[I]="SQLiteReal";getSQLType(){return"real"}}function xD($){return new jD($??"")}class SD extends p0{static[I]="SQLiteTextBuilder";constructor($,Z){super($,"string","SQLiteText");this.config.enumValues=Z.enum,this.config.length=Z.length}build($){return new kD($,this.config)}}class kD extends u0{static[I]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor($,Z){super($,Z)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}class vD extends p0{static[I]="SQLiteTextJsonBuilder";constructor($){super($,"json","SQLiteTextJson")}build($){return new bD($,this.config)}}class bD extends u0{static[I]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue($){return JSON.parse($)}mapToDriverValue($){return JSON.stringify($)}}function x8($,Z={}){let{name:X,config:J}=C5($,Z);if(J.mode==="json")return new vD(X);return new SD(X,J)}function gD(){return{blob:zD,customType:GX,integer:p1,numeric:ID,real:xD,text:x8}}var YG=Symbol.for("drizzle:SQLiteInlineForeignKeys");class u1 extends x0{static[I]="SQLiteTable";static Symbol=Object.assign({},x0.Symbol,{InlineForeignKeys:YG});[x0.Symbol.Columns];[YG]=[];[x0.Symbol.ExtraConfigBuilder]=void 0}function WE($,Z,X,J,Y=$){let G=new u1($,J,Y),Q=typeof Z==="function"?Z(gD()):Z,H=Object.fromEntries(Object.entries(Q).map(([U,z])=>{let V=z;V.setName(U);let O=V.build(G);return G[YG].push(...V.buildForeignKeys(O,G)),[U,O]})),W=Object.assign(G,H);if(W[x0.Symbol.Columns]=H,W[x0.Symbol.ExtraConfigColumns]=H,X)W[u1.Symbol.ExtraConfigBuilder]=X;return W}var WX=($,Z,X)=>{return WE($,Z,X)};class yD{constructor($,Z){this.name=$,this.value=Z}static[I]="SQLiteCheckBuilder";brand;build($){return new hD($,this)}}class hD{constructor($,Z){this.table=$,this.name=Z.name,this.value=Z.value}static[I]="SQLiteCheck";name;value}function mD($,Z){return new yD($,Z)}function KX(...$){if($[0].columns)return new GG($[0].columns,$[0].name);return new GG($)}class GG{static[I]="SQLitePrimaryKeyBuilder";columns;name;constructor($,Z){this.columns=$,this.name=Z}build($){return new dD($,this.columns,this.name)}}class dD{constructor($,Z,X){this.table=$,this.columns=Z,this.name=X}static[I]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[u1.Symbol.Name]}_${this.columns.map(($)=>$.name).join("_")}_pk`}}var UX=WX("entities",{id:x8("id").notNull(),entityType:x8("entityType").notNull(),content:x8("content").notNull(),contentHash:x8("contentHash").notNull(),visibility:x8("visibility",{enum:["public","shared","restricted"]}).notNull().default("public"),metadata:x8("metadata",{mode:"json"}).$type().notNull().default(l$`'{}'`),created:p1("created").notNull().$defaultFn(()=>Date.now()),updated:p1("updated").notNull().$defaultFn(()=>Date.now())},($)=>{return{pk:KX({columns:[$.id,$.entityType]}),visibilityCheck:mD("entities_visibility_check",l$`${$.visibility} IN ('public', 'shared', 'restricted')`)}});import{createClient as Ri}from"@libsql/client";var cD=GX({dataType(){return"F32_BLOB(1536)"},toDriver($){return Buffer.from($.buffer)},fromDriver($){return new Float32Array($.buffer,$.byteOffset,$.byteLength/4)}});var VX=WX("embeddings",{entityId:x8("entity_id").notNull(),entityType:x8("entity_type").notNull(),embedding:cD("embedding").notNull(),contentHash:x8("content_hash").notNull()},($)=>{return{pk:KX({columns:[$.entityId,$.entityType]})}});import{openSync as KE,writeSync as UE}from"fs";var i$={SILLY:0,VERBOSE:1,DEBUG:2,INFO:3,WARN:4,ERROR:5,NONE:6};class f8{static instance=null;level;context;useStderr;format;logFile;fileHandle;constructor($={},Z){if(this.level=$.level??i$.INFO,this.context=$.context??void 0,this.useStderr=$.useStderr??!1,this.format=$.format??"text",this.logFile=$.logFile,Z!==void 0)this.fileHandle=Z;else if(this.logFile)try{this.fileHandle=KE(this.logFile,"a")}catch{}}static getInstance($){if(!f8.instance)f8.instance=new f8($);else if($?.useStderr!==void 0)f8.instance.useStderr=$.useStderr;return f8.instance}static resetInstance(){f8.instance=null}static createFresh($){return new f8($)}formatEntry($,Z,X){let J=new Date().toISOString();if(this.format==="json"){let Y={ts:J,level:$,msg:Z};if(this.context)Y.ctx=this.context;if(X.length>0)Y.data=X;return JSON.stringify(Y)}return this.context?`[${J}] [${this.context}] ${Z}`:`[${J}] ${Z}`}write($,Z,X,J){if(this.format==="json")$(this.formatEntry(Z,X,J));else if(J.length>0)$(this.formatEntry(Z,X,[]),...J);else $(this.formatEntry(Z,X,[]));if(this.fileHandle!==void 0){let Y=this.formatJsonEntry(Z,X,J);try{UE(this.fileHandle,Y+`
|
|
52
|
+
`)$.content=$.content.slice(1)}if(uV($,X),X.sections===!0||typeof X.section==="function")fj($,X.section);return $}U8.engines=nj;U8.stringify=function($,Z,X){if(typeof $==="string")$=U8($,X);return oj($,Z,X)};U8.read=function($,Z){let X=uj.readFileSync($,"utf8"),J=U8(X,Z);return J.path=$,J};U8.test=function($,Z){return fV.startsWith($,u2(Z).delimiters[0])};U8.language=function($,Z){let J=u2(Z).delimiters[0];if(U8.test($))$=$.slice(J.length);let Y=$.slice(0,$.search(/\r?\n/));return{raw:Y,name:Y?Y.trim():""}};U8.cache={};U8.clearCache=function(){U8.cache={}};oV.exports=U8});var p_=P.enum(["public","shared","restricted"]),j1=P.union([p_,P.literal("private")]).optional().transform(($)=>{if($===void 0)return"public";if($==="private")return"restricted";return $});function RK($){if($==="anchor")return"restricted";if($==="trusted")return"shared";return"public"}var o_="note",F2=P.object({id:P.string(),entityType:P.string(),content:P.string(),created:P.string().datetime(),updated:P.string().datetime(),visibility:j1,metadata:P.record(P.string(),P.unknown()),contentHash:P.string()}),n_=P.enum(["public","shared","restricted"]),r_=P.object({id:P.string(),entityType:P.string(),content:P.string(),created:P.string().datetime(),updated:P.string().datetime(),visibility:P.union([n_,P.literal("private")]).optional().transform(($)=>{if($===void 0)return"public";if($==="private")return"restricted";return $}),metadata:P.record(P.string(),P.unknown()),contentHash:P.string()}),IK=P.object({}),l_=P.object({mediaType:P.string(),url:P.string(),downloadUrl:P.string().optional(),previewUrl:P.string().optional(),filename:P.string().optional(),sizeBytes:P.number().optional(),source:P.object({entityType:P.string().optional(),entityId:P.string().optional(),attachmentType:P.string().optional()}).optional()});var eZ=nV(f2(),1);function n2($,Z){if(Object.keys(Z).length===0)return $;let X=Object.fromEntries(Object.entries(Z).filter(([,J])=>J!==void 0));return eZ.default.stringify($,X)}function o2($){if($ instanceof Date)return $.toISOString();if(Array.isArray($))return $.map(o2);if($!==null&&typeof $==="object"){let Z={};for(let[X,J]of Object.entries($))Z[X]=o2(J);return Z}return $}function r$($,Z){let{content:X,data:J}=eZ.default($),Y=o2(J);return{content:X.trim(),metadata:Z.parse(Y)}}function r2($){if(Object.keys($).length===0)return"";let X=eZ.default.stringify("",$).match(/^---\n[\s\S]*?\n---/);return X?X[0]:""}var zr=P.object({visibility:P.enum(["public","shared","restricted","private"]).optional().transform(($)=>{if($===void 0)return"public";return $==="private"?"restricted":$})});function $X($){return $ instanceof Error?$.message:String($)}function Or($){return $ instanceof Error?$:Error(String($))}var Pr=P.looseObject({issues:P.array(P.looseObject({message:P.string()}))});class m1 extends Error{entityType;originalError;constructor($,Z){super(`Invalid entity data for ${$}: ${$X(Z)}`);this.name="EntityValidationError",this.entityType=$,this.originalError=Z}}var sj={generateBodyTemplate:()=>""},l2=P.record(P.string(),P.unknown());class ZX{entityType;purpose;schema;frontmatterSchema;isSingleton;hasBody;supportsCoverImage;publishedStatuses;fmSchema;bodyFormatter;constructor($){if(this.entityType=$.entityType,this.purpose=$.purpose,this.schema=$.schema,this.frontmatterSchema=$.frontmatterSchema,this.fmSchema=$.frontmatterSchema,this.bodyFormatter=$.bodyFormatter??sj,$.isSingleton!==void 0)this.isSingleton=$.isSingleton;if($.hasBody!==void 0)this.hasBody=$.hasBody;if($.supportsCoverImage!==void 0)this.supportsCoverImage=$.supportsCoverImage;if($.publishedStatuses!==void 0)this.publishedStatuses=$.publishedStatuses}toMarkdown($){let Z=this.renderBody($),J={...this.readExistingFrontmatter($.content)},Y=Object.keys(this.frontmatterSchema.shape);for(let[G,Q]of Object.entries($.metadata))if(Y.includes(G))J[G]=Q;return this.buildMarkdown(Z,J)}renderBody($){return this.extractBody($.content)}readExistingFrontmatter($){try{return r$($,l2).metadata}catch{return{}}}extractMetadata($){return $.metadata}parseFrontMatter($,Z){try{return r$($,Z).metadata}catch(X){throw new m1(this.entityType,X)}}getBodyTemplate(){return this.bodyFormatter.generateBodyTemplate()}generateFrontMatter($){return r2(l2.parse($.metadata))}extractBody($){try{return r$($,l2).content}catch{return $}}parseFrontmatter($){try{return r$($,this.fmSchema).metadata}catch(Z){throw new m1(this.entityType,Z)}}buildMarkdown($,Z){return n2($,Z)}}var tj=P.object({currentPage:P.number(),totalPages:P.number(),totalItems:P.number(),pageSize:P.number(),hasNextPage:P.boolean(),hasPrevPage:P.boolean()});function ej($,Z,X){let J=Math.max(1,Math.ceil($/X));return{currentPage:Z,totalPages:J,totalItems:$,pageSize:X,hasNextPage:Z<J,hasPrevPage:Z>1}}function $E($,Z){let{page:X,limit:J,pageSize:Y}=Z;if(X!==void 0){let G=X,Q=Y??J??$.length,H=$.length,W=Math.ceil(H/Q),U=(G-1)*Q,z=U+Q;return{items:$.slice(U,z),pagination:{currentPage:G,totalPages:W,totalItems:H,pageSize:Q,hasNextPage:G<W,hasPrevPage:G>1}}}if(J!==void 0)return{items:$.slice(0,J),pagination:null};return{items:$,pagination:null}}import{createClient as qi}from"@libsql/client";var I=Symbol.for("drizzle:entityKind");function V8($,Z){if(!$||typeof $!=="object")return!1;if($ instanceof Z)return!0;if(!Object.prototype.hasOwnProperty.call(Z,I))throw Error(`Class "${Z.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let X=Object.getPrototypeOf($).constructor;if(X)while(X){if(I in X&&X[I]===Z[I])return!0;X=Object.getPrototypeOf(X)}return!1}class s6{constructor($,Z){this.table=$,this.config=Z,this.name=Z.name,this.keyAsName=Z.keyAsName,this.notNull=Z.notNull,this.default=Z.default,this.defaultFn=Z.defaultFn,this.onUpdateFn=Z.onUpdateFn,this.hasDefault=Z.hasDefault,this.primary=Z.primaryKey,this.isUnique=Z.isUnique,this.uniqueName=Z.uniqueName,this.uniqueType=Z.uniqueType,this.dataType=Z.dataType,this.columnType=Z.columnType,this.generated=Z.generated,this.generatedIdentity=Z.generatedIdentity}static[I]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue($){return $}mapToDriverValue($){return $}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class i2{static[I]="ColumnBuilder";config;constructor($,Z,X){this.config={name:$,keyAsName:$==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:Z,columnType:X,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default($){return this.config.default=$,this.config.hasDefault=!0,this}$defaultFn($){return this.config.defaultFn=$,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn($){return this.config.onUpdateFn=$,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName($){if(this.config.name!=="")return;this.config.name=$}}var U5=Symbol.for("drizzle:Name");function rV($,...Z){return $(...Z)}function lV($,Z){return`${$[U5]}_${Z.join("_")}_unique`}class d1 extends s6{constructor($,Z){if(!Z.uniqueName)Z.uniqueName=lV($,[Z.name]);super($,Z);this.table=$}static[I]="PgColumn"}class ZE extends d1{static[I]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op($){return this.indexConfig.opClass=$,this}}class XE extends d1{static[I]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor($,Z){super($,Z);this.enum=Z.enum}getSQLType(){return this.enum.enumName}}var iV=Symbol.for("drizzle:isPgEnum");function sV($){return!!$&&typeof $==="function"&&iV in $&&$[iV]===!0}class JE extends d1{static[I]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor($,Z){super($,Z);this.enum=Z.enum}getSQLType(){return this.enum.enumName}}class XX{static[I]="Subquery";constructor($,Z,X,J=!1,Y=[]){this._={brand:"Subquery",sql:$,selectedFields:Z,alias:X,isWith:J,usedTables:Y}}}var aV="0.45.2";var s2,a2,tV={startActiveSpan($,Z){if(!s2)return Z();if(!a2)a2=s2.trace.getTracer("drizzle-orm",aV);return rV((X,J)=>J.startActiveSpan($,(Y)=>{try{return Z(Y)}catch(G){throw Y.setStatus({code:X.SpanStatusCode.ERROR,message:G instanceof Error?G.message:"Unknown error"}),G}finally{Y.end()}}),s2,a2)}};var z4=Symbol.for("drizzle:ViewBaseConfig");var t2=Symbol.for("drizzle:Schema"),eV=Symbol.for("drizzle:Columns"),$D=Symbol.for("drizzle:ExtraConfigColumns"),e2=Symbol.for("drizzle:OriginalName"),$G=Symbol.for("drizzle:BaseName"),c1=Symbol.for("drizzle:IsAlias"),ZD=Symbol.for("drizzle:ExtraConfigBuilder"),YE=Symbol.for("drizzle:IsDrizzleTable");class x0{static[I]="Table";static Symbol={Name:U5,Schema:t2,OriginalName:e2,Columns:eV,ExtraConfigColumns:$D,BaseName:$G,IsAlias:c1,ExtraConfigBuilder:ZD};[U5];[e2];[t2];[eV];[$D];[$G];[c1]=!1;[YE]=!0;[ZD]=void 0;constructor($,Z,X){this[U5]=this[e2]=$,this[t2]=Z,this[$G]=X}}function GE($){return $!==null&&$!==void 0&&typeof $.getSQL==="function"}function QE($){let Z={sql:"",params:[]};for(let X of $)if(Z.sql+=X.sql,Z.params.push(...X.params),X.typings?.length){if(!Z.typings)Z.typings=[];Z.typings.push(...X.typings)}return Z}class u8{static[I]="StringChunk";value;constructor($){this.value=Array.isArray($)?$:[$]}getSQL(){return new S0([this])}}class S0{constructor($){this.queryChunks=$;for(let Z of $)if(V8(Z,x0)){let X=Z[x0.Symbol.Schema];this.usedTables.push(X===void 0?Z[x0.Symbol.Name]:X+"."+Z[x0.Symbol.Name])}}static[I]="SQL";decoder=XD;shouldInlineParams=!1;usedTables=[];append($){return this.queryChunks.push(...$.queryChunks),this}toQuery($){return tV.startActiveSpan("drizzle.buildSQL",(Z)=>{let X=this.buildQueryFromSourceParams(this.queryChunks,$);return Z?.setAttributes({"drizzle.query.text":X.sql,"drizzle.query.params":JSON.stringify(X.params)}),X})}buildQueryFromSourceParams($,Z){let X=Object.assign({},Z,{inlineParams:Z.inlineParams||this.shouldInlineParams,paramStartIndex:Z.paramStartIndex||{value:0}}),{casing:J,escapeName:Y,escapeParam:G,prepareTyping:Q,inlineParams:H,paramStartIndex:W}=X;return QE($.map((U)=>{if(V8(U,u8))return{sql:U.value.join(""),params:[]};if(V8(U,JX))return{sql:Y(U.value),params:[]};if(U===void 0)return{sql:"",params:[]};if(Array.isArray(U)){let z=[new u8("(")];for(let[V,O]of U.entries())if(z.push(O),V<U.length-1)z.push(new u8(", "));return z.push(new u8(")")),this.buildQueryFromSourceParams(z,X)}if(V8(U,S0))return this.buildQueryFromSourceParams(U.queryChunks,{...X,inlineParams:H||U.shouldInlineParams});if(V8(U,x0)){let z=U[x0.Symbol.Schema],V=U[x0.Symbol.Name];return{sql:z===void 0||U[c1]?Y(V):Y(z)+"."+Y(V),params:[]}}if(V8(U,s6)){let z=J.getColumnCasing(U);if(Z.invokeSource==="indexes")return{sql:Y(z),params:[]};let V=U.table[x0.Symbol.Schema];return{sql:U.table[c1]||V===void 0?Y(U.table[x0.Symbol.Name])+"."+Y(z):Y(V)+"."+Y(U.table[x0.Symbol.Name])+"."+Y(z),params:[]}}if(V8(U,YD)){let z=U[z4].schema,V=U[z4].name;return{sql:z===void 0||U[z4].isAlias?Y(V):Y(z)+"."+Y(V),params:[]}}if(V8(U,ZG)){if(V8(U.value,YX))return{sql:G(W.value++,U),params:[U],typings:["none"]};let z=U.value===null?null:U.encoder.mapToDriverValue(U.value);if(V8(z,S0))return this.buildQueryFromSourceParams([z],X);if(H)return{sql:this.mapInlineParam(z,X),params:[]};let V=["none"];if(Q)V=[Q(U.encoder)];return{sql:G(W.value++,z),params:[z],typings:V}}if(V8(U,YX))return{sql:G(W.value++,U),params:[U],typings:["none"]};if(V8(U,S0.Aliased)&&U.fieldAlias!==void 0)return{sql:Y(U.fieldAlias),params:[]};if(V8(U,XX)){if(U._.isWith)return{sql:Y(U._.alias),params:[]};return this.buildQueryFromSourceParams([new u8("("),U._.sql,new u8(") "),new JX(U._.alias)],X)}if(sV(U)){if(U.schema)return{sql:Y(U.schema)+"."+Y(U.enumName),params:[]};return{sql:Y(U.enumName),params:[]}}if(GE(U)){if(U.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([U.getSQL()],X);return this.buildQueryFromSourceParams([new u8("("),U.getSQL(),new u8(")")],X)}if(H)return{sql:this.mapInlineParam(U,X),params:[]};return{sql:G(W.value++,U),params:[U],typings:["none"]}}))}mapInlineParam($,{escapeString:Z}){if($===null)return"null";if(typeof $==="number"||typeof $==="boolean")return $.toString();if(typeof $==="string")return Z($);if(typeof $==="object"){let X=$.toString();if(X==="[object Object]")return Z(JSON.stringify($));return Z(X)}throw Error("Unexpected param value: "+$)}getSQL(){return this}as($){if($===void 0)return this;return new S0.Aliased(this,$)}mapWith($){return this.decoder=typeof $==="function"?{mapFromDriverValue:$}:$,this}inlineParams(){return this.shouldInlineParams=!0,this}if($){return $?this:void 0}}class JX{constructor($){this.value=$}static[I]="Name";brand;getSQL(){return new S0([this])}}var XD={mapFromDriverValue:($)=>$},JD={mapToDriverValue:($)=>$},zl={...XD,...JD};class ZG{constructor($,Z=JD){this.value=$,this.encoder=Z}static[I]="Param";brand;getSQL(){return new S0([this])}}function l$($,...Z){let X=[];if(Z.length>0||$.length>0&&$[0]!=="")X.push(new u8($[0]));for(let[J,Y]of Z.entries())X.push(Y,new u8($[J+1]));return new S0(X)}(($)=>{function Z(){return new S0([])}$.empty=Z;function X(W){return new S0(W)}$.fromList=X;function J(W){return new S0([new u8(W)])}$.raw=J;function Y(W,U){let z=[];for(let[V,O]of W.entries()){if(V>0&&U!==void 0)z.push(U);z.push(O)}return new S0(z)}$.join=Y;function G(W){return new JX(W)}$.identifier=G;function Q(W){return new YX(W)}$.placeholder=Q;function H(W,U){return new ZG(W,U)}$.param=H})(l$||(l$={}));(($)=>{class Z{constructor(X,J){this.sql=X,this.fieldAlias=J}static[I]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new Z(this.sql,this.fieldAlias)}}$.Aliased=Z})(S0||(S0={}));class YX{constructor($){this.name=$}static[I]="Placeholder";getSQL(){return new S0([this])}}var HE=Symbol.for("drizzle:IsDrizzleView");class YD{static[I]="View";[z4];[HE]=!0;constructor({name:$,schema:Z,selectedFields:X,query:J}){this[z4]={name:$,originalName:$,schema:Z,selectedFields:X,query:J,isExisting:!J,isAlias:!1}}getSQL(){return new S0([this])}}s6.prototype.getSQL=function(){return new S0([this])};x0.prototype.getSQL=function(){return new S0([this])};XX.prototype.getSQL=function(){return new S0([this])};function C5($,Z){return{name:typeof $==="string"&&$.length>0?$:"",config:typeof $==="object"?$:Z}}var XG=typeof TextDecoder>"u"?null:new TextDecoder;class JG{static[I]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor($,Z){if(this.reference=()=>{let{name:X,columns:J,foreignColumns:Y}=$();return{name:X,columns:J,foreignTable:Y[0].table,foreignColumns:Y}},Z)this._onUpdate=Z.onUpdate,this._onDelete=Z.onDelete}onUpdate($){return this._onUpdate=$,this}onDelete($){return this._onDelete=$,this}build($){return new GD($,this)}}class GD{constructor($,Z){this.table=$,this.reference=Z.reference,this.onUpdate=Z._onUpdate,this.onDelete=Z._onDelete}static[I]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:$,columns:Z,foreignColumns:X}=this.reference(),J=Z.map((Q)=>Q.name),Y=X.map((Q)=>Q.name),G=[this.table[U5],...J,X[0].table[U5],...Y];return $??`${G.join("_")}_fk`}}function QD($,Z){return`${$[U5]}_${Z.join("_")}_unique`}class p0 extends i2{static[I]="SQLiteColumnBuilder";foreignKeyConfigs=[];references($,Z={}){return this.foreignKeyConfigs.push({ref:$,actions:Z}),this}unique($){return this.config.isUnique=!0,this.config.uniqueName=$,this}generatedAlwaysAs($,Z){return this.config.generated={as:$,type:"always",mode:Z?.mode??"virtual"},this}buildForeignKeys($,Z){return this.foreignKeyConfigs.map(({ref:X,actions:J})=>{return((Y,G)=>{let Q=new JG(()=>{let H=Y();return{columns:[$],foreignColumns:[H]}});if(G.onUpdate)Q.onUpdate(G.onUpdate);if(G.onDelete)Q.onDelete(G.onDelete);return Q.build(Z)})(X,J)})}}class u0 extends s6{constructor($,Z){if(!Z.uniqueName)Z.uniqueName=QD($,[Z.name]);super($,Z);this.table=$}static[I]="SQLiteColumn"}class HD extends p0{static[I]="SQLiteBigIntBuilder";constructor($){super($,"bigint","SQLiteBigInt")}build($){return new WD($,this.config)}}class WD extends u0{static[I]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue($){if(typeof Buffer<"u"&&Buffer.from){let Z=Buffer.isBuffer($)?$:$ instanceof ArrayBuffer?Buffer.from($):$.buffer?Buffer.from($.buffer,$.byteOffset,$.byteLength):Buffer.from($);return BigInt(Z.toString("utf8"))}return BigInt(XG.decode($))}mapToDriverValue($){return Buffer.from($.toString())}}class KD extends p0{static[I]="SQLiteBlobJsonBuilder";constructor($){super($,"json","SQLiteBlobJson")}build($){return new UD($,this.config)}}class UD extends u0{static[I]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue($){if(typeof Buffer<"u"&&Buffer.from){let Z=Buffer.isBuffer($)?$:$ instanceof ArrayBuffer?Buffer.from($):$.buffer?Buffer.from($.buffer,$.byteOffset,$.byteLength):Buffer.from($);return JSON.parse(Z.toString("utf8"))}return JSON.parse(XG.decode($))}mapToDriverValue($){return Buffer.from(JSON.stringify($))}}class VD extends p0{static[I]="SQLiteBlobBufferBuilder";constructor($){super($,"buffer","SQLiteBlobBuffer")}build($){return new DD($,this.config)}}class DD extends u0{static[I]="SQLiteBlobBuffer";mapFromDriverValue($){if(Buffer.isBuffer($))return $;return Buffer.from($)}getSQLType(){return"blob"}}function zD($,Z){let{name:X,config:J}=C5($,Z);if(J?.mode==="json")return new KD(X);if(J?.mode==="bigint")return new HD(X);return new VD(X)}class BD extends p0{static[I]="SQLiteCustomColumnBuilder";constructor($,Z,X){super($,"custom","SQLiteCustomColumn");this.config.fieldConfig=Z,this.config.customTypeParams=X}build($){return new OD($,this.config)}}class OD extends u0{static[I]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor($,Z){super($,Z);this.sqlName=Z.customTypeParams.dataType(Z.fieldConfig),this.mapTo=Z.customTypeParams.toDriver,this.mapFrom=Z.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue($){return typeof this.mapFrom==="function"?this.mapFrom($):$}mapToDriverValue($){return typeof this.mapTo==="function"?this.mapTo($):$}}function GX($){return(Z,X)=>{let{name:J,config:Y}=C5(Z,X);return new BD(J,Y,$)}}class QX extends p0{static[I]="SQLiteBaseIntegerBuilder";constructor($,Z,X){super($,Z,X);this.config.autoIncrement=!1}primaryKey($){if($?.autoIncrement)this.config.autoIncrement=!0;return this.config.hasDefault=!0,super.primaryKey()}}class HX extends u0{static[I]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class AD extends QX{static[I]="SQLiteIntegerBuilder";constructor($){super($,"number","SQLiteInteger")}build($){return new qD($,this.config)}}class qD extends HX{static[I]="SQLiteInteger"}class ND extends QX{static[I]="SQLiteTimestampBuilder";constructor($,Z){super($,"date","SQLiteTimestamp");this.config.mode=Z}defaultNow(){return this.default(l$`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build($){return new PD($,this.config)}}class PD extends HX{static[I]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue($){if(this.config.mode==="timestamp")return new Date($*1000);return new Date($)}mapToDriverValue($){let Z=$.getTime();if(this.config.mode==="timestamp")return Math.floor(Z/1000);return Z}}class wD extends QX{static[I]="SQLiteBooleanBuilder";constructor($,Z){super($,"boolean","SQLiteBoolean");this.config.mode=Z}build($){return new MD($,this.config)}}class MD extends HX{static[I]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue($){return Number($)===1}mapToDriverValue($){return $?1:0}}function p1($,Z){let{name:X,config:J}=C5($,Z);if(J?.mode==="timestamp"||J?.mode==="timestamp_ms")return new ND(X,J.mode);if(J?.mode==="boolean")return new wD(X,J.mode);return new AD(X)}class FD extends p0{static[I]="SQLiteNumericBuilder";constructor($){super($,"string","SQLiteNumeric")}build($){return new LD($,this.config)}}class LD extends u0{static[I]="SQLiteNumeric";mapFromDriverValue($){if(typeof $==="string")return $;return String($)}getSQLType(){return"numeric"}}class TD extends p0{static[I]="SQLiteNumericNumberBuilder";constructor($){super($,"number","SQLiteNumericNumber")}build($){return new _D($,this.config)}}class _D extends u0{static[I]="SQLiteNumericNumber";mapFromDriverValue($){if(typeof $==="number")return $;return Number($)}mapToDriverValue=String;getSQLType(){return"numeric"}}class RD extends p0{static[I]="SQLiteNumericBigIntBuilder";constructor($){super($,"bigint","SQLiteNumericBigInt")}build($){return new CD($,this.config)}}class CD extends u0{static[I]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function ID($,Z){let{name:X,config:J}=C5($,Z),Y=J?.mode;return Y==="number"?new TD(X):Y==="bigint"?new RD(X):new FD(X)}class jD extends p0{static[I]="SQLiteRealBuilder";constructor($){super($,"number","SQLiteReal")}build($){return new ED($,this.config)}}class ED extends u0{static[I]="SQLiteReal";getSQLType(){return"real"}}function xD($){return new jD($??"")}class SD extends p0{static[I]="SQLiteTextBuilder";constructor($,Z){super($,"string","SQLiteText");this.config.enumValues=Z.enum,this.config.length=Z.length}build($){return new kD($,this.config)}}class kD extends u0{static[I]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor($,Z){super($,Z)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}class vD extends p0{static[I]="SQLiteTextJsonBuilder";constructor($){super($,"json","SQLiteTextJson")}build($){return new bD($,this.config)}}class bD extends u0{static[I]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue($){return JSON.parse($)}mapToDriverValue($){return JSON.stringify($)}}function x8($,Z={}){let{name:X,config:J}=C5($,Z);if(J.mode==="json")return new vD(X);return new SD(X,J)}function gD(){return{blob:zD,customType:GX,integer:p1,numeric:ID,real:xD,text:x8}}var YG=Symbol.for("drizzle:SQLiteInlineForeignKeys");class u1 extends x0{static[I]="SQLiteTable";static Symbol=Object.assign({},x0.Symbol,{InlineForeignKeys:YG});[x0.Symbol.Columns];[YG]=[];[x0.Symbol.ExtraConfigBuilder]=void 0}function WE($,Z,X,J,Y=$){let G=new u1($,J,Y),Q=typeof Z==="function"?Z(gD()):Z,H=Object.fromEntries(Object.entries(Q).map(([U,z])=>{let V=z;V.setName(U);let O=V.build(G);return G[YG].push(...V.buildForeignKeys(O,G)),[U,O]})),W=Object.assign(G,H);if(W[x0.Symbol.Columns]=H,W[x0.Symbol.ExtraConfigColumns]=H,X)W[u1.Symbol.ExtraConfigBuilder]=X;return W}var WX=($,Z,X)=>{return WE($,Z,X)};class yD{constructor($,Z){this.name=$,this.value=Z}static[I]="SQLiteCheckBuilder";brand;build($){return new hD($,this)}}class hD{constructor($,Z){this.table=$,this.name=Z.name,this.value=Z.value}static[I]="SQLiteCheck";name;value}function mD($,Z){return new yD($,Z)}function KX(...$){if($[0].columns)return new GG($[0].columns,$[0].name);return new GG($)}class GG{static[I]="SQLitePrimaryKeyBuilder";columns;name;constructor($,Z){this.columns=$,this.name=Z}build($){return new dD($,this.columns,this.name)}}class dD{constructor($,Z,X){this.table=$,this.columns=Z,this.name=X}static[I]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[u1.Symbol.Name]}_${this.columns.map(($)=>$.name).join("_")}_pk`}}var UX=WX("entities",{id:x8("id").notNull(),entityType:x8("entityType").notNull(),content:x8("content").notNull(),contentHash:x8("contentHash").notNull(),visibility:x8("visibility",{enum:["public","shared","restricted"]}).notNull().default("public"),metadata:x8("metadata",{mode:"json"}).$type().notNull().default(l$`'{}'`),created:p1("created").notNull().$defaultFn(()=>Date.now()),updated:p1("updated").notNull().$defaultFn(()=>Date.now())},($)=>{return{pk:KX({columns:[$.id,$.entityType]}),visibilityCheck:mD("entities_visibility_check",l$`${$.visibility} IN ('public', 'shared', 'restricted')`)}});import{createClient as Ri}from"@libsql/client";var cD=GX({dataType(){return"F32_BLOB(1536)"},toDriver($){return Buffer.from($.buffer)},fromDriver($){return new Float32Array($.buffer,$.byteOffset,$.byteLength/4)}});var VX=WX("embeddings",{entityId:x8("entity_id").notNull(),entityType:x8("entity_type").notNull(),embedding:cD("embedding").notNull(),contentHash:x8("content_hash").notNull()},($)=>{return{pk:KX({columns:[$.entityId,$.entityType]})}});import{openSync as KE,writeSync as UE}from"fs";var i$={SILLY:0,VERBOSE:1,DEBUG:2,INFO:3,WARN:4,ERROR:5,NONE:6};class f8{static instance=null;level;context;useStderr;format;logFile;fileHandle;constructor($={},Z){if(this.level=$.level??i$.INFO,this.context=$.context??void 0,this.useStderr=$.useStderr??!1,this.format=$.format??"text",this.logFile=$.logFile,Z!==void 0)this.fileHandle=Z;else if(this.logFile)try{this.fileHandle=KE(this.logFile,"a")}catch{}}static getInstance($){if(!f8.instance)f8.instance=new f8($);else if($?.useStderr!==void 0)f8.instance.useStderr=$.useStderr;return f8.instance}static resetInstance(){f8.instance=null}static createFresh($){return new f8($)}formatEntry($,Z,X){let J=new Date().toISOString();if(this.format==="json"){let Y={ts:J,level:$,msg:Z};if(this.context)Y.ctx=this.context;if(X.length>0)Y.data=X;return JSON.stringify(Y)}return this.context?`[${J}] [${this.context}] ${Z}`:`[${J}] ${Z}`}write($,Z,X,J){if(this.format==="json")$(this.formatEntry(Z,X,J));else if(J.length>0)$(this.formatEntry(Z,X,[]),...J);else $(this.formatEntry(Z,X,[]));if(this.fileHandle!==void 0){let Y=this.formatJsonEntry(Z,X,J);try{UE(this.fileHandle,Y+`
|
|
53
53
|
`)}catch{}}}formatJsonEntry($,Z,X){let J={ts:new Date().toISOString(),level:$,msg:Z};if(this.context)J.ctx=this.context;if(X.length>0)J.data=X;return JSON.stringify(J)}silly($,...Z){if(this.level<=i$.SILLY)this.write(console.debug.bind(console),"silly",$,Z)}verbose($,...Z){if(this.level<=i$.VERBOSE)this.write(console.debug.bind(console),"verbose",$,Z)}debug($,...Z){if(this.level<=i$.DEBUG)this.write(console.debug.bind(console),"debug",$,Z)}info($,...Z){if(this.level<=i$.INFO){let X=this.useStderr?console.error.bind(console):console.info.bind(console);this.write(X,"info",$,Z)}}warn($,...Z){if(this.level<=i$.WARN)this.write(console.warn.bind(console),"warn",$,Z)}error($,...Z){if(this.level<=i$.ERROR)this.write(console.error.bind(console),"error",$,Z)}child($){return new f8({level:this.level,context:$,useStderr:this.useStderr,format:this.format},this.fileHandle)}setUseStderr($){this.useStderr=$}}var Si=f8.getInstance();function pD($){return"restricted"}var hi=P.object({id:P.string().min(1,"Entity ID is required"),entityType:P.string().min(1,"Entity type is required"),contentHash:P.string().min(1,"Content hash is required"),operation:P.enum(["create","update"])});var ni=P.object({limit:P.number().int().positive().optional().default(20),offset:P.number().int().min(0).optional().default(0),types:P.array(P.string()).optional().default([]),excludeTypes:P.array(P.string()).optional().default([]),weight:P.record(P.string(),P.number()).optional(),visibilityScope:P.enum(["public","shared","restricted"]).optional(),includeUngenerated:P.boolean().optional().default(!1),minScore:P.number().min(0).optional()}),ri=P.preprocess(($)=>{if(typeof $!=="string")return $;return JSON.parse($)},P.record(P.string(),P.unknown()));var Zs=P.record(P.string(),P.unknown());var BE=P.object({field:P.string(),direction:P.enum(["asc","desc"]),nullsFirst:P.boolean().optional()}),Ks=P.object({limit:P.number().int().positive().optional(),offset:P.number().int().min(0).optional().default(0),sortFields:P.array(BE).optional(),filter:P.object({metadata:P.record(P.string(),P.unknown()).optional(),visibilityScope:P.enum(["public","shared","restricted"]).optional()}).optional(),publishedOnly:P.boolean().optional()});import{webcrypto as fD}from"crypto";var uD="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var OE=128,a6,B4;function AE($){if($<0)throw RangeError("Wrong ID size");try{if(!a6||a6.length<$)a6=Buffer.allocUnsafe($*OE),fD.getRandomValues(a6),B4=0;else if(B4+$>a6.length)fD.getRandomValues(a6),B4=0}catch(Z){throw a6=void 0,Z}B4+=$}function oD($=21){AE($|=0);let Z="";for(let X=B4-$;X<B4;X++)Z+=uD[a6[X]&63];return Z}function qE($=12){return oD($)}var Ts=P.custom(($)=>typeof $==="object"&&$!==null&&!Array.isArray($));var _s=P.object({id:P.string().min(1),entityType:P.string().min(1),contentHash:P.string().min(1)});var YZ={};T4(YZ,{stripSomeDefects:()=>vv,stripFailures:()=>kv,squashWith:()=>cv,squash:()=>zQ,size:()=>Nv,sequential:()=>Uv,reduceWithContext:()=>BQ,reduce:()=>ov,prettyErrors:()=>Hb,pretty:()=>Qb,parallel:()=>Kv,originalError:()=>Wb,match:()=>fv,map:()=>gv,linearize:()=>Sv,keepDefects:()=>xv,isUnknownException:()=>Jb,isTimeoutException:()=>Zb,isSequentialType:()=>Av,isRuntimeException:()=>ev,isParallelType:()=>qv,isNoSuchElementException:()=>av,isInterruptedOnly:()=>DQ,isInterruptedException:()=>rv,isInterrupted:()=>Fv,isInterruptType:()=>Ov,isIllegalArgumentException:()=>iv,isFailure:()=>wv,isFailType:()=>zv,isExceededCapacityException:()=>Gb,isEmptyType:()=>Dv,isEmpty:()=>Pv,isDieType:()=>Bv,isDie:()=>Mv,isCause:()=>Vv,interruptors:()=>_v,interruptOption:()=>Ev,interrupt:()=>Wv,flipCauseOption:()=>Iv,flatten:()=>mv,flatMap:()=>yv,find:()=>pv,filter:()=>uv,failures:()=>Lv,failureOrCause:()=>Cv,failureOption:()=>Rv,fail:()=>Qv,empty:()=>Gv,dieOption:()=>jv,die:()=>Hv,defects:()=>Tv,contains:()=>dv,as:()=>bv,andThen:()=>hv,YieldableError:()=>Yv,UnknownExceptionTypeId:()=>Jv,UnknownException:()=>Xb,TimeoutExceptionTypeId:()=>Xv,TimeoutException:()=>$b,RuntimeExceptionTypeId:()=>sk,RuntimeException:()=>tv,NoSuchElementExceptionTypeId:()=>ek,NoSuchElementException:()=>sv,InvalidPubSubCapacityExceptionTypeId:()=>$v,InterruptedExceptionTypeId:()=>ak,InterruptedException:()=>nv,IllegalArgumentExceptionTypeId:()=>tk,IllegalArgumentException:()=>lv,ExceededCapacityExceptionTypeId:()=>Zv,ExceededCapacityException:()=>Yb,CauseTypeId:()=>ik});var E5={};T4(E5,{zipWith:()=>Fz,void:()=>cE,try:()=>fE,transposeOption:()=>Dx,transposeMapOption:()=>zx,right:()=>s,orElse:()=>Zx,merge:()=>X7,match:()=>wz,mapLeft:()=>iE,mapBoth:()=>lE,map:()=>Y9,liftPredicate:()=>sE,let:()=>Vx,left:()=>q0,isRight:()=>j5,isLeft:()=>T0,isEither:()=>Pz,getRight:()=>oE,getOrUndefined:()=>eE,getOrThrowWith:()=>Mz,getOrThrow:()=>$x,getOrNull:()=>tE,getOrElse:()=>wG,getLeft:()=>nE,getEquivalence:()=>rE,gen:()=>Hx,fromOption:()=>uE,fromNullable:()=>pE,flip:()=>Gx,flatMap:()=>J7,filterOrLeft:()=>aE,bindTo:()=>Ux,bind:()=>Kx,ap:()=>Jx,andThen:()=>Xx,all:()=>Yx,TypeId:()=>dE,Do:()=>Wx});var QG=($)=>typeof $==="function",K=function($,Z){if(typeof $==="function")return function(){if($(arguments))return Z.apply(this,arguments);return(X)=>Z(X,...arguments)};switch($){case 0:case 1:throw RangeError(`Invalid arity ${$}`);case 2:return function(X,J){if(arguments.length>=2)return Z(X,J);return function(Y){return Z(Y,X)}};case 3:return function(X,J,Y){if(arguments.length>=3)return Z(X,J,Y);return function(G){return Z(G,X,J)}};case 4:return function(X,J,Y,G){if(arguments.length>=4)return Z(X,J,Y,G);return function(Q){return Z(Q,X,J,Y)}};case 5:return function(X,J,Y,G,Q){if(arguments.length>=5)return Z(X,J,Y,G,Q);return function(H){return Z(H,X,J,Y,G)}};default:return function(){if(arguments.length>=$)return Z.apply(this,arguments);let X=arguments;return function(J){return Z(J,...X)}}}};var h=($)=>$;var O4=($)=>()=>$,Y6=O4(!0),D8=O4(!1),HG=O4(null),f1=O4(void 0),o8=f1;function D($,Z,X,J,Y,G,Q,H,W){switch(arguments.length){case 1:return $;case 2:return Z($);case 3:return X(Z($));case 4:return J(X(Z($)));case 5:return Y(J(X(Z($))));case 6:return G(Y(J(X(Z($)))));case 7:return Q(G(Y(J(X(Z($))))));case 8:return H(Q(G(Y(J(X(Z($)))))));case 9:return W(H(Q(G(Y(J(X(Z($))))))));default:{let U=arguments[0];for(let z=1;z<arguments.length;z++)U=arguments[z](U);return U}}}var A4=($)=>(Z,X)=>Z===X||$(Z,X);var nD=K(2,($,Z)=>A4((X,J)=>$(Z(X),Z(J))));var rD=($)=>A4((Z,X)=>{if(Z.length!==X.length)return!1;for(let J=0;J<Z.length;J++)if(!$(Z[J],X[J]))return!1;return!0});var zX=($)=>K(3,(Z,X,J)=>$(Z,(Y)=>({...Y,[X]:J(Y)}))),BX=($)=>K(2,(Z,X)=>$(Z,(J)=>({[X]:J}))),OX=($,Z)=>K(3,(X,J,Y)=>Z(X,(G)=>$(Y(G),(Q)=>({...G,[J]:Q}))));var o1,v=($,Z)=>{if(!o1)globalThis["effect/GlobalValue"]??=new Map,o1=globalThis["effect/GlobalValue"];if(!o1.has($))o1.set($,Z());return o1.get($)};var n1=($)=>typeof $==="string",r1=($)=>typeof $==="number";var WG=($)=>typeof $==="bigint";var n8=QG;var NE=($)=>typeof $==="object"&&$!==null,G6=($)=>NE($)||n8($),T=K(2,($,Z)=>G6($)&&(Z in $)),t6=K(2,($,Z)=>T($,"_tag")&&$._tag===Z),a$=($)=>$===null||$===void 0;var r8=($)=>typeof $==="string"||T($,Symbol.iterator);var KG=($)=>T($,"then")&&n8($.then);var t$=($)=>`BUG: ${$} - please report an issue at https://github.com/Effect-TS/effect/issues`;var UG=Symbol.for("effect/Gen/GenKind"),sD=($)=>G6($)&&(UG in $);class aD{value;constructor($){this.value=$}get _F(){return h}get _R(){return($)=>$}get _O(){return($)=>$}get _E(){return($)=>$}[UG]=UG;[Symbol.iterator](){return new e$(this)}}class e${self;called=!1;constructor($){this.self=$}next($){return this.called?{value:$,done:!0}:(this.called=!0,{value:this.self,done:!1})}return($){return{value:$,done:!0}}throw($){throw $}[Symbol.iterator](){return new e$(this.self)}}var tD=()=>function(){let $=arguments[0];for(let Z=1;Z<arguments.length;Z++)$=arguments[Z]($);return new aD($)},PE=335903614,wE=4150755663,ME=1481765933,FE=1284865837,LE=9007199254740992,TE=134217728;class DG{_state;constructor($,Z,X,J){if(a$(Z)&&a$($))Z=Math.random()*4294967295>>>0,$=0;else if(a$(Z))Z=$,$=0;if(a$(J)&&a$(X))J=this._state?this._state[3]:wE,X=this._state?this._state[2]:PE;else if(a$(J))J=X,X=0;return this._state=new Int32Array([0,0,X>>>0,((J||0)|1)>>>0]),this._next(),iD(this._state,this._state[0],this._state[1],$>>>0,Z>>>0),this._next(),this}getState(){return[this._state[0],this._state[1],this._state[2],this._state[3]]}setState($){this._state[0]=$[0],this._state[1]=$[1],this._state[2]=$[2],this._state[3]=$[3]|1}integer($){return Math.round(this.number()*Number.MAX_SAFE_INTEGER)%$}number(){let $=(this._next()&67108863)*1,Z=(this._next()&134217727)*1;return($*TE+Z)/LE}_next(){let $=this._state[0]>>>0,Z=this._state[1]>>>0;_E(this._state,$,Z,ME,FE),iD(this._state,this._state[0],this._state[1],this._state[2],this._state[3]);let X=$>>>18,J=(Z>>>18|$<<14)>>>0;X=(X^$)>>>0,J=(J^Z)>>>0;let Y=(J>>>27|X<<5)>>>0,G=$>>>27,Q=(-G>>>0&31)>>>0;return(Y>>>G|Y<<Q)>>>0}}function _E($,Z,X,J,Y){let G=(X>>>16)*(Y&65535)>>>0,Q=(X&65535)*(Y>>>16)>>>0,H=(X&65535)*(Y&65535)>>>0,W=(X>>>16)*(Y>>>16)+((Q>>>16)+(G>>>16))>>>0;if(Q=Q<<16>>>0,H=H+Q>>>0,H>>>0<Q>>>0)W=W+1>>>0;if(G=G<<16>>>0,H=H+G>>>0,H>>>0<G>>>0)W=W+1>>>0;W=W+Math.imul(X,J)>>>0,W=W+Math.imul(Z,Y)>>>0,$[0]=W,$[1]=H}function iD($,Z,X,J,Y){let G=Z+J>>>0,Q=X+Y>>>0;if(Q>>>0<X>>>0)G=G+1|0;$[0]=G,$[1]=Q}var VG=Symbol.for("effect/Utils/YieldWrap");class Q6{#$;constructor($){this.#$=$}[VG](){return this.#$}}function i1($){if(typeof $==="object"&&$!==null&&VG in $)return $[VG]();throw Error(t$("yieldWrapGet"))}var P8=v("effect/Utils/isStructuralRegion",()=>({enabled:!1,tester:void 0}));var eD={effect_internal_function:($)=>{return $()}},RE={effect_internal_function:($)=>{try{return $()}finally{}}},CE=eD.effect_internal_function(()=>Error().stack)?.includes("effect_internal_function")===!0,A0=CE?eD.effect_internal_function:RE.effect_internal_function,IE=function*(){}.constructor,$z=($)=>G6($)&&$.constructor===IE;var zG=v(Symbol.for("effect/Hash/randomHashCache"),()=>new WeakMap),x=Symbol.for("effect/Hash"),C=($)=>{if(P8.enabled===!0)return 0;switch(typeof $){case"number":return qX($);case"bigint":return t($.toString(10));case"boolean":return t(String($));case"symbol":return t(String($));case"string":return t($);case"undefined":return t("undefined");case"function":case"object":if($===null)return t("null");else if($ instanceof Date){if(Number.isNaN($.getTime()))return t("Invalid Date");return C($.toISOString())}else if($ instanceof URL)return C($.href);else if(jE($))return $[x]();else return s1($);default:throw Error(`BUG: unhandled typeof ${typeof $} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},s1=($)=>{if(!zG.has($))zG.set($,qX(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)));return zG.get($)},g=($)=>(Z)=>Z*53^$,AX=($)=>$&3221225471|$>>>1&1073741824,jE=($)=>T($,x),qX=($)=>{if($!==$||$===1/0)return 0;let Z=$|0;if(Z!==$)Z^=$*4294967295;while($>4294967295)Z^=$/=4294967295;return AX(Z)},t=($)=>{let Z=5381,X=$.length;while(X)Z=Z*33^$.charCodeAt(--X);return AX(Z)},EE=($,Z)=>{let X=12289;for(let J=0;J<Z.length;J++)X^=D(t(Z[J]),g(C($[Z[J]])));return AX(X)},NX=($)=>EE($,Object.keys($)),S8=($)=>{let Z=6151;for(let X=0;X<$.length;X++)Z=D(Z,g(C($[X])));return AX(Z)},u=function(){if(arguments.length===1){let X=arguments[0];return function(J){return Object.defineProperty(X,x,{value(){return J},enumerable:!1}),J}}let $=arguments[0],Z=arguments[1];return Object.defineProperty($,x,{value(){return Z},enumerable:!1}),Z};var E=Symbol.for("effect/Equal");function R(){if(arguments.length===1)return($)=>PX($,arguments[0]);return PX(arguments[0],arguments[1])}function PX($,Z){if($===Z)return!0;let X=typeof $;if(X!==typeof Z)return!1;if(X==="object"||X==="function"){if($!==null&&Z!==null){if(q4($)&&q4(Z))if(C($)===C(Z)&&$[E](Z))return!0;else return P8.enabled&&P8.tester?P8.tester($,Z):!1;else if($ instanceof Date&&Z instanceof Date){let J=$.getTime(),Y=Z.getTime();return J===Y||Number.isNaN(J)&&Number.isNaN(Y)}else if($ instanceof URL&&Z instanceof URL)return $.href===Z.href}if(P8.enabled){if($===null||Z===null)return!1;if(Array.isArray($)&&Array.isArray(Z))return $.length===Z.length&&$.every((J,Y)=>PX(J,Z[Y]));if(Object.getPrototypeOf($)===Object.prototype&&Object.getPrototypeOf(Z)===Object.prototype){let J=Object.keys($),Y=Object.keys(Z);if(J.length===Y.length){for(let G of J)if(!((G in Z)&&PX($[G],Z[G])))return P8.tester?P8.tester($,Z):!1;return!0}}return P8.tester?P8.tester($,Z):!1}}return P8.enabled&&P8.tester?P8.tester($,Z):!1}var q4=($)=>T($,E),a1=()=>R;var d=Symbol.for("nodejs.util.inspect.custom"),n=($)=>{try{if(T($,"toJSON")&&n8($.toJSON)&&$.toJSON.length===0)return $.toJSON();else if(Array.isArray($))return $.map(n)}catch{return{}}return Yz($)};var l=($)=>JSON.stringify($,null,2),ls={toJSON(){return n(this)},[d](){return this.toJSON()},toString(){return l(this.toJSON())}};var H6=($,Z=2)=>{if(typeof $==="string")return $;try{return typeof $==="object"?wX($,Z):String($)}catch{return String($)}},wX=($,Z)=>{let X=[],J=JSON.stringify($,(Y,G)=>typeof G==="object"&&G!==null?X.includes(G)?void 0:X.push(G)&&($9.fiberRefs!==void 0&&Xz(G)?G[BG]($9.fiberRefs):G):G,Z);return X=void 0,J},BG=Symbol.for("effect/Inspectable/Redactable"),Xz=($)=>typeof $==="object"&&$!==null&&(BG in $),$9=v("effect/Inspectable/redactableState",()=>({fiberRefs:void 0})),Jz=($,Z)=>{let X=$9.fiberRefs;$9.fiberRefs=$;try{return Z()}finally{$9.fiberRefs=X}},Yz=($)=>{if(Xz($)&&$9.fiberRefs!==void 0)return $[BG]($9.fiberRefs);return $};var _=($,Z)=>{switch(Z.length){case 0:return $;case 1:return Z[0]($);case 2:return Z[1](Z[0]($));case 3:return Z[2](Z[1](Z[0]($)));case 4:return Z[3](Z[2](Z[1](Z[0]($))));case 5:return Z[4](Z[3](Z[2](Z[1](Z[0]($)))));case 6:return Z[5](Z[4](Z[3](Z[2](Z[1](Z[0]($))))));case 7:return Z[6](Z[5](Z[4](Z[3](Z[2](Z[1](Z[0]($)))))));case 8:return Z[7](Z[6](Z[5](Z[4](Z[3](Z[2](Z[1](Z[0]($))))))));case 9:return Z[8](Z[7](Z[6](Z[5](Z[4](Z[3](Z[2](Z[1](Z[0]($)))))))));default:{let X=$;for(let J=0,Y=Z.length;J<Y;J++)X=Z[J](X);return X}}};var Z9="Async",X9="Commit",X0="Failure",N4="OnFailure",P4="OnSuccess",w4="OnSuccessAndFailure",J0="Success",FX="Sync",Gz="Tag",W6="UpdateRuntimeFlags",M4="While",J9="Iterator",LX="WithRuntime",F4="Yield",t1="RevertFlags";var xE="3.22.0",$7=()=>xE;var Hz=Symbol.for("effect/Effect"),Wz=Symbol.for("effect/Stream"),Kz=Symbol.for("effect/Sink"),Uz=Symbol.for("effect/Channel"),e6={_R:($)=>$,_E:($)=>$,_A:($)=>$,_V:$7()},SE={_A:($)=>$,_In:($)=>$,_L:($)=>$,_E:($)=>$,_R:($)=>$},kE={_Env:($)=>$,_InErr:($)=>$,_InElem:($)=>$,_InDone:($)=>$,_OutErr:($)=>$,_OutElem:($)=>$,_OutDone:($)=>$},K6={[Hz]:e6,[Wz]:e6,[Kz]:SE,[Uz]:kE,[E]($){return this===$},[x](){return u(this,s1(this))},[Symbol.iterator](){return new e$(new Q6(this))},pipe(){return _(this,arguments)}},L4={[x](){return u(this,NX(this))},[E]($){let Z=Object.keys(this),X=Object.keys($);if(Z.length!==X.length)return!1;for(let J of Z)if(!((J in $)&&R(this[J],$[J])))return!1;return!0}},U6={...K6,_op:X9},OG={...U6,...L4},Vz=function(){function $(){}return $.prototype=U6,$}();var zz=Symbol.for("effect/Option"),Bz={...K6,[zz]:{_A:($)=>$},[d](){return this.toJSON()},toString(){return l(this.toJSON())}},vE=Object.assign(Object.create(Bz),{_tag:"Some",_op:"Some",[E]($){return AG($)&&qG($)&&R(this.value,$.value)},[x](){return u(this,g(C(this._tag))(C(this.value)))},toJSON(){return{_id:"Option",_tag:this._tag,value:n(this.value)}}}),bE=C("None"),gE=Object.assign(Object.create(Bz),{_tag:"None",_op:"None",[E]($){return AG($)&&V5($)},[x](){return bE},toJSON(){return{_id:"Option",_tag:this._tag}}}),AG=($)=>T($,zz),V5=($)=>$._tag==="None",qG=($)=>$._tag==="Some",I5=Object.create(gE),w8=($)=>{let Z=Object.create(vE);return Z.value=$,Z};var TX=Symbol.for("effect/Either"),Oz={...K6,[TX]:{_R:($)=>$},[d](){return this.toJSON()},toString(){return l(this.toJSON())}},yE=Object.assign(Object.create(Oz),{_tag:"Right",_op:"Right",[E]($){return _X($)&&CX($)&&R(this.right,$.right)},[x](){return g(C(this._tag))(C(this.right))},toJSON(){return{_id:"Either",_tag:this._tag,right:n(this.right)}}}),hE=Object.assign(Object.create(Oz),{_tag:"Left",_op:"Left",[E]($){return _X($)&&RX($)&&R(this.left,$.left)},[x](){return g(C(this._tag))(C(this.left))},toJSON(){return{_id:"Either",_tag:this._tag,left:n(this.left)}}}),_X=($)=>T($,TX),RX=($)=>$._tag==="Left",CX=($)=>$._tag==="Right",NG=($)=>{let Z=Object.create(hE);return Z.left=$,Z},PG=($)=>{let Z=Object.create(yE);return Z.right=$,Z},Az=($)=>CX($)?I5:w8($.left),qz=($)=>RX($)?I5:w8($.right),Nz=K(2,($,Z)=>V5($)?NG(Z()):PG($.value));var dE=TX,s=PG,cE=s(void 0);var q0=NG,pE=K(2,($,Z)=>$==null?q0(Z($)):s($)),uE=Nz,fE=($)=>{if(n8($))try{return s($())}catch(Z){return q0(Z)}else try{return s($.try())}catch(Z){return q0($.catch(Z))}};var Pz=_X,T0=RX,j5=CX,oE=qz,nE=Az,rE=({left:$,right:Z})=>A4((X,J)=>T0(X)?T0(J)&&$(X.left,J.left):j5(J)&&Z(X.right,J.right)),lE=K(2,($,{onLeft:Z,onRight:X})=>T0($)?q0(Z($.left)):s(X($.right))),iE=K(2,($,Z)=>T0($)?q0(Z($.left)):s($.right)),Y9=K(2,($,Z)=>j5($)?s(Z($.right)):q0($.left)),wz=K(2,($,{onLeft:Z,onRight:X})=>T0($)?Z($.left):X($.right)),sE=K(3,($,Z,X)=>Z($)?s($):q0(X($))),aE=K(3,($,Z,X)=>J7($,(J)=>Z(J)?s(J):q0(X(J)))),X7=wz({onLeft:h,onRight:h}),wG=K(2,($,Z)=>T0($)?Z($.left):$.right),tE=wG(HG),eE=wG(f1),Mz=K(2,($,Z)=>{if(j5($))return $.right;throw Z($.left)}),$x=Mz(()=>Error("getOrThrow called on a Left")),Zx=K(2,($,Z)=>T0($)?Z($.left):s($.right)),J7=K(2,($,Z)=>T0($)?q0($.left):Z($.right)),Xx=K(2,($,Z)=>J7($,(X)=>{let J=n8(Z)?Z(X):Z;return Pz(J)?J:s(J)})),Fz=K(3,($,Z,X)=>J7($,(J)=>Y9(Z,(Y)=>X(J,Y)))),Jx=K(2,($,Z)=>Fz($,Z,(X,J)=>X(J))),Yx=($)=>{if(Symbol.iterator in $){let X=[];for(let J of $){if(T0(J))return J;X.push(J.right)}return s(X)}let Z={};for(let X of Object.keys($)){let J=$[X];if(T0(J))return J;Z[X]=J.right}return s(Z)},Gx=($)=>T0($)?s($.left):q0($.right),Qx=tD(),Hx=(...$)=>{let X=($.length===1?$[0]:$[1].bind($[0]))(Qx),J=X.next();while(!J.done){let Y=sD(J.value)?J.value.value:i1(J.value);if(T0(Y))return Y;J=X.next(Y.right)}return s(J.value)},Wx=s({}),Kx=OX(Y9,J7),Ux=BX(Y9),Vx=zX(Y9);var Dx=($)=>{return V5($)?s(I5):Y9($.value,w8)},zx=K(2,($,Z)=>V5($)?s(I5):Y9(Z($.value),w8));var MG=($)=>$.length>0;var Lz=($)=>(Z,X)=>Z===X?0:$(Z,X);var Tz=Lz(($,Z)=>$<Z?-1:1);var _z=K(2,($,Z)=>Lz((X,J)=>$(Z(X),Z(J))));var FG=($)=>K(2,(Z,X)=>$(Z,X)===1);var w=()=>I5,M=w8;var V0=V5,Q0=qG,k0=K(2,($,{onNone:Z,onSome:X})=>V0($)?Z():X($.value));var g0=K(2,($,Z)=>V0($)?Z():$.value);var Cz=K(2,($,Z)=>V0($)?M(Z()):$);var $$=($)=>$==null?w():M($);var J8=g0(f1);var Ox=K(2,($,Z)=>{if(Q0($))return $.value;throw Z()}),Iz=Ox(()=>Error("getOrThrow called on a None")),l8=K(2,($,Z)=>V0($)?w():M(Z($.value)));var _4=K(2,($,Z)=>V0($)?w():Z($.value));var Ax=($)=>K(2,(Z,X)=>V0(Z)?!1:$(Z.value,X)),qx=a1(),jz=Ax(qx);var V6=($)=>(Z,X)=>{if(V0(Z))return X;else if(V0(X))return Z;return M($(Z.value,X.value))};var Ez=(...$)=>$;var xz=($)=>{let X=$[Symbol.iterator]().next();if(X.done)throw Error("unsafeHead: empty iterable");return X.value};var Px={[Symbol.iterator](){return wx}},wx={next(){return{done:!0,value:void 0}}},Sz=()=>Px;var kz=K(2,($,Z)=>({[Symbol.iterator](){let X=$[Symbol.iterator](),J=0;return{next(){let Y=X.next();if(Y.done)return{done:!0,value:void 0};return{done:!1,value:Z(Y.value,J++)}}}}}));var Y7=($)=>Array($),LG=K(2,($,Z)=>{let X=Math.max(1,Math.floor($)),J=Array(X);for(let Y=0;Y<X;Y++)J[Y]=Z(Y);return J});var o=($)=>Array.isArray($)?$:Array.from($),vz=($)=>Array.isArray($)?$:[$];var R4=K(2,($,Z)=>[Z,...$]);var bz=K(2,($,Z)=>[...$,Z]),TG=K(2,($,Z)=>o($).concat(o(Z)));var Fx=($)=>$.length===0,gz=Fx,IX=MG,Y8=MG;var yz=($,Z)=>$<0||$>=Z.length,Lx=($,Z)=>Math.floor(Math.min(Math.max(0,$),Z.length)),Tx=K(2,($,Z)=>{let X=Math.floor(Z);return yz(X,$)?w():M($[X])}),_G=K(2,($,Z)=>{let X=Math.floor(Z);if(yz(X,$))throw Error(`Index ${X} out of bounds`);return $[X]});var Z$=Tx(0),f0=_G(0),hz=($)=>Y8($)?M(RG($)):w(),RG=($)=>$[$.length-1];var x5=($)=>$.slice(1);var _x=($,Z)=>{let X=0;for(let J of $){if(!Z(J,X))break;X++}return X},mz=K(2,($,Z)=>Cx($,_x($,Z))),dz=K(2,($,Z)=>{let X=o($);return X.slice(Lx(Z,X),X.length)});var CG=($)=>Array.from($).reverse(),G9=K(2,($,Z)=>{let X=Array.from($);return X.sort(Z),X});var IG=K(2,($,Z)=>cz($,Z,Ez)),cz=K(3,($,Z,X)=>{let J=o($),Y=o(Z);if(Y8(J)&&Y8(Y)){let G=[X(f0(J),f0(Y))],Q=Math.min(J.length,Y.length);for(let H=1;H<Q;H++)G[H]=X(J[H],Y[H]);return G}return[]});var Rx=a1();var Cx=K(2,($,Z)=>{let X=Array.from($),J=Math.floor(Z);if(Y8(X)){if(J>=1)return Ix(X,J);return[[],X]}return[X,[]]}),Ix=K(2,($,Z)=>{let X=Math.max(1,Math.floor(Z));return X>=$.length?[jx($),[]]:[R4($.slice(1,X),f0($)),$.slice(X)]});var jx=($)=>$.slice();var Ex=K(3,($,Z,X)=>{let J=o($),Y=o(Z);if(Y8(J)){if(Y8(Y))return fz(X)(TG(J,Y));return J}return Y}),D5=K(2,($,Z)=>Ex($,Z,Rx));var z5=()=>[],z8=($)=>[$],S5=K(2,($,Z)=>$.map(Z)),pz=K(2,($,Z)=>{if(gz($))return[];let X=[];for(let J=0;J<$.length;J++){let Y=Z($[J],J);for(let G=0;G<Y.length;G++)X.push(Y[G])}return X}),jX=pz(h),C4=K(2,($,Z)=>{let X=o($),J=[];for(let Y=0;Y<X.length;Y++){let G=Z(X[Y],Y);if(Q0(G))J.push(G.value)}return J});var jG=K(2,($,Z)=>{let X=[],J=[],Y=o($);for(let G=0;G<Y.length;G++){let Q=Z(Y[G],G);if(T0(Q))X.push(Q.left);else J.push(Q.right)}return[X,J]}),uz=C4(h);var X$=K(3,($,Z,X)=>o($).reduce((J,Y,G)=>X(J,Y,G),Z)),EX=K(3,($,Z,X)=>o($).reduceRight((J,Y,G)=>X(J,Y,G),Z));var EG=($,Z)=>{let X=[],J=$,Y;while(Q0(Y=Z(J))){let[G,Q]=Y.value;X.push(G),J=Q}return X};var I4=rD;var fz=K(2,($,Z)=>{let X=o($);if(Y8(X)){let J=[f0(X)],Y=x5(X);for(let G of Y)if(J.every((Q)=>!Z(G,Q)))J.push(G);return J}return[]}),xG=($)=>fz($,a1());var D6=K(2,($,Z)=>o($).join(Z));var oz=Symbol.for("effect/Chunk");function xx($,Z,X,J,Y){for(let G=Z;G<Math.min($.length,Z+Y);G++)X[J+G-Z]=$[G];return X}var nz=[],Sx=($)=>A4((Z,X)=>Z.length===X.length&&i8(Z).every((J,Y)=>$(J,Q9(X,Y)))),kx=Sx(R),vx={[oz]:{_A:($)=>$},toString(){return l(this.toJSON())},toJSON(){return{_id:"Chunk",values:i8(this).map(n)}},[d](){return this.toJSON()},[E]($){return rz($)&&kx(this,$)},[x](){return u(this,S8(i8(this)))},[Symbol.iterator](){switch(this.backing._tag){case"IArray":return this.backing.array[Symbol.iterator]();case"IEmpty":return nz[Symbol.iterator]();default:return i8(this)[Symbol.iterator]()}},pipe(){return _(this,arguments)}},y0=($)=>{let Z=Object.create(vx);switch(Z.backing=$,$._tag){case"IEmpty":{Z.length=0,Z.depth=0,Z.left=Z,Z.right=Z;break}case"IConcat":{Z.length=$.left.length+$.right.length,Z.depth=1+Math.max($.left.depth,$.right.depth),Z.left=$.left,Z.right=$.right;break}case"IArray":{Z.length=$.array.length,Z.depth=0,Z.left=k5,Z.right=k5;break}case"ISingleton":{Z.length=1,Z.depth=0,Z.left=k5,Z.right=k5;break}case"ISlice":{Z.length=$.length,Z.depth=$.chunk.depth+1,Z.left=k5,Z.right=k5;break}}return Z},rz=($)=>T($,oz),k5=y0({_tag:"IEmpty"}),B8=()=>k5,G7=(...$)=>hx($),N0=($)=>y0({_tag:"ISingleton",a:$}),j4=($)=>rz($)?$:Q7(o($)),SG=($,Z,X)=>{switch($.backing._tag){case"IArray":{xx($.backing.array,0,Z,X,$.length);break}case"IConcat":{SG($.left,Z,X),SG($.right,Z,X+$.left.length);break}case"ISingleton":{Z[X]=$.backing.a;break}case"ISlice":{let J=0,Y=X;while(J<$.length)Z[Y]=Q9($,J),J+=1,Y+=1;break}}};var bx=($)=>{switch($.backing._tag){case"IEmpty":return nz;case"IArray":return $.backing.array;default:{let Z=Array($.length);return SG($,Z,0),$.backing={_tag:"IArray",array:Z},$.left=k5,$.right=k5,$.depth=0,Z}}},i8=bx,gx=($)=>{switch($.backing._tag){case"IEmpty":case"ISingleton":return $;case"IArray":return y0({_tag:"IArray",array:CG($.backing.array)});case"IConcat":return y0({_tag:"IConcat",left:v5($.backing.right),right:v5($.backing.left)});case"ISlice":return Q7(CG(i8($)))}},v5=gx,yx=K(2,($,Z)=>Z<0||Z>=$.length?w():M(Q9($,Z))),Q7=($)=>$.length===0?B8():$.length===1?N0($[0]):y0({_tag:"IArray",array:$}),hx=($)=>Q7($),Q9=K(2,($,Z)=>{switch($.backing._tag){case"IEmpty":throw Error("Index out of bounds");case"ISingleton":{if(Z!==0)throw Error("Index out of bounds");return $.backing.a}case"IArray":{if(Z>=$.length||Z<0)throw Error("Index out of bounds");return $.backing.array[Z]}case"IConcat":return Z<$.left.length?Q9($.left,Z):Q9($.right,Z-$.left.length);case"ISlice":return Q9($.backing.chunk,Z+$.backing.offset)}}),xX=K(2,($,Z)=>k8($,N0(Z))),n0=K(2,($,Z)=>k8(N0(Z),$));var kG=K(2,($,Z)=>{if(Z<=0)return $;else if(Z>=$.length)return k5;else switch($.backing._tag){case"ISlice":return y0({_tag:"ISlice",chunk:$.backing.chunk,offset:$.backing.offset+Z,length:$.backing.length-Z});case"IConcat":{if(Z>$.left.length)return kG($.right,Z-$.left.length);return y0({_tag:"IConcat",left:kG($.left,Z),right:$.right})}default:return y0({_tag:"ISlice",chunk:$,offset:Z,length:$.length-Z})}});var k8=K(2,($,Z)=>{if($.backing._tag==="IEmpty")return Z;if(Z.backing._tag==="IEmpty")return $;let X=Z.depth-$.depth;if(Math.abs(X)<=1)return y0({_tag:"IConcat",left:$,right:Z});else if(X<-1)if($.left.depth>=$.right.depth){let J=k8($.right,Z);return y0({_tag:"IConcat",left:$.left,right:J})}else{let J=k8($.right.right,Z);if(J.depth===$.depth-3){let Y=y0({_tag:"IConcat",left:$.right.left,right:J});return y0({_tag:"IConcat",left:$.left,right:Y})}else{let Y=y0({_tag:"IConcat",left:$.left,right:$.right.left});return y0({_tag:"IConcat",left:Y,right:J})}}else if(Z.right.depth>=Z.left.depth){let J=k8($,Z.left);return y0({_tag:"IConcat",left:J,right:Z.right})}else{let J=k8($,Z.left.left);if(J.depth===Z.depth-3){let Y=y0({_tag:"IConcat",left:J,right:Z.left.right});return y0({_tag:"IConcat",left:Y,right:Z.right})}else{let Y=y0({_tag:"IConcat",left:Z.left.right,right:Z.right});return y0({_tag:"IConcat",left:J,right:Y})}}});var vG=($)=>$.length===0,a0=($)=>$.length>0,H7=yx(0),bG=($)=>Q9($,0),r0=bG;var G8=($)=>kG($,1);var J$=5,gG=Math.pow(2,5),lz=gG-1,iz=gG/2,sz=gG/4;function mx($){return $-=$>>1&1431655765,$=($&858993459)+($>>2&858993459),$=$+($>>4)&252645135,$+=$>>8,$+=$>>16,$&127}function Y$($,Z){return Z>>>$&lz}function G$($){return 1<<$}function SX($,Z){return mx($&Z-1)}var az=($,Z)=>({value:$,previous:Z});function H9($,Z,X,J){let Y=J;if(!$){let G=J.length;Y=Array(G);for(let Q=0;Q<G;++Q)Y[Q]=J[Q]}return Y[Z]=X,Y}function yG($,Z,X){let J=X.length-1,Y=0,G=0,Q=X;if($)Y=G=Z;else{Q=Array(J);while(Y<Z)Q[G++]=X[Y++]}++Y;while(Y<=J)Q[G++]=X[Y++];if($)Q.length=J;return Q}function tz($,Z,X,J){let Y=J.length;if($){let W=Y;while(W>=Z)J[W--]=J[W];return J[Z]=X,J}let G=0,Q=0,H=Array(Y+1);while(G<Z)H[Q++]=J[G++];H[Z]=X;while(G<Y)H[++Q]=J[G++];return H}class z6{_tag="EmptyNode";modify($,Z,X,J,Y,G){let Q=X(w());if(V0(Q))return new z6;return++G.value,new W9($,J,Y,Q)}}function a8($){return t6($,"EmptyNode")}function cx($){return a8($)||$._tag==="LeafNode"||$._tag==="CollisionNode"}function kX($,Z){return a8($)?!1:Z===$.edit}class W9{edit;hash;key;value;_tag="LeafNode";constructor($,Z,X,J){this.edit=$,this.hash=Z,this.key=X,this.value=J}modify($,Z,X,J,Y,G){if(R(Y,this.key)){let H=X(this.value);if(H===this.value)return this;else if(V0(H))return--G.value,new z6;if(kX(this,$))return this.value=H,this;return new W9($,J,Y,H)}let Q=X(w());if(V0(Q))return this;return++G.value,ez($,Z,this.hash,this,J,new W9($,J,Y,Q))}}class hG{edit;hash;children;_tag="CollisionNode";constructor($,Z,X){this.edit=$,this.hash=Z,this.children=X}modify($,Z,X,J,Y,G){if(J===this.hash){let H=kX(this,$),W=this.updateCollisionList(H,$,this.hash,this.children,X,Y,G);if(W===this.children)return this;return W.length>1?new hG($,this.hash,W):W[0]}let Q=X(w());if(V0(Q))return this;return++G.value,ez($,Z,this.hash,this,J,new W9($,J,Y,Q))}updateCollisionList($,Z,X,J,Y,G,Q){let H=J.length;for(let U=0;U<H;++U){let z=J[U];if("key"in z&&R(G,z.key)){let V=z.value,O=Y(V);if(O===V)return J;if(V0(O))return--Q.value,yG($,U,J);return H9($,U,new W9(Z,X,G,O),J)}}let W=Y(w());if(V0(W))return J;return++Q.value,H9($,H,new W9(Z,X,G,W),J)}}class E4{edit;mask;children;_tag="IndexedNode";constructor($,Z,X){this.edit=$,this.mask=Z,this.children=X}modify($,Z,X,J,Y,G){let Q=this.mask,H=this.children,W=Y$(Z,J),U=G$(W),z=SX(Q,U),V=Q&U,O=kX(this,$);if(!V){let j0=new z6().modify($,Z+J$,X,J,Y,G);if(!j0)return this;return H.length>=iz?ux($,W,j0,Q,H):new E4($,Q|U,tz(O,z,j0,H))}let q=H[z],L=q.modify($,Z+J$,X,J,Y,G);if(q===L)return this;let k=Q,S;if(a8(L)){if(k&=~U,!k)return new z6;if(H.length<=2&&cx(H[z^1]))return H[z^1];S=yG(O,z,H)}else S=H9(O,z,L,H);if(O)return this.mask=k,this.children=S,this;return new E4($,k,S)}}class mG{edit;size;children;_tag="ArrayNode";constructor($,Z,X){this.edit=$,this.size=Z,this.children=X}modify($,Z,X,J,Y,G){let Q=this.size,H=this.children,W=Y$(Z,J),U=H[W],z=(U||new z6).modify($,Z+J$,X,J,Y,G);if(U===z)return this;let V=kX(this,$),O;if(a8(U)&&!a8(z))++Q,O=H9(V,W,z,H);else if(!a8(U)&&a8(z)){if(--Q,Q<=sz)return px($,Q,W,H);O=H9(V,W,new z6,H)}else O=H9(V,W,z,H);if(V)return this.size=Q,this.children=O,this;return new mG($,Q,O)}}function px($,Z,X,J){let Y=Array(Z-1),G=0,Q=0;for(let H=0,W=J.length;H<W;++H)if(H!==X){let U=J[H];if(U&&!a8(U))Y[G++]=U,Q|=1<<H}return new E4($,Q,Y)}function ux($,Z,X,J,Y){let G=[],Q=J,H=0;for(let W=0;Q;++W){if(Q&1)G[W]=Y[H++];Q>>>=1}return G[Z]=X,new mG($,H+1,G)}function fx($,Z,X,J,Y,G){if(X===Y)return new hG($,X,[G,J]);let Q=Y$(Z,X),H=Y$(Z,Y);if(Q===H)return(W)=>new E4($,G$(Q)|G$(H),[W]);else{let W=Q<H?[J,G]:[G,J];return new E4($,G$(Q)|G$(H),W)}}function ez($,Z,X,J,Y,G){let Q=void 0,H=Z;while(!0){let W=fx($,H,X,J,Y,G);if(typeof W==="function")Q=az(W,Q),H=H+J$;else{let U=W;while(Q!=null)U=Q.value(U),Q=Q.previous;return U}}}var $B="effect/HashMap",vX=Symbol.for($B),nx={[vX]:vX,[Symbol.iterator](){return new gX(this,($,Z)=>[$,Z])},[x](){let $=C($B);for(let Z of this)$^=D(C(Z[0]),g(C(Z[1])));return u(this,$)},[E]($){if(YB($)){if($._size!==this._size)return!1;for(let Z of this){let X=D($,yX(Z[0],C(Z[0])));if(V0(X))return!1;else if(!R(Z[1],X.value))return!1}return!0}return!1},toString(){return l(this.toJSON())},toJSON(){return{_id:"HashMap",values:Array.from(this).map(n)}},[d](){return this.toJSON()},pipe(){return _(this,arguments)}},dG=($,Z,X,J)=>{let Y=Object.create(nx);return Y._editable=$,Y._edit=Z,Y._root=X,Y._size=J,Y};class gX{map;f;v;constructor($,Z){this.map=$,this.f=Z,this.v=ZB(this.map._root,this.f,void 0)}next(){if(V0(this.v))return{done:!0,value:void 0};let $=this.v.value;return this.v=bX($.cont),{done:!1,value:$.value}}[Symbol.iterator](){return new gX(this.map,this.f)}}var bX=($)=>$?XB($[0],$[1],$[2],$[3],$[4]):w(),ZB=($,Z,X=void 0)=>{switch($._tag){case"LeafNode":{if(Q0($.value))return M({value:Z($.key,$.value.value),cont:X});return bX(X)}case"CollisionNode":case"ArrayNode":case"IndexedNode":{let J=$.children;return XB(J.length,J,0,Z,X)}default:return bX(X)}},XB=($,Z,X,J,Y)=>{while(X<$){let G=Z[X++];if(G&&!a8(G))return ZB(G,J,[$,Z,X,J,Y])}return bX(Y)},rx=dG(!1,0,new z6,0),x4=()=>rx;var JB=($)=>{let Z=K7(x4());for(let X of $)K9(Z,X[0],X[1]);return pG(Z)},YB=($)=>T($,vX),GB=($)=>$&&a8($._root),QB=K(2,($,Z)=>yX($,Z,C(Z))),yX=K(3,($,Z,X)=>{let J=$._root,Y=0;while(!0)switch(J._tag){case"LeafNode":return R(Z,J.key)?J.value:w();case"CollisionNode":{if(X===J.hash){let G=J.children;for(let Q=0,H=G.length;Q<H;++Q){let W=G[Q];if("key"in W&&R(Z,W.key))return W.value}}return w()}case"IndexedNode":{let G=Y$(Y,X),Q=G$(G);if(J.mask&Q){J=J.children[SX(J.mask,Q)],Y+=J$;break}return w()}case"ArrayNode":{if(J=J.children[Y$(Y,X)],J){Y+=J$;break}return w()}default:return w()}});var cG=K(2,($,Z)=>Q0(yX($,Z,C(Z))));var K9=K(3,($,Z,X)=>mX($,Z,()=>M(X))),lx=K(3,($,Z,X)=>{if($._editable)return $._root=Z,$._size=X,$;return Z===$._root?$:dG($._editable,$._edit,Z,X)}),hX=($)=>new gX($,(Z)=>Z);var W7=($)=>$._size;var K7=($)=>dG(!0,$._edit+1,$._root,$._size),pG=($)=>{return $._editable=!1,$},HB=K(2,($,Z)=>{let X=K7($);return Z(X),pG(X)}),mX=K(3,($,Z,X)=>WB($,Z,C(Z),X)),WB=K(4,($,Z,X,J)=>{let Y={value:$._size},G=$._root.modify($._editable?$._edit:NaN,0,J,X,Z,Y);return D($,lx(G,Y.value))});var dX=K(2,($,Z)=>mX($,Z,w));var KB=K(2,($,Z)=>S4($,x4(),(X,J,Y)=>K9(X,Y,Z(J,Y))));var cX=K(2,($,Z)=>S4($,void 0,(X,J,Y)=>Z(J,Y))),S4=K(3,($,Z,X)=>{let J=$._root;if(J._tag==="LeafNode")return Q0(J.value)?X(Z,J.value.value,J.key):Z;if(J._tag==="EmptyNode")return Z;let Y=[J.children],G;while(G=Y.pop())for(let Q=0,H=G.length;Q<H;){let W=G[Q++];if(W&&!a8(W))if(W._tag==="LeafNode"){if(Q0(W.value))Z=X(Z,W.value.value,W.key)}else Y.push(W.children)}return Z});var VB="effect/HashSet",pX=Symbol.for(VB),ix={[pX]:pX,[Symbol.iterator](){return hX(this._keyMap)},[x](){return u(this,g(C(this._keyMap))(C(VB)))},[E]($){if(DB($))return W7(this._keyMap)===W7($._keyMap)&&R(this._keyMap,$._keyMap);return!1},toString(){return l(this.toJSON())},toJSON(){return{_id:"HashSet",values:Array.from(this).map(n)}},[d](){return this.toJSON()},pipe(){return _(this,arguments)}},uX=($)=>{let Z=Object.create(ix);return Z._keyMap=$,Z},DB=($)=>T($,pX),sx=uX(x4()),U9=()=>sx,zB=($)=>{let Z=oX(U9());for(let X of $)Q$(Z,X);return nX(Z)},BB=(...$)=>{let Z=oX(U9());for(let X of $)Q$(Z,X);return nX(Z)},fX=K(2,($,Z)=>cG($._keyMap,Z));var OB=($)=>W7($._keyMap),oX=($)=>uX(K7($._keyMap)),nX=($)=>{return $._keyMap._editable=!1,$},U7=K(2,($,Z)=>{let X=oX($);return Z(X),nX(X)}),Q$=K(2,($,Z)=>$._keyMap._editable?(K9(Z,!0)($._keyMap),$):uX(K9(Z,!0)($._keyMap))),uG=K(2,($,Z)=>$._keyMap._editable?(dX(Z)($._keyMap),$):uX(dX(Z)($._keyMap))),AB=K(2,($,Z)=>U7($,(X)=>{for(let J of Z)uG(X,J)}));var qB=K(2,($,Z)=>U7(U9(),(X)=>{rX($,(J)=>Q$(X,J));for(let J of Z)Q$(X,J)}));var NB=K(2,($,Z)=>U7(U9(),(X)=>{rX($,(J)=>{let Y=Z(J);if(!fX(X,Y))Q$(X,Y)})})),PB=K(2,($,Z)=>U7(U9(),(X)=>{rX($,(J)=>{for(let Y of Z(J))if(!fX(X,Y))Q$(X,Y)})})),rX=K(2,($,Z)=>cX($._keyMap,(X,J)=>Z(J))),wB=K(3,($,Z,X)=>S4($._keyMap,Z,(J,Y,G)=>X(J,G)));var B5=U9,lX=zB,b5=BB,iX=fX;var V9=OB;var D9=Q$,fG=uG,oG=AB;var B6=qB;var nG=NB,rG=PB;var z9=wB;var H$="Die",A6="Empty",W$="Fail",K$="Interrupt",U$="Parallel",V$="Sequential";var LB="effect/Cause",sX=Symbol.for(LB),ex={_E:($)=>$},v4={[sX]:ex,[x](){return D(C(LB),g(C($S(this))),u(this))},[E]($){return V7($)&&mB(this,$)},pipe(){return _(this,arguments)},toJSON(){switch(this._tag){case"Empty":return{_id:"Cause",_tag:this._tag};case"Die":return{_id:"Cause",_tag:this._tag,defect:n(this.defect)};case"Interrupt":return{_id:"Cause",_tag:this._tag,fiberId:this.fiberId.toJSON()};case"Fail":return{_id:"Cause",_tag:this._tag,failure:n(this.error)};case"Sequential":case"Parallel":return{_id:"Cause",_tag:this._tag,left:n(this.left),right:n(this.right)}}},toString(){return A5(this)},[d](){return this.toJSON()}},I0=(()=>{let $=Object.create(v4);return $._tag=A6,$})(),M8=($)=>{let Z=Object.create(v4);return Z._tag=W$,Z.error=$,Z},z0=($)=>{let Z=Object.create(v4);return Z._tag=H$,Z.defect=$,Z},l0=($)=>{let Z=Object.create(v4);return Z._tag=K$,Z.fiberId=$,Z},P0=($,Z)=>{let X=Object.create(v4);return X._tag=U$,X.left=$,X.right=Z,X},$0=($,Z)=>{let X=Object.create(v4);return X._tag=V$,X.left=$,X.right=Z,X},V7=($)=>T($,sX),aX=($)=>$._tag===A6,TB=($)=>$._tag===W$,O9=($)=>$._tag===H$,_B=($)=>$._tag===K$,RB=($)=>$._tag===V$,CB=($)=>$._tag===U$,IB=($)=>N9($,void 0,XS),D7=($)=>{if($._tag===A6)return!0;return q6($,!0,(Z,X)=>{switch(X._tag){case A6:return M(Z);case H$:case W$:case K$:return M(!1);default:return w()}})},jB=($)=>Q0(h4($)),EB=($)=>Q0(sG($)),b4=($)=>Q0(aG($)),A9=($)=>N9(void 0,JS)($),g4=($)=>v5(q6($,B8(),(Z,X)=>X._tag===W$?M(D(Z,n0(X.error))):w())),y4=($)=>v5(q6($,B8(),(Z,X)=>X._tag===H$?M(D(Z,n0(X.defect))):w())),q9=($)=>q6($,B5(),(Z,X)=>X._tag===K$?M(D(Z,D9(X.fiberId))):w()),h4=($)=>g5($,(Z)=>Z._tag===W$?M(Z.error):w()),O5=($)=>{let Z=h4($);switch(Z._tag){case"None":return s($);case"Some":return q0(Z.value)}},sG=($)=>g5($,(Z)=>Z._tag===H$?M(Z.defect):w()),xB=($)=>y5($,{onEmpty:M(I0),onFail:l8(M8),onDie:(Z)=>M(z0(Z)),onInterrupt:(Z)=>M(l0(Z)),onSequential:V6($0),onParallel:V6(P0)}),aG=($)=>g5($,(Z)=>Z._tag===K$?M(Z.fiberId):w()),tX=($)=>y5($,{onEmpty:w(),onFail:()=>w(),onDie:(Z)=>M(z0(Z)),onInterrupt:()=>w(),onSequential:V6($0),onParallel:V6(P0)}),SB=($)=>y5($,{onEmpty:w(),onFail:(Z)=>M(z0(Z)),onDie:(Z)=>M(z0(Z)),onInterrupt:()=>w(),onSequential:V6($0),onParallel:V6(P0)}),kB=($)=>y5($,{onEmpty:B5(),onFail:(Z)=>b5(M8(Z)),onDie:(Z)=>b5(z0(Z)),onInterrupt:(Z)=>b5(l0(Z)),onSequential:(Z,X)=>rG(Z,(J)=>nG(X,(Y)=>$0(J,Y))),onParallel:(Z,X)=>rG(Z,(J)=>nG(X,(Y)=>P0(J,Y)))}),z7=($)=>y5($,{onEmpty:I0,onFail:()=>I0,onDie:z0,onInterrupt:l0,onSequential:$0,onParallel:P0}),vB=($)=>y5($,{onEmpty:I0,onFail:z0,onDie:z0,onInterrupt:l0,onSequential:$0,onParallel:P0}),bB=K(2,($,Z)=>y5($,{onEmpty:M(I0),onFail:(X)=>M(M8(X)),onDie:(X)=>{let J=Z(X);return Q0(J)?w():M(z0(X))},onInterrupt:(X)=>M(l0(X)),onSequential:V6($0),onParallel:V6(P0)})),gB=K(2,($,Z)=>m4($,()=>Z)),m4=K(2,($,Z)=>k4($,(X)=>M8(Z(X)))),k4=K(2,($,Z)=>y5($,{onEmpty:I0,onFail:(X)=>Z(X),onDie:(X)=>z0(X),onInterrupt:(X)=>l0(X),onSequential:(X,J)=>$0(X,J),onParallel:(X,J)=>P0(X,J)})),eX=($)=>k4($,h),yB=K(2,($,Z)=>n8(Z)?k4($,Z):k4($,()=>Z)),hB=K(2,($,Z)=>{if(Z._tag===A6||$===Z)return!0;return q6($,!1,(X,J)=>{return M(X||mB(J,Z))})}),mB=($,Z)=>{let X=N0($),J=N0(Z);while(a0(X)&&a0(J)){let[Y,G]=D(r0(X),q6([B5(),B8()],([W,U],z)=>{let[V,O]=lG(z);return M([D(W,B6(V)),D(U,k8(O))])})),[Q,H]=D(r0(J),q6([B5(),B8()],([W,U],z)=>{let[V,O]=lG(z);return M([D(W,B6(V)),D(U,k8(O))])}));if(!R(Y,Q))return!1;X=G,J=H}return!0},$S=($)=>{return ZS(N0($),B8())},ZS=($,Z)=>{while(!0){let[X,J]=D($,X$([B5(),B8()],([G,Q],H)=>{let[W,U]=lG(H);return[D(G,B6(W)),D(Q,k8(U))]})),Y=V9(X)>0?D(Z,n0(X)):Z;if(vG(J))return v5(Y);$=J,Z=Y}throw Error(t$("Cause.flattenCauseLoop"))},g5=K(2,($,Z)=>{let X=[$];while(X.length>0){let J=X.pop(),Y=Z(J);switch(Y._tag){case"None":{switch(J._tag){case V$:case U$:{X.push(J.right),X.push(J.left);break}}break}case"Some":return Y}}return w()}),dB=K(2,($,Z)=>N9($,void 0,YS(Z))),lG=($)=>{let Z=$,X=[],J=B5(),Y=B8();while(Z!==void 0)switch(Z._tag){case A6:{if(X.length===0)return[J,Y];Z=X.pop();break}case W$:{if(J=D9(J,G7(Z._tag,Z.error)),X.length===0)return[J,Y];Z=X.pop();break}case H$:{if(J=D9(J,G7(Z._tag,Z.defect)),X.length===0)return[J,Y];Z=X.pop();break}case K$:{if(J=D9(J,G7(Z._tag,Z.fiberId)),X.length===0)return[J,Y];Z=X.pop();break}case V$:{switch(Z.left._tag){case A6:{Z=Z.right;break}case V$:{Z=$0(Z.left.left,$0(Z.left.right,Z.right));break}case U$:{Z=P0($0(Z.left.left,Z.right),$0(Z.left.right,Z.right));break}default:{Y=n0(Y,Z.right),Z=Z.left;break}}break}case U$:{X.push(Z.right),Z=Z.left;break}}throw Error(t$("Cause.evaluateCauseLoop"))},XS={emptyCase:()=>0,failCase:()=>1,dieCase:()=>1,interruptCase:()=>1,sequentialCase:($,Z,X)=>Z+X,parallelCase:($,Z,X)=>Z+X},JS={emptyCase:Y6,failCase:D8,dieCase:D8,interruptCase:Y6,sequentialCase:($,Z,X)=>Z&&X,parallelCase:($,Z,X)=>Z&&X},YS=($)=>({emptyCase:()=>I0,failCase:(Z,X)=>M8(X),dieCase:(Z,X)=>z0(X),interruptCase:(Z,X)=>l0(X),sequentialCase:(Z,X,J)=>{if($(X)){if($(J))return $0(X,J);return X}if($(J))return J;return I0},parallelCase:(Z,X,J)=>{if($(X)){if($(J))return P0(X,J);return X}if($(J))return J;return I0}}),MB="SequentialCase",FB="ParallelCase",y5=K(2,($,{onDie:Z,onEmpty:X,onFail:J,onInterrupt:Y,onParallel:G,onSequential:Q})=>{return N9($,void 0,{emptyCase:()=>X,failCase:(H,W)=>J(W),dieCase:(H,W)=>Z(W),interruptCase:(H,W)=>Y(W),sequentialCase:(H,W,U)=>Q(W,U),parallelCase:(H,W,U)=>G(W,U)})}),q6=K(3,($,Z,X)=>{let J=Z,Y=$,G=[];while(Y!==void 0){let Q=X(J,Y);switch(J=Q0(Q)?Q.value:J,Y._tag){case V$:{G.push(Y.right),Y=Y.left;break}case U$:{G.push(Y.right),Y=Y.left;break}default:{Y=void 0;break}}if(Y===void 0&&G.length>0)Y=G.pop()}return J}),N9=K(3,($,Z,X)=>{let J=[$],Y=[];while(J.length>0){let Q=J.pop();switch(Q._tag){case A6:{Y.push(s(X.emptyCase(Z)));break}case W$:{Y.push(s(X.failCase(Z,Q.error)));break}case H$:{Y.push(s(X.dieCase(Z,Q.defect)));break}case K$:{Y.push(s(X.interruptCase(Z,Q.fiberId)));break}case V$:{J.push(Q.right),J.push(Q.left),Y.push(q0({_tag:MB}));break}case U$:{J.push(Q.right),J.push(Q.left),Y.push(q0({_tag:FB}));break}}}let G=[];while(Y.length>0){let Q=Y.pop();switch(Q._tag){case"Left":{switch(Q.left._tag){case MB:{let H=G.pop(),W=G.pop(),U=X.sequentialCase(Z,H,W);G.push(U);break}case FB:{let H=G.pop(),W=G.pop(),U=X.parallelCase(Z,H,W);G.push(U);break}}break}case"Right":{G.push(Q.right);break}}}if(G.length===0)throw Error("BUG: Cause.reduceWithContext - please report an issue at https://github.com/Effect-TS/effect/issues");return G.pop()}),A5=($,Z)=>{if(A9($))return"All fibers interrupted without errors.";return d4($).map(function(X){if(Z?.renderErrorCause!==!0||X.cause===void 0)return X.stack;return`${X.stack} {
|
|
54
54
|
${cB(X.cause," ")}
|
|
55
55
|
}`}).join(`
|
|
@@ -81,5 +81,5 @@ ${this.stack.split(`
|
|
|
81
81
|
`).trim();if(!U.includes("("))U=U.replace(/at (.*)/,"at ($1)");return J=`${W}
|
|
82
82
|
${U}`,J}},G=$.spanOptions&&"captureStackTrace"in $.spanOptions?$.spanOptions:{captureStackTrace:Y,...$.spanOptions};return x_(Z,$.spanName,G)}var co=l4,po=()=>($)=>$,uo=()=>($)=>$,fo=()=>($)=>$;var TK={};T4(TK,{unsafeSet:()=>A2,unsafeHas:()=>q2,unsafeGet:()=>y_,size:()=>Jn,set:()=>ao,runtimePromise:()=>h_,runtime:()=>LK,run:()=>Xn,remove:()=>$n,makeRuntimePromise:()=>io,makeRuntime:()=>lo,make:()=>FK,join:()=>Yn,isFiberMap:()=>MK,has:()=>eo,get:()=>to,clear:()=>Zn,awaitEmpty:()=>Gn,TypeId:()=>O2});var PK=N1;var k_=L5;var v_=hW;var O2=Symbol.for("effect/FiberMap"),MK=($)=>T($,O2),no={[O2]:O2,[Symbol.iterator](){if(this.state._tag==="Closed")return Sz();return this.state.backing[Symbol.iterator]()},toString(){return l(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[d](){return this.toJSON()},pipe(){return _(this,arguments)}},ro=($,Z)=>{let X=Object.create(no);return X.state={_tag:"Open",backing:$},X.deferred=Z,X},FK=()=>zK(T5(Z_(),($)=>ro(m6(),$)),($)=>M1((Z)=>{let X=$.state;if(X._tag==="Closed")return L1;return $.state={_tag:"Closed"},GT(kz(X.backing,([,J])=>J),p5(Z.id(),_1)).pipe(OK($.deferred))})),lo=()=>B2(FK(),($)=>LK($)()),io=()=>B2(FK(),($)=>h_($)()),g_=-1,_1=qO(g_,0),so=BQ(void 0,{emptyCase:D8,failCase:D8,dieCase:D8,interruptCase:($,Z)=>iX(M7(Z),g_),sequentialCase:($,Z,X)=>Z||X,parallelCase:($,Z,X)=>Z||X}),A2=K(($)=>MK($[0]),($,Z,X,J)=>{if($.state._tag==="Closed"){X.unsafeInterruptAsFork(p5(J?.interruptAs??i0,_1));return}let Y=K0($.state.backing,Z);if(Y._tag==="Some"){if(J?.onlyIfMissing===!0){X.unsafeInterruptAsFork(p5(J?.interruptAs??i0,_1));return}else if(Y.value===X)return;Y.value.unsafeInterruptAsFork(p5(J?.interruptAs??i0,_1))}K8($.state.backing,Z,X),X.addObserver((G)=>{if($.state._tag==="Closed")return;let Q=K0($.state.backing,Z);if(Q0(Q)&&X===Q.value)d6($.state.backing,Z);if(jH(G)&&(J?.propagateInterruption===!0?!so(G.cause):!DQ(G.cause)))Y_($.deferred,G)})}),ao=K(($)=>MK($[0]),($,Z,X,J)=>BK((Y)=>F1(()=>A2($,Z,X,{...J,interruptAs:Y})))),y_=K(2,($,Z)=>$.state._tag==="Closed"?w():K0($.state.backing,Z)),to=K(2,($,Z)=>DK(()=>y_($,Z))),q2=K(2,($,Z)=>$.state._tag==="Closed"?!1:m8($.state.backing,Z)),eo=K(2,($,Z)=>F1(()=>q2($,Z))),$n=K(2,($,Z)=>M1((X)=>{if($.state._tag==="Closed")return L1;let J=K0($.state.backing,Z);if(J._tag==="None")return L1;return vZ(J.value,p5(X.id(),_1))})),Zn=($)=>M1((Z)=>{if($.state._tag==="Closed")return L1;return KK($.state.backing,([,X])=>vZ(X,p5(Z.id(),_1)))}),wK=function(){let $=void 0;return()=>{if($===void 0)$=NK(z2);return $}}(),Xn=function(){let $=arguments[0];if(WK(arguments[2]))return b_($,arguments[1],arguments[2],arguments[3]);let Z=arguments[1],X=arguments[2];return(J)=>b_($,Z,J,X)},b_=($,Z,X,J)=>M1((Y)=>{if($.state._tag==="Closed")return z2;else if(J?.onlyIfMissing===!0&&q2($,Z))return F1(wK);let G=v_({context:Y.currentContext,fiberRefs:Y.getFiberRefs(),runtimeFlags:k_.runtimeFlags}),Q=PK(G)(X);return A2($,Z,Q,{...J,interruptAs:Y.id()}),UK(Q)}),LK=($)=>()=>T5(qK(),(Z)=>{let X=PK(Z);return(J,Y,G)=>{if($.state._tag==="Closed")return wK();else if(G?.onlyIfMissing===!0&&q2($,J))return wK();let Q=X(Y,G);return A2($,J,Q,G),Q}}),h_=($)=>()=>T5(LK($)(),(Z)=>(X,J,Y)=>new Promise((G,Q)=>Z(X,J,Y).addObserver((H)=>{if(EH(H))G(H.value);else Q(zQ(H.cause))}))),Jn=($)=>F1(()=>$.state._tag==="Closed"?0:t9($.state.backing)),Yn=($)=>X4($.deferred),Gn=($)=>AK({while:()=>$.state._tag==="Open"&&t9($.state.backing)>0,body:()=>YT(xz($)[1]),step:o8});var _K=nV(f2(),1);var l10=d_();function An($){let{data:Z,content:X}=_K.default($);return{frontmatter:{...Z},content:X.trim()}}function qn($,Z){return _K.default.stringify(Z,$)}function i10($,Z,X){let{frontmatter:J,content:Y}=An($);if(X===null||X===void 0)delete J[Z];else J[Z]=X;return qn(J,Y)}class c_{cache=null;cacheParseError=null;logger;entityService;entityType;defaultBody;readScope;constructor($,Z,X,J,Y="public"){this.entityService=$,this.logger=Z.child(this.constructor.name),this.entityType=X,this.defaultBody=J,this.readScope=Y}async initialize(){if(await this.load())return;if(await this.load())return;this.logger.info(`No ${this.entityType} found, creating default ${this.entityType}`);try{let $=this.createContent(this.defaultBody);await this.entityService.createEntity({entity:{id:this.entityType,entityType:this.entityType,content:$,metadata:{}}}),await this.load(),this.logger.info(`Default ${this.entityType} created successfully`)}catch($){this.logger.error(`Failed to create default ${this.entityType}`,{error:$})}}get(){if(this.cache&&!this.cacheParseError)return this.parseBody(this.cache.content);return this.defaultBody}getContent(){if(this.cache)return this.cache.content;return this.createContent(this.defaultBody)}async refreshCache(){await this.load()}async load(){try{let $=await this.entityService.getEntity({entityType:this.entityType,id:this.entityType,visibilityScope:this.readScope});if(this.cache=$,this.cacheParseError=null,$)try{return this.parseBody($.content),this.logger.debug(`${this.entityType} loaded`),!0}catch(Z){return this.cacheParseError=Z instanceof Error?Z:Error(String(Z)),this.logger.error(`Failed to parse ${this.entityType} \u2014 using default. Fix the entity content to clear this error.`,{error:this.cacheParseError.message}),!0}else this.logger.debug(`No ${this.entityType} found in database`)}catch($){this.logger.warn(`Failed to load ${this.entityType}`,{error:$}),this.cache=null,this.cacheParseError=null}return!1}}export{$X as D,Or as E,f8 as F,qE as G,I as H,p1 as I,x8 as J,WX as K,E5 as L,YZ as M,i9 as N,eY as O,T1 as P,TK as Q,RK as R,o_ as S,F2 as T,r_ as U,pD as V,n2 as W,r$ as X,r2 as Y,An as Z,qn as _,i10 as $,ZX as aa,c_ as ba,tj as ca,ej as da,$E as ea};
|
|
83
83
|
|
|
84
|
-
//# debugId=
|
|
85
|
-
//# sourceMappingURL=index-
|
|
84
|
+
//# debugId=A0B063E2A2FE90CB64756E2164756E21
|
|
85
|
+
//# sourceMappingURL=index-q6b959de.js.map
|