Skip to main content
v0.2.1
Cloudflare Workers Deployment

New Features

  • Cloudflare Workers Deployment - Deploy panels to Cloudflare’s edge network with a single command
  • Simplified Self-Hosting - New npm run deploy:cf command for instant global deployment
  • Automatic CORS - Cloudflare Worker handles CORS headers automatically

New Deployment Commands

npm run deploy:cf              # Deploy to production
npm run deploy:cf:staging      # Deploy to staging
npm run cf:dev                 # Local development server

Quick Start

# Clone panels repo
git clone https://github.com/artifactuse/panels.git
cd panels

# Install and deploy
npm install
wrangler login
npm run deploy:cf

Documentation

  • Updated CDN page with Cloudflare Workers as recommended option
  • Added deployment comparison table (Artifactuse CDN vs Cloudflare vs AWS)
  • Added custom domain configuration guide
v0.2.0
Configurable Panels

New Features

  • Configurable Panels - Add, override, or disable panels via configuration without modifying SDK source code
  • Runtime Panel Registration - Register and unregister panels at runtime with registerPanel() and unregisterPanel()
  • Array Type Support - Register multiple types/aliases at once: registerPanel(['python', 'py'], 'code-panel')
  • Mixed CDN Support - Use different CDNs for different panel types

New Config Options

provideArtifactuse({
  // Panel configuration
  panels: {
    'chart': 'chart-panel',                    // Add new panel (uses cdnUrl)
    'video': 'https://my-cdn.com/video-panel', // Full URL override
    'diagram': { path: 'panel', cdn: '...' },  // Explicit CDN
    'canvas': null,                             // Disable panel
  }
})

New Methods

MethodDescription
hasPanel(artifact)Check if panel exists for artifact
registerPanel(types, panel)Register panel (accepts string or string[])
unregisterPanel(types)Disable panel (accepts string or string[])
getPanelTypes()Get list of registered panel types

New Computed/Stores

PropertyDescription
panelTypesReactive list of registered panel types
activePanelUrlURL for active artifact’s panel

React Hook

New usePanelRegistry() hook for panel management:
const { register, unregister, isRegistered, types } = usePanelRegistry();

Documentation

v0.1.1
Media Lightbox & Modular CSS

New Features

  • Media Lightbox - Images and PDFs now open in a fullscreen viewer with zoom, download, and keyboard controls
  • Typing Indicator - New typing prop on ArtifactuseAgentMessage for streaming responses
  • Modular CSS - Styles split into 19 files for tree-shaking and easier maintenance

Breaking Changes

  • Form buttons structure - Buttons now use data.fields array with type: "button" instead of data.buttons
// Before (no longer supported)
{
  "variant": "buttons",
  "data": {
    "buttons": [
      {"id": "yes", "label": "Yes", "style": "primary"}
    ]
  }
}

// After
{
  "variant": "buttons",
  "data": {
    "fields": [
      {"type": "button", "id": "yes", "label": "Yes", "style": "primary"}
    ]
  }
}

New Events

  • media-open - Fired when image/PDF opens in lightbox viewer

Documentation

  • Added dedicated component pages for ArtifactuseAgentMessage, ArtifactusePanel, ArtifactusePanelToggle
  • Added modular CSS imports guide to Theming page
  • Added Custom Panels page with framework-agnostic development guide
  • Added PANEL_URL_MAP extension documentation for custom panel registration
v0.1.0
Initial Release

Features

  • Canvas Artifacts - Create graphics, banners, logos, diagrams
  • Video Artifacts - Timeline-based video editing with effects and transitions
  • Code Artifacts - HTML, React, Vue, JavaScript, Python with live preview
  • Form Artifacts - Interactive forms, wizards, button groups
  • Social Artifacts - Twitter, LinkedIn, Instagram, Facebook previews

Framework Support

  • React 18+
  • Vue 3 (and Vue 2 with @vue/composition-api)
  • Svelte 4+
  • Vanilla JavaScript

Packages

  • artifactuse - Core SDK
  • @artifactuse/prompts - AI system prompts
  • @artifactuse/panels - CDN panel renderers