UNPKG

@deep-assistant/agent

Version:

A minimal, public domain AI CLI agent compatible with OpenCode's JSON interface. Bun-only runtime.

42 lines (35 loc) 1.04 kB
import { NamedError } from "../util/error" import matter from "gray-matter" import { z } from "zod" export namespace ConfigMarkdown { export const FILE_REGEX = /(?<![\w`])@(\.?[^\s`,.]*(?:\.[^\s`,.]+)*)/g export const SHELL_REGEX = /!`([^`]+)`/g export function files(template: string) { return Array.from(template.matchAll(FILE_REGEX)) } export function shell(template: string) { return Array.from(template.matchAll(SHELL_REGEX)) } export async function parse(filePath: string) { const template = await Bun.file(filePath).text() try { const md = matter(template) return md } catch (err) { throw new FrontmatterError( { path: filePath, message: `Failed to parse YAML frontmatter: ${err instanceof Error ? err.message : String(err)}`, }, { cause: err }, ) } } export const FrontmatterError = NamedError.create( "ConfigFrontmatterError", z.object({ path: z.string(), message: z.string(), }), ) }