Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/codex-mintlify-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ jobs:

- name: Install validator deps
run: yarn install
env:
npm_config_onnxruntime_node_install_cuda: skip

# ========================================
# MCP Integration: Query Mintlify docs for context
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/update-draft-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ jobs:

- name: Install validator deps
run: yarn install
env:
npm_config_onnxruntime_node_install_cuda: skip

# ========================================
# MCP Integration: Configure Mintlify docs MCP server
Expand Down
42 changes: 3 additions & 39 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -51,44 +51,8 @@ test-output
docs/docs.backup.json

.claude/settings.local.json
/.cache/transformers/Xenova/all-MiniLM-L6-v2/onnx/model.onnx
/.cache/transformers/Xenova/all-MiniLM-L6-v2/config.json
/.cache/transformers/Xenova/all-MiniLM-L6-v2/tokenizer.json
/.cache/transformers/Xenova/all-MiniLM-L6-v2/tokenizer_config.json
/libs/ast-guard/coverage/ast-guard/src/presets/agentscript.preset.ts.html
/libs/ast-guard/coverage/ast-guard/src/presets/index.html
/libs/ast-guard/coverage/ast-guard/src/presets/index.ts.html
/libs/ast-guard/coverage/ast-guard/src/presets/permissive.preset.ts.html
/libs/ast-guard/coverage/ast-guard/src/presets/secure.preset.ts.html
/libs/ast-guard/coverage/ast-guard/src/presets/standard.preset.ts.html
/libs/ast-guard/coverage/ast-guard/src/presets/strict.preset.ts.html
/libs/ast-guard/coverage/ast-guard/src/presets/types.ts.html
/libs/ast-guard/coverage/ast-guard/src/rules/call-argument-validation.rule.ts.html
/libs/ast-guard/coverage/ast-guard/src/rules/disallowed-identifier.rule.ts.html
/libs/ast-guard/coverage/ast-guard/src/rules/forbidden-loop.rule.ts.html
/libs/ast-guard/coverage/ast-guard/src/rules/index.html
/libs/ast-guard/coverage/ast-guard/src/rules/index.ts.html
/libs/ast-guard/coverage/ast-guard/src/rules/no-async.rule.ts.html
/libs/ast-guard/coverage/ast-guard/src/rules/no-eval.rule.ts.html
/libs/ast-guard/coverage/ast-guard/src/rules/no-global-access.rule.ts.html
/libs/ast-guard/coverage/ast-guard/src/rules/no-user-functions.rule.ts.html
/libs/ast-guard/coverage/ast-guard/src/rules/required-function-call.rule.ts.html
/libs/ast-guard/coverage/ast-guard/src/rules/reserved-prefix.rule.ts.html
/libs/ast-guard/coverage/ast-guard/src/rules/unknown-global.rule.ts.html
/libs/ast-guard/coverage/ast-guard/src/rules/unreachable-code.rule.ts.html
/libs/ast-guard/coverage/ast-guard/src/agentscript-transformer.ts.html
/libs/ast-guard/coverage/ast-guard/src/errors.ts.html
/libs/ast-guard/coverage/ast-guard/src/index.html
/libs/ast-guard/coverage/ast-guard/src/interfaces.ts.html
/libs/ast-guard/coverage/ast-guard/src/transformer.ts.html
/libs/ast-guard/coverage/ast-guard/src/validator.ts.html
/libs/ast-guard/coverage/ast-guard/base.css
/libs/ast-guard/coverage/ast-guard/block-navigation.js
/libs/ast-guard/coverage/ast-guard/favicon.png
/libs/ast-guard/coverage/ast-guard/index.html
/libs/ast-guard/coverage/ast-guard/prettify.css
/libs/ast-guard/coverage/ast-guard/prettify.js
/libs/ast-guard/coverage/ast-guard/sort-arrow-sprite.png
/libs/ast-guard/coverage/ast-guard/sorter.js
/.cache/transformers/Xenova/
/libs/ast-guard/coverage/

**/.cache/
.github/codex/
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
## [v0.5.0] - 2025-12-11

### feat

- Ship @frontmcp/ui with HTML, React, and MDX templates, platform detection, HTMX hooks, and consent/error layouts so tools can return polished UI anywhere.
- Expose Tool UI metadata (display modes, serving modes, widget accessibility, CSP, hydration) plus OpenAI App SDK resource widgets for richer tool responses.
- Implement public, transparent, and orchestrated authentication modes with consent screens, incremental scopes, session strategies, and runnable Nx demo servers.
- Add first-class MCP resource and prompt registries, `@ResourceTemplate` execution, capability notifications, and improved error handling across transports.
- Deliver the CodeCall plugin, VectoriaDB semantic store, AST Guard, sandbox upgrades, and tool-owner enforcement to harden plugin execution.
- Introduce @frontmcp/testing with Jest integration, HTTP mocking, fixtures, and e2e helpers for deterministic transport coverage.

### docs

- Expand Mintlify docs with platform-aware UI guides, authentication mode walkthroughs, CodeCall/Vectoria/AST Guard guides, testing references, and refreshed navigation for v0.5.

### build

- Require Node >= 22 (tested on 24), bump @types/node to 24, upgrade to MCP SDK 1.23, Zod 4, add @huggingface/transformers + zod-from-json-schema, and align Nx tooling + engine metadata.
- Streamline CI by skipping CUDA for ONNX validator installs and tightening SWC/Jest configs across packages.

## [v0.4.0] - 2025-11-22

### feat
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/advanced/custom-renderers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: Custom Renderers
sidebarTitle: Custom Renderers
icon: wand-magic-sparkles
description: Build your own template rendering system
description: FrontMCP UI uses a pluggable rendering system. You can create custom renderers for specialized template formats.
---

# Custom Renderers

FrontMCP UI uses a pluggable rendering system. You can create custom renderers for specialized template formats.

## Renderer Architecture

The rendering pipeline:
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/advanced/hydration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: React Hydration
sidebarTitle: Hydration
icon: droplet
description: Client-side interactivity for React widgets
description: By default, React templates are rendered server-side. Hydration enables client-side interactivity by attaching React to the server-rendered HTML.
---

# React Hydration

By default, React templates are rendered server-side. Hydration enables client-side interactivity by attaching React to the server-rendered HTML.

## What is Hydration?

Hydration is the process of:
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/advanced/mcp-bridge.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: MCP Bridge & Interactivity
sidebarTitle: MCP Bridge
icon: bolt
description: Make your widgets interactive with MCP Bridge
description: The MCP Bridge (window.mcpBridge) provides a unified API for widget interactivity across platforms. It enables widgets to call tools, send messages, and interact with the host environment.
---

# MCP Bridge

The MCP Bridge (`window.mcpBridge`) provides a unified API for widget interactivity across platforms. It enables widgets to call tools, send messages, and interact with the host environment.

## What is MCP Bridge?

MCP Bridge is a runtime adapter that:
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/advanced/platforms.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: Platform Support
sidebarTitle: Platforms
icon: globe
description: OpenAI, Claude, and Gemini platform differences
description: FrontMCP UI adapts to different AI platform capabilities. Each platform has different constraints for widget rendering.
---

# Platform Support

FrontMCP UI adapts to different AI platform capabilities. Each platform has different constraints for widget rendering.

## Platform Capabilities

| Platform | Network | External Scripts | Widget Modes | Theme |
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/api-reference/components.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: Component API Reference
sidebarTitle: Components
icon: cube
description: Complete API reference for all @frontmcp/ui components
description: Complete API reference for all @frontmcp/ui components. Each component returns an HTML string and validates its options using Zod schemas.
---

# Component API Reference

Complete API reference for all `@frontmcp/ui` components. Each component returns an HTML string and validates its options using Zod schemas.

## Button

```typescript
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/api-reference/runtime.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: Runtime API Reference
sidebarTitle: Runtime
icon: gear
description: Complete API reference for template context, helpers, and MCP Bridge
description: Complete API reference for the @frontmcp/ui runtime system, including template context, helper functions, MCP Bridge, and wrapper utilities.
---

# Runtime API Reference

Complete API reference for the `@frontmcp/ui` runtime system, including template context, helper functions, MCP Bridge, and wrapper utilities.

## Template Context

### TemplateContext
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/api-reference/theme.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: Theme API Reference
sidebarTitle: Theme
icon: paintbrush
description: Complete API reference for the @frontmcp/ui theme system
description: Complete API reference for the @frontmcp/ui theme system. The theme system provides comprehensive control over colors, typography, spacing, and external resources.
---

# Theme API Reference

Complete API reference for the `@frontmcp/ui` theme system. The theme system provides comprehensive control over colors, typography, spacing, and external resources.

## Theme Functions

### `createTheme(overrides)`
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/components/alert.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: Alert Component
sidebarTitle: Alert
icon: bell
description: Info, success, warning, and error messages
description: Alerts display important messages to users. Use them for notifications, errors, warnings, and success messages.
---

# Alert

Alerts display important messages to users. Use them for notifications, errors, warnings, and success messages.

## Import

```typescript
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/components/avatar.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: Avatar Component
sidebarTitle: Avatar
icon: user
description: User avatars with images and initials
description: Avatars represent users or entities with images, initials, or icons. They support status indicators and can be grouped.
---

# Avatar

Avatars represent users or entities with images, initials, or icons. They support status indicators and can be grouped.

## Import

```typescript
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/components/badge.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: Badge Component
sidebarTitle: Badge
icon: tag
description: Status indicators and labels
description: Badges are small status indicators and labels. Use them to highlight statuses, counts, or categories.
---

# Badge

Badges are small status indicators and labels. Use them to highlight statuses, counts, or categories.

## Import

```typescript
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/components/button.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: Button Component
sidebarTitle: Button
icon: hand-pointer
description: Versatile buttons with variants, sizes, and HTMX support
description: Buttons trigger actions and navigation. FrontMCP UI buttons support multiple variants, sizes, loading states, icons, and HTMX integration.
---

# Button

Buttons trigger actions and navigation. FrontMCP UI buttons support multiple variants, sizes, loading states, icons, and HTMX integration.

## Import

```typescript
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/components/card.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: Card Component
sidebarTitle: Card
icon: square
description: Content containers with headers, footers, and styles
description: Cards are containers for grouping related content. They support headers with titles and actions, footers, and multiple visual styles.
---

# Card

Cards are containers for grouping related content. They support headers with titles and actions, footers, and multiple visual styles.

## Import

```typescript
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/components/form.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: Form Components
sidebarTitle: Form
icon: rectangle-list
description: Inputs, selects, textareas, and form layouts
description: Form components for collecting user input. Includes text inputs, selects, textareas, checkboxes, and form layout utilities.
---

# Form Components

Form components for collecting user input. Includes text inputs, selects, textareas, checkboxes, and form layout utilities.

## Import

```typescript
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/components/list.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: List Components
sidebarTitle: List
icon: list
description: Description lists and action lists
description: Lists organize related content in vertical layouts. FrontMCP UI provides description lists for key-value pairs and action lists for interactive items.
---

# List Components

Lists organize related content in vertical layouts. FrontMCP UI provides description lists for key-value pairs and action lists for interactive items.

## Import

```typescript
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/components/modal.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: Modal Component
sidebarTitle: Modal
icon: window-maximize
description: Dialogs and drawers for overlay content
description: Modals display content in an overlay that requires user attention. FrontMCP UI provides centered dialogs and slide-in drawers.
---

# Modal

Modals display content in an overlay that requires user attention. FrontMCP UI provides centered dialogs and slide-in drawers.

## Import

```typescript
Expand Down
11 changes: 1 addition & 10 deletions docs/draft/docs/ui/components/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,9 @@
title: Component Library
sidebarTitle: Overview
icon: grid-2
description: Pre-built components for consistent, accessible UIs
description: FrontMCP UI provides a collection of pre-built components for building tool widgets. All components generate pure HTML strings, use Zod validation, support Tailwind CSS classes, and include HTMX integration.
---

# Component Library

FrontMCP UI provides a collection of pre-built components for building tool widgets. All components:

- Generate pure HTML strings (no client-side framework required)
- Use Zod validation for inputs (invalid options render error boxes)
- Support Tailwind CSS classes via the `className` option
- Include HTMX integration for dynamic interactions

## Installation

Components are included with the main package:
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/components/table.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: Table Component
sidebarTitle: Table
icon: table
description: Data tables for structured content
description: Tables display structured data in rows and columns. FrontMCP UI tables support headers, styling variants, and responsive layouts.
---

# Table

Tables display structured data in rows and columns. FrontMCP UI tables support headers, styling variants, and responsive layouts.

## Import

```typescript
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: Getting Started with FrontMCP UI
sidebarTitle: Getting Started
icon: rocket-launch
description: Add rich visual widgets to your MCP tools in minutes
description: This guide walks you through adding visual widgets to your FrontMCP tools using @frontmcp/ui.
---

# Getting Started

This guide walks you through adding visual widgets to your FrontMCP tools using `@frontmcp/ui`.

## Prerequisites

- A FrontMCP server project set up with `@frontmcp/sdk`
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/integration/testing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: Testing Tool UI
sidebarTitle: Testing
icon: flask-vial
description: E2E testing for Tool UI with @frontmcp/testing
description: "@frontmcp/testing provides specialized matchers and assertions for validating Tool UI responses. This guide covers E2E testing patterns for tools with UI templates."
---

# Testing Tool UI

`@frontmcp/testing` provides specialized matchers and assertions for validating Tool UI responses. This guide covers E2E testing patterns for tools with UI templates.

## Setup

Install the testing library:
Expand Down
6 changes: 1 addition & 5 deletions docs/draft/docs/ui/integration/tools.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
title: Using UI in Tools
sidebarTitle: Tools
icon: wrench
description: Integrate FrontMCP UI with the @Tool decorator
description: The @Tool decorator's ui option lets you attach visual widgets to your tool responses. This guide covers all configuration options and patterns.
---

# Using UI in Tools

The `@Tool` decorator's `ui` option lets you attach visual widgets to your tool responses. This guide covers all configuration options and patterns.

## Basic Configuration

Add a `ui` property to your `@Tool` decorator:
Expand Down
Loading
Loading