feat(desktop): embed BoosAPI Desktop client as a subproject

Vendor the rebranded BoosAPI Desktop client (Tauri + Vue) into metapi as
a monorepo subdirectory under desktop/. Source only — node_modules,
dist, Cargo target and the upstream .git history are excluded.

desktop/ keeps its own independent Cargo workspace (desktop/src-tauri
with crates/*); it is not part of the backend boosapi crate, so a
`cargo check` at the metapi root still compiles only the backend. Build
the desktop app from desktop/src-tauri per desktop/README.md.

Note: app icons are still placeholder assets pending the final BoosAPI
logo. The updater signing keys live outside the repo and are not
included.
This commit is contained in:
boos
2026-06-22 11:32:57 +08:00
parent d9c78ecc73
commit e0a5f57793
2305 changed files with 449355 additions and 0 deletions
@@ -0,0 +1,62 @@
export type { HtmlPreviewFrameProps } from './components/CodeBlockNode/HtmlPreviewFrame'
export type { LinkNodeStyleProps } from './components/LinkNode/LinkNode'
export type { ListItemNodeProps } from './components/ListItemNode/ListItemNode'
export type { MarkdownCodeBlockNodeProps } from './components/MarkdownCodeBlockNode/MarkdownCodeBlockNode'
export type { TooltipPlacement, TooltipProps } from './components/Tooltip/Tooltip'
export {
clearGlobalCustomComponents,
getCustomComponentDisplay,
getCustomNodeComponents,
removeCustomComponents,
setCustomComponents,
withMarkstreamComponentDisplay,
} from './customComponents'
export type { CustomComponentDisplayMode, MarkstreamCustomComponent } from './customComponents'
export { AdmonitionNode } from './server-renderer'
export { BlockquoteNode } from './server-renderer'
export { CheckboxNode } from './server-renderer'
export { CodeBlockNode } from './server-renderer'
export { CodeBlockNode as ReactCodeBlockNode } from './server-renderer'
export { HtmlPreviewFrame } from './server-renderer'
export { D2BlockNode } from './server-renderer'
export { DefinitionListNode } from './server-renderer'
export { EmojiNode } from './server-renderer'
export { EmphasisNode } from './server-renderer'
export { FootnoteAnchorNode } from './server-renderer'
export { FootnoteNode } from './server-renderer'
export { FootnoteReferenceNode } from './server-renderer'
export { HardBreakNode } from './server-renderer'
export { HeadingNode } from './server-renderer'
export { HighlightNode } from './server-renderer'
export { HtmlBlockNode } from './server-renderer'
export { HtmlInlineNode } from './server-renderer'
export { ImageNode } from './server-renderer'
export { InfographicBlockNode } from './server-renderer'
export { InlineCodeNode } from './server-renderer'
export { InsertNode } from './server-renderer'
export { LinkNode } from './server-renderer'
export { ListItemNode } from './server-renderer'
export { ListNode } from './server-renderer'
export { MarkdownCodeBlockNode } from './server-renderer'
export { MathBlockNode } from './server-renderer'
export { MathInlineNode } from './server-renderer'
export { MermaidBlockNode } from './server-renderer'
export { NodeRenderer } from './server-renderer'
export { default } from './server-renderer'
export { FallbackComponent } from './server-renderer'
export { ParagraphNode } from './server-renderer'
export { PreCodeNode } from './server-renderer'
export { ReferenceNode } from './server-renderer'
export { StrikethroughNode } from './server-renderer'
export { StrongNode } from './server-renderer'
export { SubscriptNode } from './server-renderer'
export { SuperscriptNode } from './server-renderer'
export { TableNode } from './server-renderer'
export { TextNode } from './server-renderer'
export { ThematicBreakNode } from './server-renderer'
export { Tooltip } from './server-renderer'
export { VmrContainerNode } from './server-renderer'
export { renderNode } from './server-renderer'
export type { NodeRendererCodeBlockProps, NodeRendererProps } from './types'
export * from './types/component-props'
export type { NodeComponentProps } from './types/node-component'