@rizom/brain 0.2.0-alpha.216 → 0.2.0-alpha.218
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 +947 -967
- package/dist/chunks/blog-post-adapter-nwgbah59.js +5 -0
- package/dist/chunks/{index-fjp4jadv.js → index-457w4zv3.js} +4 -4
- package/dist/chunks/{index-fjp4jadv.js.map → index-457w4zv3.js.map} +1 -1
- package/dist/chunks/{index-gmfgjnnw.js → index-7j5wm2z5.js} +3 -3
- package/dist/chunks/{index-gmfgjnnw.js.map → index-7j5wm2z5.js.map} +1 -1
- package/dist/chunks/{index-e2c4agdd.js → index-c7ehmqhv.js} +4 -4
- package/dist/chunks/{index-e2c4agdd.js.map → index-c7ehmqhv.js.map} +1 -1
- package/dist/chunks/{index-whpvp633.js → index-chnjenm4.js} +3 -3
- package/dist/chunks/{index-whpvp633.js.map → index-chnjenm4.js.map} +1 -1
- package/dist/chunks/{index-w9z1vrm1.js → index-f4gcns9h.js} +4 -4
- package/dist/chunks/{index-w9z1vrm1.js.map → index-f4gcns9h.js.map} +1 -1
- package/dist/chunks/{index-3097wt56.js → index-gbnw7xez.js} +4 -4
- package/dist/chunks/{index-3097wt56.js.map → index-gbnw7xez.js.map} +1 -1
- package/dist/chunks/{index-bs70092j.js → index-q9sthmbv.js} +4 -4
- package/dist/chunks/{index-bs70092j.js.map → index-q9sthmbv.js.map} +1 -1
- package/dist/chunks/{index-wvwq0pm7.js → index-r4f9aab7.js} +4 -4
- package/dist/chunks/{index-wvwq0pm7.js.map → index-r4f9aab7.js.map} +1 -1
- package/dist/chunks/index-vfn2acy1.js +6 -0
- package/dist/chunks/{index-4r98bhg4.js.map → index-vfn2acy1.js.map} +4 -3
- package/dist/chunks/{index-h3s9msd8.js → index-wbjxq811.js} +3 -3
- package/dist/chunks/{index-h3s9msd8.js.map → index-wbjxq811.js.map} +1 -1
- package/dist/chunks/{index-9s5cwp2s.js → index-zmtkjeqj.js} +3 -3
- package/dist/chunks/{index-9s5cwp2s.js.map → index-zmtkjeqj.js.map} +1 -1
- package/dist/chunks/{rss-datasource-8wtv3mt5.js → rss-datasource-zj8k12xw.js} +3 -3
- package/dist/chunks/{rss-datasource-8wtv3mt5.js.map → rss-datasource-zj8k12xw.js.map} +1 -1
- package/dist/deploy.js +1 -1
- package/dist/entities.js +2 -2
- package/dist/entities.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +3 -0
- package/dist/interfaces.js +2 -2
- package/dist/interfaces.js.map +1 -1
- package/dist/plugins.d.ts +3 -0
- package/dist/plugins.js +2 -2
- package/dist/plugins.js.map +1 -1
- package/dist/services.js +2 -2
- package/dist/services.js.map +1 -1
- package/dist/site.js +103 -103
- package/dist/site.js.map +6 -6
- package/dist/templates.js +2 -2
- package/dist/templates.js.map +1 -1
- package/dist/themes.js +1 -1
- package/dist/ui/cms-app.js +399 -403
- package/dist/ui/cms-app.js.map +73 -10
- package/package.json +1 -1
- package/dist/chunks/blog-post-adapter-mcd8g3g5.js +0 -5
- package/dist/chunks/index-4r98bhg4.js +0 -6
- /package/dist/chunks/{blog-post-adapter-mcd8g3g5.js.map → blog-post-adapter-nwgbah59.js.map} +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{a,b}from"./index-chnjenm4.js";import"./index-vfn2acy1.js";import"./index-f4gcns9h.js";import"./index-457w4zv3.js";import"./index-c7ehmqhv.js";import"./index-gbnw7xez.js";import"./index-q9sthmbv.js";import"./index-zmtkjeqj.js";import"./index-r4f9aab7.js";import"./index-7j5wm2z5.js";export{b as blogPostAdapter,a as BlogPostAdapter};
|
|
3
|
+
|
|
4
|
+
//# debugId=1740B4E5E07C590464756E2164756E21
|
|
5
|
+
//# sourceMappingURL=blog-post-adapter-nwgbah59.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
3
|
-
export{U as
|
|
2
|
+
import{fa as R}from"./index-c7ehmqhv.js";import{Ra as H}from"./index-r4f9aab7.js";var U=H.looseObject({id:H.string().optional(),limit:H.number().optional(),page:H.number().optional(),pageSize:H.number().optional(),baseUrl:H.string().optional()}),V=H.looseObject({entityType:H.string().optional(),query:U.optional()});class W{logger;constructor(j){this.logger=j}buildDetailResult(j,w){throw Error(`${this.id}: buildDetailResult() not implemented. Override this method or override fetch() to handle detail views.`)}parseQuery(j){let w=V.parse(j);return{entityType:w.entityType??this.config.entityType,query:w.query??{}}}async fetch(j,w,C){let B=this.parseQuery(j),A=C.entityService;if(B.query.id){let J=await this.fetchDetail(B.query.id,A);return w.parse(this.buildDetailResult(J.item,J.navigation))}let G=await this.fetchList(B.query,A);return w.parse(this.buildListResult(G.items,G.pagination,B.query))}async fetchDetail(j,w){let C=await this.lookupEntity(j,w),B=this.transformEntity(C),A=null;if(this.config.enableNavigation)A=await this.resolveNavigation(C,w);return{item:B,navigation:A}}async fetchList(j,w,C){let B=j.page??1,A=j.pageSize??j.limit??this.config.defaultLimit??100,G=(B-1)*A,J=j.page!==void 0,[K,L]=await Promise.all([w.listEntities({entityType:this.config.entityType,options:{limit:A,offset:G,sortFields:this.config.defaultSort,...C}}),J?w.countEntities({entityType:this.config.entityType,options:C?.filter?{filter:C.filter}:void 0}):Promise.resolve(0)]),M=K.map((T)=>this.transformEntity(T)),N=J?R(L,B,A):null;return{items:M,pagination:N}}async resolveNavigation(j,w,C){let B=this.config.navigationLimit??1000,A=await w.listEntities({entityType:this.config.entityType,options:{limit:B,sortFields:C??this.config.defaultSort}}),G=A.findIndex((N)=>N.id===j.id),J=G>0?A[G-1]:void 0,K=G<A.length-1?A[G+1]:void 0,L=J?this.transformEntity(J):null,M=K?this.transformEntity(K):null;return{prev:L,next:M}}async lookupEntity(j,w){if(this.config.lookupField==="id"){let A=await w.getEntity({entityType:this.config.entityType,id:j});if(!A)throw Error(`${this.config.entityType} not found: ${j}`);return A}let B=(await w.listEntities({entityType:this.config.entityType,options:{filter:{metadata:{slug:j}},limit:1}}))[0];if(!B)throw Error(`${this.config.entityType} not found with slug: ${j}`);return B}}
|
|
3
|
+
export{U as B,V as C,W as D};
|
|
4
4
|
|
|
5
|
-
//# debugId=
|
|
6
|
-
//# sourceMappingURL=index-
|
|
5
|
+
//# debugId=AD03803CC9F84B3D64756E2164756E21
|
|
6
|
+
//# sourceMappingURL=index-457w4zv3.js.map
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"import type {\n DataSource,\n DataSourceSchema,\n BaseDataSourceContext,\n IEntityService,\n BaseEntity,\n ListOptions,\n SortField,\n PaginationInfo,\n} from \"@brains/entity-service\";\nimport { buildPaginationInfo } from \"@brains/entity-service\";\nimport type { Logger } from \"@brains/utils/logger\";\nimport { z } from \"@brains/utils/zod\";\n\nexport type { SortField };\n\ninterface BaseQuerySchemaShape {\n id: z.ZodOptional<z.ZodString>;\n limit: z.ZodOptional<z.ZodNumber>;\n page: z.ZodOptional<z.ZodNumber>;\n pageSize: z.ZodOptional<z.ZodNumber>;\n baseUrl: z.ZodOptional<z.ZodString>;\n}\n\ntype BaseQuerySchema = ReturnType<typeof z.looseObject<BaseQuerySchemaShape>>;\n\n/**\n * Zod schema for the base query fields.\n * Subclasses can extend this with `.extend()` for additional fields.\n */\nexport const baseQuerySchema: BaseQuerySchema = z.looseObject({\n id: z.string().optional(),\n limit: z.number().optional(),\n page: z.number().optional(),\n pageSize: z.number().optional(),\n baseUrl: z.string().optional(),\n});\n\n/**\n * Zod schema for the outer datasource input (entityType + query).\n * Subclasses can extend the inner query via `baseQuerySchema.extend()`.\n */\ninterface BaseInputSchemaShape {\n entityType: z.ZodOptional<z.ZodString>;\n query: z.ZodOptional<typeof baseQuerySchema>;\n}\n\ntype BaseInputSchema = ReturnType<typeof z.looseObject<BaseInputSchemaShape>>;\n\nexport const baseInputSchema: BaseInputSchema = z.looseObject({\n entityType: z.string().optional(),\n query: baseQuerySchema.optional(),\n});\n\n/**\n * Parsed base query parameters.\n * Subclasses can extend this with additional fields via `parseQuery()`.\n */\nexport type BaseQuery = z.output<typeof baseQuerySchema>;\n\n/**\n * Navigation context for detail views (prev/next entities).\n */\nexport interface NavigationResult<T> {\n prev: T | null;\n next: T | null;\n}\n\n/**\n * Configuration for a BaseEntityDataSource.\n */\nexport interface EntityDataSourceConfig {\n /** Entity type to query (e.g., \"post\", \"deck\", \"project\") */\n entityType: string;\n /** Default sort order for list and navigation queries */\n defaultSort: SortField[];\n /** Default limit for list queries (defaults to 100) */\n defaultLimit?: number;\n /**\n * How to look up a single entity by the `id` query param.\n * - \"slug\": filter by `metadata.slug` (default)\n * - \"id\": direct `getEntity()` lookup\n */\n lookupField?: \"slug\" | \"id\";\n /** Enable prev/next navigation on detail views (defaults to false) */\n enableNavigation?: boolean;\n /** Max entities to fetch when resolving prev/next navigation (defaults to 1000) */\n navigationLimit?: number;\n}\n\n/**\n * Base class for entity datasources that follow the list/detail pattern.\n *\n * Provides:\n * - Query parsing with Zod validation\n * - Detail view: entity lookup (by slug or id), optional prev/next navigation\n * - List view: paginated fetch with sorting\n *\n * Subclasses implement:\n * - `transformEntity()` — convert raw entity to display format\n * - `buildListResult()` — shape the list response\n *\n * Optionally override:\n * - `buildDetailResult()` — shape the detail response (default throws; override\n * this OR override `fetch()` to handle detail views directly)\n *\n * For datasources with extra query cases (e.g., \"latest\", \"series\", \"nextInQueue\"),\n * override `fetch()` to handle those first, then call `super.fetch()` for the standard path.\n */\nexport abstract class BaseEntityDataSource<\n TEntity extends BaseEntity = BaseEntity,\n TTransformed = TEntity,\n> implements DataSource {\n protected readonly logger: Logger;\n abstract readonly id: string;\n abstract readonly name: string;\n abstract readonly description: string;\n\n protected abstract readonly config: EntityDataSourceConfig;\n\n constructor(logger: Logger) {\n this.logger = logger;\n }\n\n /**\n * Transform a raw entity into the display format used by templates.\n * Called for both list items and detail views.\n */\n protected abstract transformEntity(entity: TEntity): TTransformed;\n\n /**\n * Build the detail response object.\n * Override this if using the base class's standard detail path.\n * Datasources that fully override `fetch()` for detail views need not implement this.\n *\n * @param item - The transformed entity\n * @param navigation - Prev/next entities (null if navigation is disabled)\n */\n protected buildDetailResult(\n _item: TTransformed,\n _navigation: NavigationResult<TTransformed> | null,\n ): unknown {\n throw new Error(\n `${this.id}: buildDetailResult() not implemented. ` +\n `Override this method or override fetch() to handle detail views.`,\n );\n }\n\n /**\n * Build the list response object.\n * @param items - Transformed entities\n * @param pagination - Pagination info (null if no page param was provided)\n * @param query - The parsed query params (for passing through baseUrl, etc.)\n */\n protected abstract buildListResult(\n items: TTransformed[],\n pagination: PaginationInfo | null,\n query: BaseQuery,\n ): unknown;\n\n /**\n * Parse and validate the incoming query with Zod.\n * Override to support additional query parameters beyond the base set.\n * Use `baseQuerySchema.extend()` or `baseInputSchema` for validation.\n */\n protected parseQuery(query: unknown): {\n entityType: string;\n query: BaseQuery;\n } {\n const parsed = baseInputSchema.parse(query);\n return {\n entityType: parsed.entityType ?? this.config.entityType,\n query: parsed.query ?? {},\n };\n }\n\n /**\n * Standard fetch implementation: dispatch to detail or list based on query.id.\n *\n * Override to handle custom query cases before falling through to the standard path:\n * ```typescript\n * async fetch<T>(query, outputSchema, context) {\n * const params = this.parseQuery(query);\n * if (params.query.latest) {\n * return this.fetchLatest(outputSchema, context.entityService);\n * }\n * return super.fetch(query, outputSchema, context);\n * }\n * ```\n */\n async fetch<T>(\n query: unknown,\n outputSchema: DataSourceSchema<T>,\n context: BaseDataSourceContext,\n ): Promise<T> {\n const params = this.parseQuery(query);\n const entityService = context.entityService;\n\n if (params.query.id) {\n const result = await this.fetchDetail(params.query.id, entityService);\n return outputSchema.parse(\n this.buildDetailResult(result.item, result.navigation),\n );\n }\n\n const result = await this.fetchList(params.query, entityService);\n return outputSchema.parse(\n this.buildListResult(result.items, result.pagination, params.query),\n );\n }\n\n // ── Protected utilities (available to subclasses for custom cases) ──\n\n /**\n * Fetch a single entity and optionally resolve prev/next navigation.\n */\n protected async fetchDetail(\n id: string,\n entityService: IEntityService,\n ): Promise<{\n item: TTransformed;\n navigation: NavigationResult<TTransformed> | null;\n }> {\n const entity = await this.lookupEntity(id, entityService);\n const item = this.transformEntity(entity);\n\n let navigation: NavigationResult<TTransformed> | null = null;\n if (this.config.enableNavigation) {\n navigation = await this.resolveNavigation(entity, entityService);\n }\n\n return { item, navigation };\n }\n\n /**\n * Fetch a paginated list of entities.\n */\n protected async fetchList(\n query: BaseQuery,\n entityService: IEntityService,\n listOptions?: Partial<ListOptions>,\n ): Promise<{ items: TTransformed[]; pagination: PaginationInfo | null }> {\n const currentPage = query.page ?? 1;\n const itemsPerPage =\n query.pageSize ?? query.limit ?? this.config.defaultLimit ?? 100;\n const offset = (currentPage - 1) * itemsPerPage;\n\n const needsPagination = query.page !== undefined;\n\n // Run list and count queries in parallel when pagination is needed\n const [entities, totalItems] = await Promise.all([\n entityService.listEntities<TEntity>({\n entityType: this.config.entityType,\n options: {\n limit: itemsPerPage,\n offset,\n sortFields: this.config.defaultSort,\n ...listOptions,\n },\n }),\n needsPagination\n ? entityService.countEntities({\n entityType: this.config.entityType,\n options: listOptions?.filter\n ? { filter: listOptions.filter }\n : undefined,\n })\n : Promise.resolve(0),\n ]);\n\n const items = entities.map((e) => this.transformEntity(e));\n\n const pagination = needsPagination\n ? buildPaginationInfo(totalItems, currentPage, itemsPerPage)\n : null;\n\n return { items, pagination };\n }\n\n /**\n * Resolve prev/next navigation for a given entity within the sorted list.\n */\n protected async resolveNavigation(\n entity: TEntity,\n entityService: IEntityService,\n sortFields?: SortField[],\n ): Promise<NavigationResult<TTransformed>> {\n const limit = this.config.navigationLimit ?? 1000;\n const allEntities = await entityService.listEntities<TEntity>({\n entityType: this.config.entityType,\n options: {\n limit,\n sortFields: sortFields ?? this.config.defaultSort,\n },\n });\n\n const currentIndex = allEntities.findIndex((e) => e.id === entity.id);\n const prevEntity =\n currentIndex > 0 ? allEntities[currentIndex - 1] : undefined;\n const nextEntity =\n currentIndex < allEntities.length - 1\n ? allEntities[currentIndex + 1]\n : undefined;\n const prev = prevEntity ? this.transformEntity(prevEntity) : null;\n const next = nextEntity ? this.transformEntity(nextEntity) : null;\n\n return { prev, next };\n }\n\n /**\n * Look up a single entity by id or slug.\n * Uses `config.lookupField` to determine the strategy.\n */\n protected async lookupEntity(\n id: string,\n entityService: IEntityService,\n ): Promise<TEntity> {\n if (this.config.lookupField === \"id\") {\n const entity = await entityService.getEntity<TEntity>({\n entityType: this.config.entityType,\n id: id,\n });\n if (!entity) {\n throw new Error(`${this.config.entityType} not found: ${id}`);\n }\n return entity;\n }\n\n // Default: lookup by slug in metadata\n const entities = await entityService.listEntities<TEntity>({\n entityType: this.config.entityType,\n options: {\n filter: { metadata: { slug: id } },\n limit: 1,\n },\n });\n\n const entity = entities[0];\n if (!entity) {\n throw new Error(`${this.config.entityType} not found with slug: ${id}`);\n }\n return entity;\n }\n}\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "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",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "AD03803CC9F84B3D64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
var j=Object.create;var{getPrototypeOf:k,defineProperty:f,getOwnPropertyNames:l}=Object;var m=Object.prototype.hasOwnProperty;function n(a){return this[a]}var o,p,s=(a,b,c)=>{var g=a!=null&&typeof a==="object";if(g){var h=b?o??=new WeakMap:p??=new WeakMap,i=h.get(a);if(i)return i}c=a!=null?j(k(a)):{};let d=b||!a||!a.__esModule?f(c,"default",{value:a,enumerable:!0}):c;for(let e of l(a))if(!m.call(d,e))f(d,e,{get:n.bind(a,e),enumerable:!0});if(g)h.set(a,d);return d};var t=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports);var q=(a)=>a;function r(a,b){this[a]=q.bind(null,b)}var u=(a,b)=>{for(var c in b)f(a,c,{get:b[c],enumerable:!0,configurable:!0,set:r.bind(b,c)})};var v=import.meta.require;
|
|
3
|
-
export{s as
|
|
3
|
+
export{s as Sa,t as Ta,u as Ua,v as Va};
|
|
4
4
|
|
|
5
|
-
//# debugId=
|
|
6
|
-
//# sourceMappingURL=index-
|
|
5
|
+
//# debugId=508508393BED27B864756E2164756E21
|
|
6
|
+
//# sourceMappingURL=index-7j5wm2z5.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Ea as a_}from"./index-q9sthmbv.js";import{Ra as M}from"./index-r4f9aab7.js";import{Sa as GD,Ta as p,Ua as H9,Va as y1}from"./index-7j5wm2z5.js";var b1=p((Br,uK)=>{var QR=Object.prototype.toString;uK.exports=function(Z){if(Z===void 0)return"undefined";if(Z===null)return"null";var X=typeof Z;if(X==="boolean")return"boolean";if(X==="string")return"string";if(X==="number")return"number";if(X==="symbol")return"symbol";if(X==="function")return VR(Z)?"generatorfunction":"function";if(HR(Z))return"array";if(BR(Z))return"buffer";if(zR(Z))return"arguments";if(KR(Z))return"date";if(WR(Z))return"error";if(UR(Z))return"regexp";switch(pK(Z)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(DR(Z))return"generator";switch(X=QR.call(Z),X){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return X.slice(8,-1).toLowerCase().replace(/\s/g,"")};function pK($){return typeof $.constructor==="function"?$.constructor.name:null}function HR($){if(Array.isArray)return Array.isArray($);return $ instanceof Array}function WR($){return $ instanceof Error||typeof $.message==="string"&&$.constructor&&typeof $.constructor.stackTraceLimit==="number"}function KR($){if($ instanceof Date)return!0;return typeof $.toDateString==="function"&&typeof $.getDate==="function"&&typeof $.setDate==="function"}function UR($){if($ instanceof RegExp)return!0;return typeof $.flags==="string"&&typeof $.ignoreCase==="boolean"&&typeof $.multiline==="boolean"&&typeof $.global==="boolean"}function VR($,Z){return pK($)==="GeneratorFunction"}function DR($){return typeof $.throw==="function"&&typeof $.return==="function"&&typeof $.next==="function"}function zR($){try{if(typeof $.length==="number"&&typeof $.callee==="function")return!0}catch(Z){if(Z.message.indexOf("callee")!==-1)return!0}return!1}function BR($){if($.constructor&&typeof $.constructor.isBuffer==="function")return $.constructor.isBuffer($);return!1}});var oK=p((Or,fK)=>{/*!
|
|
3
3
|
* is-extendable <https://github.com/jonschlinkert/is-extendable>
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2015, Jon Schlinkert.
|
|
@@ -79,7 +79,7 @@ ${this.stack.split(`
|
|
|
79
79
|
`),K=Q.slice(2).join(`
|
|
80
80
|
`).trim();if(!K.includes("("))K=K.replace(/at (.*)/,"at ($1)");let U=H.slice(2).join(`
|
|
81
81
|
`).trim();if(!U.includes("("))U=U.replace(/at (.*)/,"at ($1)");return J=`${K}
|
|
82
|
-
${U}`,J}},G=$.spanOptions&&"captureStackTrace"in $.spanOptions?$.spanOptions:{captureStackTrace:Y,...$.spanOptions};return p_(Z,$.spanName,G)}var En=e4,xn=()=>($)=>$,Sn=()=>($)=>$,kn=()=>($)=>$;var yK={};H9(yK,{unsafeSet:()=>C2,unsafeHas:()=>I2,unsafeGet:()=>l_,size:()=>nn,set:()=>dn,runtimePromise:()=>i_,runtime:()=>gK,run:()=>on,remove:()=>un,makeRuntimePromise:()=>hn,makeRuntime:()=>yn,make:()=>bK,join:()=>rn,isFiberMap:()=>vK,has:()=>pn,get:()=>cn,clear:()=>fn,awaitEmpty:()=>ln,TypeId:()=>R2});var SK=L1;var f_=R5;var o_=aW;var R2=Symbol.for("effect/FiberMap"),vK=($)=>T($,R2),bn={[R2]:R2,[Symbol.iterator](){if(this.state._tag==="Closed")return fz();return this.state.backing[Symbol.iterator]()},toString(){return i(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[d](){return this.toJSON()},pipe(){return _(this,arguments)}},gn=($,Z)=>{let X=Object.create(bn);return X.state={_tag:"Open",backing:$},X.deferred=Z,X},bK=()=>RK(C5(D_(),($)=>gn(c6(),$)),($)=>R1((Z)=>{let X=$.state;if(X._tag==="Closed")return I1;return $.state={_tag:"Closed"},AT(oz(X.backing,([,J])=>J),o5(Z.id(),E1)).pipe(IK($.deferred))})),yn=()=>_2(bK(),($)=>gK($)()),hn=()=>_2(bK(),($)=>i_($)()),r_=-1,E1=jO(r_,0),mn=CQ(void 0,{emptyCase:z8,failCase:z8,dieCase:z8,interruptCase:($,Z)=>GJ(I7(Z),r_),sequentialCase:($,Z,X)=>Z||X,parallelCase:($,Z,X)=>Z||X}),C2=W(($)=>vK($[0]),($,Z,X,J)=>{if($.state._tag==="Closed"){X.unsafeInterruptAsFork(o5(J?.interruptAs??s0,E1));return}let Y=V0($.state.backing,Z);if(Y._tag==="Some"){if(J?.onlyIfMissing===!0){X.unsafeInterruptAsFork(o5(J?.interruptAs??s0,E1));return}else if(Y.value===X)return;Y.value.unsafeInterruptAsFork(o5(J?.interruptAs??s0,E1))}U8($.state.backing,Z,X),X.addObserver((G)=>{if($.state._tag==="Closed")return;let Q=V0($.state.backing,Z);if(a(Q)&&X===Q.value)p6($.state.backing,Z);if(pH(G)&&(J?.propagateInterruption===!0?!mn(G.cause):!_Q(G.cause)))O_($.deferred,G)})}),dn=W(($)=>vK($[0]),($,Z,X,J)=>CK((Y)=>C1(()=>C2($,Z,X,{...J,interruptAs:Y})))),l_=W(2,($,Z)=>$.state._tag==="Closed"?N():V0($.state.backing,Z)),cn=W(2,($,Z)=>_K(()=>l_($,Z))),I2=W(2,($,Z)=>$.state._tag==="Closed"?!1:c8($.state.backing,Z)),pn=W(2,($,Z)=>C1(()=>I2($,Z))),un=W(2,($,Z)=>R1((X)=>{if($.state._tag==="Closed")return I1;let J=V0($.state.backing,Z);if(J._tag==="None")return I1;return cZ(J.value,o5(X.id(),E1))})),fn=($)=>R1((Z)=>{if($.state._tag==="Closed")return I1;return FK($.state.backing,([,X])=>cZ(X,o5(Z.id(),E1)))}),kK=function(){let $=void 0;return()=>{if($===void 0)$=xK(T2);return $}}(),on=function(){let $=arguments[0];if(MK(arguments[2]))return n_($,arguments[1],arguments[2],arguments[3]);let Z=arguments[1],X=arguments[2];return(J)=>n_($,Z,J,X)},n_=($,Z,X,J)=>R1((Y)=>{if($.state._tag==="Closed")return T2;else if(J?.onlyIfMissing===!0&&I2($,Z))return C1(kK);let G=o_({context:Y.currentContext,fiberRefs:Y.getFiberRefs(),runtimeFlags:f_.runtimeFlags}),Q=SK(G)(X);return C2($,Z,Q,{...J,interruptAs:Y.id()}),LK(Q)}),gK=($)=>()=>C5(EK(),(Z)=>{let X=SK(Z);return(J,Y,G)=>{if($.state._tag==="Closed")return kK();else if(G?.onlyIfMissing===!0&&I2($,J))return kK();let Q=X(Y,G);return C2($,J,Q,G),Q}}),i_=($)=>()=>C5(gK($)(),(Z)=>(X,J,Y)=>new Promise((G,Q)=>Z(X,J,Y).addObserver((H)=>{if(uH(H))G(H.value);else Q(RQ(H.cause))}))),nn=($)=>C1(()=>$.state._tag==="Closed"?0:X4($.state.backing)),rn=($)=>Q4($.deferred),ln=($)=>jK({while:()=>$.state._tag==="Open"&&X4($.state.backing)>0,body:()=>OT(uz($)[1]),step:r8});var hK=GD(ZG(),1);var v70=a_();function Qr($){let{data:Z,content:X}=hK.default($);return{frontmatter:{...Z},content:X.trim()}}function Hr($,Z){return hK.default.stringify(Z,$)}function b70($,Z,X){let{frontmatter:J,content:Y}=Qr($);if(X===null||X===void 0)delete J[Z];else J[Z]=X;return Hr(J,Y)}class t_{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{HX as
|
|
82
|
+
${U}`,J}},G=$.spanOptions&&"captureStackTrace"in $.spanOptions?$.spanOptions:{captureStackTrace:Y,...$.spanOptions};return p_(Z,$.spanName,G)}var En=e4,xn=()=>($)=>$,Sn=()=>($)=>$,kn=()=>($)=>$;var yK={};H9(yK,{unsafeSet:()=>C2,unsafeHas:()=>I2,unsafeGet:()=>l_,size:()=>nn,set:()=>dn,runtimePromise:()=>i_,runtime:()=>gK,run:()=>on,remove:()=>un,makeRuntimePromise:()=>hn,makeRuntime:()=>yn,make:()=>bK,join:()=>rn,isFiberMap:()=>vK,has:()=>pn,get:()=>cn,clear:()=>fn,awaitEmpty:()=>ln,TypeId:()=>R2});var SK=L1;var f_=R5;var o_=aW;var R2=Symbol.for("effect/FiberMap"),vK=($)=>T($,R2),bn={[R2]:R2,[Symbol.iterator](){if(this.state._tag==="Closed")return fz();return this.state.backing[Symbol.iterator]()},toString(){return i(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[d](){return this.toJSON()},pipe(){return _(this,arguments)}},gn=($,Z)=>{let X=Object.create(bn);return X.state={_tag:"Open",backing:$},X.deferred=Z,X},bK=()=>RK(C5(D_(),($)=>gn(c6(),$)),($)=>R1((Z)=>{let X=$.state;if(X._tag==="Closed")return I1;return $.state={_tag:"Closed"},AT(oz(X.backing,([,J])=>J),o5(Z.id(),E1)).pipe(IK($.deferred))})),yn=()=>_2(bK(),($)=>gK($)()),hn=()=>_2(bK(),($)=>i_($)()),r_=-1,E1=jO(r_,0),mn=CQ(void 0,{emptyCase:z8,failCase:z8,dieCase:z8,interruptCase:($,Z)=>GJ(I7(Z),r_),sequentialCase:($,Z,X)=>Z||X,parallelCase:($,Z,X)=>Z||X}),C2=W(($)=>vK($[0]),($,Z,X,J)=>{if($.state._tag==="Closed"){X.unsafeInterruptAsFork(o5(J?.interruptAs??s0,E1));return}let Y=V0($.state.backing,Z);if(Y._tag==="Some"){if(J?.onlyIfMissing===!0){X.unsafeInterruptAsFork(o5(J?.interruptAs??s0,E1));return}else if(Y.value===X)return;Y.value.unsafeInterruptAsFork(o5(J?.interruptAs??s0,E1))}U8($.state.backing,Z,X),X.addObserver((G)=>{if($.state._tag==="Closed")return;let Q=V0($.state.backing,Z);if(a(Q)&&X===Q.value)p6($.state.backing,Z);if(pH(G)&&(J?.propagateInterruption===!0?!mn(G.cause):!_Q(G.cause)))O_($.deferred,G)})}),dn=W(($)=>vK($[0]),($,Z,X,J)=>CK((Y)=>C1(()=>C2($,Z,X,{...J,interruptAs:Y})))),l_=W(2,($,Z)=>$.state._tag==="Closed"?N():V0($.state.backing,Z)),cn=W(2,($,Z)=>_K(()=>l_($,Z))),I2=W(2,($,Z)=>$.state._tag==="Closed"?!1:c8($.state.backing,Z)),pn=W(2,($,Z)=>C1(()=>I2($,Z))),un=W(2,($,Z)=>R1((X)=>{if($.state._tag==="Closed")return I1;let J=V0($.state.backing,Z);if(J._tag==="None")return I1;return cZ(J.value,o5(X.id(),E1))})),fn=($)=>R1((Z)=>{if($.state._tag==="Closed")return I1;return FK($.state.backing,([,X])=>cZ(X,o5(Z.id(),E1)))}),kK=function(){let $=void 0;return()=>{if($===void 0)$=xK(T2);return $}}(),on=function(){let $=arguments[0];if(MK(arguments[2]))return n_($,arguments[1],arguments[2],arguments[3]);let Z=arguments[1],X=arguments[2];return(J)=>n_($,Z,J,X)},n_=($,Z,X,J)=>R1((Y)=>{if($.state._tag==="Closed")return T2;else if(J?.onlyIfMissing===!0&&I2($,Z))return C1(kK);let G=o_({context:Y.currentContext,fiberRefs:Y.getFiberRefs(),runtimeFlags:f_.runtimeFlags}),Q=SK(G)(X);return C2($,Z,Q,{...J,interruptAs:Y.id()}),LK(Q)}),gK=($)=>()=>C5(EK(),(Z)=>{let X=SK(Z);return(J,Y,G)=>{if($.state._tag==="Closed")return kK();else if(G?.onlyIfMissing===!0&&I2($,J))return kK();let Q=X(Y,G);return C2($,J,Q,G),Q}}),i_=($)=>()=>C5(gK($)(),(Z)=>(X,J,Y)=>new Promise((G,Q)=>Z(X,J,Y).addObserver((H)=>{if(uH(H))G(H.value);else Q(RQ(H.cause))}))),nn=($)=>C1(()=>$.state._tag==="Closed"?0:X4($.state.backing)),rn=($)=>Q4($.deferred),ln=($)=>jK({while:()=>$.state._tag==="Open"&&X4($.state.backing)>0,body:()=>OT(uz($)[1]),step:r8});var hK=GD(ZG(),1);var v70=a_();function Qr($){let{data:Z,content:X}=hK.default($);return{frontmatter:{...Z},content:X.trim()}}function Hr($,Z){return hK.default.stringify(Z,$)}function b70($,Z,X){let{frontmatter:J,content:Y}=Qr($);if(X===null||X===void 0)delete J[Z];else J[Z]=X;return Hr(J,Y)}class t_{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{HX as E,Yl as F,n8 as G,IE as H,I,r1 as J,k8 as K,OX as L,S5 as M,W0 as N,VZ as O,e9 as P,U2 as Q,j1 as R,yK as S,mK as T,XR as U,k2 as V,YR as W,Zz as X,JG as Y,i$ as Z,YG as _,Qr as $,Hr as aa,b70 as ba,WX as ca,t_ as da,KE as ea,UE as fa,VE as ga};
|
|
83
83
|
|
|
84
|
-
//# debugId=
|
|
85
|
-
//# sourceMappingURL=index-
|
|
84
|
+
//# debugId=92CE4ECF373BFFA864756E2164756E21
|
|
85
|
+
//# sourceMappingURL=index-c7ehmqhv.js.map
|