@wave-av/cli 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +178 -0
- package/dist/index.js +4034 -0
- package/dist/index.js.map +1 -0
- package/package.json +73 -0
- package/templates/api-integration/.env.example +2 -0
- package/templates/api-integration/package.json +17 -0
- package/templates/api-integration/src/index.ts +24 -0
- package/templates/blank/.env.example +1 -0
- package/templates/blank/package.json +17 -0
- package/templates/blank/src/index.ts +16 -0
- package/templates/multi-camera/.env.example +1 -0
- package/templates/multi-camera/package.json +17 -0
- package/templates/multi-camera/src/index.ts +49 -0
- package/templates/podcast/.env.example +1 -0
- package/templates/podcast/package.json +17 -0
- package/templates/podcast/src/index.ts +33 -0
- package/templates/srt-contribution/.env.example +1 -0
- package/templates/srt-contribution/package.json +17 -0
- package/templates/srt-contribution/src/index.ts +29 -0
- package/templates/studio-plugin/.env.example +2 -0
- package/templates/studio-plugin/package.json +17 -0
- package/templates/studio-plugin/src/index.ts +32 -0
- package/templates/webhook-handler/.env.example +3 -0
- package/templates/webhook-handler/package.json +19 -0
- package/templates/webhook-handler/src/index.ts +52 -0
- package/templates/webrtc-demo/.env.example +1 -0
- package/templates/webrtc-demo/package.json +17 -0
- package/templates/webrtc-demo/src/index.ts +31 -0
package/README.md
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
# @wave-av/cli
|
|
2
|
+
|
|
3
|
+
Command-line interface for the WAVE streaming platform. Manage streams, productions, and infrastructure from your terminal.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# npm
|
|
9
|
+
npm install -g @wave-av/cli
|
|
10
|
+
|
|
11
|
+
# pnpm
|
|
12
|
+
pnpm add -g @wave-av/cli
|
|
13
|
+
|
|
14
|
+
# npx (one-off usage)
|
|
15
|
+
npx @wave-av/cli stream list
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Quick start
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# Authenticate
|
|
22
|
+
wave login
|
|
23
|
+
|
|
24
|
+
# Create a stream
|
|
25
|
+
wave stream create --title "My Stream" --protocol webrtc
|
|
26
|
+
|
|
27
|
+
# List your streams
|
|
28
|
+
wave stream list
|
|
29
|
+
|
|
30
|
+
# Start streaming
|
|
31
|
+
wave stream start <stream-id>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Authentication
|
|
35
|
+
|
|
36
|
+
### OAuth Device Flow (recommended)
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
wave login
|
|
40
|
+
# Opens browser for authentication
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Direct API Key
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
wave login --api-key wave_live_your_key_here
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Multi-project context
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# Separate environments
|
|
53
|
+
wave login --project-name production
|
|
54
|
+
wave login --project-name staging
|
|
55
|
+
|
|
56
|
+
# Switch context
|
|
57
|
+
wave config set currentProject staging
|
|
58
|
+
|
|
59
|
+
# Override per-command
|
|
60
|
+
wave stream list --project production
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### CI/CD Environment Variables
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
export WAVE_API_KEY=wave_live_your_key_here
|
|
67
|
+
export WAVE_ORG_ID=org_123
|
|
68
|
+
wave stream list # Uses env vars automatically
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Command groups
|
|
72
|
+
|
|
73
|
+
| Group | Description | Example |
|
|
74
|
+
| -------------- | ----------------------- | ------------------------------------------ |
|
|
75
|
+
| `stream` | Live stream management | `wave stream create --title "Live"` |
|
|
76
|
+
| `studio` | Multi-camera production | `wave studio start <id>` |
|
|
77
|
+
| `clip` | Stream clips | `wave clip create --stream-id <id>` |
|
|
78
|
+
| `editor` | Video editor | `wave editor render <id>` |
|
|
79
|
+
| `voice` | Voice synthesis | `wave voice synthesize --text "Hello"` |
|
|
80
|
+
| `phone` | Telephony | `wave phone call --to +1234567890` |
|
|
81
|
+
| `collab` | Collaboration rooms | `wave collab room create` |
|
|
82
|
+
| `captions` | Live captions | `wave captions generate --stream-id <id>` |
|
|
83
|
+
| `chapters` | Chapter detection | `wave chapters detect --recording-id <id>` |
|
|
84
|
+
| `ai` | AI assistant | `wave ai assistant start` |
|
|
85
|
+
| `transcribe` | Transcription | `wave transcribe create --stream-id <id>` |
|
|
86
|
+
| `sentiment` | Sentiment analysis | `wave sentiment analyze --text "..."` |
|
|
87
|
+
| `search` | Content search | `wave search query --q "keyword"` |
|
|
88
|
+
| `scene` | Scene detection | `wave scene detect --recording-id <id>` |
|
|
89
|
+
| `fleet` | Device management | `wave fleet list` |
|
|
90
|
+
| `ghost` | AI director | `wave ghost suggestions` |
|
|
91
|
+
| `mesh` | Multi-region | `wave mesh status` |
|
|
92
|
+
| `edge` | Edge processing | `wave edge cache status` |
|
|
93
|
+
| `analytics` | Streaming analytics | `wave analytics viewers` |
|
|
94
|
+
| `prism` | Camera discovery | `wave prism discover` |
|
|
95
|
+
| `zoom` | Zoom integration | `wave zoom meeting create` |
|
|
96
|
+
| `vault` | Recording archive | `wave vault recordings list` |
|
|
97
|
+
| `marketplace` | Plugin marketplace | `wave marketplace search` |
|
|
98
|
+
| `connect` | Integrations | `wave connect integrations` |
|
|
99
|
+
| `distribution` | Simulcast | `wave distribution simulcast` |
|
|
100
|
+
| `desktop` | Desktop nodes | `wave desktop nodes` |
|
|
101
|
+
| `signage` | Digital signage | `wave signage displays list` |
|
|
102
|
+
| `qr` | QR codes | `wave qr create --data "https://..."` |
|
|
103
|
+
| `audience` | Engagement | `wave audience polls create` |
|
|
104
|
+
| `creator` | Monetization | `wave creator revenue` |
|
|
105
|
+
| `podcast` | Podcast management | `wave podcast episodes list` |
|
|
106
|
+
| `slides` | Presentations | `wave slides convert` |
|
|
107
|
+
| `usb` | USB devices | `wave usb devices list` |
|
|
108
|
+
| `notify` | Notifications | `wave notify send --to user@example.com` |
|
|
109
|
+
| `drm` | Content protection | `wave drm licenses list` |
|
|
110
|
+
| `billing` | Billing & usage | `wave billing status` |
|
|
111
|
+
|
|
112
|
+
## Developer tools
|
|
113
|
+
|
|
114
|
+
| Command | Description |
|
|
115
|
+
| ---------------------- | -------------------------------------- |
|
|
116
|
+
| `wave listen` | Forward webhook events to localhost |
|
|
117
|
+
| `wave logs tail` | Real-time API log streaming |
|
|
118
|
+
| `wave trigger <event>` | Fire test webhook events |
|
|
119
|
+
| `wave dev` | Combined listen + logs for development |
|
|
120
|
+
| `wave open [page]` | Open WAVE dashboard in browser |
|
|
121
|
+
| `wave init [name]` | Scaffold a new project from templates |
|
|
122
|
+
|
|
123
|
+
## Global flags
|
|
124
|
+
|
|
125
|
+
| Flag | Description |
|
|
126
|
+
| ----------------------- | ------------------------------------------------ |
|
|
127
|
+
| `-o, --output <format>` | Output format: `table` (default), `json`, `yaml` |
|
|
128
|
+
| `--project <name>` | Override project context |
|
|
129
|
+
| `--org <id>` | Override organization |
|
|
130
|
+
| `-c, --confirm` | Skip confirmation prompts (for scripting) |
|
|
131
|
+
| `--no-color` | Disable colored output |
|
|
132
|
+
| `--debug` | Verbose debug logging |
|
|
133
|
+
|
|
134
|
+
## Environment variables
|
|
135
|
+
|
|
136
|
+
| Variable | Description |
|
|
137
|
+
| --------------------- | --------------------------------- |
|
|
138
|
+
| `WAVE_API_KEY` | Override API key (skips keychain) |
|
|
139
|
+
| `WAVE_ORG_ID` | Override organization ID |
|
|
140
|
+
| `WAVE_PROJECT` | Override project name |
|
|
141
|
+
| `WAVE_OUTPUT_FORMAT` | Override output format |
|
|
142
|
+
| `WAVE_BASE_URL` | Override API base URL |
|
|
143
|
+
| `WAVE_NO_COLOR=1` | Disable colors |
|
|
144
|
+
| `WAVE_NO_TELEMETRY=1` | Disable telemetry |
|
|
145
|
+
|
|
146
|
+
## Shell completions
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
# Bash
|
|
150
|
+
wave completion bash > ~/.bashrc.d/wave
|
|
151
|
+
source ~/.bashrc.d/wave
|
|
152
|
+
|
|
153
|
+
# Zsh
|
|
154
|
+
wave completion zsh > ~/.zsh/completions/_wave
|
|
155
|
+
|
|
156
|
+
# Fish
|
|
157
|
+
wave completion fish > ~/.config/fish/completions/wave.fish
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## CI/CD Example
|
|
161
|
+
|
|
162
|
+
```yaml
|
|
163
|
+
# .github/workflows/deploy-stream.yml
|
|
164
|
+
name: Deploy Live Stream
|
|
165
|
+
on: workflow_dispatch
|
|
166
|
+
jobs:
|
|
167
|
+
deploy:
|
|
168
|
+
runs-on: ubuntu-latest
|
|
169
|
+
steps:
|
|
170
|
+
- run: npm install -g @wave-av/cli
|
|
171
|
+
- run: wave stream create --title "Auto Stream" --protocol webrtc --confirm --output json
|
|
172
|
+
env:
|
|
173
|
+
WAVE_API_KEY: ${{ secrets.WAVE_API_KEY }}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## License
|
|
177
|
+
|
|
178
|
+
MIT
|