
Security News
RubyGems Adds Cooldown Feature to Bundler for Newly Published Gems
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.
@wave-av/adk
Advanced tools
WAVE Agent Developer Kit — build AI video agents with 10 MCP tools, 5 templates, and framework adapters for Mastra, LangGraph, LiveKit
The video layer for AI agents. Build agents that see, produce, and deliver video.
WAVE ADK is the complete toolkit for AI agents to interact with live video infrastructure. Like Stripe is for payments and Resend is for email — WAVE is for live streaming and video.
npm install @wave-av/adk
import { StreamMonitorAgent } from '@wave-av/adk';
const monitor = new StreamMonitorAgent({
apiKey: process.env.WAVE_AGENT_KEY,
agentName: 'my-quality-monitor',
streamIds: ['stream_abc123'],
autoRemediate: true,
onQualityDrop: async (alert) => {
console.log(`Quality drop on ${alert.streamId}: ${alert.metric}`);
},
});
await monitor.start();
stateDiagram-v2
[*] --> Init: new AgentRuntime(agent)
Init --> Starting: runtime.start()
Starting --> Running: agent registered + health server up
Running --> Running: heartbeat every 30s
Running --> Stopping: SIGTERM / SIGINT / runtime.stop()
Stopping --> [*]: cleanup + flush logs
state Running {
[*] --> Healthy
Healthy --> Degraded: quality drop
Degraded --> Healthy: auto-remediate
Healthy --> Processing: tool invoked
Processing --> Healthy: result returned
}
Endpoints while running:
GET /health — liveness probe ({ status: "healthy", uptime: 12345 })GET /ready — readiness probe ({ ready: true })GET /metrics — usage stats ({ totalCalls: 42, totalDurationMs: 1200 })| Template | What It Does |
|---|---|
StreamMonitorAgent | Watches quality, auto-remediates degradation |
AutoProducerAgent | AI-powered live show direction (camera switching, graphics) |
ClipFactoryAgent | Detects highlights, auto-creates social clips |
ModerationAgent | AI content moderation for chat and video |
CaptionAgent | Real-time transcription and multi-language captions |
import { AgentToolkit } from '@wave-av/adk/tools';
const toolkit = new AgentToolkit({ apiKey: process.env.WAVE_AGENT_KEY });
// Get MCP-compatible tool definitions
const tools = toolkit.toMCPTools();
// → wave_create_stream, wave_monitor_stream, wave_create_clip,
// wave_switch_camera, wave_show_graphic, wave_moderate_chat,
// wave_start_captions, wave_analyze_quality, wave_mark_highlight,
// wave_control_camera
Production-ready lifecycle with health endpoint, heartbeat, and structured logging:
import { StreamMonitorAgent, AgentRuntime } from '@wave-av/adk';
const agent = new StreamMonitorAgent({ /* config */ });
const runtime = new AgentRuntime(agent, {
healthPort: 8080, // GET /health, /ready, /metrics
heartbeatIntervalMs: 30000, // Platform heartbeat
logLevel: 'info', // Structured JSON logs
});
await runtime.start(); // Handles SIGTERM/SIGINT gracefully
Import only what you need for smaller bundles:
// Tools only
import { AgentToolkit, WaveToolError } from '@wave-av/adk/tools';
// Agents only
import { WaveAgent, AgentRuntime } from '@wave-av/adk/agents';
// Framework adapters only
import { createMastraTools } from '@wave-av/adk/adapters';
// Agent templates
import { StreamMonitorAgent, ClipFactoryAgent } from '@wave-av/adk/templates';
// Type definitions
import type { StreamQualityAlert, ClipHighlight } from '@wave-av/adk/types';
// Mastra — native TypeScript, MCP-first
import { createMastraTools } from '@wave-av/adk/adapters';
// LangGraph — LangChain state machines
import { createLangGraphTools } from '@wave-av/adk/adapters';
// LiveKit Agents — real-time voice/video
import { createLiveKitWaveTools } from '@wave-av/adk/adapters';
// Kernel.sh — cloud browser automation
import { createKernelTools } from '@wave-av/adk/adapters';
Or use the MCP server with ANY framework:
{ "wave": { "command": "npx", "args": ["@wave-av/mcp-server"] } }
Ensure "moduleResolution": "node16" or "nodenext" in your tsconfig.json.
ADK is ESM-first. Add "type": "module" to your package.json, or use dynamic imports:
const { AgentToolkit } = await import("@wave-av/adk/tools");
CJS consumers can use require() — the package exports .cjs files via the require condition.
FAQs
WAVE Agent Developer Kit — build AI video agents with 10 MCP tools, 5 templates, and framework adapters for Mastra, LangGraph, LiveKit
We found that @wave-av/adk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.

Security News
pnpm 11.5 now recognizes npm staged publish approvals in release metadata, preventing those releases from being mistaken for lower-trust package publishes.

Security News
Federal audit finds NIST lacked a plan to clear the NVD backlog, wasted funds on duplicate work, and delayed use of CISA data.