@guidelytech/guide-runtime 0.5.0 → 0.6.2
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/capture.cjs +1336 -0
- package/dist/capture.cjs.map +1 -0
- package/dist/capture.d.cts +184 -0
- package/dist/capture.d.ts +184 -0
- package/dist/capture.js +857 -0
- package/dist/capture.js.map +1 -0
- package/dist/{chunk-SLBUGXNH.js → chunk-4FKYF6OB.js} +196 -23
- package/dist/chunk-4FKYF6OB.js.map +1 -0
- package/dist/{chunk-SGFC66YD.js → chunk-4UW6YF44.js} +150 -8
- package/dist/chunk-4UW6YF44.js.map +1 -0
- package/dist/chunk-7DOGZKWD.js +322 -0
- package/dist/chunk-7DOGZKWD.js.map +1 -0
- package/dist/chunk-GUSKGNNR.js +301 -0
- package/dist/chunk-GUSKGNNR.js.map +1 -0
- package/dist/index.cjs +192 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -2
- package/dist/index.d.ts +12 -2
- package/dist/index.js +29 -561
- package/dist/index.js.map +1 -1
- package/dist/messenger.cjs +825 -57
- package/dist/messenger.cjs.map +1 -1
- package/dist/messenger.d.cts +61 -3
- package/dist/messenger.d.ts +61 -3
- package/dist/messenger.js +662 -45
- package/dist/messenger.js.map +1 -1
- package/package.json +7 -2
- package/dist/chunk-SGFC66YD.js.map +0 -1
- package/dist/chunk-SLBUGXNH.js.map +0 -1
package/dist/messenger.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MessengerConversation, ConversationMessagesResponse, MessengerMessage, SdkArticlesResponse, ResourceCenterArticle, MessengerConfig, ResourceCenterConfig } from '@guidelytech/shared';
|
|
1
|
+
import { MessengerConversation, ConversationMessagesResponse, MessengerMessage, SdkArticlesResponse, ResourceCenterArticle, SdkHowTosResponse, SdkHowTo, MessengerPageContent, MessengerConfig, ResourceCenterConfig } from '@guidelytech/shared';
|
|
2
2
|
import { H as HelpGuideRef } from './help-view-B4oPbhpO.cjs';
|
|
3
3
|
|
|
4
4
|
/** Callbacks the transport invokes while a message is sent and Scout replies. */
|
|
@@ -21,8 +21,52 @@ interface MessengerApi {
|
|
|
21
21
|
listArticles(): Promise<SdkArticlesResponse>;
|
|
22
22
|
getArticle(id: string): Promise<ResourceCenterArticle | null>;
|
|
23
23
|
searchArticles(q: string): Promise<ResourceCenterArticle[]>;
|
|
24
|
+
/** How-tos available in the app, and the ones for the page the user is on (optional: older transports). */
|
|
25
|
+
listHowTos?(): Promise<SdkHowTosResponse>;
|
|
26
|
+
getHowTo?(id: string): Promise<SdkHowTo | null>;
|
|
27
|
+
/** Page-matched how-tos, articles and common questions (servers before the personalised home lack it). */
|
|
28
|
+
pageContent?(path: string): Promise<MessengerPageContent>;
|
|
29
|
+
}
|
|
30
|
+
type MessengerTab = "home" | "messages" | "help" | "news";
|
|
31
|
+
/** A guide the visitor started and didn't finish. */
|
|
32
|
+
interface MessengerResumeGuide {
|
|
33
|
+
id: string;
|
|
34
|
+
name: string;
|
|
35
|
+
stepId: string;
|
|
36
|
+
/** Zero-based index of the step they reached. */
|
|
37
|
+
stepIndex: number;
|
|
38
|
+
stepCount: number;
|
|
39
|
+
}
|
|
40
|
+
interface MessengerChecklistProgress {
|
|
41
|
+
id: string;
|
|
42
|
+
name: string;
|
|
43
|
+
done: number;
|
|
44
|
+
total: number;
|
|
45
|
+
/** Title of the first unfinished task. */
|
|
46
|
+
nextTask: string | null;
|
|
47
|
+
}
|
|
48
|
+
/** A live announcement, shown on Home and in the News tab. */
|
|
49
|
+
interface MessengerNewsItem {
|
|
50
|
+
id: string;
|
|
51
|
+
key: string;
|
|
52
|
+
title: string;
|
|
53
|
+
/** Plain text. */
|
|
54
|
+
body: string;
|
|
55
|
+
imageUrl: string | null;
|
|
56
|
+
publishedAt: string;
|
|
57
|
+
unread: boolean;
|
|
58
|
+
}
|
|
59
|
+
/** What the SDK knows about the visitor right now, read each time the messenger renders. */
|
|
60
|
+
interface MessengerVisitor {
|
|
61
|
+
firstName: string | null;
|
|
62
|
+
/** Current page path (no query or fragment); null when unknown. */
|
|
63
|
+
path: string | null;
|
|
64
|
+
/** Live guides targeted at this page that the visitor can start. */
|
|
65
|
+
pageGuides: HelpGuideRef[];
|
|
66
|
+
resumeGuide: MessengerResumeGuide | null;
|
|
67
|
+
checklist: MessengerChecklistProgress | null;
|
|
68
|
+
news: MessengerNewsItem[];
|
|
24
69
|
}
|
|
25
|
-
type MessengerTab = "home" | "messages" | "help";
|
|
26
70
|
interface MessengerOptions {
|
|
27
71
|
scope: HTMLElement;
|
|
28
72
|
config: MessengerConfig;
|
|
@@ -38,6 +82,16 @@ interface MessengerOptions {
|
|
|
38
82
|
onOpen?: () => void;
|
|
39
83
|
onClose?: () => void;
|
|
40
84
|
onMessage?: (message: MessengerMessage, conversation: MessengerConversation) => void;
|
|
85
|
+
/** Personalisation: name, page, progress and announcements. Without it the home screen is generic. */
|
|
86
|
+
visitor?: () => MessengerVisitor;
|
|
87
|
+
/** Logo and name shown at the top of the home screen (project theme). */
|
|
88
|
+
brand?: {
|
|
89
|
+
logoUrl?: string | null;
|
|
90
|
+
name?: string | null;
|
|
91
|
+
};
|
|
92
|
+
onResumeGuide?: (guideId: string, stepId: string) => void;
|
|
93
|
+
/** The visitor saw these announcements (News tab opened). */
|
|
94
|
+
onNewsSeen?: (ids: string[]) => void;
|
|
41
95
|
hideLauncher?: boolean;
|
|
42
96
|
/** Poll intervals (ms): open thread, and unread badge while closed. */
|
|
43
97
|
pollMs?: {
|
|
@@ -54,10 +108,14 @@ interface MessengerWidget {
|
|
|
54
108
|
/** Opens a new conversation, optionally pre-filling the composer. */
|
|
55
109
|
showNewMessage(text?: string): void;
|
|
56
110
|
openArticle(id: string): void;
|
|
111
|
+
/** Re-reads the visitor (page changed, progress made) and re-renders what is showing. */
|
|
112
|
+
refresh(): void;
|
|
57
113
|
destroy(): void;
|
|
58
114
|
}
|
|
115
|
+
/** The greeting with a leading "Hi!" swapped for the visitor's name ("Hi! I'm Scout." → "Hi Maya! I'm Scout."). */
|
|
116
|
+
declare function personalGreeting(greeting: string, firstName: string | null): string;
|
|
59
117
|
declare function relativeTime(iso: string, now?: number): string;
|
|
60
118
|
/** Intercom-style messenger: launcher + panel with Home, Messages (chat with Scout / the team) and Help tabs. */
|
|
61
119
|
declare function renderMessenger(options: MessengerOptions): MessengerWidget;
|
|
62
120
|
|
|
63
|
-
export { type MessengerApi, type MessengerOptions, type MessengerStreamHandlers, type MessengerTab, type MessengerWidget, relativeTime, renderMessenger };
|
|
121
|
+
export { type MessengerApi, type MessengerChecklistProgress, type MessengerNewsItem, type MessengerOptions, type MessengerResumeGuide, type MessengerStreamHandlers, type MessengerTab, type MessengerVisitor, type MessengerWidget, personalGreeting, relativeTime, renderMessenger };
|
package/dist/messenger.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MessengerConversation, ConversationMessagesResponse, MessengerMessage, SdkArticlesResponse, ResourceCenterArticle, MessengerConfig, ResourceCenterConfig } from '@guidelytech/shared';
|
|
1
|
+
import { MessengerConversation, ConversationMessagesResponse, MessengerMessage, SdkArticlesResponse, ResourceCenterArticle, SdkHowTosResponse, SdkHowTo, MessengerPageContent, MessengerConfig, ResourceCenterConfig } from '@guidelytech/shared';
|
|
2
2
|
import { H as HelpGuideRef } from './help-view-B4oPbhpO.js';
|
|
3
3
|
|
|
4
4
|
/** Callbacks the transport invokes while a message is sent and Scout replies. */
|
|
@@ -21,8 +21,52 @@ interface MessengerApi {
|
|
|
21
21
|
listArticles(): Promise<SdkArticlesResponse>;
|
|
22
22
|
getArticle(id: string): Promise<ResourceCenterArticle | null>;
|
|
23
23
|
searchArticles(q: string): Promise<ResourceCenterArticle[]>;
|
|
24
|
+
/** How-tos available in the app, and the ones for the page the user is on (optional: older transports). */
|
|
25
|
+
listHowTos?(): Promise<SdkHowTosResponse>;
|
|
26
|
+
getHowTo?(id: string): Promise<SdkHowTo | null>;
|
|
27
|
+
/** Page-matched how-tos, articles and common questions (servers before the personalised home lack it). */
|
|
28
|
+
pageContent?(path: string): Promise<MessengerPageContent>;
|
|
29
|
+
}
|
|
30
|
+
type MessengerTab = "home" | "messages" | "help" | "news";
|
|
31
|
+
/** A guide the visitor started and didn't finish. */
|
|
32
|
+
interface MessengerResumeGuide {
|
|
33
|
+
id: string;
|
|
34
|
+
name: string;
|
|
35
|
+
stepId: string;
|
|
36
|
+
/** Zero-based index of the step they reached. */
|
|
37
|
+
stepIndex: number;
|
|
38
|
+
stepCount: number;
|
|
39
|
+
}
|
|
40
|
+
interface MessengerChecklistProgress {
|
|
41
|
+
id: string;
|
|
42
|
+
name: string;
|
|
43
|
+
done: number;
|
|
44
|
+
total: number;
|
|
45
|
+
/** Title of the first unfinished task. */
|
|
46
|
+
nextTask: string | null;
|
|
47
|
+
}
|
|
48
|
+
/** A live announcement, shown on Home and in the News tab. */
|
|
49
|
+
interface MessengerNewsItem {
|
|
50
|
+
id: string;
|
|
51
|
+
key: string;
|
|
52
|
+
title: string;
|
|
53
|
+
/** Plain text. */
|
|
54
|
+
body: string;
|
|
55
|
+
imageUrl: string | null;
|
|
56
|
+
publishedAt: string;
|
|
57
|
+
unread: boolean;
|
|
58
|
+
}
|
|
59
|
+
/** What the SDK knows about the visitor right now, read each time the messenger renders. */
|
|
60
|
+
interface MessengerVisitor {
|
|
61
|
+
firstName: string | null;
|
|
62
|
+
/** Current page path (no query or fragment); null when unknown. */
|
|
63
|
+
path: string | null;
|
|
64
|
+
/** Live guides targeted at this page that the visitor can start. */
|
|
65
|
+
pageGuides: HelpGuideRef[];
|
|
66
|
+
resumeGuide: MessengerResumeGuide | null;
|
|
67
|
+
checklist: MessengerChecklistProgress | null;
|
|
68
|
+
news: MessengerNewsItem[];
|
|
24
69
|
}
|
|
25
|
-
type MessengerTab = "home" | "messages" | "help";
|
|
26
70
|
interface MessengerOptions {
|
|
27
71
|
scope: HTMLElement;
|
|
28
72
|
config: MessengerConfig;
|
|
@@ -38,6 +82,16 @@ interface MessengerOptions {
|
|
|
38
82
|
onOpen?: () => void;
|
|
39
83
|
onClose?: () => void;
|
|
40
84
|
onMessage?: (message: MessengerMessage, conversation: MessengerConversation) => void;
|
|
85
|
+
/** Personalisation: name, page, progress and announcements. Without it the home screen is generic. */
|
|
86
|
+
visitor?: () => MessengerVisitor;
|
|
87
|
+
/** Logo and name shown at the top of the home screen (project theme). */
|
|
88
|
+
brand?: {
|
|
89
|
+
logoUrl?: string | null;
|
|
90
|
+
name?: string | null;
|
|
91
|
+
};
|
|
92
|
+
onResumeGuide?: (guideId: string, stepId: string) => void;
|
|
93
|
+
/** The visitor saw these announcements (News tab opened). */
|
|
94
|
+
onNewsSeen?: (ids: string[]) => void;
|
|
41
95
|
hideLauncher?: boolean;
|
|
42
96
|
/** Poll intervals (ms): open thread, and unread badge while closed. */
|
|
43
97
|
pollMs?: {
|
|
@@ -54,10 +108,14 @@ interface MessengerWidget {
|
|
|
54
108
|
/** Opens a new conversation, optionally pre-filling the composer. */
|
|
55
109
|
showNewMessage(text?: string): void;
|
|
56
110
|
openArticle(id: string): void;
|
|
111
|
+
/** Re-reads the visitor (page changed, progress made) and re-renders what is showing. */
|
|
112
|
+
refresh(): void;
|
|
57
113
|
destroy(): void;
|
|
58
114
|
}
|
|
115
|
+
/** The greeting with a leading "Hi!" swapped for the visitor's name ("Hi! I'm Scout." → "Hi Maya! I'm Scout."). */
|
|
116
|
+
declare function personalGreeting(greeting: string, firstName: string | null): string;
|
|
59
117
|
declare function relativeTime(iso: string, now?: number): string;
|
|
60
118
|
/** Intercom-style messenger: launcher + panel with Home, Messages (chat with Scout / the team) and Help tabs. */
|
|
61
119
|
declare function renderMessenger(options: MessengerOptions): MessengerWidget;
|
|
62
120
|
|
|
63
|
-
export { type MessengerApi, type MessengerOptions, type MessengerStreamHandlers, type MessengerTab, type MessengerWidget, relativeTime, renderMessenger };
|
|
121
|
+
export { type MessengerApi, type MessengerChecklistProgress, type MessengerNewsItem, type MessengerOptions, type MessengerResumeGuide, type MessengerStreamHandlers, type MessengerTab, type MessengerVisitor, type MessengerWidget, personalGreeting, relativeTime, renderMessenger };
|