Skip to content

Repository files navigation

DataWeave AI Playground 🚀

If you found this project useful, please give it a ⭐️ to show your support!

DataWeave AI Playground is a dedicated AI Playground designed to autonomously generate, explain, and debug DataWeave 2.0 transformation scripts. It gives you a unified, web-based interface to utilize your existing AI Subscriptions through their respective developer SDKs (GitHub Copilot SDK, Google Antigravity, Claude Agent SDK, and Codex SDK).

DataWeave AI Playground is built around the subscriptions you already pay for. If you have a GitHub Copilot license, you can connect the Github Copilot SDK. If you subscribe to Google AI Studio, you can use Antigravity. If you are a Cursor Pro user, connect the Cursor SDK. Have AWS Bedrock mode access or an Anthropic account? Connect Claude Agent directly. Already using a ChatGPT subscription, OpenAI, AWS Bedrock Mantle? Connect Codex.

DataWeave AI Playground Interface

By wrapping these best-in-class agentic SDKs into a single backend, you can seamlessly switch between AI providers. You bring your own credentials (BYOK), and the agent securely executes generated DataWeave scripts in an isolated background environment, compares the output with your expected results, and iteratively autocorrects its own code.


🌟 Why DataWeave AI Playground?

You can use your existing AI subscription to generate Dataweave scripts using just your browser just by sending prompts in natural language.

  • 🌟 FLAGSHIP: Generate Transform from Expected Output (Agentic Auto-Recover): Provide a sample input payload and the desired output payload. The AI agent will reason through the schema differences to generate a DataWeave script. But it doesn't stop there—the agent autonomously executes the script in the background, compares the actual output with your expected output, and loops to fix its own errors up to 3 times before returning the final working script!
  • Generate Transform from Prompt: Have an input payload and a set of business rules? Describe your transformation in plain text, and the agent will build the script.
  • Reverse Engineering (Generate Input): Have a complex DataWeave script and its expected output, but lost the original input data? The agent can reverse-engineer the required input payload structure.
  • Agent Auto-Recover Control: You have full control. Toggle the agent's autonomous retry loop on or off directly from the UI to save context or execution time when working with massive payloads.
  • Flexible AI Integration: Securely connect to your preferred AI subscription (Google Antigravity, Claude Agent SDK, OpenAI Codex, GitHub Copilot) bringing your own keys (BYOK) directly in the browser session.

🛠️ Core Capabilities

This application is built around a robust 3-pane interface that mirrors professional integration development environments, enhanced with agentic reasoning:

🧩 Tabbed Multi-Input Intelligent Editor

  • Input / Identifiers: The source data schema payloads, supporting multiple tabs for arbitrary DataWeave identifiers (like payload, vars, and attributes) with format selection (JSON, XML, CSV, TXT).
  • DataWeave Script: The transformation logic, auto-populated by the AI.
  • Output / Expected: The resulting data or the target shape the AI uses to guide its generation, with selectable output formats.

🔌 Extensible Agent Skills

The backend natively supports expanding the agent's capabilities via Agent Skills. The agent can be equipped with custom verification skills to run the generated DataWeave scripts locally, ensuring syntax correctness and validating the output before presenting it to the user.

🤖 Headless API Execution (Beta)

The playground's backend is fully decoupled from the frontend, meaning it supports headless execution via its REST APIs. You can programmatically trigger agentic script generation (/api/run) or execute pure DataWeave transformations (/api/dataweave/transform) directly from your CI/CD pipelines or automated workflows.

🧠 Deep Reasoning Integration

Unlike standard chat interfaces, the DataWeave AI Playground exposes the underlying "thinking steps" and reasoning process of the agent. You can observe the AI analyzing your schemas, mapping fields, and identifying syntax patterns in real-time.

AI Reasoning Sidebar


🔌 Bruno API Collections

A Bruno collection is provided in the bruno-collection/ directory to help you test backend endpoints (/api/run, /api/followup, etc.) locally. Simply import the collection and configure your environment variables to start testing.


🛣️ API Routes

Method Path Description
GET / Main UI (Jinja2 rendered)
GET /api/health Service health check
GET /api/models Live list of available models for the selected provider
POST /api/dataweave/transform Executes a DataWeave script against an input payload
POST /api/run Starts an agentic DataWeave generation task - returns an SSE stream
POST /api/followup Continues an agentic session with a follow-up prompt - returns an SSE stream

🚀 Quick Start (Local Development)

⚠️ Prerequisite: You must have the DataWeave CLI installed and available in your system's PATH to execute DataWeave scripts locally.

git clone https://github.com/kmarrrahul/dataweave-ai-playground.git
cd dataweave-ai-playground
pip install -r requirements.txt

# (Optional) Export your GitHub OAuth App credentials to enable GitHub OAuth login for Githb Copilot SDK
export GITHUB_OAUTH_CLIENT_ID="your_client_id"
export GITHUB_OAUTH_CLIENT_SECRET="your_client_secret"
export GITHUB_OAUTH_REDIRECT_URI="http://localhost:8080/api/oauth/callback"

# Run the Uvicorn server
python -m uvicorn app.main:app --port 8080 --reload

🐳 Docker Deployment

Build

docker build -t dataweave-ai-playground:latest .

Run

To start the container locally (pass GitHub OAuth credentials via -e to enable GHCP SDK Github Oauth login):

docker run -it --name dataweave-ai-playground \
  -p 127.0.0.1:8080:8080 -p "[::1]:8080:8080" \
  -e GITHUB_OAUTH_CLIENT_ID="your_client_id" \
  -e GITHUB_OAUTH_CLIENT_SECRET="your_client_secret" \
  -e GITHUB_OAUTH_REDIRECT_URI="http://localhost:8080/api/oauth/callback" \
  dataweave-ai-playground:latest

☸️ Kubernetes Deployment

DataWeave AI Playground is fully prepared for multi-tenant production deployments on Kubernetes.

kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml
kubectl apply -f k8s/ingress.yaml

Once deployed, the app will be accessible at your cluster's ingress URL.


🤝 Contributing

We'd love your help in making this project even better! Please read our Contributing Guidelines to learn about our development process, how to propose bug fixes and improvements, and how to build and test your changes locally.


⚖️ Disclaimer

MuleSoft and DataWeave are trademarks of MuleSoft, Inc., a Salesforce company. This project is an independent community tool and is not officially endorsed or sponsored by MuleSoft.

About

Use your favorite AI subscription's to generate DataWeave code directly in your browser. Supports GitHub Copilot, Google Antigravity/AI Studio, Codex/ChatGPT, Claude Agent

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages