@prvt/integration-sdk 0.3.0 → 0.4.1

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/AGENT_PROMPT.md CHANGED
@@ -118,6 +118,17 @@ process.once("SIGTERM", shutdown);
118
118
  language or translate messages automatically.
119
119
  - Chat, pins, and reactions are realtime-only. Do not imply persistence,
120
120
  replay, recording, or late-join history.
121
+ - `sendMessage()` accepts `format: "markdown"` and a bounded `keyboard` with
122
+ callback or HTTPS link buttons. Callback buttons may include an optional
123
+ toast value, which is returned on the matching `onChatCallback()` event.
124
+ Register `onChatCallback()` to handle direct button events; use
125
+ `acknowledgeChatCallback()` for a targeted accepted or rejected
126
+ acknowledgement. The callback sender identity is derived from LiveKit, not
127
+ the packet body. Make handlers idempotent and unsubscribe them during
128
+ shutdown because delivery is realtime and best-effort.
129
+ - `editMessage()` can replace a message sent by the current SDK session for up
130
+ to 60 minutes, including its format and keyboard. Edits are ephemeral and
131
+ cannot modify messages sent by an earlier SDK connection.
121
132
  - A new connection using the same stable integration identity replaces the
122
133
  previous connection. Handle participant removal and disconnect cleanly.
123
134
  - Fetch a fresh participant JWT for a full reconnect. Do not persist a JWT as a
package/README.md CHANGED
@@ -18,7 +18,7 @@ Node.js 18 or newer is required. `@livekit/rtc-node` is a peer dependency so
18
18
  the application controls the native realtime runtime version.
19
19
 
20
20
  Coding agents can start from the reusable
21
- [`AGENT_PROMPT.md`](AGENT_PROMPT.md), which summarizes the supported workflow,
21
+ [`AGENT_PROMPT.md`](https://unpkg.com/@prvt/integration-sdk@latest/AGENT_PROMPT.md), which summarizes the supported workflow,
22
22
  security boundaries, permissions, and completion checks.
23
23
 
24
24
  ## Create an integration key
@@ -123,6 +123,68 @@ The value describes the sender's UI at send time, not the detected language of
123
123
  the text. It can guide localized replies; it does not translate messages or
124
124
  change a participant's interface automatically.
125
125
 
126
+ ## Markdown and callback keyboards
127
+
128
+ Integrations can send bounded Markdown and native callback buttons. Callback
129
+ buttons may include an optional toast value that is returned with the button
130
+ event and shown to the clicking participant as a temporary chat alert. Raw
131
+ HTML, images, unsafe links, oversized labels, and oversized keyboards are
132
+ rejected by the SDK or ignored by the web client.
133
+
134
+ ```ts
135
+ const message = await session.sendMessage("**Choose a track**", {
136
+ format: "markdown",
137
+ keyboard: {
138
+ v: 1,
139
+ rows: [[
140
+ { id: "play", label: "Play", toast: "play now", style: "primary" },
141
+ { id: "pause", label: "Pause" },
142
+ { url: "https://music.example/queue", label: "Queue" },
143
+ ]],
144
+ },
145
+ });
146
+
147
+ const stopListening = session.onChatCallback(async (callback) => {
148
+ if (callback.buttonId !== "play") {
149
+ await session.acknowledgeChatCallback(callback, { status: "rejected", text: "Unavailable", alert: true });
150
+ return;
151
+ }
152
+ console.log(callback.toast);
153
+ await session.acknowledgeChatCallback(callback, { status: "accepted", text: "Starting" });
154
+ await session.sendMessage("Started playing.");
155
+ });
156
+ ```
157
+
158
+ The browser sends callback packets on `PRVT_CHAT_CALLBACK_TOPIC` directly to
159
+ the integration that authored the message. The SDK derives `senderIdentity`
160
+ from LiveKit's authenticated `DataReceived` event. Acknowledgements use
161
+ `PRVT_CHAT_CALLBACK_ACK_TOPIC` and are targeted to that participant. Call the
162
+ unsubscribe function during shutdown. The transport is realtime and
163
+ best-effort, so actions should be idempotent and no callback should be treated
164
+ as persisted or replayable.
165
+
166
+ ### Editing chat messages
167
+
168
+ `editMessage()` replaces an integration-authored chat message, including its
169
+ Markdown format and keyboard, for up to 60 minutes after `sendMessage()`
170
+ returns. Omit `keyboard` to preserve it, provide a new keyboard to replace it,
171
+ or pass `keyboard: null` to remove it. The SDK remembers sent message IDs for
172
+ the current live session and publishes edits on `PRVT_CHAT_EDITS_TOPIC`:
173
+
174
+ ```ts
175
+ const message = await session.sendMessage("Preparing the results…");
176
+ await session.editMessage(message.id, "Results are ready", {
177
+ format: "markdown",
178
+ keyboard: {
179
+ v: 1,
180
+ rows: [[{ id: "details", label: "Show details" }]],
181
+ },
182
+ });
183
+ ```
184
+
185
+ Edits are realtime-only and update the pinned preview when that message is
186
+ pinned. A new SDK connection cannot edit messages sent by an earlier session.
187
+
126
188
  ## Profile picture and status
127
189
 
128
190
  Update the connected bot's live profile attributes through the authenticated
@@ -0,0 +1,13 @@
1
+ import type { IntegrationChatCallback, IntegrationChatCallbackAcknowledgement, IntegrationChatKeyboard } from "./types.js";
2
+ export declare const CHAT_KEYBOARD_VERSION: 1;
3
+ export declare const MAX_CHAT_KEYBOARD_ATTRIBUTE_BYTES = 4096;
4
+ export declare const MAX_CHAT_CALLBACK_PACKET_BYTES = 1024;
5
+ export declare const MAX_CHAT_CALLBACK_TOAST_LENGTH = 512;
6
+ export declare const CHAT_MESSAGE_EDIT_VERSION: 1;
7
+ export declare const MAX_CHAT_MESSAGE_EDIT_PACKET_BYTES = 8192;
8
+ export declare function normalizeChatKeyboard(value: IntegrationChatKeyboard): IntegrationChatKeyboard;
9
+ export declare function encodeChatKeyboardAttribute(keyboard: IntegrationChatKeyboard): string;
10
+ export declare function encodeChatMessageEdit(messageId: string, message: string, format: "plain" | "markdown", keyboard?: IntegrationChatKeyboard): Uint8Array;
11
+ export declare function decodeChatCallback(data: Uint8Array, senderIdentity: string, timestamp?: number): IntegrationChatCallback | null;
12
+ export declare function encodeChatCallbackAcknowledgement(eventId: string, acknowledgement: IntegrationChatCallbackAcknowledgement): Uint8Array;
13
+ //# sourceMappingURL=chat-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-actions.d.ts","sourceRoot":"","sources":["../src/chat-actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,uBAAuB,EACvB,sCAAsC,EACtC,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,qBAAqB,EAAG,CAAU,CAAC;AAChD,eAAO,MAAM,iCAAiC,OAAQ,CAAC;AACvD,eAAO,MAAM,8BAA8B,OAAQ,CAAC;AACpD,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,eAAO,MAAM,yBAAyB,EAAG,CAAU,CAAC;AACpD,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AA0DxD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,uBAAuB,GAAG,uBAAuB,CAmB7F;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,MAAM,CAErF;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,GAAG,UAAU,EAC5B,QAAQ,CAAC,EAAE,uBAAuB,GACjC,UAAU,CAeZ;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,SAAa,GAAG,uBAAuB,GAAG,IAAI,CAgCnI;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,sCAAsC,GAAG,UAAU,CActI"}
@@ -0,0 +1,153 @@
1
+ export const CHAT_KEYBOARD_VERSION = 1;
2
+ export const MAX_CHAT_KEYBOARD_ATTRIBUTE_BYTES = 4_096;
3
+ export const MAX_CHAT_CALLBACK_PACKET_BYTES = 1_024;
4
+ export const MAX_CHAT_CALLBACK_TOAST_LENGTH = 512;
5
+ export const CHAT_MESSAGE_EDIT_VERSION = 1;
6
+ export const MAX_CHAT_MESSAGE_EDIT_PACKET_BYTES = 8_192;
7
+ const encoder = new TextEncoder();
8
+ const decoder = new TextDecoder("utf-8", { fatal: true });
9
+ const identifierPattern = /^[A-Za-z0-9_-]{1,128}$/;
10
+ const eventIdPattern = /^[A-Za-z0-9_-]{8,128}$/;
11
+ const messageIdPattern = /^[A-Za-z0-9_-]{1,128}$/;
12
+ const styles = new Set(["primary", "secondary", "danger"]);
13
+ const isRecord = (value) => (typeof value === "object" && value !== null && !Array.isArray(value));
14
+ const normalizedLabel = (value) => (typeof value === "string" && value.trim().length > 0 && value.trim().length <= 64
15
+ ? value.trim()
16
+ : null);
17
+ const normalizedStyle = (value) => (typeof value === "string" && styles.has(value)
18
+ ? value
19
+ : "secondary");
20
+ const normalizedCallbackToast = (value) => (typeof value === "string" && value.trim().length > 0 && value.trim().length <= MAX_CHAT_CALLBACK_TOAST_LENGTH
21
+ ? value.trim()
22
+ : null);
23
+ const safeUrl = (value) => {
24
+ if (typeof value !== "string" || value.length === 0 || value.length > 512)
25
+ return false;
26
+ try {
27
+ const url = new URL(value);
28
+ return url.protocol === "https:" && url.username === "" && url.password === "";
29
+ }
30
+ catch {
31
+ return false;
32
+ }
33
+ };
34
+ const normalizeButton = (value) => {
35
+ if (!isRecord(value))
36
+ return null;
37
+ const label = normalizedLabel(value.label);
38
+ if (label === null || (value.style !== undefined && !styles.has(value.style)))
39
+ return null;
40
+ if (value.disabled !== undefined && typeof value.disabled !== "boolean")
41
+ return null;
42
+ const shared = { label, style: normalizedStyle(value.style), disabled: value.disabled ?? false };
43
+ if (typeof value.id === "string" && identifierPattern.test(value.id) && value.url === undefined) {
44
+ const toast = value.toast === undefined ? undefined : normalizedCallbackToast(value.toast);
45
+ if (value.toast !== undefined && toast === null)
46
+ return null;
47
+ const button = { ...shared, id: value.id };
48
+ if (typeof toast === "string")
49
+ button.toast = toast;
50
+ return button;
51
+ }
52
+ if (value.id === undefined && value.message === undefined && safeUrl(value.url))
53
+ return { ...shared, url: value.url };
54
+ return null;
55
+ };
56
+ export function normalizeChatKeyboard(value) {
57
+ if (!isRecord(value) || value.v !== CHAT_KEYBOARD_VERSION || !Array.isArray(value.rows) || value.rows.length === 0 || value.rows.length > 4) {
58
+ throw new TypeError("keyboard must contain 1 to 4 rows");
59
+ }
60
+ const rows = [];
61
+ let buttonCount = 0;
62
+ for (const row of value.rows) {
63
+ if (!Array.isArray(row) || row.length === 0 || row.length > 4)
64
+ throw new TypeError("keyboard rows must contain 1 to 4 buttons");
65
+ const buttons = row.map(normalizeButton);
66
+ if (buttons.some((button) => button === null))
67
+ throw new TypeError("keyboard contains an invalid button");
68
+ buttonCount += buttons.length;
69
+ rows.push(buttons);
70
+ }
71
+ if (buttonCount > 16)
72
+ throw new TypeError("keyboard cannot contain more than 16 buttons");
73
+ const normalized = { v: CHAT_KEYBOARD_VERSION, rows };
74
+ if (encoder.encode(JSON.stringify(normalized)).byteLength > MAX_CHAT_KEYBOARD_ATTRIBUTE_BYTES) {
75
+ throw new TypeError("keyboard is too large");
76
+ }
77
+ return normalized;
78
+ }
79
+ export function encodeChatKeyboardAttribute(keyboard) {
80
+ return JSON.stringify(normalizeChatKeyboard(keyboard));
81
+ }
82
+ export function encodeChatMessageEdit(messageId, message, format, keyboard) {
83
+ if (!messageIdPattern.test(messageId))
84
+ throw new TypeError("messageId must use 1 to 128 letters, numbers, underscores, or hyphens");
85
+ if (message.trim().length === 0 || message.length > 2_000)
86
+ throw new TypeError("message must contain 1 to 2000 characters");
87
+ if (format !== "plain" && format !== "markdown")
88
+ throw new TypeError("format must be plain or markdown");
89
+ const normalizedKeyboard = keyboard === undefined ? undefined : normalizeChatKeyboard(keyboard);
90
+ const encoded = encoder.encode(JSON.stringify({
91
+ v: CHAT_MESSAGE_EDIT_VERSION,
92
+ type: "edit",
93
+ messageId,
94
+ message: message.trim(),
95
+ format,
96
+ ...(normalizedKeyboard === undefined ? {} : { keyboard: normalizedKeyboard }),
97
+ }));
98
+ if (encoded.byteLength > MAX_CHAT_MESSAGE_EDIT_PACKET_BYTES)
99
+ throw new TypeError("message edit packet is too large");
100
+ return encoded;
101
+ }
102
+ export function decodeChatCallback(data, senderIdentity, timestamp = Date.now()) {
103
+ if (data.byteLength === 0 || data.byteLength > MAX_CHAT_CALLBACK_PACKET_BYTES)
104
+ return null;
105
+ try {
106
+ const value = JSON.parse(decoder.decode(data));
107
+ if (!isRecord(value)
108
+ || Object.keys(value).length < 5
109
+ || Object.keys(value).length > 6
110
+ || Object.keys(value).some((key) => !["v", "type", "eventId", "messageId", "buttonId", "toast"].includes(key))
111
+ || value.v !== 1
112
+ || value.type !== "button_click"
113
+ || typeof value.eventId !== "string"
114
+ || !eventIdPattern.test(value.eventId)
115
+ || typeof value.messageId !== "string"
116
+ || !messageIdPattern.test(value.messageId)
117
+ || typeof value.buttonId !== "string"
118
+ || !identifierPattern.test(value.buttonId)
119
+ || (value.toast !== undefined && normalizedCallbackToast(value.toast) === null))
120
+ return null;
121
+ return {
122
+ v: 1,
123
+ type: "button_click",
124
+ eventId: value.eventId,
125
+ messageId: value.messageId,
126
+ buttonId: value.buttonId,
127
+ ...(value.toast === undefined ? {} : { toast: normalizedCallbackToast(value.toast) }),
128
+ senderIdentity,
129
+ timestamp,
130
+ };
131
+ }
132
+ catch {
133
+ return null;
134
+ }
135
+ }
136
+ export function encodeChatCallbackAcknowledgement(eventId, acknowledgement) {
137
+ if (!eventIdPattern.test(eventId))
138
+ throw new TypeError("eventId must use 8 to 128 letters, numbers, underscores, or hyphens");
139
+ if (acknowledgement.status !== "accepted" && acknowledgement.status !== "rejected")
140
+ throw new TypeError("invalid callback acknowledgement status");
141
+ if (acknowledgement.text !== undefined && (acknowledgement.text.trim().length === 0 || acknowledgement.text.length > 256)) {
142
+ throw new TypeError("callback acknowledgement text must contain 1 to 256 characters");
143
+ }
144
+ return encoder.encode(JSON.stringify({
145
+ v: 1,
146
+ type: "ack",
147
+ eventId,
148
+ status: acknowledgement.status,
149
+ ...(acknowledgement.text === undefined ? {} : { text: acknowledgement.text.trim() }),
150
+ ...(acknowledgement.alert === undefined ? {} : { alert: acknowledgement.alert }),
151
+ }));
152
+ }
153
+ //# sourceMappingURL=chat-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-actions.js","sourceRoot":"","sources":["../src/chat-actions.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Room } from "@livekit/rtc-node";
1
+ import { type Room } from "@livekit/rtc-node";
2
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 {
@@ -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;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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAUzD,OAAO,KAAK,EACV,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,wBAAwB,EAMxB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EAEvB,MAAM,YAAY,CAAC;AA4BpB,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAoN9C,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,5 +1,8 @@
1
+ import { RoomEvent } from "@livekit/rtc-node";
1
2
  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";
3
+ import { INTEGRATION_CHAT_EDIT_WINDOW_MS } from "./types.js";
4
+ import { PRVT_CHAT_CALLBACK_ACK_TOPIC, PRVT_CHAT_CALLBACK_TOPIC, PRVT_CHAT_EDITS_TOPIC, PRVT_CHAT_FORMAT_ATTRIBUTE, PRVT_CHAT_KEYBOARD_ATTRIBUTE, PRVT_CHAT_PINS_TOPIC, PRVT_CHAT_TOPIC, PRVT_REACTION_EMOJI, PRVT_REACTIONS_TOPIC, } from "./constants.js";
5
+ import { decodeChatCallback, encodeChatCallbackAcknowledgement, encodeChatMessageEdit, encodeChatKeyboardAttribute, normalizeChatKeyboard, } from "./chat-actions.js";
3
6
  import { normalizeBaseUrl, normalizeIntegrationKey, parseApiErrorCode, parseIntegrationToken, parseRetryAfter, } from "./validation.js";
4
7
  const defaultRoomFactory = async () => {
5
8
  try {
@@ -30,6 +33,17 @@ class IntegrationSession {
30
33
  permissions;
31
34
  #client;
32
35
  #acceptedReactionAt = [];
36
+ #sentChatMessages = new Map();
37
+ #chatCallbackListeners = new Set();
38
+ #handleDataReceived = (data, participant, _kind, topic) => {
39
+ if (topic !== PRVT_CHAT_CALLBACK_TOPIC || participant?.identity === undefined)
40
+ return;
41
+ const callback = decodeChatCallback(data, participant.identity);
42
+ if (callback === null)
43
+ return;
44
+ for (const listener of this.#chatCallbackListeners)
45
+ void Promise.resolve(listener(callback)).catch(() => undefined);
46
+ };
33
47
  constructor(client, room, token) {
34
48
  this.#client = client;
35
49
  this.room = room;
@@ -37,22 +51,92 @@ class IntegrationSession {
37
51
  this.displayName = token.displayName;
38
52
  this.expiresAt = token.expiresAt;
39
53
  this.permissions = token.permissions;
54
+ if (typeof this.room.on === "function")
55
+ this.room.on(RoomEvent.DataReceived, this.#handleDataReceived);
40
56
  }
41
57
  async disconnect() {
58
+ if (typeof this.room.off === "function")
59
+ this.room.off(RoomEvent.DataReceived, this.#handleDataReceived);
42
60
  await this.room.disconnect();
43
61
  }
44
62
  async updateProfile(profile, options = {}) {
45
63
  await this.#client.updateProfile(profile, options);
46
64
  }
47
- async sendMessage(message) {
65
+ async sendMessage(message, options = {}) {
48
66
  if (typeof message !== "string")
49
67
  throw new TypeError("message must be a string");
50
68
  const normalized = message.trim();
51
69
  if (normalized.length === 0 || normalized.length > 2_000) {
52
70
  throw new TypeError("message must contain 1 to 2000 characters");
53
71
  }
54
- const sent = await this.dataPublisher().sendText(normalized, { topic: PRVT_CHAT_TOPIC });
55
- return { id: sent.streamId, message: normalized, timestamp: sent.timestamp };
72
+ if (options.format !== undefined && options.format !== "plain" && options.format !== "markdown") {
73
+ throw new TypeError("format must be plain or markdown");
74
+ }
75
+ const keyboard = options.keyboard === undefined ? undefined : normalizeChatKeyboard(options.keyboard);
76
+ const format = options.format ?? "plain";
77
+ const sent = await this.dataPublisher().sendText(normalized, {
78
+ topic: PRVT_CHAT_TOPIC,
79
+ attributes: {
80
+ [PRVT_CHAT_FORMAT_ATTRIBUTE]: format,
81
+ ...(keyboard === undefined ? {} : { [PRVT_CHAT_KEYBOARD_ATTRIBUTE]: encodeChatKeyboardAttribute(keyboard) }),
82
+ },
83
+ });
84
+ this.#sentChatMessages.set(sent.streamId, { sentAt: Date.now(), timestamp: sent.timestamp, format, ...(keyboard === undefined ? {} : { keyboard }) });
85
+ this.pruneSentChatMessages();
86
+ return {
87
+ id: sent.streamId,
88
+ message: normalized,
89
+ timestamp: sent.timestamp,
90
+ format,
91
+ ...(keyboard === undefined ? {} : { keyboard }),
92
+ };
93
+ }
94
+ async editMessage(messageId, message, options = {}) {
95
+ const sent = this.#sentChatMessages.get(messageId);
96
+ if (sent === undefined || Date.now() - sent.sentAt > INTEGRATION_CHAT_EDIT_WINDOW_MS) {
97
+ throw new TypeError("message can only be edited for 60 minutes after it is sent");
98
+ }
99
+ if (typeof message !== "string")
100
+ throw new TypeError("message must be a string");
101
+ const normalized = message.trim();
102
+ if (normalized.length === 0 || normalized.length > 2_000) {
103
+ throw new TypeError("message must contain 1 to 2000 characters");
104
+ }
105
+ if (options.format !== undefined && options.format !== "plain" && options.format !== "markdown") {
106
+ throw new TypeError("format must be plain or markdown");
107
+ }
108
+ const keyboard = options.keyboard === undefined
109
+ ? sent.keyboard
110
+ : options.keyboard === null
111
+ ? undefined
112
+ : normalizeChatKeyboard(options.keyboard);
113
+ const format = options.format ?? sent.format;
114
+ await this.dataPublisher().publishData(encodeChatMessageEdit(messageId, normalized, format, keyboard), {
115
+ reliable: true,
116
+ topic: PRVT_CHAT_EDITS_TOPIC,
117
+ });
118
+ return {
119
+ id: messageId,
120
+ message: normalized,
121
+ timestamp: sent.timestamp,
122
+ format,
123
+ ...(keyboard === undefined ? {} : { keyboard }),
124
+ };
125
+ }
126
+ onChatCallback(listener) {
127
+ if (typeof listener !== "function")
128
+ throw new TypeError("listener must be a function");
129
+ this.#chatCallbackListeners.add(listener);
130
+ return () => this.#chatCallbackListeners.delete(listener);
131
+ }
132
+ async acknowledgeChatCallback(callback, acknowledgement = { status: "accepted" }) {
133
+ if (!callback || typeof callback.senderIdentity !== "string")
134
+ throw new TypeError("callback is invalid");
135
+ await this.dataPublisher().publishData(encodeChatCallbackAcknowledgement(callback.eventId, acknowledgement), {
136
+ reliable: true,
137
+ topic: PRVT_CHAT_CALLBACK_ACK_TOPIC,
138
+ destination_identities: [callback.senderIdentity],
139
+ });
56
140
  }
57
141
  async pinMessage(messageId) {
58
142
  await this.publishPin(messageId, "pin");
@@ -106,6 +190,19 @@ class IntegrationSession {
106
190
  }
107
191
  return publisher;
108
192
  }
193
+ pruneSentChatMessages() {
194
+ const cutoff = Date.now() - INTEGRATION_CHAT_EDIT_WINDOW_MS;
195
+ for (const [messageId, sent] of this.#sentChatMessages) {
196
+ if (sent.sentAt <= cutoff)
197
+ this.#sentChatMessages.delete(messageId);
198
+ }
199
+ while (this.#sentChatMessages.size > 256) {
200
+ const oldest = this.#sentChatMessages.keys().next().value;
201
+ if (oldest === undefined)
202
+ break;
203
+ this.#sentChatMessages.delete(oldest);
204
+ }
205
+ }
109
206
  }
110
207
  export class PrvtIntegrationClient {
111
208
  #baseUrl;
@@ -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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"}
@@ -1,6 +1,11 @@
1
1
  export declare const PRVT_CHAT_TOPIC = "prvt.chat";
2
2
  export declare const PRVT_CHAT_LANGUAGE_ATTRIBUTE = "prvt.chat.language";
3
+ export declare const PRVT_CHAT_FORMAT_ATTRIBUTE = "prvt.chat.format";
4
+ export declare const PRVT_CHAT_KEYBOARD_ATTRIBUTE = "prvt.chat.keyboard";
3
5
  export declare const PRVT_CHAT_PINS_TOPIC = "prvt.chat.pins";
6
+ export declare const PRVT_CHAT_CALLBACK_TOPIC = "prvt.chat.callbacks";
7
+ export declare const PRVT_CHAT_CALLBACK_ACK_TOPIC = "prvt.chat.callback.acks";
8
+ export declare const PRVT_CHAT_EDITS_TOPIC = "prvt.chat.edits";
4
9
  export declare const PRVT_REACTIONS_TOPIC = "prvt.reactions";
5
10
  export declare const PRVT_INTEGRATION_PROFILE_PICTURE_ATTRIBUTE = "prvt.integration.profilePicture";
6
11
  export declare const PRVT_INTEGRATION_STATUS_MESSAGE_ATTRIBUTE = "prvt.integration.statusMessage";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,cAAc,CAAC;AAC3C,eAAO,MAAM,4BAA4B,uBAAuB,CAAC;AACjE,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAErD,eAAO,MAAM,0CAA0C,oCAAoC,CAAC;AAC5F,eAAO,MAAM,yCAAyC,mCAAmC,CAAC;AAC1F,eAAO,MAAM,sCAAsC,gCAAgC,CAAC;AAEpF,eAAO,MAAM,mBAAmB,2DAA4D,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,cAAc,CAAC;AAC3C,eAAO,MAAM,4BAA4B,uBAAuB,CAAC;AACjE,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAC7D,eAAO,MAAM,4BAA4B,uBAAuB,CAAC;AACjE,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAC9D,eAAO,MAAM,4BAA4B,4BAA4B,CAAC;AACtE,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAErD,eAAO,MAAM,0CAA0C,oCAAoC,CAAC;AAC5F,eAAO,MAAM,yCAAyC,mCAAmC,CAAC;AAC1F,eAAO,MAAM,sCAAsC,gCAAgC,CAAC;AAEpF,eAAO,MAAM,mBAAmB,2DAA4D,CAAC"}
package/dist/constants.js CHANGED
@@ -1,6 +1,11 @@
1
1
  export const PRVT_CHAT_TOPIC = "prvt.chat";
2
2
  export const PRVT_CHAT_LANGUAGE_ATTRIBUTE = "prvt.chat.language";
3
+ export const PRVT_CHAT_FORMAT_ATTRIBUTE = "prvt.chat.format";
4
+ export const PRVT_CHAT_KEYBOARD_ATTRIBUTE = "prvt.chat.keyboard";
3
5
  export const PRVT_CHAT_PINS_TOPIC = "prvt.chat.pins";
6
+ export const PRVT_CHAT_CALLBACK_TOPIC = "prvt.chat.callbacks";
7
+ export const PRVT_CHAT_CALLBACK_ACK_TOPIC = "prvt.chat.callback.acks";
8
+ export const PRVT_CHAT_EDITS_TOPIC = "prvt.chat.edits";
4
9
  export const PRVT_REACTIONS_TOPIC = "prvt.reactions";
5
10
  export const PRVT_INTEGRATION_PROFILE_PICTURE_ATTRIBUTE = "prvt.integration.profilePicture";
6
11
  export const PRVT_INTEGRATION_STATUS_MESSAGE_ATTRIBUTE = "prvt.integration.statusMessage";
@@ -1 +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,4BAA4B,GAAG,oBAAoB,CAAC;AACjE,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;AAC1F,MAAM,CAAC,MAAM,sCAAsC,GAAG,6BAA6B,CAAC;AAEpF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC"}
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,4BAA4B,GAAG,oBAAoB,CAAC;AACjE,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAC;AAC7D,MAAM,CAAC,MAAM,4BAA4B,GAAG,oBAAoB,CAAC;AACjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AACrD,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;AAC9D,MAAM,CAAC,MAAM,4BAA4B,GAAG,yBAAyB,CAAC;AACtE,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAErD,MAAM,CAAC,MAAM,0CAA0C,GAAG,iCAAiC,CAAC;AAC5F,MAAM,CAAC,MAAM,yCAAyC,GAAG,gCAAgC,CAAC;AAC1F,MAAM,CAAC,MAAM,sCAAsC,GAAG,6BAA6B,CAAC;AAEpF,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/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  export { PrvtApiError, PrvtConnectionError, PrvtDataPublishingUnavailableError, PrvtNetworkError, PrvtProtocolError, PrvtReactionRateLimitError, PrvtRtcUnavailableError, } from "./errors.js";
2
2
  export { createPrvtIntegration } from "./client.js";
3
3
  export { parseChatMessageLanguage } from "./chat.js";
4
+ export { INTEGRATION_CHAT_EDIT_WINDOW_MS } from "./types.js";
4
5
  export type { ChatLanguageCode, } from "./chat.js";
5
- export type { ConnectIntegrationOptions, CreatePrvtIntegrationOptions, ExchangeTokenOptions, ChatPinPacket, IntegrationChatMessage, IntegrationProfileUpdate, IntegrationPermissions, IntegrationToken, PrvtApiErrorCode, PrvtIntegration, PrvtIntegrationSession, ReactionEmoji, ReactionPacket, } from "./types.js";
6
- export { PRVT_CHAT_PINS_TOPIC, PRVT_CHAT_LANGUAGE_ATTRIBUTE, PRVT_CHAT_TOPIC, PRVT_INTEGRATION_PROFILE_PICTURE_ATTRIBUTE, PRVT_INTEGRATION_STATUS_MESSAGE_ATTRIBUTE, PRVT_INTEGRATION_WEBSITE_URL_ATTRIBUTE, PRVT_REACTION_EMOJI, PRVT_REACTIONS_TOPIC, } from "./constants.js";
6
+ export type { ConnectIntegrationOptions, CreatePrvtIntegrationOptions, ExchangeTokenOptions, ChatPinPacket, IntegrationChatButton, IntegrationChatButtonStyle, IntegrationChatCallback, IntegrationChatCallbackAcknowledgement, IntegrationChatEditOptions, IntegrationChatKeyboard, IntegrationChatMessage, IntegrationChatMessageFormat, IntegrationChatMessageOptions, IntegrationProfileUpdate, IntegrationPermissions, IntegrationToken, PrvtApiErrorCode, PrvtIntegration, PrvtIntegrationSession, ReactionEmoji, ReactionPacket, } from "./types.js";
7
+ export { PRVT_CHAT_CALLBACK_ACK_TOPIC, PRVT_CHAT_CALLBACK_TOPIC, PRVT_CHAT_EDITS_TOPIC, PRVT_CHAT_FORMAT_ATTRIBUTE, PRVT_CHAT_KEYBOARD_ATTRIBUTE, PRVT_CHAT_LANGUAGE_ATTRIBUTE, PRVT_CHAT_PINS_TOPIC, PRVT_CHAT_TOPIC, PRVT_INTEGRATION_PROFILE_PICTURE_ATTRIBUTE, PRVT_INTEGRATION_STATUS_MESSAGE_ATTRIBUTE, PRVT_INTEGRATION_WEBSITE_URL_ATTRIBUTE, PRVT_REACTION_EMOJI, PRVT_REACTIONS_TOPIC, } from "./constants.js";
7
8
  //# 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,kCAAkC,EAClC,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,YAAY,EACV,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,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,4BAA4B,EAC5B,eAAe,EACf,0CAA0C,EAC1C,yCAAyC,EACzC,sCAAsC,EACtC,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,gBAAgB,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,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAC7D,YAAY,EACV,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,sCAAsC,EACtC,0BAA0B,EAC1B,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,eAAe,EACf,0CAA0C,EAC1C,yCAAyC,EACzC,sCAAsC,EACtC,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export { PrvtApiError, PrvtConnectionError, PrvtDataPublishingUnavailableError, PrvtNetworkError, PrvtProtocolError, PrvtReactionRateLimitError, PrvtRtcUnavailableError, } from "./errors.js";
2
2
  export { createPrvtIntegration } from "./client.js";
3
3
  export { parseChatMessageLanguage } from "./chat.js";
4
- export { PRVT_CHAT_PINS_TOPIC, PRVT_CHAT_LANGUAGE_ATTRIBUTE, PRVT_CHAT_TOPIC, PRVT_INTEGRATION_PROFILE_PICTURE_ATTRIBUTE, PRVT_INTEGRATION_STATUS_MESSAGE_ATTRIBUTE, PRVT_INTEGRATION_WEBSITE_URL_ATTRIBUTE, PRVT_REACTION_EMOJI, PRVT_REACTIONS_TOPIC, } from "./constants.js";
4
+ export { INTEGRATION_CHAT_EDIT_WINDOW_MS } from "./types.js";
5
+ export { PRVT_CHAT_CALLBACK_ACK_TOPIC, PRVT_CHAT_CALLBACK_TOPIC, PRVT_CHAT_EDITS_TOPIC, PRVT_CHAT_FORMAT_ATTRIBUTE, PRVT_CHAT_KEYBOARD_ATTRIBUTE, PRVT_CHAT_LANGUAGE_ATTRIBUTE, PRVT_CHAT_PINS_TOPIC, PRVT_CHAT_TOPIC, PRVT_INTEGRATION_PROFILE_PICTURE_ATTRIBUTE, PRVT_INTEGRATION_STATUS_MESSAGE_ATTRIBUTE, PRVT_INTEGRATION_WEBSITE_URL_ATTRIBUTE, PRVT_REACTION_EMOJI, PRVT_REACTIONS_TOPIC, } from "./constants.js";
5
6
  //# 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,kCAAkC,EAClC,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAmBrD,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,eAAe,EACf,0CAA0C,EAC1C,yCAAyC,EACzC,sCAAsC,EACtC,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,gBAAgB,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;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AA2B7D,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,eAAe,EACf,0CAA0C,EAC1C,yCAAyC,EACzC,sCAAsC,EACtC,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -31,6 +31,43 @@ export type IntegrationProfileUpdate = {
31
31
  statusMessage?: string | null;
32
32
  websiteUrl?: string | null;
33
33
  };
34
+ export type IntegrationChatMessageFormat = "plain" | "markdown";
35
+ export type IntegrationChatButtonStyle = "primary" | "secondary" | "danger";
36
+ export type IntegrationChatButton = {
37
+ id?: string;
38
+ toast?: string;
39
+ url?: string;
40
+ label: string;
41
+ style?: IntegrationChatButtonStyle;
42
+ disabled?: boolean;
43
+ };
44
+ export type IntegrationChatKeyboard = {
45
+ v: 1;
46
+ rows: IntegrationChatButton[][];
47
+ };
48
+ export type IntegrationChatMessageOptions = {
49
+ format?: IntegrationChatMessageFormat;
50
+ keyboard?: IntegrationChatKeyboard;
51
+ };
52
+ export type IntegrationChatEditOptions = {
53
+ format?: IntegrationChatMessageFormat;
54
+ keyboard?: IntegrationChatKeyboard | null;
55
+ };
56
+ export type IntegrationChatCallback = {
57
+ v: 1;
58
+ type: "button_click";
59
+ eventId: string;
60
+ messageId: string;
61
+ buttonId: string;
62
+ toast?: string;
63
+ senderIdentity: string;
64
+ timestamp: number;
65
+ };
66
+ export type IntegrationChatCallbackAcknowledgement = {
67
+ status: "accepted" | "rejected";
68
+ text?: string;
69
+ alert?: boolean;
70
+ };
34
71
  export type ReactionEmoji = (typeof PRVT_REACTION_EMOJI)[number];
35
72
  export type ReactionPacket = {
36
73
  v: 1;
@@ -46,14 +83,20 @@ export type IntegrationChatMessage = {
46
83
  id: string;
47
84
  message: string;
48
85
  timestamp: number;
86
+ format: IntegrationChatMessageFormat;
87
+ keyboard?: IntegrationChatKeyboard;
49
88
  };
89
+ export declare const INTEGRATION_CHAT_EDIT_WINDOW_MS: number;
50
90
  export interface PrvtIntegrationSession {
51
91
  readonly room: Room;
52
92
  readonly participantIdentity: string;
53
93
  readonly displayName: string;
54
94
  readonly expiresAt: string;
55
95
  readonly permissions: IntegrationPermissions;
56
- sendMessage(message: string): Promise<IntegrationChatMessage>;
96
+ sendMessage(message: string, options?: IntegrationChatMessageOptions): Promise<IntegrationChatMessage>;
97
+ editMessage(messageId: string, message: string, options?: IntegrationChatEditOptions): Promise<IntegrationChatMessage>;
98
+ onChatCallback(listener: (callback: IntegrationChatCallback) => void | Promise<void>): () => void;
99
+ acknowledgeChatCallback(callback: IntegrationChatCallback, acknowledgement?: IntegrationChatCallbackAcknowledgement): Promise<void>;
57
100
  updateProfile(profile: IntegrationProfileUpdate, options?: ExchangeTokenOptions): Promise<void>;
58
101
  pinMessage(messageId: string): Promise<void>;
59
102
  unpinMessage(messageId: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,2 +1,2 @@
1
- export {};
1
+ export const INTEGRATION_CHAT_EDIT_WINDOW_MS = 60 * 60 * 1_000;
2
2
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAmIA,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prvt/integration-sdk",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "description": "TypeScript SDK for building visible Node.js integrations for prvt rooms.",
5
5
  "type": "module",
6
6
  "sideEffects": false,