@unisphere/genie-types 1.13.2 → 1.14.0-oauth.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 CHANGED
@@ -1,175 +1 @@
1
- # Unisphere - {{company-name|human-readable}} {{project-name|human-readable}}
2
-
3
- ## Running The avatar
4
-
5
- The following will enable the avatar in the chat in local machine and nvq2:
6
- 1. you can run the avatar in dev mode by using the query param `debugGenieAvatar=dev` (for qa you should use the value qa)
7
- 2. you can also use the cmd+k - `>` and then select **Enable Avatar Mode**
8
-
9
- ## Showing the debug panel for avatars
10
-
11
- It is automatically shown in avatar-dev application.
12
-
13
- When in NVQ2, you can show the debug panel by using the query param `debugAvatarChat=true`.
14
-
15
- ## Open avatar automatically when showing the chat
16
-
17
- When in NVQ2, you can open the avatar automatically when showing the chat by using the query param `debugGenieAutoAvatar=true`.
18
-
19
- ## Develop Avatar Locally
20
-
21
- > Copy the .env file from `/unisphere/applications/avatar-dev/.env-(dev|qa)-template` to `/unisphere/applications/avatar-dev/.env` and update settings
22
-
23
- 1. run `npm run dev:avatar`
24
- 2. open the browser in http://localhost:4002/
25
-
26
- You will now use the nvq2 avatar in local development.
27
-
28
- If you would like to use the Avatar runtime, override port 8400
29
-
30
- ## Develop Chat Locally
31
-
32
- > Copy the .env file from `/unisphere/applications/chat-dev/.env-template` to `/unisphere/applications/chat-dev/.env` and update settings
33
-
34
- 1. run `npm run dev:chat`
35
- 2. open the browser in http://localhost:4002/
36
-
37
- You will now use the nvq2 chat in local development.
38
-
39
- If you would like to use the Chat runtime, override port 8300
40
- If you would like to use the Avatar runtime, override port 8400
41
-
42
- ---
43
-
44
- ## Overview
45
-
46
- This repository is a **Unisphere workspace** for an experience named **{{project-name|human-readable}}**.
47
-
48
- It contains everything you need to:
49
- - Create and publish npm / JFrog packages
50
- - Bundle and version runtime artifacts
51
- - Build and deploy applications
52
- - Develop locally and promote changes to production
53
-
54
- 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.
55
-
56
- To better understand the ideas behind Unisphere and how it works, read more at:
57
- https://unisphere.kaltura.com/
58
-
59
- ---
60
-
61
- ## Prerequisites
62
-
63
- At the moment, **deploying Unisphere experiences is available only to Kaltura employees**.
64
-
65
- Before doing anything else, make sure your machine is properly configured to access:
66
- - Kaltura GitHub repositories
67
- - Kaltura JFrog Artifactory registries
68
-
69
- Follow the setup guide here:
70
- https://unisphere.kaltura.com/docs/create/kaltura-employees/setup-machine
71
-
72
- ---
73
-
74
- ## Add the Experience to Kaltura Github Organization
75
-
76
- Before you can deploy or activate this experience, it must be registered in Github under Kaltura Organization.
77
-
78
- This step connects your Unisphere workspace to the relevant Kaltura infrastructure and enables CI/CD, deployment, and activation flows.
79
-
80
- Follow the guide here:
81
- https://unisphere.kaltura.com/docs/create/devops/create-github-repository
82
-
83
- ---
84
-
85
- ## Create Artifacts
86
-
87
- Unisphere allows you to create and manage different types of artifacts, including:
88
- - Packages
89
- - Runtimes
90
- - Applications
91
-
92
- Each artifact type has its own role in the ecosystem, but they all live and evolve together inside this workspace.
93
-
94
- Read more about creating artifacts here:
95
- https://unisphere.kaltura.com/docs/create/overview
96
-
97
- ---
98
-
99
- ## Deploy
100
-
101
- To deploy **packages, applications, and runtimes**, follow the deployment guide:
102
- https://unisphere.kaltura.com/docs/create/devops/deploy
103
-
104
- For **applications and runtimes**, deployment is only part of the process.
105
- After deployment, they must also be activated to become available in production.
106
-
107
- Activation guide:
108
- https://unisphere.kaltura.com/docs/create/devops/activate
109
-
110
- ---
111
-
112
- ## Local Development
113
-
114
- Unisphere provides a structured local development flow that mirrors production as closely as possible, while still keeping things fast and developer-friendly.
115
-
116
- This includes:
117
- - Local builds
118
- - Watching and rebuilding artifacts
119
- - Running applications in isolation or as part of a larger workspace
120
-
121
- Read more about local development here:
122
- https://unisphere.kaltura.com/docs/create/local-development
123
-
124
- ---
125
-
126
- ## Available Commands
127
-
128
- This workspace exposes a small set of opinionated commands to help you explore, validate, and manage the experience.
129
-
130
- ### Start
131
- Lists all available commands for each artifact in the experience, including how to build and serve runtimes, and how to spawn applications.
132
-
133
- ```bash
134
- npm run start
135
- ```
136
-
137
-
138
- ### Info
139
- Displays information about the current workspace, including detected artifacts, configuration, and environment details.
140
-
141
- ```bash
142
- npm run info
143
- ```
144
-
145
- ### Check
146
- Validates the workspace setup and verifies that all required artifacts and configurations are in place.
147
-
148
- ```bash
149
- npm run check
150
- ```
151
-
152
- ### Reset
153
- Resets the workspace to a clean state. Useful when experimenting or when local state becomes inconsistent.
154
-
155
- ```bash
156
- npm run reset
157
- ```
158
-
159
-
160
- ---
161
-
162
- ## Next Steps
163
-
164
- If this is your first time working with Unisphere, a great next step is to **create a runtime with a playground**.
165
-
166
- Follow the Hello World walkthrough here:
167
- [https://unisphere.kaltura.com/docs/create/overview](https://unisphere.kaltura.com/docs/create/overview)
168
-
169
- The walkthrough will guide you through:
170
-
171
- * Creating your first runtime
172
- * Running it locally with a playground
173
- * Understanding how runtimes, packages, and applications connect together
174
-
175
- This will give you a strong foundation for building and evolving the experience over time.
1
+ # Unisphere Genie - Package Core
package/index.esm.js CHANGED
@@ -267,6 +267,11 @@ const chatCustomizationSchema = {
267
267
  type: 'primitive',
268
268
  value: 'boolean',
269
269
  optional: true
270
+ },
271
+ isPreviewMode: {
272
+ type: 'primitive',
273
+ value: 'boolean',
274
+ optional: true
270
275
  }
271
276
  }
272
277
  },
@@ -730,6 +735,22 @@ const sourcesToolRuntimeGenieAnswerVisualSettingsSchema = {
730
735
  value: 'boolean'
731
736
  }
732
737
  }
738
+ }, {
739
+ type: 'object',
740
+ properties: {
741
+ type: {
742
+ type: 'literal',
743
+ value: 'web'
744
+ },
745
+ title: {
746
+ type: 'primitive',
747
+ value: 'string'
748
+ },
749
+ url: {
750
+ type: 'primitive',
751
+ value: 'string'
752
+ }
753
+ }
733
754
  }]
734
755
  }
735
756
  }
@@ -799,6 +820,11 @@ const avatarRuntimeSettingsSchema = {
799
820
  value: 'boolean',
800
821
  optional: true
801
822
  },
823
+ castMode: {
824
+ type: 'primitive',
825
+ value: 'string',
826
+ optional: true
827
+ },
802
828
  kaltura: {
803
829
  type: 'object',
804
830
  properties: {
@@ -969,6 +995,11 @@ const avatarRuntimeLobbyVisualSettingsSchema = {
969
995
  type: 'primitive',
970
996
  value: 'string',
971
997
  optional: true
998
+ },
999
+ hideStartButton: {
1000
+ type: 'primitive',
1001
+ value: 'boolean',
1002
+ optional: true
972
1003
  }
973
1004
  }
974
1005
  };
@@ -1178,7 +1209,7 @@ const kalturaVideoPlayerToolRuntimeSettingsSchema = {
1178
1209
  }
1179
1210
  };
1180
1211
 
1181
- const kalturaVideoPlayerToolRuntimeGenieAnswerVisualSettingsSchema = {
1212
+ const kalturaVideoPlayerToolRuntimeAvatarVisualSettingsSchema = {
1182
1213
  type: 'object',
1183
1214
  properties: {
1184
1215
  id: {
@@ -1201,7 +1232,7 @@ const gtcAgendaToolRuntimeSettingsSchema = {
1201
1232
  }
1202
1233
  };
1203
1234
 
1204
- const gtcAgendaToolRuntimeGenieAnswerVisualSettingsSchema = {
1235
+ const gtcAgendaToolRuntimeAvatarVisualSettingsSchema = {
1205
1236
  type: 'object',
1206
1237
  properties: {
1207
1238
  id: {
@@ -1224,7 +1255,7 @@ const gtcAgendaListToolRuntimeSettingsSchema = {
1224
1255
  }
1225
1256
  };
1226
1257
 
1227
- const gtcAgendaListToolRuntimeGenieAnswerVisualSettingsSchema = {
1258
+ const gtcAgendaListToolRuntimeAvatarVisualSettingsSchema = {
1228
1259
  type: 'object',
1229
1260
  properties: {
1230
1261
  schemaVersion: {
@@ -1247,4 +1278,534 @@ const gtcAgendaListToolRuntimeGenieAnswerVisualSettingsSchema = {
1247
1278
  }
1248
1279
  };
1249
1280
 
1250
- export { AdminDemoRuntimeName, AdminRuntimeName, AgentUnavailabilityReasons, AnswerModelEnum, AnswerTypeEnum, ApplicationRuntimeName, AvatarConnectionStatus, AvatarRuntimeName, AvatarStatus, ChatRuntimeName, DeviceType, DisconnectReasons, FlashcardsToolRuntimeName, FollowupsToolRuntimeName, GtcAgendaListToolRuntimeName, GtcAgendaToolRuntimeName, KalturaVideoPlayerToolRuntimeName, Nvidia2026EventToolRuntimeName, SourcesToolRuntimeName, SummaryToolRuntimeName, adminDemoRuntimeSettingsSchema, adminRuntimeSettingsSchema, applicationRuntimeSettingsSchema, avatarRuntimeAgentVisualSettingsSchema, avatarRuntimeChatVisualSettingsSchema, avatarRuntimeContainedVisualSettingsSchema, avatarRuntimeLobbyVisualSettingsSchema, avatarRuntimeSettingsSchema, bannerVisualSettingsSchema, blockVisualContextSchema, chatCustomizationSchema, chatRuntimePlayerPluginSettingsSchema, chatRuntimeSettingsSchema, flashcardsToolRuntimeSettingsSchema, followupsToolRuntimeAvatarVisualSettingsSchema, followupsToolRuntimeGenieAnswerVisualSettingsSchema, followupsToolRuntimeSettingsSchema, genieAnswerVisualSettingsSchema, getSourceUrlSchema, gtcAgendaListToolRuntimeGenieAnswerVisualSettingsSchema, gtcAgendaListToolRuntimeSettingsSchema, gtcAgendaToolRuntimeGenieAnswerVisualSettingsSchema, gtcAgendaToolRuntimeSettingsSchema, integrationsSchema, isAvatarConnectionProxyInternalType, kalturaVideoPlayerToolRuntimeGenieAnswerVisualSettingsSchema, kalturaVideoPlayerToolRuntimeSettingsSchema, nvidia2026EventToolRuntimeSettingsSchema, pageVisualSettingsSchema, popupVisualSettingsSchema, shareUrlSchema, sourcesToolRuntimeGenieAnswerVisualSettingsSchema, sourcesToolRuntimeSettingsSchema, summaryToolRuntimeGenieAnswerVisualSettingsSchema, summaryToolRuntimeSettingsSchema, widgetName };
1281
+ const GenUiComposerToolRuntimeName = 'gen-ui-composer-tool';
1282
+ const genUiComposerToolRuntimeSettingsSchema = {
1283
+ type: 'object',
1284
+ properties: {
1285
+ schemaVersion: {
1286
+ type: 'literal',
1287
+ value: '1',
1288
+ optional: true
1289
+ },
1290
+ baseVisualSettings: {
1291
+ type: 'object',
1292
+ optional: true,
1293
+ properties: {},
1294
+ allowUnknownProperties: true
1295
+ }
1296
+ }
1297
+ };
1298
+
1299
+ const genUiComposerToolRuntimeAvatarVisualSettingsSchema = {
1300
+ type: 'object',
1301
+ properties: {
1302
+ schemaVersion: {
1303
+ type: 'literal',
1304
+ value: '1',
1305
+ optional: true
1306
+ },
1307
+ layout: {
1308
+ type: 'object',
1309
+ optional: true,
1310
+ properties: {
1311
+ type: {
1312
+ type: 'literal',
1313
+ value: 'cssGrid'
1314
+ },
1315
+ gridTemplateAreas: {
1316
+ type: 'primitive',
1317
+ value: 'string',
1318
+ optional: true
1319
+ },
1320
+ gridTemplateRows: {
1321
+ type: 'primitive',
1322
+ value: 'string',
1323
+ optional: true
1324
+ },
1325
+ gridTemplateColumns: {
1326
+ type: 'primitive',
1327
+ value: 'string',
1328
+ optional: true
1329
+ },
1330
+ gap: {
1331
+ type: 'primitive',
1332
+ value: 'string',
1333
+ optional: true
1334
+ },
1335
+ cells: {
1336
+ type: 'array',
1337
+ optional: true,
1338
+ items: {
1339
+ type: 'object',
1340
+ properties: {
1341
+ id: {
1342
+ type: 'primitive',
1343
+ value: 'string'
1344
+ },
1345
+ name: {
1346
+ type: 'primitive',
1347
+ value: 'string',
1348
+ optional: true
1349
+ },
1350
+ width: {
1351
+ type: 'object',
1352
+ optional: true,
1353
+ properties: {
1354
+ type: {
1355
+ type: 'enum',
1356
+ values: ['fill', 'fit', 'fixed', 'percentage', 'custom']
1357
+ },
1358
+ value: {
1359
+ type: 'primitive',
1360
+ value: 'string',
1361
+ optional: true
1362
+ }
1363
+ }
1364
+ },
1365
+ rowSpan: {
1366
+ type: 'primitive',
1367
+ value: 'number',
1368
+ optional: true
1369
+ },
1370
+ visual: {
1371
+ type: 'object',
1372
+ optional: true,
1373
+ properties: {
1374
+ widgetName: {
1375
+ type: 'primitive',
1376
+ value: 'string'
1377
+ },
1378
+ runtimeName: {
1379
+ type: 'primitive',
1380
+ value: 'string'
1381
+ },
1382
+ visualType: {
1383
+ type: 'primitive',
1384
+ value: 'string'
1385
+ },
1386
+ visualSettings: {
1387
+ type: 'object',
1388
+ properties: {},
1389
+ optional: true,
1390
+ allowUnknownProperties: true
1391
+ }
1392
+ }
1393
+ },
1394
+ runtime: {
1395
+ type: 'object',
1396
+ optional: true,
1397
+ properties: {
1398
+ widgetName: {
1399
+ type: 'primitive',
1400
+ value: 'string'
1401
+ },
1402
+ runtimeName: {
1403
+ type: 'primitive',
1404
+ value: 'string'
1405
+ },
1406
+ runtimeSettings: {
1407
+ type: 'object',
1408
+ properties: {},
1409
+ allowUnknownProperties: true
1410
+ }
1411
+ }
1412
+ },
1413
+ style: {
1414
+ type: 'object',
1415
+ properties: {},
1416
+ optional: true,
1417
+ allowUnknownProperties: true
1418
+ }
1419
+ }
1420
+ }
1421
+ },
1422
+ rows: {
1423
+ type: 'array',
1424
+ optional: true,
1425
+ items: {
1426
+ type: 'object',
1427
+ properties: {
1428
+ id: {
1429
+ type: 'primitive',
1430
+ value: 'string'
1431
+ },
1432
+ height: {
1433
+ type: 'object',
1434
+ properties: {
1435
+ type: {
1436
+ type: 'enum',
1437
+ values: ['auto', 'fixed', 'fill', 'percentage']
1438
+ },
1439
+ value: {
1440
+ type: 'primitive',
1441
+ value: 'number',
1442
+ optional: true
1443
+ }
1444
+ }
1445
+ },
1446
+ columns: {
1447
+ type: 'primitive',
1448
+ value: 'string'
1449
+ },
1450
+ cells: {
1451
+ type: 'array',
1452
+ items: {
1453
+ type: 'object',
1454
+ properties: {
1455
+ id: {
1456
+ type: 'primitive',
1457
+ value: 'string'
1458
+ },
1459
+ name: {
1460
+ type: 'primitive',
1461
+ value: 'string',
1462
+ optional: true
1463
+ },
1464
+ width: {
1465
+ type: 'object',
1466
+ optional: true,
1467
+ properties: {
1468
+ type: {
1469
+ type: 'enum',
1470
+ values: ['fill', 'fit', 'fixed', 'percentage', 'custom']
1471
+ },
1472
+ value: {
1473
+ type: 'primitive',
1474
+ value: 'string',
1475
+ optional: true
1476
+ }
1477
+ }
1478
+ },
1479
+ rowSpan: {
1480
+ type: 'primitive',
1481
+ value: 'number',
1482
+ optional: true
1483
+ },
1484
+ visual: {
1485
+ type: 'object',
1486
+ properties: {
1487
+ widgetName: {
1488
+ type: 'primitive',
1489
+ value: 'string'
1490
+ },
1491
+ runtimeName: {
1492
+ type: 'primitive',
1493
+ value: 'string'
1494
+ },
1495
+ visualType: {
1496
+ type: 'primitive',
1497
+ value: 'string'
1498
+ },
1499
+ visualSettings: {
1500
+ type: 'object',
1501
+ properties: {},
1502
+ optional: true,
1503
+ allowUnknownProperties: true
1504
+ }
1505
+ }
1506
+ },
1507
+ runtime: {
1508
+ type: 'object',
1509
+ optional: true,
1510
+ properties: {
1511
+ widgetName: {
1512
+ type: 'primitive',
1513
+ value: 'string'
1514
+ },
1515
+ runtimeName: {
1516
+ type: 'primitive',
1517
+ value: 'string'
1518
+ },
1519
+ runtimeSettings: {
1520
+ type: 'object',
1521
+ properties: {},
1522
+ allowUnknownProperties: true
1523
+ }
1524
+ }
1525
+ },
1526
+ style: {
1527
+ type: 'object',
1528
+ properties: {},
1529
+ optional: true,
1530
+ allowUnknownProperties: true
1531
+ }
1532
+ }
1533
+ }
1534
+ }
1535
+ }
1536
+ }
1537
+ }
1538
+ }
1539
+ }
1540
+ }
1541
+ };
1542
+
1543
+ const GenUiComponentsToolRuntimeName = 'gen-ui-components-tool';
1544
+ const genUiComponentsToolRuntimeSettingsSchema = {
1545
+ type: 'object',
1546
+ properties: {
1547
+ schemaVersion: {
1548
+ type: 'literal',
1549
+ value: '1',
1550
+ optional: true
1551
+ },
1552
+ baseVisualSettings: {
1553
+ type: 'object',
1554
+ optional: true,
1555
+ properties: {},
1556
+ allowUnknownProperties: true
1557
+ }
1558
+ }
1559
+ };
1560
+
1561
+ const genUiComponentsToolRuntimeCardVisualSettingsSchema = {
1562
+ type: 'object',
1563
+ properties: {
1564
+ schemaVersion: {
1565
+ type: 'literal',
1566
+ value: '1',
1567
+ optional: true
1568
+ },
1569
+ title: {
1570
+ type: 'primitive',
1571
+ value: 'string',
1572
+ optional: true
1573
+ },
1574
+ body: {
1575
+ type: 'primitive',
1576
+ value: 'string',
1577
+ optional: true
1578
+ },
1579
+ loading: {
1580
+ type: 'primitive',
1581
+ value: 'boolean',
1582
+ optional: true
1583
+ },
1584
+ isTranslucent: {
1585
+ type: 'primitive',
1586
+ value: 'boolean',
1587
+ optional: true
1588
+ },
1589
+ action: {
1590
+ type: 'object',
1591
+ optional: true,
1592
+ allowUnknownProperties: true,
1593
+ properties: {
1594
+ label: {
1595
+ type: 'primitive',
1596
+ value: 'string'
1597
+ }
1598
+ }
1599
+ },
1600
+ media: {
1601
+ type: 'object',
1602
+ optional: true,
1603
+ allowUnknownProperties: true,
1604
+ properties: {
1605
+ type: {
1606
+ type: 'enum',
1607
+ values: ['image', 'video', 'kaltura']
1608
+ }
1609
+ }
1610
+ }
1611
+ }
1612
+ };
1613
+
1614
+ const genUiComponentsToolRuntimeMarkdownVisualSettingsSchema = {
1615
+ type: 'object',
1616
+ properties: {
1617
+ schemaVersion: {
1618
+ type: 'literal',
1619
+ value: '1',
1620
+ optional: true
1621
+ },
1622
+ content: {
1623
+ type: 'primitive',
1624
+ value: 'string'
1625
+ },
1626
+ isTranslucent: {
1627
+ type: 'primitive',
1628
+ value: 'boolean',
1629
+ optional: true
1630
+ }
1631
+ }
1632
+ };
1633
+
1634
+ const genUiComponentsToolRuntimePlayerVisualSettingsSchema = {
1635
+ type: 'object',
1636
+ properties: {
1637
+ schemaVersion: {
1638
+ type: 'literal',
1639
+ value: '1',
1640
+ optional: true
1641
+ },
1642
+ title: {
1643
+ type: 'primitive',
1644
+ value: 'string',
1645
+ optional: true
1646
+ },
1647
+ loading: {
1648
+ type: 'primitive',
1649
+ value: 'boolean',
1650
+ optional: true
1651
+ },
1652
+ isTranslucent: {
1653
+ type: 'primitive',
1654
+ value: 'boolean',
1655
+ optional: true
1656
+ },
1657
+ source: {
1658
+ type: 'object',
1659
+ allowUnknownProperties: true,
1660
+ properties: {
1661
+ type: {
1662
+ type: 'enum',
1663
+ values: ['native', 'kaltura']
1664
+ }
1665
+ }
1666
+ }
1667
+ }
1668
+ };
1669
+
1670
+ const ContentGalleryToolRuntimeName = 'content-gallery-tool';
1671
+ const contentGalleryToolRuntimeSettingsSchema = {
1672
+ type: 'object',
1673
+ properties: {
1674
+ schemaVersion: {
1675
+ type: 'literal',
1676
+ value: '1',
1677
+ optional: true
1678
+ },
1679
+ kalturaServerURI: {
1680
+ type: 'primitive',
1681
+ value: 'string'
1682
+ },
1683
+ partnerId: {
1684
+ type: 'primitive',
1685
+ value: 'string'
1686
+ },
1687
+ uiConfId: {
1688
+ type: 'primitive',
1689
+ value: 'string'
1690
+ },
1691
+ ks: {
1692
+ type: 'primitive',
1693
+ value: 'string'
1694
+ }
1695
+ }
1696
+ };
1697
+
1698
+ const clipSchema = {
1699
+ type: 'object',
1700
+ properties: {
1701
+ start_index: {
1702
+ type: 'primitive',
1703
+ value: 'number'
1704
+ },
1705
+ last_index: {
1706
+ type: 'primitive',
1707
+ value: 'number'
1708
+ },
1709
+ entry_id: {
1710
+ type: 'primitive',
1711
+ value: 'string'
1712
+ },
1713
+ start_time: {
1714
+ type: 'primitive',
1715
+ value: 'number'
1716
+ },
1717
+ end_time: {
1718
+ type: 'primitive',
1719
+ value: 'number'
1720
+ },
1721
+ type: {
1722
+ type: 'primitive',
1723
+ value: 'string'
1724
+ },
1725
+ thumbnail: {
1726
+ type: 'primitive',
1727
+ value: 'string',
1728
+ optional: 'nullable'
1729
+ },
1730
+ video_link: {
1731
+ type: 'primitive',
1732
+ value: 'string',
1733
+ optional: 'nullable'
1734
+ }
1735
+ }
1736
+ };
1737
+ const videoSlideSchema = {
1738
+ type: 'object',
1739
+ properties: {
1740
+ slide_type: {
1741
+ type: 'literal',
1742
+ value: 'video'
1743
+ },
1744
+ text: {
1745
+ type: 'primitive',
1746
+ value: 'string',
1747
+ optional: 'nullable'
1748
+ },
1749
+ citation: {
1750
+ type: 'object',
1751
+ properties: {
1752
+ clips: {
1753
+ type: 'array',
1754
+ items: clipSchema
1755
+ }
1756
+ }
1757
+ }
1758
+ }
1759
+ };
1760
+ const textSlideSchema = {
1761
+ type: 'object',
1762
+ properties: {
1763
+ slide_type: {
1764
+ type: 'literal',
1765
+ value: 'text'
1766
+ },
1767
+ text: {
1768
+ type: 'primitive',
1769
+ value: 'string'
1770
+ },
1771
+ citation: {
1772
+ type: 'any',
1773
+ optional: 'nullable'
1774
+ }
1775
+ }
1776
+ };
1777
+ const slideSchema = {
1778
+ type: 'or',
1779
+ properties: [videoSlideSchema, textSlideSchema]
1780
+ };
1781
+ const contentGalleryToolRuntimeAvatarVisualSettingsSchema = {
1782
+ type: 'object',
1783
+ properties: {
1784
+ schemaVersion: {
1785
+ type: 'literal',
1786
+ value: '1',
1787
+ optional: true
1788
+ },
1789
+ slides: {
1790
+ type: 'array',
1791
+ items: slideSchema
1792
+ },
1793
+ autoplay: {
1794
+ type: 'primitive',
1795
+ value: 'boolean',
1796
+ optional: true
1797
+ },
1798
+ slideDuration: {
1799
+ type: 'primitive',
1800
+ value: 'number',
1801
+ optional: true
1802
+ },
1803
+ loop: {
1804
+ type: 'primitive',
1805
+ value: 'boolean',
1806
+ optional: true
1807
+ }
1808
+ }
1809
+ };
1810
+
1811
+ export { AdminDemoRuntimeName, AdminRuntimeName, AgentUnavailabilityReasons, AnswerModelEnum, AnswerTypeEnum, ApplicationRuntimeName, AvatarConnectionStatus, AvatarRuntimeName, AvatarStatus, ChatRuntimeName, ContentGalleryToolRuntimeName, DeviceType, DisconnectReasons, FlashcardsToolRuntimeName, FollowupsToolRuntimeName, GenUiComponentsToolRuntimeName, GenUiComposerToolRuntimeName, GtcAgendaListToolRuntimeName, GtcAgendaToolRuntimeName, KalturaVideoPlayerToolRuntimeName, Nvidia2026EventToolRuntimeName, SourcesToolRuntimeName, SummaryToolRuntimeName, adminDemoRuntimeSettingsSchema, adminRuntimeSettingsSchema, applicationRuntimeSettingsSchema, avatarRuntimeAgentVisualSettingsSchema, avatarRuntimeChatVisualSettingsSchema, avatarRuntimeContainedVisualSettingsSchema, avatarRuntimeLobbyVisualSettingsSchema, avatarRuntimeSettingsSchema, bannerVisualSettingsSchema, blockVisualContextSchema, chatCustomizationSchema, chatRuntimePlayerPluginSettingsSchema, chatRuntimeSettingsSchema, contentGalleryToolRuntimeAvatarVisualSettingsSchema, contentGalleryToolRuntimeSettingsSchema, flashcardsToolRuntimeSettingsSchema, followupsToolRuntimeAvatarVisualSettingsSchema, followupsToolRuntimeGenieAnswerVisualSettingsSchema, followupsToolRuntimeSettingsSchema, genUiComponentsToolRuntimeCardVisualSettingsSchema, genUiComponentsToolRuntimeMarkdownVisualSettingsSchema, genUiComponentsToolRuntimePlayerVisualSettingsSchema, genUiComponentsToolRuntimeSettingsSchema, genUiComposerToolRuntimeAvatarVisualSettingsSchema, genUiComposerToolRuntimeSettingsSchema, genieAnswerVisualSettingsSchema, getSourceUrlSchema, gtcAgendaListToolRuntimeAvatarVisualSettingsSchema, gtcAgendaListToolRuntimeSettingsSchema, gtcAgendaToolRuntimeAvatarVisualSettingsSchema, gtcAgendaToolRuntimeSettingsSchema, integrationsSchema, isAvatarConnectionProxyInternalType, kalturaVideoPlayerToolRuntimeAvatarVisualSettingsSchema, kalturaVideoPlayerToolRuntimeSettingsSchema, nvidia2026EventToolRuntimeSettingsSchema, pageVisualSettingsSchema, popupVisualSettingsSchema, shareUrlSchema, sourcesToolRuntimeGenieAnswerVisualSettingsSchema, sourcesToolRuntimeSettingsSchema, summaryToolRuntimeGenieAnswerVisualSettingsSchema, summaryToolRuntimeSettingsSchema, widgetName };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unisphere/genie-types",
3
- "version": "1.13.2",
3
+ "version": "1.14.0-oauth.0",
4
4
  "author": "kaltura",
5
5
  "license": "AGPL-3.0",
6
6
  "repository": {
@@ -9,7 +9,7 @@
9
9
  },
10
10
  "types": "./src/index.d.ts",
11
11
  "dependencies": {
12
- "@kaltura-corp/unisphere-rtc-core": "^1.22.1",
12
+ "@kaltura-sdk/rtc-core": "^1.25.2",
13
13
  "@unisphere/core": "^1.94.1",
14
14
  "@unisphere/runtime": "^1.91.0"
15
15
  },
package/src/index.d.ts CHANGED
@@ -14,3 +14,6 @@ export * from './lib/nvidia-2026-event-tool-runtime';
14
14
  export * from './lib/kaltura-video-player-tool-runtime';
15
15
  export * from './lib/gtc-agenda-tool-runtime';
16
16
  export * from './lib/gtc-agenda-list-tool-runtime';
17
+ export * from './lib/gen-ui-composer-tool-runtime';
18
+ export * from './lib/gen-ui-components-tool-runtime';
19
+ export * from './lib/content-gallery-tool-runtime';
@@ -1,6 +1,6 @@
1
1
  import { UnisphereService } from '@unisphere/runtime';
2
2
  import { TinyDataStoreConsumer } from '@unisphere/core';
3
- import { DeviceEnumerationResult } from '@kaltura-corp/unisphere-rtc-core';
3
+ import { DeviceEnumerationResult } from '@kaltura-sdk/rtc-core';
4
4
  /**
5
5
  * Avatar service configuration.
6
6
  */
@@ -101,7 +101,7 @@ export type AgentData = {
101
101
  * Represents tool content displayed within avatar experiences, with different
102
102
  * states for loading, ready, and error conditions.
103
103
  */
104
- export type AvatarContentData = {
104
+ export type AvatarContentData<TSettings = any> = {
105
105
  /** Unique content identifier */
106
106
  id: string;
107
107
  /** Associated thread ID */
@@ -120,7 +120,7 @@ export type AvatarContentData = {
120
120
  /** Content status: loading or ready */
121
121
  status: 'loading' | 'ready';
122
122
  /** Tool settings configuration */
123
- settings: any;
123
+ settings: TSettings;
124
124
  /** Optional thread ID */
125
125
  threadId?: string;
126
126
  } | {
@@ -239,4 +239,6 @@ export interface AvatarServiceType extends UnisphereService {
239
239
  askViaText(text: string): void;
240
240
  changeDevice(deviceType: DeviceType, deviceId: string): Promise<boolean>;
241
241
  toggleMuteAudio(muted: boolean): Promise<void>;
242
+ joinSTV(containerId: string, sessionId: string, stvUrl: string, onConnected: () => void): Promise<void>;
243
+ leaveSTV(): void;
242
244
  }
@@ -37,5 +37,7 @@ export interface AvatarRuntimeLobbyVisualSettings {
37
37
  agentButtonLabel?: string;
38
38
  /** Agent variant only: size (width and height) of the card, e.g. '15rem' */
39
39
  agentSize?: string;
40
+ /** Hide the start conversation button (e.g. when interaction limit is exceeded) */
41
+ hideStartButton?: boolean;
40
42
  }
41
43
  export declare const avatarRuntimeLobbyVisualSettingsSchema: ValidatorSchema;
@@ -84,6 +84,8 @@ export interface AvatarRuntimeSettings {
84
84
  agentMode?: boolean;
85
85
  /** Enable audio noise reduction for clearer audio */
86
86
  noiseReductionEnabled?: boolean;
87
+ /** STV cast mode for avatar streaming ('webrtc' | 'rtmp') */
88
+ castMode?: string;
87
89
  /** Kaltura service integration settings */
88
90
  kaltura: {
89
91
  /** Kaltura session token for authentication */
@@ -0,0 +1,32 @@
1
+ import { ValidatorSchema } from '@unisphere/core';
2
+ export interface VideoClip {
3
+ start_index: number;
4
+ last_index: number;
5
+ entry_id: string;
6
+ start_time: number;
7
+ end_time: number;
8
+ type: string;
9
+ thumbnail: string | null;
10
+ video_link: string | null;
11
+ }
12
+ export interface VideoSlide {
13
+ slide_type: 'video';
14
+ text: string | null;
15
+ citation: {
16
+ clips: VideoClip[];
17
+ };
18
+ }
19
+ export interface TextSlide {
20
+ slide_type: 'text';
21
+ text: string;
22
+ citation: null;
23
+ }
24
+ export type Slide = VideoSlide | TextSlide;
25
+ export interface ContentGalleryToolRuntimeAvatarVisualSettings {
26
+ schemaVersion?: string;
27
+ slides: Slide[];
28
+ autoplay?: boolean;
29
+ slideDuration?: number;
30
+ loop?: boolean;
31
+ }
32
+ export declare const contentGalleryToolRuntimeAvatarVisualSettingsSchema: ValidatorSchema;
@@ -0,0 +1,2 @@
1
+ export * from './runtime-types';
2
+ export * from './avatar-visual-types';
@@ -0,0 +1,20 @@
1
+ import { ValidatorSchema } from '@unisphere/core';
2
+ import { UnisphereRuntimeBaseType } from '@unisphere/runtime';
3
+ import { widgetName } from '../widget-types';
4
+ export declare const ContentGalleryToolRuntimeName: "content-gallery-tool";
5
+ export type ContentGalleryToolRuntime = UnisphereRuntimeBaseType<ContentGalleryToolRuntimeSettings> & {
6
+ readonly widgetName: typeof widgetName;
7
+ readonly runtimeName: typeof ContentGalleryToolRuntimeName;
8
+ };
9
+ export interface ContentGalleryToolRuntimeSettings {
10
+ schemaVersion?: string;
11
+ /** Kaltura server URI */
12
+ kalturaServerURI: string;
13
+ /** Kaltura partner ID */
14
+ partnerId: string;
15
+ /** UI configuration ID */
16
+ uiConfId: string;
17
+ /** Kaltura session token for authentication */
18
+ ks: string;
19
+ }
20
+ export declare const contentGalleryToolRuntimeSettingsSchema: ValidatorSchema;
@@ -0,0 +1,39 @@
1
+ /// <reference types="react" />
2
+ import { ValidatorSchema } from '@unisphere/core';
3
+ export interface CardAction {
4
+ label: string;
5
+ icon?: React.ReactNode;
6
+ onClick: React.MouseEventHandler<HTMLButtonElement>;
7
+ }
8
+ export type CardMedia = {
9
+ type: 'image';
10
+ src: string;
11
+ alt: string;
12
+ placement?: 'left' | 'right';
13
+ } | {
14
+ type: 'video';
15
+ src: string;
16
+ placement?: 'left' | 'right';
17
+ startTime?: number;
18
+ endTime?: number;
19
+ } | {
20
+ type: 'kaltura';
21
+ entryId: string;
22
+ kalturaServerURI?: string;
23
+ partnerId?: string;
24
+ uiConfId?: string;
25
+ ks?: string;
26
+ placement?: 'left' | 'right';
27
+ startTime?: number;
28
+ endTime?: number;
29
+ };
30
+ export interface GenUiComponentsToolRuntimeCardVisualSettings {
31
+ schemaVersion?: string;
32
+ title?: string;
33
+ body?: string;
34
+ action?: CardAction;
35
+ media?: CardMedia;
36
+ loading?: boolean;
37
+ isTranslucent?: boolean;
38
+ }
39
+ export declare const genUiComponentsToolRuntimeCardVisualSettingsSchema: ValidatorSchema;
@@ -0,0 +1,4 @@
1
+ export * from './runtime-types';
2
+ export * from './card-visual-types';
3
+ export * from './markdown-visual-types';
4
+ export * from './player-visual-types';
@@ -0,0 +1,7 @@
1
+ import { ValidatorSchema } from '@unisphere/core';
2
+ export interface GenUiComponentsToolRuntimeMarkdownVisualSettings {
3
+ schemaVersion?: string;
4
+ content: string;
5
+ isTranslucent?: boolean;
6
+ }
7
+ export declare const genUiComponentsToolRuntimeMarkdownVisualSettingsSchema: ValidatorSchema;
@@ -0,0 +1,25 @@
1
+ import { ValidatorSchema } from '@unisphere/core';
2
+ export type PlayerSource = {
3
+ type: 'native';
4
+ src: string;
5
+ poster?: string;
6
+ startTime?: number;
7
+ endTime?: number;
8
+ } | {
9
+ type: 'kaltura';
10
+ entryId: string;
11
+ kalturaServerURI?: string;
12
+ partnerId?: string;
13
+ uiConfId?: string;
14
+ ks?: string;
15
+ startTime?: number;
16
+ endTime?: number;
17
+ };
18
+ export interface GenUiComponentsToolRuntimePlayerVisualSettings {
19
+ schemaVersion?: string;
20
+ source: PlayerSource;
21
+ title?: string;
22
+ loading?: boolean;
23
+ isTranslucent?: boolean;
24
+ }
25
+ export declare const genUiComponentsToolRuntimePlayerVisualSettingsSchema: ValidatorSchema;
@@ -0,0 +1,13 @@
1
+ import { ValidatorSchema } from '@unisphere/core';
2
+ import { UnisphereRuntimeBaseType } from '@unisphere/runtime';
3
+ import { widgetName } from '../widget-types';
4
+ export declare const GenUiComponentsToolRuntimeName: "gen-ui-components-tool";
5
+ export type GenUiComponentsToolRuntime = UnisphereRuntimeBaseType<GenUiComponentsToolRuntimeSettings> & {
6
+ readonly widgetName: typeof widgetName;
7
+ readonly runtimeName: typeof GenUiComponentsToolRuntimeName;
8
+ };
9
+ export interface GenUiComponentsToolRuntimeSettings {
10
+ schemaVersion?: string;
11
+ baseVisualSettings?: Record<string, unknown>;
12
+ }
13
+ export declare const genUiComponentsToolRuntimeSettingsSchema: ValidatorSchema;
@@ -0,0 +1,49 @@
1
+ import { ValidatorSchema } from '@unisphere/core';
2
+ export interface RowHeight {
3
+ type: 'auto' | 'fixed' | 'fill' | 'percentage';
4
+ value?: number;
5
+ }
6
+ export interface CellWidth {
7
+ type: 'fill' | 'fit' | 'fixed' | 'percentage' | 'custom';
8
+ value?: string;
9
+ }
10
+ export interface GridRow {
11
+ id: string;
12
+ height: RowHeight;
13
+ columns: string;
14
+ cells: GridCell[];
15
+ }
16
+ export interface GridLayout {
17
+ type: 'cssGrid';
18
+ gridTemplateAreas?: string;
19
+ gridTemplateRows?: string;
20
+ gridTemplateColumns?: string;
21
+ gap?: string;
22
+ cells?: GridCell[];
23
+ rows?: GridRow[];
24
+ }
25
+ export interface GridCell {
26
+ id: string;
27
+ name?: string;
28
+ width?: CellWidth;
29
+ rowSpan?: number;
30
+ visual?: UnisphereVisualConfig;
31
+ runtime?: UnisphereRuntimeConfig;
32
+ style?: Record<string, unknown>;
33
+ }
34
+ export interface UnisphereVisualConfig {
35
+ widgetName: string;
36
+ runtimeName: string;
37
+ visualType: string;
38
+ visualSettings?: Record<string, unknown>;
39
+ }
40
+ export interface UnisphereRuntimeConfig {
41
+ widgetName: string;
42
+ runtimeName: string;
43
+ runtimeSettings: Record<string, unknown>;
44
+ }
45
+ export interface GenUiComposerToolRuntimeAvatarVisualSettings {
46
+ schemaVersion?: string;
47
+ layout?: GridLayout;
48
+ }
49
+ export declare const genUiComposerToolRuntimeAvatarVisualSettingsSchema: ValidatorSchema;
@@ -0,0 +1,2 @@
1
+ export * from './runtime-types';
2
+ export * from './avatar-visual-types';
@@ -0,0 +1,13 @@
1
+ import { ValidatorSchema } from '@unisphere/core';
2
+ import { UnisphereRuntimeBaseType } from '@unisphere/runtime';
3
+ import { widgetName } from '../widget-types';
4
+ export declare const GenUiComposerToolRuntimeName: "gen-ui-composer-tool";
5
+ export type GenUiComposerToolRuntime = UnisphereRuntimeBaseType<GenUiComposerToolRuntimeSettings> & {
6
+ readonly widgetName: typeof widgetName;
7
+ readonly runtimeName: typeof GenUiComposerToolRuntimeName;
8
+ };
9
+ export interface GenUiComposerToolRuntimeSettings {
10
+ schemaVersion?: string;
11
+ baseVisualSettings?: Record<string, unknown>;
12
+ }
13
+ export declare const genUiComposerToolRuntimeSettingsSchema: ValidatorSchema;
@@ -4,7 +4,7 @@ import { ValidatorSchema } from '@unisphere/core';
4
4
  *
5
5
  * @example
6
6
  * ```typescript
7
- * const visualSettings: GtcAgendaListToolRuntimeGenieAnswerVisualSettings = {
7
+ * const visualSettings: GtcAgendaListToolRuntimeAvatarVisualSettings = {
8
8
  * sessions: [
9
9
  * { id: 'session_123' },
10
10
  * { id: 'session_456' }
@@ -12,7 +12,7 @@ import { ValidatorSchema } from '@unisphere/core';
12
12
  * };
13
13
  * ```
14
14
  */
15
- export interface GtcAgendaListToolRuntimeGenieAnswerVisualSettings {
15
+ export interface GtcAgendaListToolRuntimeAvatarVisualSettings {
16
16
  /** Settings schema version */
17
17
  schemaVersion?: string;
18
18
  /** Array of session identifiers to display */
@@ -20,4 +20,4 @@ export interface GtcAgendaListToolRuntimeGenieAnswerVisualSettings {
20
20
  id: string;
21
21
  }[];
22
22
  }
23
- export declare const gtcAgendaListToolRuntimeGenieAnswerVisualSettingsSchema: ValidatorSchema;
23
+ export declare const gtcAgendaListToolRuntimeAvatarVisualSettingsSchema: ValidatorSchema;
@@ -4,13 +4,13 @@ import { ValidatorSchema } from '@unisphere/core';
4
4
  *
5
5
  * @example
6
6
  * ```typescript
7
- * const visualSettings: GtcAgendaToolRuntimeGenieAnswerVisualSettings = {
7
+ * const visualSettings: GtcAgendaToolRuntimeAvatarVisualSettings = {
8
8
  * id: 'session_123'
9
9
  * };
10
10
  * ```
11
11
  */
12
- export interface GtcAgendaToolRuntimeGenieAnswerVisualSettings {
12
+ export interface GtcAgendaToolRuntimeAvatarVisualSettings {
13
13
  /** Unique identifier for the agenda session */
14
14
  id: string;
15
15
  }
16
- export declare const gtcAgendaToolRuntimeGenieAnswerVisualSettingsSchema: ValidatorSchema;
16
+ export declare const gtcAgendaToolRuntimeAvatarVisualSettingsSchema: ValidatorSchema;
@@ -4,13 +4,13 @@ import { ValidatorSchema } from '@unisphere/core';
4
4
  *
5
5
  * @example
6
6
  * ```typescript
7
- * const visualSettings: KalturaVideoPlayerToolRuntimeGenieAnswerVisualSettings = {
7
+ * const visualSettings: KalturaVideoPlayerToolRuntimeAvatarVisualSettings = {
8
8
  * id: 'player_123'
9
9
  * };
10
10
  * ```
11
11
  */
12
- export interface KalturaVideoPlayerToolRuntimeGenieAnswerVisualSettings {
12
+ export interface KalturaVideoPlayerToolRuntimeAvatarVisualSettings {
13
13
  /** Unique identifier for the player instance */
14
14
  id: string;
15
15
  }
16
- export declare const kalturaVideoPlayerToolRuntimeGenieAnswerVisualSettingsSchema: ValidatorSchema;
16
+ export declare const kalturaVideoPlayerToolRuntimeAvatarVisualSettingsSchema: ValidatorSchema;
@@ -4,6 +4,7 @@ import { AnswerTypeEnum } from '../types';
4
4
  /**
5
5
  * Chat UI customization options.
6
6
  *
7
+ *
7
8
  * @example
8
9
  * Basic customization:
9
10
  * ```typescript
@@ -55,6 +56,8 @@ export interface ChatCustomization {
55
56
  general?: {
56
57
  /** Use external player for media playback instead of embedded */
57
58
  useExternalPlayer?: boolean;
59
+ /** Indicates genie is embedded inside Kaltura Studio (preview mode) */
60
+ isPreviewMode?: boolean;
58
61
  };
59
62
  /** New conversation thread settings */
60
63
  newThread?: {
@@ -18,9 +18,17 @@ export type DocumentSourceItemType = SourceItemBaseType & {
18
18
  duration?: number | null;
19
19
  };
20
20
  /**
21
- * Union type for source items (video or document).
21
+ * Web page source item.
22
22
  */
23
- export type SourcesItemType = VideoSourceItemType | DocumentSourceItemType;
23
+ export type WebSourceItemType = {
24
+ type: 'web';
25
+ title: string;
26
+ url: string;
27
+ };
28
+ /**
29
+ * Union type for source items (video, document, or web page).
30
+ */
31
+ export type SourcesItemType = VideoSourceItemType | DocumentSourceItemType | WebSourceItemType;
24
32
  /**
25
33
  * Status values for Unisphere tools.
26
34
  */