@rehers/rehers-roleplay-sdk 2.1.2 → 2.1.4

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
@@ -24,6 +24,7 @@ Or load via CDN:
24
24
  publishableKey: 'pk_live_abc123',
25
25
  userId: 'user_789',
26
26
  userEmail: 'john@example.com',
27
+ role: 'member', // optional — "owner", "admin", or "member"
27
28
  trialUrl: 'https://seamless.ai/pricing', // optional — shown when user not found
28
29
  onReady: function() {
29
30
  console.log('SDK ready');
@@ -96,6 +97,7 @@ SeamlessRoleplay.init({
96
97
  | `publishableKey` | `string` | Yes | Publishable API key |
97
98
  | `userId` | `string` | Yes | Your user's unique identifier |
98
99
  | `userEmail` | `string` | Yes | User email for secure account matching |
100
+ | `role` | `string` | No | User role — `"owner"`, `"admin"`, or `"member"` |
99
101
  | `userToken` | `string` | No | Signed JWT for identity verification |
100
102
  | `trialUrl` | `string` | No | URL shown when user not found |
101
103
  | `origin` | `string` | No | Override app origin (dev only) |
@@ -155,7 +157,7 @@ SDK Backend
155
157
  ───────────────── ─────────────────
156
158
  POST /api/sdk/session
157
159
  X-Publishable-Key: pk_live_abc123
158
- Body: { userId, userEmail }
160
+ Body: { userId, userEmail, role? }
159
161
  1. Validate key + origin
160
162
  2. Validate userId + userEmail combo
161
163
  3. Find/create user
package/index.d.ts CHANGED
@@ -5,6 +5,8 @@ export interface SeamlessRoleplayInitOptions {
5
5
  userId: string;
6
6
  /** User email — required for secure account matching */
7
7
  userEmail: string;
8
+ /** Optional user role for syncing permissions ("owner" | "admin" | "member") */
9
+ role?: "owner" | "admin" | "member";
8
10
  /** Optional signed JWT for identity verification */
9
11
  userToken?: string;
10
12
  /** URL shown when the user is not found (trial mode) */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rehers/rehers-roleplay-sdk",
3
- "version": "2.1.2",
3
+ "version": "2.1.4",
4
4
  "description": "Seamless Roleplay SDK — embed roleplay call sessions via a modal + iframe",
5
5
  "main": "roleplay-sdk.js",
6
6
  "types": "index.d.ts",
package/roleplay-sdk.js CHANGED
@@ -19,6 +19,7 @@
19
19
  var publishableKey = null;
20
20
  var userId = null;
21
21
  var userEmail = null;
22
+ var userRole = null;
22
23
  var userToken = null;
23
24
  var trialUrl = null;
24
25
  var appOrigin = null;
@@ -83,6 +84,7 @@
83
84
  var url = getApiOrigin() + "/api/sdk/session";
84
85
  var body = { userId: userId };
85
86
  if (userEmail) body.userEmail = userEmail;
87
+ if (userRole) body.role = userRole;
86
88
  if (userToken) body.userToken = userToken;
87
89
 
88
90
  var xhr = new XMLHttpRequest();
@@ -207,13 +209,15 @@
207
209
 
208
210
  function dispatchInitToIframe(token) {
209
211
  if (addToScenarioPendingContacts) {
210
- sendToIframe({
212
+ var msg = {
211
213
  type: "seamless-add-to-scenario-init",
212
214
  sessionToken: token,
213
215
  publishableKey: publishableKey,
214
216
  userId: userId,
215
217
  contacts: addToScenarioPendingContacts,
216
- });
218
+ };
219
+ if (trialUrl) msg.trialUrl = trialUrl;
220
+ sendToIframe(msg);
217
221
  } else if (token && pendingContactData) {
218
222
  sendToIframe({
219
223
  type: "seamless-session-init",
@@ -367,6 +371,7 @@
367
371
  publishableKey = opts.publishableKey;
368
372
  userId = opts.userId;
369
373
  userEmail = opts.userEmail || null;
374
+ userRole = opts.role || null;
370
375
  userToken = opts.userToken || null;
371
376
  trialUrl = opts.trialUrl || null;
372
377
  appOrigin = opts.origin || null;
@@ -696,6 +701,7 @@
696
701
  publishableKey = null;
697
702
  userId = null;
698
703
  userEmail = null;
704
+ userRole = null;
699
705
  userToken = null;
700
706
  trialUrl = null;
701
707
  sessionToken = null;