v3.2.0-alpha.2
Released: December 17, 2025๐ง Bug Fixes
- Compile: Fix compilation issue when skills are defined inline vs imported from separate files
v3.2.0-alpha.1
Released: December 16, 2025โจ New Features
Sync Command for Drift Detection
Sync Command for Drift Detection
lua sync command to detect drift between server and local code:- Compare agent name and persona between server state and local code
- Fetch latest published persona version (excludes drafts and rollbacks)
- Show colored line-by-line diff for easy comparison
- Interactive resolution: update local from server or continue with local
- Integrated into compile flow with
--no-syncand--force-syncflags
Chat History Clear Command
Chat History Clear Command
lua chat clear command to clear conversation history:Lua Runtime API with Channel Type
Lua Runtime API with Channel Type
Lua namespace for runtime access:'dev' | 'webchat' | 'whatsapp' | 'messenger' | 'voice' | 'api' | 'email'Marketplace Pagination
Marketplace Pagination
- Navigate through pages with Previous/Next options
- Shows page info (Page X/Y) and total count
- Configurable page size (default: 10 items)
๐ง Improvements
- Persona Handling Centralized: Moved persona load/save to shared
agent-code-utils, simplified YAML to state-only - AST-based Code Updates: Using ts-morph for proper node replacement, fixing partial replacement bugs
- New Dependencies: Added
diffpackage for colored diff display
๐ Interface Updates
- Added
Channeltype for typed channel identification - Added
ProfileResponseinterface for user profile data - Added
MarketplacePaginationResponseandPaginatedMarketplaceSkillsResponseinterfaces
v3.1.0
Released: December 7, 2025โจ New Features
MCP Server Support
MCP Server Support
LuaMCPServer class for integrating Model Context Protocol servers with your agent:lua mcp- List, activate, deactivate, or delete MCP serverslua push mcp- Push individual MCP servers- MCP servers included in
lua push all --force
Tool Conditions
Tool Conditions
condition function that determines if the tool is available:CDN API
CDN API
CDN namespace for uploading and retrieving files:Jobs API Enhancements
Jobs API Enhancements
Evaluations Dashboard
Evaluations Dashboard
lua evals command opens the Evaluations Dashboard with your agent pre-configured.Templates API
Templates API
Templates namespace for WhatsApp template messaging:Marketplace CLI
Marketplace CLI
lua marketplace command for discovering, installing, and publishing skills:For Creators:- Publish skills to the global marketplace
- Version management with semantic versioning
- Environment variable configuration per version
- Browse and search for verified skills
- Smart installation with dependency checks
- Interactive environment variable configuration
Enhanced Logs Command
Enhanced Logs Command
lua logs command now features:- Interactive filtering by primitive type (Skills, Jobs, Webhooks, etc.)
- Live data from API including dynamically created jobs
- Context-aware log display with detailed metadata
Immutable User Profile
Immutable User Profile
user._luaProfile property for read-only core user data:๐ฅ Breaking Changes
JobInstance Restructured
JobInstance Restructured
JobInstance now receives the full Job entity with activeVersion:welcomeMessage Removed from LuaAgent
welcomeMessage Removed from LuaAgent
welcomeMessage field has been removed from LuaAgent configuration:- For voice: use
voiceConfig.welcomeMessage - For chat widgets: use
WebchatChannelConfig.welcomeMessage
Webhook Execute Signature Changed
Webhook Execute Signature Changed
PreProcessor Response Redesigned
PreProcessor Response Redesigned
PreProcessorResult now uses a discriminated union:modifiedMessageis nowChatMessage[](array)- Added
priorityfield for execution order - Removed
contextfield
๐ง Improvements
- Data API Type Safety:
searchTextparameter added toData.create()andData.update(),dataparameter type changed toRecord<string, any> - PostProcessor Simplified: Return type now requires
modifiedResponse: string, removedasyncfield - Compilation: Handle
.jsextensions for Node16/NodeNext module resolution - Template: Minimal by default, use
--with-examplesflag for examples - Web UI: React Query, Sonner toasts, improved env panels, docs in toolbar
๐ ๏ธ Refactoring
- Removed
contextfield from webhooks, jobs, and postprocessors - Removed
versionfield fromLuaSkill,LuaJob, and processor configurations - Improved push command: displays both
webhookIdandwebhook-nameURL formats - Rewritten
interfaces/jobs.tsto matchlua-apiDTOs exactly
v3.0.3
Released: October 30, 2025๐ฏ User API Enhancement
EnhancedUser.get() method now accepts an optional userId parameter:
- Fetch data for specific users in admin tools
- Access user information in webhooks/jobs
- Multi-user data operations
- User management features
v3.0.2
Released: October 30, 2025๐ Major Improvements to Compilation System
This release brings comprehensive dependency bundling, debug mode, enhanced validation, and critical bug fixes.Comprehensive Dependency Bundling
Comprehensive Dependency Bundling
- โ LuaWebhooks bundle dependencies (e.g., Stripe, axios)
- โ LuaJobs bundle dependencies
- โ PreProcessors bundle dependencies (e.g., lodash)
- โ PostProcessors bundle dependencies (e.g., date-fns)
- โ
Nested Jobs (
Jobs.create()) independently bundle their own dependencies
Debug Mode
Debug Mode
--debug flag to lua compile command:- Verbose step-by-step logging
- Shows detected imports and dependencies
- Displays bundle sizes (uncompressed and compressed)
- Preserves temp files for inspection
- Shows timing information for each component
- Full error stack traces
Enhanced Validation
Enhanced Validation
- tsconfig.json validation - Clear error if missing or invalid
- Empty bundle detection - Warns about suspiciously small bundles (under 100 bytes)
- Bundle output validation - Ensures esbuild creates valid output
- Null config handling - Graceful compilation without lua.skill.yaml
- Safe optional chaining - Fixed crash when agentData is null
Improved Error Handling
Improved Error Handling
- Dependency resolution failures โ โRun npm installโ
- TypeScript syntax errors โ โCheck syntax in filename.tsโ
- Missing files โ Shows expected path
- Full stack traces in debug mode
Import Resolution
Import Resolution
resolveImportPath() to support:.ts,.tsx,.js,.jsxfiles- Directory imports (
index.ts,index.tsx,index.js)
๐ Bug Fixes
- Fixed null reference error when compiling without LuaAgent
- Fixed crash when lua.skill.yaml is missing
- Fixed compilation with empty agent name/persona
- Critical: Fixed relative import resolution in all component types
๐งน Code Quality
- Removed obsolete
dynamic-job-bundler.ts - Extracted common helpers (
extractRelevantImports,bundleAndCompressExecuteFunction) - Reduced bundling.ts from 1,149 to 1,036 lines (9.8% reduction)
- Added 27 comprehensive tests for bundling, execution, validation, and relative imports
v3.0.0
Released: October 2025๐ Major Release
Version 3.0.0 focuses on developer experience, deployment automation, and real-time chat capabilities.โจ New Features
LuaAgent - Unified Configuration
LuaAgent - Unified Configuration
- Single source of truth
- Clearer organization
- Automatic YAML synchronization
- Better IDE support
Streaming Chat Interface
Streaming Chat Interface
- โ Animated typing indicator while waiting
- โ Text streams character-by-character
- โ Sandbox and production environment selection
- โ
Uses
/chat/streamendpoint for real-time updates
Batch Deployment
Batch Deployment
- Compiles project
- Reads all components from
lua.skill.yaml - Increments patch versions automatically
- Pushes all components to server
- Deploys to production (if
--auto-deploy)
- Auto-bumps patch versions (e.g.,
1.0.0โ1.0.1) - Perfect for CI/CD pipelines
- Retry mechanism with exponential backoff
API Key Fallback
API Key Fallback
- System Keychain (macOS Keychain, Windows Credential Vault, Linux libsecret)
- Environment Variable (
LUA_API_KEY) - .env File (
LUA_API_KEY=...)
Auto-Sync YAML and Code
Auto-Sync YAML and Code
lua init:- Agent name, persona โ YAML +
index.tsLuaAgent
lua compile:- LuaAgent persona โ YAML
๐ง Improvements
Enhanced Bundling
Enhanced Bundling
- Excluded lua-cli internals from bundles
- Reduced bundle sizes by 50-70%
- Fixed relative import issues
- Proper sandbox globals (tools use sandbox-provided APIs)
Jobs.create() Fixes
Jobs.create() Fixes
codefield now properly compressed and included- Execute function properly converts to strings
- Excludes lua-cli imports from job execute functions
- Better metadata support for passing data
Developer Experience
Developer Experience
- Comprehensive template with 30+ example tools
- Quick Start Guide for new users
- TypeScript examples with best practices
- CI/CD integration examples
๐ Bug Fixes
Bundling:- Fixed
Cannot find module '../services/ApiService'in pre-bundled tools - Fixed
process.cwd is not a functionin sandbox execution - Fixed lua-cli API code being bundled into tools
- Fixed webhooks and jobs not found during
push all - Fixed missing
toolsarray causing validation errors - Fixed deployment timing issues with retry mechanism
- Fixed welcome message reading from
lua.skill.yaml - Fixed streaming endpoint integration
- Fixed typing indicator cleanup on errors
๐ฅ Breaking Changes
LuaAgent Required
LuaAgent Required
- Wrap your existing skills in a
LuaAgent - Add
nameandpersonafields - Run
lua compileto sync with YAML
Chat Endpoint Changed
Chat Endpoint Changed
- Old:
/chat/generate/:agentId - New:
/chat/stream/:agentId
Jobs.create() Signature
Jobs.create() Signature
metadata for data passing:๐ Statistics
| Metric | Before | After |
|---|---|---|
| Bundle overhead | ~500KB | 50-70% smaller |
| Compilation speed | - | 30% faster |
| Template examples | 5 | 30+ |
| CLI commands | - | 25+ |
Upgrade Guides
From v3.0.x to v3.1.0
- Update
JobInstanceaccess patterns (useactiveVersion.schedule,idinstead ofjobId) - Update webhook execute functions to use event object
- Update PreProcessor responses to use discriminated union
- Remove
welcomeMessagefrom LuaAgent (configure on channel/voice instead)
From v2.x to v3.0.0
- Wrap skills in a
LuaAgentconfiguration - Update jobs to use
metadatafor data passing - Run
lua compileto sync with YAML

