@useknest/widget-core 0.1.0-beta.11 → 0.1.0-beta.13
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/dist/attachments.d.ts +44 -0
- package/dist/attachments.d.ts.map +1 -0
- package/dist/constants.d.ts +12 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +524 -418
- package/dist/streaming.d.ts +5 -1
- package/dist/streaming.d.ts.map +1 -1
- package/dist/types.d.ts +21 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +2 -0
- package/dist/utils.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Attachment } from './types';
|
|
2
|
+
/** Client-side validation before attempting upload. Returns an error message or null. */
|
|
3
|
+
export declare function validateAttachment(file: File): string | null;
|
|
4
|
+
/**
|
|
5
|
+
* Requests a presigned upload URL from the server.
|
|
6
|
+
* The server validates the request and generates a short-lived signed URL via the service role key.
|
|
7
|
+
*/
|
|
8
|
+
export declare function requestUploadUrl({ publishableApiKey, threadId, fileName, fileType, fileSize, baseUrl }: {
|
|
9
|
+
publishableApiKey: string;
|
|
10
|
+
threadId: string;
|
|
11
|
+
fileName: string;
|
|
12
|
+
fileType: string;
|
|
13
|
+
fileSize: number;
|
|
14
|
+
baseUrl?: string;
|
|
15
|
+
}): Promise<{
|
|
16
|
+
uploadUrl: string;
|
|
17
|
+
token: string;
|
|
18
|
+
storagePath: string;
|
|
19
|
+
}>;
|
|
20
|
+
/**
|
|
21
|
+
* PUTs a file directly to Supabase Storage using a presigned upload URL.
|
|
22
|
+
* The server never touches the file bytes.
|
|
23
|
+
*/
|
|
24
|
+
export declare function uploadToStorage(uploadUrl: string, file: File): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Orchestrates the two-step upload: request presigned URL → PUT file to storage.
|
|
27
|
+
* Returns attachment metadata (without a signed download URL — resolved lazily at display time).
|
|
28
|
+
*/
|
|
29
|
+
export declare function uploadAttachment({ publishableApiKey, threadId, file, baseUrl }: {
|
|
30
|
+
publishableApiKey: string;
|
|
31
|
+
threadId: string;
|
|
32
|
+
file: File;
|
|
33
|
+
baseUrl?: string;
|
|
34
|
+
}): Promise<Attachment>;
|
|
35
|
+
/**
|
|
36
|
+
* Fetches a temporary signed download URL for an attachment via the widget API.
|
|
37
|
+
* Used for lazy URL resolution in the ChatMessage component.
|
|
38
|
+
*/
|
|
39
|
+
export declare function fetchSignedUrl({ publishableApiKey, storagePath, baseUrl }: {
|
|
40
|
+
publishableApiKey: string;
|
|
41
|
+
storagePath: string;
|
|
42
|
+
baseUrl?: string;
|
|
43
|
+
}): Promise<string | null>;
|
|
44
|
+
//# sourceMappingURL=attachments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAQ5D;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,EACtC,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,EAAE;IACF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAoBrE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAUlF;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,EACtC,iBAAiB,EACjB,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,EAAE;IACF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,UAAU,CAAC,CAatB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,EACpC,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,EAAE;IACF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmBzB"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -14,4 +14,16 @@ export declare const DEFAULT_AVATAR_URL = "https://useknest.com/default-avatar.s
|
|
|
14
14
|
export declare const DEFAULT_BRAND_COLOR = "#3b82f6";
|
|
15
15
|
export declare const DEFAULT_WELCOME_MESSAGE = "Hi! I'm your AI assistant. I'm trained to answer questions about your documentation. How can I help you today?";
|
|
16
16
|
export declare const DEFAULT_EXAMPLE_QUESTIONS: string[];
|
|
17
|
+
export declare const ALLOWED_IMAGE_TYPES: string[];
|
|
18
|
+
export declare const ALLOWED_DOCUMENT_TYPES: string[];
|
|
19
|
+
export declare const ALLOWED_ATTACHMENT_TYPES: string[];
|
|
20
|
+
export declare const ACCEPTED_FILE_TYPES_STRING: string;
|
|
21
|
+
export declare const MAX_ATTACHMENT_SIZE_BYTES: number;
|
|
22
|
+
export declare const MAX_ATTACHMENTS_PER_MESSAGE = 5;
|
|
23
|
+
/** Builds the attachment upload-URL endpoint from a base URL. */
|
|
24
|
+
export declare function getAttachmentUploadUrl(baseUrl?: string): string;
|
|
25
|
+
/** Builds the attachment signed-URL endpoint from a base URL. */
|
|
26
|
+
export declare function getAttachmentSignedUrlEndpoint(baseUrl?: string): string;
|
|
27
|
+
/** Returns true if the MIME type is a supported image type. */
|
|
28
|
+
export declare function isImageType(fileType: string): boolean;
|
|
17
29
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AACvD,eAAO,MAAM,QAAQ,YAAY,CAAC;AAIlC,eAAO,MAAM,mBAAmB,6CAA6C,CAAC;AAC9E,eAAO,MAAM,wBAAwB,mDAAmD,CAAC;AAEzF,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,OAAO,GAAE,MAAyB,GAAG,MAAM,CAExE;AAED,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,OAAO,GAAE,MAAyB,GAAG,MAAM,CAE1E;AAED,eAAO,MAAM,sBAAsB,oCAAoC,CAAC;AACxE,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAC9D,eAAO,MAAM,kBAAkB,iGACgE,CAAC;AAChG,eAAO,MAAM,mBAAmB,mGACiE,CAAC;AAClG,eAAO,MAAM,kBAAkB,4CAA4C,CAAC;AAC5E,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,uBAAuB,mHAC6E,CAAC;AAClH,eAAO,MAAM,yBAAyB,UAIrC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AACvD,eAAO,MAAM,QAAQ,YAAY,CAAC;AAIlC,eAAO,MAAM,mBAAmB,6CAA6C,CAAC;AAC9E,eAAO,MAAM,wBAAwB,mDAAmD,CAAC;AAEzF,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,OAAO,GAAE,MAAyB,GAAG,MAAM,CAExE;AAED,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,OAAO,GAAE,MAAyB,GAAG,MAAM,CAE1E;AAED,eAAO,MAAM,sBAAsB,oCAAoC,CAAC;AACxE,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAC9D,eAAO,MAAM,kBAAkB,iGACgE,CAAC;AAChG,eAAO,MAAM,mBAAmB,mGACiE,CAAC;AAClG,eAAO,MAAM,kBAAkB,4CAA4C,CAAC;AAC5E,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,uBAAuB,mHAC6E,CAAC;AAClH,eAAO,MAAM,yBAAyB,UAIrC,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAAyD,CAAC;AAC1F,eAAO,MAAM,sBAAsB,UAIlC,CAAC;AACF,eAAO,MAAM,wBAAwB,UAAsD,CAAC;AAC5F,eAAO,MAAM,0BAA0B,QAAqC,CAAC;AAC7E,eAAO,MAAM,yBAAyB,QAAmB,CAAC;AAC1D,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,iEAAiE;AACjE,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,MAAyB,GAAG,MAAM,CAEjF;AAED,iEAAiE;AACjE,wBAAgB,8BAA8B,CAAC,OAAO,GAAE,MAAyB,GAAG,MAAM,CAEzF;AAED,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAErD"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export type { WidgetMode, MessageRole, Source, Message, ChatMessageRequest, ChatMessageResponse, ChatApiError, WidgetConfig, SSEEvent } from './types';
|
|
2
|
-
export { DEFAULT_BASE_URL, API_PATH, getChatApiUrl, getConfigApiUrl, FALLBACK_ERROR_MESSAGE, DEFAULT_ERROR_MESSAGE, AUTH_ERROR_MESSAGE, USAGE_LIMIT_MESSAGE, DEFAULT_AVATAR_URL, DEFAULT_BRAND_COLOR, DEFAULT_WELCOME_MESSAGE, DEFAULT_EXAMPLE_QUESTIONS, PUBLIC_SUPABASE_URL, PUBLIC_SUPABASE_ANON_KEY } from './constants';
|
|
1
|
+
export type { WidgetMode, MessageRole, Source, Attachment, Message, ChatMessageRequest, ChatMessageResponse, ChatApiError, WidgetConfig, SSEEvent, WidgetUser } from './types';
|
|
2
|
+
export { DEFAULT_BASE_URL, API_PATH, getChatApiUrl, getConfigApiUrl, FALLBACK_ERROR_MESSAGE, DEFAULT_ERROR_MESSAGE, AUTH_ERROR_MESSAGE, USAGE_LIMIT_MESSAGE, DEFAULT_AVATAR_URL, DEFAULT_BRAND_COLOR, DEFAULT_WELCOME_MESSAGE, DEFAULT_EXAMPLE_QUESTIONS, PUBLIC_SUPABASE_URL, PUBLIC_SUPABASE_ANON_KEY, ALLOWED_IMAGE_TYPES, ALLOWED_DOCUMENT_TYPES, ALLOWED_ATTACHMENT_TYPES, ACCEPTED_FILE_TYPES_STRING, MAX_ATTACHMENT_SIZE_BYTES, MAX_ATTACHMENTS_PER_MESSAGE, getAttachmentUploadUrl, getAttachmentSignedUrlEndpoint, isImageType } from './constants';
|
|
3
3
|
export { fetchWidgetConfig } from './config';
|
|
4
4
|
export type { ConfigResult, ConfigErrorType } from './config';
|
|
5
5
|
export { streamChatMessage } from './streaming';
|
|
6
6
|
export type { StreamCallbacks, StreamMessageOptions } from './streaming';
|
|
7
|
-
export { formatContent } from './utils';
|
|
7
|
+
export { formatContent, formatFileSize } from './utils';
|
|
8
|
+
export { validateAttachment, requestUploadUrl, uploadToStorage, uploadAttachment, fetchSignedUrl } from './attachments';
|
|
8
9
|
export { initWidgetAuth, getAccessToken, isAuthenticated, getSupabaseClient } from './auth';
|
|
9
10
|
export { initWidgetSentry, captureWidgetException } from './sentry';
|
|
10
11
|
export { subscribeToThread } from './realtime';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACX,UAAU,EACV,WAAW,EACX,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,MAAM,SAAS,CAAC;AAGjB,OAAO,EACN,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,wBAAwB,EACxB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGzE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACX,UAAU,EACV,WAAW,EACX,MAAM,EACN,UAAU,EACV,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,MAAM,SAAS,CAAC;AAGjB,OAAO,EACN,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,8BAA8B,EAC9B,WAAW,EACX,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGzE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGxD,OAAO,EACN,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAG5F,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,EACN,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
|