@kaltura-sdk/rtc-avatar 1.32.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 +237 -0
- package/index.d.ts +1 -0
- package/index.esm.js +10077 -0
- package/package.json +21 -0
- package/src/index.d.ts +6 -0
- package/src/lib/connection/EselfRTCConnection.d.ts +186 -0
- package/src/lib/connection/index.d.ts +3 -0
- package/src/lib/connection/types.d.ts +94 -0
- package/src/lib/dom/EselfDOMManager.d.ts +80 -0
- package/src/lib/dom/index.d.ts +1 -0
- package/src/lib/eself-demo.d.ts +1 -0
- package/src/lib/session/EselfSession.d.ts +394 -0
- package/src/lib/session/index.d.ts +1 -0
- package/src/lib/signaling/EselfSignaling.d.ts +76 -0
- package/src/lib/signaling/KasSignalingAdapter.d.ts +55 -0
- package/src/lib/signaling/SrsSignalingAdapter.d.ts +50 -0
- package/src/lib/signaling/WhepSignalingAdapter.d.ts +70 -0
- package/src/lib/signaling/index.d.ts +5 -0
- package/src/lib/signaling/types.d.ts +34 -0
- package/src/lib/utils/RequestsDebouncer.d.ts +15 -0
- package/src/lib/utils/compressedLogger.d.ts +95 -0
- package/src/lib/utils/logBuffer.d.ts +47 -0
- package/src/lib/utils/logsCollector.d.ts +28 -0
- package/src/lib/utils/runWithRetry.d.ts +10 -0
- package/src/lib/utils/tests/testUtils.d.ts +2 -0
package/README.md
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
# Unisphere - kaltura rtc
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This repository is a **Unisphere workspace** for an experience named **rtc**.
|
|
6
|
+
|
|
7
|
+
It contains everything you need to:
|
|
8
|
+
- Create and publish npm / JFrog packages
|
|
9
|
+
- Bundle and version runtime artifacts
|
|
10
|
+
- Build and deploy applications
|
|
11
|
+
- Develop locally and promote changes to production
|
|
12
|
+
|
|
13
|
+
The Unisphere workspace acts as the single entry point for the entire lifecycle — from local development, through CI/CD, and all the way to production deployment.
|
|
14
|
+
|
|
15
|
+
To better understand the ideas behind Unisphere and how it works, read more at:
|
|
16
|
+
https://unisphere.kaltura.com/
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Prerequisites
|
|
21
|
+
|
|
22
|
+
At the moment, **deploying Unisphere experiences is available only to Kaltura employees**.
|
|
23
|
+
|
|
24
|
+
Before doing anything else, make sure your machine is properly configured to access:
|
|
25
|
+
- Kaltura GitHub repositories
|
|
26
|
+
- Kaltura JFrog Artifactory registries
|
|
27
|
+
|
|
28
|
+
Follow the setup guide here:
|
|
29
|
+
https://unisphere.kaltura.com/docs/create/kaltura-employees/setup-machine
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Add the Experience to Kaltura Github Organization
|
|
34
|
+
|
|
35
|
+
Before you can deploy or activate this experience, it must be registered in Github under Kaltura Organization.
|
|
36
|
+
|
|
37
|
+
This step connects your Unisphere workspace to the relevant Kaltura infrastructure and enables CI/CD, deployment, and activation flows.
|
|
38
|
+
|
|
39
|
+
Follow the guide here:
|
|
40
|
+
https://unisphere.kaltura.com/docs/create/devops/create-github-repository
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Create Artifacts
|
|
45
|
+
|
|
46
|
+
Unisphere allows you to create and manage different types of artifacts, including:
|
|
47
|
+
- Packages
|
|
48
|
+
- Runtimes
|
|
49
|
+
- Applications
|
|
50
|
+
|
|
51
|
+
Each artifact type has its own role in the ecosystem, but they all live and evolve together inside this workspace.
|
|
52
|
+
|
|
53
|
+
Read more about creating artifacts here:
|
|
54
|
+
https://unisphere.kaltura.com/docs/create/overview
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Deploy
|
|
59
|
+
|
|
60
|
+
To deploy **packages, applications, and runtimes**, follow the deployment guide:
|
|
61
|
+
https://unisphere.kaltura.com/docs/create/devops/deploy
|
|
62
|
+
|
|
63
|
+
For **applications and runtimes**, deployment is only part of the process.
|
|
64
|
+
After deployment, they must also be activated to become available in production.
|
|
65
|
+
|
|
66
|
+
Activation guide:
|
|
67
|
+
https://unisphere.kaltura.com/docs/create/devops/activate
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Local Development
|
|
72
|
+
|
|
73
|
+
Unisphere provides a structured local development flow that mirrors production as closely as possible, while still keeping things fast and developer-friendly.
|
|
74
|
+
|
|
75
|
+
This includes:
|
|
76
|
+
- Local builds
|
|
77
|
+
- Watching and rebuilding artifacts
|
|
78
|
+
- Running applications in isolation or as part of a larger workspace
|
|
79
|
+
|
|
80
|
+
Read more about local development here:
|
|
81
|
+
https://unisphere.kaltura.com/docs/create/local-development
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Available Commands
|
|
86
|
+
|
|
87
|
+
This workspace exposes a small set of opinionated commands to help you explore, validate, and manage the experience.
|
|
88
|
+
|
|
89
|
+
### Start
|
|
90
|
+
Lists all available commands for each artifact in the experience, including how to build and serve runtimes, and how to spawn applications.
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
npm run start
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
### Info
|
|
98
|
+
Displays information about the current workspace, including detected artifacts, configuration, and environment details.
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
npm run info
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Check
|
|
105
|
+
Validates the workspace setup and verifies that all required artifacts and configurations are in place.
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
npm run check
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Reset
|
|
112
|
+
Resets the workspace to a clean state. Useful when experimenting or when local state becomes inconsistent.
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
npm run reset
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Releasing
|
|
122
|
+
|
|
123
|
+
This project uses [Changesets](https://github.com/changesets/changesets) for versioning and publishing. The CI/CD pipeline handles version bumping and publishing automatically — you only need to create the changeset and push.
|
|
124
|
+
|
|
125
|
+
### Before Any Release
|
|
126
|
+
|
|
127
|
+
Always verify lint passes before starting any release flow:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
./node_modules/.bin/nx run unisphere-package-avatar:lint --fix --verbose
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Fix any errors before proceeding.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
### Stable Release (merging to `main`)
|
|
138
|
+
|
|
139
|
+
1. **On your feature branch**, create a changeset describing what changed:
|
|
140
|
+
```bash
|
|
141
|
+
npm run changeset
|
|
142
|
+
```
|
|
143
|
+
Follow the prompts — select the packages changed and the bump type (`patch` / `minor` / `major`).
|
|
144
|
+
|
|
145
|
+
2. **Commit and push** the generated `.changeset/<name>.md` file along with your code changes.
|
|
146
|
+
|
|
147
|
+
3. **Open a PR** to `main`. The PR checks run tests automatically.
|
|
148
|
+
|
|
149
|
+
4. **Once merged to `main`**, CI automatically creates a "Version Packages" PR (`changeset-release/main` → `main`) that contains the bumped versions and updated changelogs.
|
|
150
|
+
|
|
151
|
+
5. **Merge the "Version Packages" PR** — CI then publishes the packages to the registry.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
### Prerelease
|
|
156
|
+
|
|
157
|
+
Prereleases publish tagged versions (e.g., `1.30.0-stv-webrtc.0`) without touching `main`.
|
|
158
|
+
|
|
159
|
+
> **Critical:** The branch name MUST start with `prerelease/` — CI only triggers on `prerelease/**` branches.
|
|
160
|
+
|
|
161
|
+
#### Step-by-step
|
|
162
|
+
|
|
163
|
+
1. **Create and push a `prerelease/<tag>` branch** from your feature branch:
|
|
164
|
+
```bash
|
|
165
|
+
git checkout -b prerelease/my-feature
|
|
166
|
+
git push -u origin prerelease/my-feature
|
|
167
|
+
```
|
|
168
|
+
The `<tag>` (e.g., `my-feature`) becomes the prerelease identifier in the version number.
|
|
169
|
+
|
|
170
|
+
2. **Enter prerelease mode** — run this while on the prerelease branch:
|
|
171
|
+
```bash
|
|
172
|
+
npx changeset pre enter my-feature
|
|
173
|
+
```
|
|
174
|
+
This creates `.changeset/pre.json`. The tag must match the suffix of your branch name.
|
|
175
|
+
|
|
176
|
+
3. **Create a changeset** for your changes:
|
|
177
|
+
```bash
|
|
178
|
+
npm run changeset
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
4. **Commit and push** both files:
|
|
182
|
+
```bash
|
|
183
|
+
git add .changeset/
|
|
184
|
+
git commit -m "chore: enter prerelease mode for my-feature"
|
|
185
|
+
git push
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
5. **CI creates a "Version Packages" PR** (`changeset-release/prerelease/my-feature` → `prerelease/my-feature`). Merge it to publish the prerelease.
|
|
189
|
+
|
|
190
|
+
6. **Subsequent changes** on the same branch: just add new changesets (`npm run changeset`) and push. Each push triggers a new prerelease version bump.
|
|
191
|
+
|
|
192
|
+
#### Finishing a prerelease
|
|
193
|
+
|
|
194
|
+
When the feature is ready for a stable release, exit prerelease mode on the branch:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
npx changeset pre exit
|
|
198
|
+
git add .changeset/pre.json
|
|
199
|
+
git commit -m "chore: exit prerelease mode"
|
|
200
|
+
git push
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
Then merge the branch (or its changesets) into `main` for the stable release flow.
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
### Undoing a Botched Prerelease
|
|
208
|
+
|
|
209
|
+
If the prerelease setup gets into a broken state, reset to the last clean commit and force-push:
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
# Find the last commit before any changeset work
|
|
213
|
+
git log --oneline
|
|
214
|
+
|
|
215
|
+
# Reset to that commit (replace <sha> with the actual hash)
|
|
216
|
+
git reset --hard <sha>
|
|
217
|
+
git push --force origin prerelease/my-feature
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Then start the prerelease setup again from step 2 above.
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Next Steps
|
|
225
|
+
|
|
226
|
+
If this is your first time working with Unisphere, a great next step is to **create a runtime with a playground**.
|
|
227
|
+
|
|
228
|
+
Follow the Hello World walkthrough here:
|
|
229
|
+
[https://unisphere.kaltura.com/docs/create/overview](https://unisphere.kaltura.com/docs/create/overview)
|
|
230
|
+
|
|
231
|
+
The walkthrough will guide you through:
|
|
232
|
+
|
|
233
|
+
* Creating your first runtime
|
|
234
|
+
* Running it locally with a playground
|
|
235
|
+
* Understanding how runtimes, packages, and applications connect together
|
|
236
|
+
|
|
237
|
+
This will give you a strong foundation for building and evolving the experience over time.
|
package/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./src/index";
|