@prvt/integration-sdk 0.1.1 → 0.2.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
@@ -61,6 +61,7 @@ process.once("SIGINT", async () => {
61
61
  `session.room` is the official `@livekit/rtc-node` `Room`. Use its track,
62
62
  participant, text-stream, and data APIs directly. The integration's stable
63
63
  identity, expiry, and effective permissions are also available on the session.
64
+ prvt-specific profile, pin, and reaction helpers are described below.
64
65
 
65
66
  ## Exchange without connecting
66
67
 
@@ -98,6 +99,60 @@ The server returns the effective permissions with every exchange:
98
99
 
99
100
  `PRVT_CHAT_TOPIC` exports the exact `prvt.chat` topic name.
100
101
 
102
+ ## Profile picture and status
103
+
104
+ Update the connected bot's live profile attributes through the authenticated
105
+ prvt API. A status can hold changing context such as a music bot's current song:
106
+
107
+ ```ts
108
+ await session.updateProfile({
109
+ profilePicture: "data:image/webp;base64,<base64-webp-bytes>",
110
+ statusMessage: "Playing Midnight City",
111
+ });
112
+
113
+ await session.updateProfile({ statusMessage: "Playing Intro" });
114
+ await session.updateProfile({ statusMessage: null });
115
+ ```
116
+
117
+ Pictures must be PNG, JPEG, or WebP data URLs no longer than 12,000 characters.
118
+ Remote URLs and SVG are rejected so participant browsers never contact a
119
+ bot-selected image host. Status messages are normalized to one line and limited to
120
+ 128 characters. `null` clears a field. Updates affect only the active LiveKit
121
+ participant and are not stored in the managed-room database, so reapply the
122
+ profile after reconnecting. Updating while disconnected returns
123
+ `INTEGRATION_NOT_CONNECTED`. The API accepts 60 profile updates per integration
124
+ per minute and returns the ordinary `RATE_LIMITED` error plus `Retry-After`
125
+ after that bound.
126
+
127
+ ## Chat pins
128
+
129
+ With `publishData`, an integration can pin and unpin a message by the LiveKit
130
+ chat message ID:
131
+
132
+ ```ts
133
+ const message = await session.sendMessage("Voting closes in two minutes");
134
+ await session.pinMessage(message.id);
135
+ await session.unpinMessage(message.id);
136
+ ```
137
+
138
+ `sendMessage()` sends the normalized text on `PRVT_CHAT_TOPIC` and returns its
139
+ stream ID. Pins use versioned reliable packets on `PRVT_CHAT_PINS_TOPIC`. An unpin clears
140
+ only the named current pin, so a delayed unpin cannot remove a newer one. Pins
141
+ are ephemeral like chat: there is no persistence, replay, or late-join history.
142
+
143
+ ## Bot reactions and rate limit
144
+
145
+ With `publishData`, send any emoji in `PRVT_REACTION_EMOJI`:
146
+
147
+ ```ts
148
+ await session.sendReaction("👏");
149
+ ```
150
+
151
+ Each SDK session accepts at most three reactions per rolling ten seconds. A
152
+ fourth throws `PrvtReactionRateLimitError` and exposes `retryAfterMs`. The web
153
+ client enforces the same per-integration display limit even when a bot publishes
154
+ directly through LiveKit. Reactions use lossy packets on `PRVT_REACTIONS_TOPIC`.
155
+
101
156
  Personal integrations created from Room tools currently receive all three
102
157
  permissions. The owner API can create integrations with selected permissions.
103
158
 
@@ -107,8 +162,10 @@ permissions. The owner API can create integrations with selected permissions.
107
162
  import {
108
163
  PrvtApiError,
109
164
  PrvtConnectionError,
165
+ PrvtDataPublishingUnavailableError,
110
166
  PrvtNetworkError,
111
167
  PrvtProtocolError,
168
+ PrvtReactionRateLimitError,
112
169
  } from "@prvt/integration-sdk";
113
170
 
114
171
  try {
@@ -122,6 +179,10 @@ try {
122
179
  console.error("The API response did not match the SDK contract");
123
180
  } else if (error instanceof PrvtConnectionError) {
124
181
  console.error("LiveKit connection failed");
182
+ } else if (error instanceof PrvtReactionRateLimitError) {
183
+ console.error(`Retry the reaction in ${error.retryAfterMs} ms`);
184
+ } else if (error instanceof PrvtDataPublishingUnavailableError) {
185
+ console.error("This integration cannot publish room data");
125
186
  }
126
187
  }
127
188
  ```
package/dist/client.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import type { Room } from "@livekit/rtc-node";
2
- import type { ConnectIntegrationOptions, CreatePrvtIntegrationOptions, ExchangeTokenOptions, IntegrationToken, PrvtIntegration, PrvtIntegrationSession } from "./types.js";
2
+ import type { ConnectIntegrationOptions, CreatePrvtIntegrationOptions, ExchangeTokenOptions, IntegrationProfileUpdate, IntegrationToken, PrvtIntegration, PrvtIntegrationSession } from "./types.js";
3
3
  export type RoomFactory = () => Promise<Room>;
4
4
  export declare class PrvtIntegrationClient implements PrvtIntegration {
5
5
  #private;
6
6
  constructor(options: CreatePrvtIntegrationOptions, roomFactory?: RoomFactory);
7
7
  exchangeToken(options?: ExchangeTokenOptions): Promise<IntegrationToken>;
8
+ updateProfile(profile: IntegrationProfileUpdate, options?: ExchangeTokenOptions): Promise<void>;
8
9
  connect(options?: ConnectIntegrationOptions): Promise<PrvtIntegrationSession>;
9
10
  }
10
11
  export declare const createPrvtIntegration: (options: CreatePrvtIntegrationOptions) => PrvtIntegration;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAQ9C,OAAO,KAAK,EACV,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACvB,MAAM,YAAY,CAAC;AASpB,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AA2C9C,qBAAa,qBAAsB,YAAW,eAAe;;gBAO/C,OAAO,EAAE,4BAA4B,EAAE,WAAW,GAAE,WAAgC;IAS1F,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiC5E,OAAO,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAYxF;AAED,eAAO,MAAM,qBAAqB,GAAI,SAAS,4BAA4B,KAAG,eAE7E,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAU9C,OAAO,KAAK,EACV,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,wBAAwB,EAExB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EAEvB,MAAM,YAAY,CAAC;AAUpB,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AA4H9C,qBAAa,qBAAsB,YAAW,eAAe;;gBAO/C,OAAO,EAAE,4BAA4B,EAAE,WAAW,GAAE,WAAgC;IAS1F,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiC5E,aAAa,CAAC,OAAO,EAAE,wBAAwB,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BnG,OAAO,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAYxF;AAED,eAAO,MAAM,qBAAqB,GAAI,SAAS,4BAA4B,KAAG,eAE7E,CAAC"}
package/dist/client.js CHANGED
@@ -1,4 +1,5 @@
1
- import { PrvtApiError, PrvtConnectionError, PrvtNetworkError, PrvtProtocolError, PrvtRtcUnavailableError, } from "./errors.js";
1
+ import { PrvtApiError, PrvtConnectionError, PrvtDataPublishingUnavailableError, PrvtNetworkError, PrvtProtocolError, PrvtReactionRateLimitError, PrvtRtcUnavailableError, } from "./errors.js";
2
+ import { PRVT_CHAT_PINS_TOPIC, PRVT_CHAT_TOPIC, PRVT_REACTION_EMOJI, PRVT_REACTIONS_TOPIC } from "./constants.js";
2
3
  import { normalizeBaseUrl, normalizeIntegrationKey, parseApiErrorCode, parseIntegrationToken, parseRetryAfter, } from "./validation.js";
3
4
  const defaultRoomFactory = async () => {
4
5
  try {
@@ -18,13 +19,19 @@ const abortReason = (signal) => {
18
19
  error.name = "AbortError";
19
20
  return error;
20
21
  };
22
+ const messageIdPattern = /^[A-Za-z0-9_-]{1,128}$/;
23
+ const reactionEmoji = new Set(PRVT_REACTION_EMOJI);
24
+ const encoder = new TextEncoder();
21
25
  class IntegrationSession {
22
26
  room;
23
27
  participantIdentity;
24
28
  displayName;
25
29
  expiresAt;
26
30
  permissions;
27
- constructor(room, token) {
31
+ #client;
32
+ #acceptedReactionAt = [];
33
+ constructor(client, room, token) {
34
+ this.#client = client;
28
35
  this.room = room;
29
36
  this.participantIdentity = token.participantIdentity;
30
37
  this.displayName = token.displayName;
@@ -34,6 +41,71 @@ class IntegrationSession {
34
41
  async disconnect() {
35
42
  await this.room.disconnect();
36
43
  }
44
+ async updateProfile(profile, options = {}) {
45
+ await this.#client.updateProfile(profile, options);
46
+ }
47
+ async sendMessage(message) {
48
+ if (typeof message !== "string")
49
+ throw new TypeError("message must be a string");
50
+ const normalized = message.trim();
51
+ if (normalized.length === 0 || normalized.length > 2_000) {
52
+ throw new TypeError("message must contain 1 to 2000 characters");
53
+ }
54
+ const sent = await this.dataPublisher().sendText(normalized, { topic: PRVT_CHAT_TOPIC });
55
+ return { id: sent.streamId, message: normalized, timestamp: sent.timestamp };
56
+ }
57
+ async pinMessage(messageId) {
58
+ await this.publishPin(messageId, "pin");
59
+ }
60
+ async unpinMessage(messageId) {
61
+ await this.publishPin(messageId, "unpin");
62
+ }
63
+ async sendReaction(emoji, id = crypto.randomUUID()) {
64
+ if (!reactionEmoji.has(emoji))
65
+ throw new TypeError("emoji must be a supported prvt reaction");
66
+ if (!messageIdPattern.test(id))
67
+ throw new TypeError("reaction id must use 1 to 128 letters, numbers, underscores, or hyphens");
68
+ const now = Date.now();
69
+ while (this.#acceptedReactionAt[0] !== undefined && this.#acceptedReactionAt[0] <= now - 10_000) {
70
+ this.#acceptedReactionAt.shift();
71
+ }
72
+ if (this.#acceptedReactionAt.length >= 3) {
73
+ throw new PrvtReactionRateLimitError(Math.max(1, this.#acceptedReactionAt[0] + 10_000 - now));
74
+ }
75
+ this.#acceptedReactionAt.push(now);
76
+ try {
77
+ await this.dataPublisher().publishData(encoder.encode(JSON.stringify({ v: 1, id, emoji })), {
78
+ reliable: false,
79
+ topic: PRVT_REACTIONS_TOPIC,
80
+ });
81
+ }
82
+ catch (caught) {
83
+ const index = this.#acceptedReactionAt.indexOf(now);
84
+ if (index >= 0)
85
+ this.#acceptedReactionAt.splice(index, 1);
86
+ throw caught;
87
+ }
88
+ }
89
+ async publishPin(messageId, action) {
90
+ if (!messageIdPattern.test(messageId)) {
91
+ throw new TypeError("messageId must use 1 to 128 letters, numbers, underscores, or hyphens");
92
+ }
93
+ await this.dataPublisher().publishData(encoder.encode(JSON.stringify({ v: 1, action, messageId })), {
94
+ reliable: true,
95
+ topic: PRVT_CHAT_PINS_TOPIC,
96
+ });
97
+ }
98
+ dataPublisher() {
99
+ const publisher = this.room.localParticipant;
100
+ if (!this.permissions.publishData
101
+ || publisher === undefined
102
+ || publisher === null
103
+ || typeof publisher.publishData !== "function"
104
+ || typeof publisher.sendText !== "function") {
105
+ throw new PrvtDataPublishingUnavailableError();
106
+ }
107
+ return publisher;
108
+ }
37
109
  }
38
110
  export class PrvtIntegrationClient {
39
111
  #baseUrl;
@@ -79,6 +151,37 @@ export class PrvtIntegrationClient {
79
151
  throw new PrvtProtocolError();
80
152
  return token;
81
153
  }
154
+ async updateProfile(profile, options = {}) {
155
+ if (profile === null || typeof profile !== "object" || Array.isArray(profile)) {
156
+ throw new TypeError("profile must contain a profilePicture or statusMessage");
157
+ }
158
+ const keys = Object.keys(profile);
159
+ if (keys.length === 0 || keys.some((key) => key !== "profilePicture" && key !== "statusMessage")) {
160
+ throw new TypeError("profile must contain a profilePicture or statusMessage");
161
+ }
162
+ let response;
163
+ try {
164
+ response = await this.#fetch(new URL("/api/v1/integrations/profile", this.#baseUrl), {
165
+ method: "POST",
166
+ headers: {
167
+ Accept: "application/json",
168
+ Authorization: `Bearer ${this.#integrationKey}`,
169
+ "Content-Type": "application/json",
170
+ },
171
+ body: JSON.stringify(profile),
172
+ signal: options.signal,
173
+ });
174
+ }
175
+ catch (caught) {
176
+ if (isAbortError(caught, options.signal))
177
+ throw options.signal?.aborted ? abortReason(options.signal) : caught;
178
+ throw new PrvtNetworkError();
179
+ }
180
+ if (!response.ok) {
181
+ const body = await response.json().catch(() => null);
182
+ throw new PrvtApiError(parseApiErrorCode(body), response.status, parseRetryAfter(response.headers.get("Retry-After")));
183
+ }
184
+ }
82
185
  async connect(options = {}) {
83
186
  const token = await this.exchangeToken({ signal: options.signal });
84
187
  if (options.signal?.aborted)
@@ -91,7 +194,7 @@ export class PrvtIntegrationClient {
91
194
  await room.disconnect().catch(() => { });
92
195
  throw new PrvtConnectionError();
93
196
  }
94
- return new IntegrationSession(room, token);
197
+ return new IntegrationSession(this, room, token);
95
198
  }
96
199
  }
97
200
  export const createPrvtIntegration = (options) => (new PrvtIntegrationClient(options));
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare const PRVT_CHAT_TOPIC = "prvt.chat";
2
+ export declare const PRVT_CHAT_PINS_TOPIC = "prvt.chat.pins";
3
+ export declare const PRVT_REACTIONS_TOPIC = "prvt.reactions";
4
+ export declare const PRVT_INTEGRATION_PROFILE_PICTURE_ATTRIBUTE = "prvt.integration.profilePicture";
5
+ export declare const PRVT_INTEGRATION_STATUS_MESSAGE_ATTRIBUTE = "prvt.integration.statusMessage";
6
+ export declare const PRVT_REACTION_EMOJI: readonly ["👍", "❤️", "😂", "😮", "😢", "👏", "🎉", "🤔"];
7
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,cAAc,CAAC;AAC3C,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAErD,eAAO,MAAM,0CAA0C,oCAAoC,CAAC;AAC5F,eAAO,MAAM,yCAAyC,mCAAmC,CAAC;AAE1F,eAAO,MAAM,mBAAmB,2DAA4D,CAAC"}
@@ -0,0 +1,7 @@
1
+ export const PRVT_CHAT_TOPIC = "prvt.chat";
2
+ export const PRVT_CHAT_PINS_TOPIC = "prvt.chat.pins";
3
+ export const PRVT_REACTIONS_TOPIC = "prvt.reactions";
4
+ export const PRVT_INTEGRATION_PROFILE_PICTURE_ATTRIBUTE = "prvt.integration.profilePicture";
5
+ export const PRVT_INTEGRATION_STATUS_MESSAGE_ATTRIBUTE = "prvt.integration.statusMessage";
6
+ export const PRVT_REACTION_EMOJI = ["👍", "❤️", "😂", "😮", "😢", "👏", "🎉", "🤔"];
7
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAErD,MAAM,CAAC,MAAM,0CAA0C,GAAG,iCAAiC,CAAC;AAC5F,MAAM,CAAC,MAAM,yCAAyC,GAAG,gCAAgC,CAAC;AAE1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC"}
package/dist/errors.d.ts CHANGED
@@ -17,4 +17,11 @@ export declare class PrvtRtcUnavailableError extends Error {
17
17
  export declare class PrvtConnectionError extends Error {
18
18
  constructor();
19
19
  }
20
+ export declare class PrvtDataPublishingUnavailableError extends Error {
21
+ constructor();
22
+ }
23
+ export declare class PrvtReactionRateLimitError extends Error {
24
+ readonly retryAfterMs: number;
25
+ constructor(retryAfterMs: number);
26
+ }
20
27
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAExB,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM;CAO/E;AAED,qBAAa,gBAAiB,SAAQ,KAAK;;CAK1C;AAED,qBAAa,iBAAkB,SAAQ,KAAK;;CAK3C;AAED,qBAAa,uBAAwB,SAAQ,KAAK;;CAKjD;AAED,qBAAa,mBAAoB,SAAQ,KAAK;;CAK7C"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAExB,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM;CAO/E;AAED,qBAAa,gBAAiB,SAAQ,KAAK;;CAK1C;AAED,qBAAa,iBAAkB,SAAQ,KAAK;;CAK3C;AAED,qBAAa,uBAAwB,SAAQ,KAAK;;CAKjD;AAED,qBAAa,mBAAoB,SAAQ,KAAK;;CAK7C;AAED,qBAAa,kCAAmC,SAAQ,KAAK;;CAK5D;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAElB,YAAY,EAAE,MAAM;CAKjC"}
package/dist/errors.js CHANGED
@@ -35,4 +35,18 @@ export class PrvtConnectionError extends Error {
35
35
  this.name = "PrvtConnectionError";
36
36
  }
37
37
  }
38
+ export class PrvtDataPublishingUnavailableError extends Error {
39
+ constructor() {
40
+ super("This integration session cannot publish room data");
41
+ this.name = "PrvtDataPublishingUnavailableError";
42
+ }
43
+ }
44
+ export class PrvtReactionRateLimitError extends Error {
45
+ retryAfterMs;
46
+ constructor(retryAfterMs) {
47
+ super("An integration may send at most three reactions per ten seconds");
48
+ this.name = "PrvtReactionRateLimitError";
49
+ this.retryAfterMs = retryAfterMs;
50
+ }
51
+ }
38
52
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAmB;IACvB,MAAM,CAAS;IACf,iBAAiB,CAAU;IAEpC,YAAY,IAAsB,EAAE,MAAc,EAAE,iBAA0B;QAC5E,KAAK,CAAC,4BAA4B,IAAI,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,iBAAiB,KAAK,SAAS;YAAE,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAClF,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC;QACE,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C;QACE,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD;QACE,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C;QACE,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAmB;IACvB,MAAM,CAAS;IACf,iBAAiB,CAAU;IAEpC,YAAY,IAAsB,EAAE,MAAc,EAAE,iBAA0B;QAC5E,KAAK,CAAC,4BAA4B,IAAI,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,iBAAiB,KAAK,SAAS;YAAE,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAClF,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC;QACE,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C;QACE,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD;QACE,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C;QACE,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,kCAAmC,SAAQ,KAAK;IAC3D;QACE,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC;IACnD,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAC1C,YAAY,CAAS;IAE9B,YAAY,YAAoB;QAC9B,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { PrvtApiError, PrvtConnectionError, PrvtNetworkError, PrvtProtocolError, PrvtRtcUnavailableError, } from "./errors.js";
1
+ export { PrvtApiError, PrvtConnectionError, PrvtDataPublishingUnavailableError, PrvtNetworkError, PrvtProtocolError, PrvtReactionRateLimitError, PrvtRtcUnavailableError, } from "./errors.js";
2
2
  export { createPrvtIntegration } from "./client.js";
3
- export type { ConnectIntegrationOptions, CreatePrvtIntegrationOptions, ExchangeTokenOptions, IntegrationPermissions, IntegrationToken, PrvtApiErrorCode, PrvtIntegration, PrvtIntegrationSession, } from "./types.js";
4
- export declare const PRVT_CHAT_TOPIC = "prvt.chat";
3
+ export type { ConnectIntegrationOptions, CreatePrvtIntegrationOptions, ExchangeTokenOptions, ChatPinPacket, IntegrationChatMessage, IntegrationProfileUpdate, IntegrationPermissions, IntegrationToken, PrvtApiErrorCode, PrvtIntegration, PrvtIntegrationSession, ReactionEmoji, ReactionPacket, } from "./types.js";
4
+ export { PRVT_CHAT_PINS_TOPIC, PRVT_CHAT_TOPIC, PRVT_INTEGRATION_PROFILE_PICTURE_ATTRIBUTE, PRVT_INTEGRATION_STATUS_MESSAGE_ATTRIBUTE, PRVT_REACTION_EMOJI, PRVT_REACTIONS_TOPIC, } from "./constants.js";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,YAAY,EACV,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,kCAAkC,EAClC,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,YAAY,EACV,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,0CAA0C,EAC1C,yCAAyC,EACzC,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { PrvtApiError, PrvtConnectionError, PrvtNetworkError, PrvtProtocolError, PrvtRtcUnavailableError, } from "./errors.js";
1
+ export { PrvtApiError, PrvtConnectionError, PrvtDataPublishingUnavailableError, PrvtNetworkError, PrvtProtocolError, PrvtReactionRateLimitError, PrvtRtcUnavailableError, } from "./errors.js";
2
2
  export { createPrvtIntegration } from "./client.js";
3
- export const PRVT_CHAT_TOPIC = "prvt.chat";
3
+ export { PRVT_CHAT_PINS_TOPIC, PRVT_CHAT_TOPIC, PRVT_INTEGRATION_PROFILE_PICTURE_ATTRIBUTE, PRVT_INTEGRATION_STATUS_MESSAGE_ATTRIBUTE, PRVT_REACTION_EMOJI, PRVT_REACTIONS_TOPIC, } from "./constants.js";
4
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAYpD,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,kCAAkC,EAClC,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAgBpD,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,0CAA0C,EAC1C,yCAAyC,EACzC,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import type { Room, RoomOptions } from "@livekit/rtc-node";
2
+ import type { PRVT_REACTION_EMOJI } from "./constants.js";
2
3
  export type IntegrationPermissions = {
3
4
  subscribeMedia: boolean;
4
5
  publishMicrophone: boolean;
5
6
  publishData: boolean;
6
7
  };
7
- export type PrvtApiErrorCode = "INVALID_JSON" | "INVALID_REQUEST" | "INVALID_ROOM_NAME" | "INVALID_PARTICIPANT_NAME" | "INVALID_INTEGRATION_NAME" | "INVALID_INTEGRATION_PERMISSIONS" | "INVALID_CURSOR" | "UNAUTHORIZED" | "FORBIDDEN" | "ROOM_NOT_FOUND" | "INTEGRATION_NOT_FOUND" | "ROOM_CLOSED" | "INTEGRATION_REVOKED" | "ROOM_CAPACITY_REACHED" | "INTEGRATION_CAPACITY_REACHED" | "REQUEST_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "RATE_LIMITED" | "IDENTIFIER_GENERATION_FAILED" | "STORAGE_UNAVAILABLE" | "LIVEKIT_UNAVAILABLE" | "NOT_FOUND" | "UNKNOWN_ERROR";
8
+ export type PrvtApiErrorCode = "INVALID_JSON" | "INVALID_REQUEST" | "INVALID_ROOM_NAME" | "INVALID_PARTICIPANT_NAME" | "INVALID_INTEGRATION_NAME" | "INVALID_INTEGRATION_PERMISSIONS" | "INVALID_CURSOR" | "UNAUTHORIZED" | "FORBIDDEN" | "ROOM_NOT_FOUND" | "INTEGRATION_NOT_FOUND" | "ROOM_CLOSED" | "INTEGRATION_REVOKED" | "INTEGRATION_NOT_CONNECTED" | "ROOM_CAPACITY_REACHED" | "INTEGRATION_CAPACITY_REACHED" | "REQUEST_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "RATE_LIMITED" | "IDENTIFIER_GENERATION_FAILED" | "STORAGE_UNAVAILABLE" | "LIVEKIT_UNAVAILABLE" | "NOT_FOUND" | "UNKNOWN_ERROR";
8
9
  export type IntegrationToken = {
9
10
  participantToken: string;
10
11
  serverUrl: string;
@@ -25,12 +26,37 @@ export type ExchangeTokenOptions = {
25
26
  export type ConnectIntegrationOptions = ExchangeTokenOptions & {
26
27
  roomOptions?: RoomOptions;
27
28
  };
29
+ export type IntegrationProfileUpdate = {
30
+ profilePicture?: string | null;
31
+ statusMessage?: string | null;
32
+ };
33
+ export type ReactionEmoji = (typeof PRVT_REACTION_EMOJI)[number];
34
+ export type ReactionPacket = {
35
+ v: 1;
36
+ id: string;
37
+ emoji: ReactionEmoji;
38
+ };
39
+ export type ChatPinPacket = {
40
+ v: 1;
41
+ action: "pin" | "unpin";
42
+ messageId: string;
43
+ };
44
+ export type IntegrationChatMessage = {
45
+ id: string;
46
+ message: string;
47
+ timestamp: number;
48
+ };
28
49
  export interface PrvtIntegrationSession {
29
50
  readonly room: Room;
30
51
  readonly participantIdentity: string;
31
52
  readonly displayName: string;
32
53
  readonly expiresAt: string;
33
54
  readonly permissions: IntegrationPermissions;
55
+ sendMessage(message: string): Promise<IntegrationChatMessage>;
56
+ updateProfile(profile: IntegrationProfileUpdate, options?: ExchangeTokenOptions): Promise<void>;
57
+ pinMessage(messageId: string): Promise<void>;
58
+ unpinMessage(messageId: string): Promise<void>;
59
+ sendReaction(emoji: ReactionEmoji, id?: string): Promise<void>;
34
60
  disconnect(): Promise<void>;
35
61
  }
36
62
  export interface PrvtIntegration {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,MAAM,sBAAsB,GAAG;IACnC,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB,cAAc,GACd,iBAAiB,GACjB,mBAAmB,GACnB,0BAA0B,GAC1B,0BAA0B,GAC1B,iCAAiC,GACjC,gBAAgB,GAChB,cAAc,GACd,WAAW,GACX,gBAAgB,GAChB,uBAAuB,GACvB,aAAa,GACb,qBAAqB,GACrB,uBAAuB,GACvB,8BAA8B,GAC9B,mBAAmB,GACnB,wBAAwB,GACxB,cAAc,GACd,8BAA8B,GAC9B,qBAAqB,GACrB,qBAAqB,GACrB,WAAW,GACX,eAAe,CAAC;AAEpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,sBAAsB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,oBAAoB,GAAG;IAC7D,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC;IAC7C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzE,OAAO,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAC/E"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0B,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAsD7F,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,WAgB7C,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,WAKpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,gBAOlD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,GAAG,IAAI,uBAInD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,OAAO,OAAO,KAAG,gBAAgB,GAAG,IAgCzE,CAAC"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0B,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAuD7F,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,WAgB7C,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,WAKpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,gBAOlD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,GAAG,IAAI,uBAInD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,OAAO,OAAO,KAAG,gBAAgB,GAAG,IAgCzE,CAAC"}
@@ -12,6 +12,7 @@ const API_ERROR_CODES = new Set([
12
12
  "INTEGRATION_NOT_FOUND",
13
13
  "ROOM_CLOSED",
14
14
  "INTEGRATION_REVOKED",
15
+ "INTEGRATION_NOT_CONNECTED",
15
16
  "ROOM_CAPACITY_REACHED",
16
17
  "INTEGRATION_CAPACITY_REACHED",
17
18
  "REQUEST_TOO_LARGE",
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prvt/integration-sdk",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "TypeScript SDK for building visible Node.js integrations for prvt rooms.",
5
5
  "type": "module",
6
6
  "sideEffects": false,