@wix/auto_sdk_ai-site-chat_widget-settings 1.0.6 → 1.0.7
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/build/cjs/index.d.ts +3 -3
- package/build/cjs/index.js +0 -27
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index.typings.d.ts +19 -100
- package/build/cjs/index.typings.js +0 -27
- package/build/cjs/index.typings.js.map +1 -1
- package/build/cjs/meta.d.ts +17 -98
- package/build/cjs/meta.js +0 -27
- package/build/cjs/meta.js.map +1 -1
- package/build/es/index.d.mts +3 -3
- package/build/es/index.mjs +0 -24
- package/build/es/index.mjs.map +1 -1
- package/build/es/index.typings.d.mts +19 -100
- package/build/es/index.typings.mjs +0 -24
- package/build/es/index.typings.mjs.map +1 -1
- package/build/es/meta.d.mts +17 -98
- package/build/es/meta.mjs +0 -24
- package/build/es/meta.mjs.map +1 -1
- package/build/internal/cjs/index.d.ts +3 -3
- package/build/internal/cjs/index.js +0 -27
- package/build/internal/cjs/index.js.map +1 -1
- package/build/internal/cjs/index.typings.d.ts +19 -100
- package/build/internal/cjs/index.typings.js +0 -27
- package/build/internal/cjs/index.typings.js.map +1 -1
- package/build/internal/cjs/meta.d.ts +17 -98
- package/build/internal/cjs/meta.js +0 -27
- package/build/internal/cjs/meta.js.map +1 -1
- package/build/internal/es/index.d.mts +3 -3
- package/build/internal/es/index.mjs +0 -24
- package/build/internal/es/index.mjs.map +1 -1
- package/build/internal/es/index.typings.d.mts +19 -100
- package/build/internal/es/index.typings.mjs +0 -24
- package/build/internal/es/index.typings.mjs.map +1 -1
- package/build/internal/es/meta.d.mts +17 -98
- package/build/internal/es/meta.mjs +0 -24
- package/build/internal/es/meta.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -7,14 +7,9 @@ interface WidgetSettings {
|
|
|
7
7
|
* @readonly
|
|
8
8
|
*/
|
|
9
9
|
_id?: string | null;
|
|
10
|
-
/**
|
|
11
|
-
* Whether the AI Site-Chat is enabled on the site.
|
|
12
|
-
* @deprecated Whether the AI Site-Chat is enabled on the site.
|
|
13
|
-
* @replacedBy active_hours
|
|
14
|
-
* @targetRemovalDate 2025-12-01
|
|
15
|
-
*/
|
|
10
|
+
/** Whether the AI assistant is enabled on the site. */
|
|
16
11
|
enabled?: boolean;
|
|
17
|
-
/** AI
|
|
12
|
+
/** AI assistant introduction. This is shown in the chat when a site visitor starts a new conversation. */
|
|
18
13
|
introMessage?: IntroMessage;
|
|
19
14
|
/** Settings for the contact form. */
|
|
20
15
|
contactForm?: ContactForm;
|
|
@@ -28,20 +23,20 @@ interface WidgetSettings {
|
|
|
28
23
|
* @readonly
|
|
29
24
|
*/
|
|
30
25
|
_updatedDate?: Date | null;
|
|
31
|
-
/** Whether to open the AI
|
|
26
|
+
/** Whether to open the AI assistant automatically when the site loads. */
|
|
32
27
|
autoOpen?: boolean;
|
|
33
|
-
/** Times the AI
|
|
28
|
+
/** Times the AI assistant is available on the site. */
|
|
34
29
|
activeHours?: ActiveHours;
|
|
35
|
-
/** Defines how the AI
|
|
30
|
+
/** Defines how the AI assistant functions during the non-active hours. */
|
|
36
31
|
offlineBehavior?: OfflineBehaviorWithLiterals;
|
|
37
|
-
/** Whether the AI
|
|
32
|
+
/** Whether the AI assistant should send a summary of the site visitor's navigation on the site. */
|
|
38
33
|
navigationSummary?: boolean | null;
|
|
39
34
|
/**
|
|
40
|
-
* Wix Media image ID used for the AI
|
|
35
|
+
* Wix Media image ID used for the AI assistant.
|
|
41
36
|
* @maxLength 500
|
|
42
37
|
*/
|
|
43
38
|
avatar?: string | null;
|
|
44
|
-
/** Whether to display example questions from the AI
|
|
39
|
+
/** Whether to display example questions from the AI assistant. */
|
|
45
40
|
generatedQuestions?: boolean | null;
|
|
46
41
|
}
|
|
47
42
|
/** Intro message */
|
|
@@ -71,7 +66,6 @@ interface SuggestedQuestions {
|
|
|
71
66
|
enabled?: boolean;
|
|
72
67
|
/**
|
|
73
68
|
* Suggested questions shown to the site visitor to help them get started.
|
|
74
|
-
* @minSize 1
|
|
75
69
|
* @maxSize 5
|
|
76
70
|
*/
|
|
77
71
|
questions?: SettingsMessage[];
|
|
@@ -79,25 +73,17 @@ interface SuggestedQuestions {
|
|
|
79
73
|
introduction?: SettingsMessage;
|
|
80
74
|
}
|
|
81
75
|
interface ContactForm {
|
|
82
|
-
/** When the AI
|
|
76
|
+
/** When the AI assistant should send the contact form. */
|
|
83
77
|
conditions?: Conditions;
|
|
84
78
|
/** Contact form fields. */
|
|
85
79
|
fields?: Fields;
|
|
86
|
-
/** When to show contact form if site owner is available. */
|
|
87
|
-
userConditions?: UserConditions;
|
|
88
80
|
}
|
|
89
|
-
/** Contact form conditions for AI
|
|
81
|
+
/** Contact form conditions for AI assistant */
|
|
90
82
|
interface Conditions {
|
|
91
|
-
/** Whether the AI
|
|
83
|
+
/** Whether the AI assistant should send the contact form if the AI is unable to answer the site visitor's question. */
|
|
92
84
|
cannotAnswer?: boolean;
|
|
93
|
-
/** Whether the AI
|
|
85
|
+
/** Whether the AI assistant should send the contact form if the site visitor requests to chat with a real person. */
|
|
94
86
|
requestForPerson?: boolean;
|
|
95
|
-
/**
|
|
96
|
-
* Require site visitor to fill contact form before starting a conversation.
|
|
97
|
-
* @deprecated Require site visitor to fill contact form before starting a conversation.
|
|
98
|
-
* @targetRemovalDate 2025-12-01
|
|
99
|
-
*/
|
|
100
|
-
beforeChat?: boolean | null;
|
|
101
87
|
}
|
|
102
88
|
/** Contact form fields */
|
|
103
89
|
interface Fields {
|
|
@@ -110,23 +96,9 @@ interface Fields {
|
|
|
110
96
|
/** Whether to include a message field in the form. */
|
|
111
97
|
message?: boolean;
|
|
112
98
|
}
|
|
113
|
-
/** Contact form conditions for when site owner is available */
|
|
114
|
-
interface UserConditions {
|
|
115
|
-
/** Show site visitor contact form before starting a conversation. */
|
|
116
|
-
beforeChat?: boolean;
|
|
117
|
-
/** Show site visitor contact form after their first message. */
|
|
118
|
-
afterFirstMessage?: boolean;
|
|
119
|
-
/** Never show site visitor contact form. */
|
|
120
|
-
never?: boolean;
|
|
121
|
-
}
|
|
122
99
|
/** Working hours settings */
|
|
123
100
|
interface ActiveHours {
|
|
124
|
-
/**
|
|
125
|
-
* Whether the AI Assistant is always online. If `true`, `schedule` and `timeZone` are ignored.
|
|
126
|
-
* @deprecated Whether the AI Assistant is always online. If `true`, `schedule` and `timeZone` are ignored.
|
|
127
|
-
* @replacedBy availability
|
|
128
|
-
* @targetRemovalDate 2025-12-01
|
|
129
|
-
*/
|
|
101
|
+
/** Whether the AI Assistant is always online. If `true`, `schedule` and `timeZone` are ignored. */
|
|
130
102
|
always?: boolean;
|
|
131
103
|
/** Times at which the AI Assistant is online. */
|
|
132
104
|
schedule?: Schedule;
|
|
@@ -135,8 +107,6 @@ interface ActiveHours {
|
|
|
135
107
|
* @maxLength 256
|
|
136
108
|
*/
|
|
137
109
|
timeZone?: string;
|
|
138
|
-
/** Hours when AI assistant or site owner are available. */
|
|
139
|
-
mode?: ChatHandlerModeWithLiterals;
|
|
140
110
|
}
|
|
141
111
|
/** Schedule */
|
|
142
112
|
interface Schedule {
|
|
@@ -160,7 +130,7 @@ interface DaySchedule {
|
|
|
160
130
|
/** Whether the day is enabled. */
|
|
161
131
|
enabled?: boolean;
|
|
162
132
|
/**
|
|
163
|
-
* Array of times during which the AI
|
|
133
|
+
* Array of times during which the AI assistant or Wix user are available to respond to messages from site visitors in the site chat.
|
|
164
134
|
* @maxSize 24
|
|
165
135
|
*/
|
|
166
136
|
frames?: WorkingHoursFrame[];
|
|
@@ -171,43 +141,13 @@ interface WorkingHoursFrame {
|
|
|
171
141
|
start?: number;
|
|
172
142
|
/** End time of the active hours. */
|
|
173
143
|
end?: number;
|
|
174
|
-
/** Who is available during timeframe, AI chat or user chat */
|
|
175
|
-
frameType?: FrameHandlerTypeWithLiterals;
|
|
176
|
-
}
|
|
177
|
-
/** Who is available during timeframe, AI chat or user chat */
|
|
178
|
-
declare enum FrameHandlerType {
|
|
179
|
-
/** Unknown frame type. */
|
|
180
|
-
UNKNOWN_FRAME_TYPE = "UNKNOWN_FRAME_TYPE",
|
|
181
|
-
/** Frame type not selected. */
|
|
182
|
-
NOT_SELECTED = "NOT_SELECTED",
|
|
183
|
-
/** AI Chat available in time frame. */
|
|
184
|
-
AI_CHAT = "AI_CHAT",
|
|
185
|
-
/** Chat with human in time frame. */
|
|
186
|
-
WIX_USER_CHAT = "WIX_USER_CHAT"
|
|
187
|
-
}
|
|
188
|
-
/** @enumType */
|
|
189
|
-
type FrameHandlerTypeWithLiterals = FrameHandlerType | 'UNKNOWN_FRAME_TYPE' | 'NOT_SELECTED' | 'AI_CHAT' | 'WIX_USER_CHAT';
|
|
190
|
-
/** Chat availability options */
|
|
191
|
-
declare enum ChatHandlerMode {
|
|
192
|
-
/** Unknown availability. */
|
|
193
|
-
UNKNOWN_MODE = "UNKNOWN_MODE",
|
|
194
|
-
/** AI assistant is always available. */
|
|
195
|
-
ALWAYS_WITH_AI = "ALWAYS_WITH_AI",
|
|
196
|
-
/** Chat with site owner is always available. */
|
|
197
|
-
ALWAYS_WITH_WIX_USER = "ALWAYS_WITH_WIX_USER",
|
|
198
|
-
/** AI and site owner are available according to schedule. */
|
|
199
|
-
SCHEDULED = "SCHEDULED",
|
|
200
|
-
/** AI assistant and site owner are always offline. */
|
|
201
|
-
OFF = "OFF"
|
|
202
144
|
}
|
|
203
|
-
/** @enumType */
|
|
204
|
-
type ChatHandlerModeWithLiterals = ChatHandlerMode | 'UNKNOWN_MODE' | 'ALWAYS_WITH_AI' | 'ALWAYS_WITH_WIX_USER' | 'SCHEDULED' | 'OFF';
|
|
205
145
|
declare enum OfflineBehavior {
|
|
206
146
|
/** Unknown offline behavior. */
|
|
207
147
|
UNKNOWN_OFFLINE_BEHAVIOR = "UNKNOWN_OFFLINE_BEHAVIOR",
|
|
208
148
|
/** Allows the site visitor to write messages, but doesn't send a contact form. */
|
|
209
149
|
CHAT_ONLY = "CHAT_ONLY",
|
|
210
|
-
/** Hides the AI
|
|
150
|
+
/** Hides the AI assistant from the site. */
|
|
211
151
|
HIDE = "HIDE",
|
|
212
152
|
/** Doesn't allow the site visitor to write messages, but does send a contact form. */
|
|
213
153
|
CONTACT_FORM_WITHOUT_CHAT = "CONTACT_FORM_WITHOUT_CHAT",
|
|
@@ -221,30 +161,9 @@ interface GetWidgetSettingsRequest {
|
|
|
221
161
|
interface GetWidgetSettingsResponse {
|
|
222
162
|
/** Retrieved widget settings. */
|
|
223
163
|
widgetSettings?: WidgetSettings;
|
|
224
|
-
/**
|
|
225
|
-
* Whether the assistant is currently online.
|
|
226
|
-
* @readonly
|
|
227
|
-
* @deprecated Whether the assistant is currently online.
|
|
228
|
-
* @replacedBy active_handlers
|
|
229
|
-
* @targetRemovalDate 2025-12-01
|
|
230
|
-
*/
|
|
164
|
+
/** Whether the assistant is currently online. */
|
|
231
165
|
assistantOnline?: boolean;
|
|
232
|
-
/**
|
|
233
|
-
* Active chat handlers (e.g., AI assistant, site owner).
|
|
234
|
-
* @readonly
|
|
235
|
-
*/
|
|
236
|
-
activeHandlers?: ChatHandlerWithLiterals[];
|
|
237
166
|
}
|
|
238
|
-
declare enum ChatHandler {
|
|
239
|
-
/** Unknown handler. */
|
|
240
|
-
UNKNOWN_HANDLER = "UNKNOWN_HANDLER",
|
|
241
|
-
/** AI assistant is handling chats. */
|
|
242
|
-
AI = "AI",
|
|
243
|
-
/** Site owner is handling chats. */
|
|
244
|
-
WIX_USER = "WIX_USER"
|
|
245
|
-
}
|
|
246
|
-
/** @enumType */
|
|
247
|
-
type ChatHandlerWithLiterals = ChatHandler | 'UNKNOWN_HANDLER' | 'AI' | 'WIX_USER';
|
|
248
167
|
interface SetWidgetSettingsRequest {
|
|
249
168
|
/** Widget settings to update. */
|
|
250
169
|
widgetSettings: WidgetSettings;
|
|
@@ -260,7 +179,7 @@ interface SetWidgetSettingsResponse {
|
|
|
260
179
|
* @applicableIdentity APP
|
|
261
180
|
* @fqn wix.innovation.assistant.widget.v1.Settings.GetWidgetSettings
|
|
262
181
|
*/
|
|
263
|
-
declare function getWidgetSettings(): Promise<NonNullablePaths<GetWidgetSettingsResponse, `widgetSettings.enabled` | `widgetSettings.introMessage.message.enabled` | `widgetSettings.introMessage.message.text` | `widgetSettings.introMessage.suggestions.enabled` | `widgetSettings.introMessage.suggestions.questions` | `widgetSettings.contactForm.conditions.cannotAnswer` | `widgetSettings.contactForm.conditions.requestForPerson` | `widgetSettings.contactForm.fields.name` | `widgetSettings.contactForm.fields.email` | `widgetSettings.contactForm.fields.phone` | `widgetSettings.contactForm.fields.message` | `widgetSettings.
|
|
182
|
+
declare function getWidgetSettings(): Promise<NonNullablePaths<GetWidgetSettingsResponse, `widgetSettings.enabled` | `widgetSettings.introMessage.message.enabled` | `widgetSettings.introMessage.message.text` | `widgetSettings.introMessage.suggestions.enabled` | `widgetSettings.introMessage.suggestions.questions` | `widgetSettings.contactForm.conditions.cannotAnswer` | `widgetSettings.contactForm.conditions.requestForPerson` | `widgetSettings.contactForm.fields.name` | `widgetSettings.contactForm.fields.email` | `widgetSettings.contactForm.fields.phone` | `widgetSettings.contactForm.fields.message` | `widgetSettings.autoOpen` | `widgetSettings.activeHours.always` | `widgetSettings.activeHours.schedule.monday.enabled` | `widgetSettings.activeHours.schedule.monday.frames` | `widgetSettings.activeHours.schedule.monday.frames.${number}.start` | `widgetSettings.activeHours.schedule.monday.frames.${number}.end` | `widgetSettings.activeHours.timeZone` | `widgetSettings.offlineBehavior` | `assistantOnline`, 8>>;
|
|
264
183
|
/**
|
|
265
184
|
* Sets the widget settings for the site.
|
|
266
185
|
* @param widgetSettings - Widget settings to update.
|
|
@@ -276,6 +195,6 @@ declare function getWidgetSettings(): Promise<NonNullablePaths<GetWidgetSettings
|
|
|
276
195
|
* @applicableIdentity APP
|
|
277
196
|
* @fqn wix.innovation.assistant.widget.v1.Settings.SetWidgetSettings
|
|
278
197
|
*/
|
|
279
|
-
declare function setWidgetSettings(widgetSettings: NonNullablePaths<WidgetSettings, `activeHours` | `contactForm` | `contactForm.conditions` | `contactForm.fields` | `introMessage` | `offlineBehavior`, 3>): Promise<NonNullablePaths<SetWidgetSettingsResponse, `widgetSettings.enabled` | `widgetSettings.introMessage.message.enabled` | `widgetSettings.introMessage.message.text` | `widgetSettings.introMessage.suggestions.enabled` | `widgetSettings.introMessage.suggestions.questions` | `widgetSettings.contactForm.conditions.cannotAnswer` | `widgetSettings.contactForm.conditions.requestForPerson` | `widgetSettings.contactForm.fields.name` | `widgetSettings.contactForm.fields.email` | `widgetSettings.contactForm.fields.phone` | `widgetSettings.contactForm.fields.message` | `widgetSettings.
|
|
198
|
+
declare function setWidgetSettings(widgetSettings: NonNullablePaths<WidgetSettings, `activeHours` | `contactForm` | `contactForm.conditions` | `contactForm.fields` | `introMessage` | `offlineBehavior`, 3>): Promise<NonNullablePaths<SetWidgetSettingsResponse, `widgetSettings.enabled` | `widgetSettings.introMessage.message.enabled` | `widgetSettings.introMessage.message.text` | `widgetSettings.introMessage.suggestions.enabled` | `widgetSettings.introMessage.suggestions.questions` | `widgetSettings.contactForm.conditions.cannotAnswer` | `widgetSettings.contactForm.conditions.requestForPerson` | `widgetSettings.contactForm.fields.name` | `widgetSettings.contactForm.fields.email` | `widgetSettings.contactForm.fields.phone` | `widgetSettings.contactForm.fields.message` | `widgetSettings.autoOpen` | `widgetSettings.activeHours.always` | `widgetSettings.activeHours.schedule.monday.enabled` | `widgetSettings.activeHours.schedule.monday.frames` | `widgetSettings.activeHours.schedule.monday.frames.${number}.start` | `widgetSettings.activeHours.schedule.monday.frames.${number}.end` | `widgetSettings.activeHours.timeZone` | `widgetSettings.offlineBehavior`, 8>>;
|
|
280
199
|
|
|
281
|
-
export { type ActiveHours,
|
|
200
|
+
export { type ActiveHours, type Conditions, type ContactForm, type DaySchedule, type Fields, type GetWidgetSettingsRequest, type GetWidgetSettingsResponse, type IntroMessage, OfflineBehavior, type OfflineBehaviorWithLiterals, type Schedule, type SetWidgetSettingsRequest, type SetWidgetSettingsResponse, type SettingsMessage, type SuggestedQuestions, type WidgetSettings, type WorkingHoursFrame, getWidgetSettings, setWidgetSettings };
|
|
@@ -146,21 +146,6 @@ function setWidgetSettings(payload) {
|
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
// src/innovation-widget-v1-widget-settings-widget-settings.universal.ts
|
|
149
|
-
var FrameHandlerType = /* @__PURE__ */ ((FrameHandlerType2) => {
|
|
150
|
-
FrameHandlerType2["UNKNOWN_FRAME_TYPE"] = "UNKNOWN_FRAME_TYPE";
|
|
151
|
-
FrameHandlerType2["NOT_SELECTED"] = "NOT_SELECTED";
|
|
152
|
-
FrameHandlerType2["AI_CHAT"] = "AI_CHAT";
|
|
153
|
-
FrameHandlerType2["WIX_USER_CHAT"] = "WIX_USER_CHAT";
|
|
154
|
-
return FrameHandlerType2;
|
|
155
|
-
})(FrameHandlerType || {});
|
|
156
|
-
var ChatHandlerMode = /* @__PURE__ */ ((ChatHandlerMode2) => {
|
|
157
|
-
ChatHandlerMode2["UNKNOWN_MODE"] = "UNKNOWN_MODE";
|
|
158
|
-
ChatHandlerMode2["ALWAYS_WITH_AI"] = "ALWAYS_WITH_AI";
|
|
159
|
-
ChatHandlerMode2["ALWAYS_WITH_WIX_USER"] = "ALWAYS_WITH_WIX_USER";
|
|
160
|
-
ChatHandlerMode2["SCHEDULED"] = "SCHEDULED";
|
|
161
|
-
ChatHandlerMode2["OFF"] = "OFF";
|
|
162
|
-
return ChatHandlerMode2;
|
|
163
|
-
})(ChatHandlerMode || {});
|
|
164
149
|
var OfflineBehavior = /* @__PURE__ */ ((OfflineBehavior2) => {
|
|
165
150
|
OfflineBehavior2["UNKNOWN_OFFLINE_BEHAVIOR"] = "UNKNOWN_OFFLINE_BEHAVIOR";
|
|
166
151
|
OfflineBehavior2["CHAT_ONLY"] = "CHAT_ONLY";
|
|
@@ -169,12 +154,6 @@ var OfflineBehavior = /* @__PURE__ */ ((OfflineBehavior2) => {
|
|
|
169
154
|
OfflineBehavior2["CONTACT_FORM_WITH_CHAT"] = "CONTACT_FORM_WITH_CHAT";
|
|
170
155
|
return OfflineBehavior2;
|
|
171
156
|
})(OfflineBehavior || {});
|
|
172
|
-
var ChatHandler = /* @__PURE__ */ ((ChatHandler2) => {
|
|
173
|
-
ChatHandler2["UNKNOWN_HANDLER"] = "UNKNOWN_HANDLER";
|
|
174
|
-
ChatHandler2["AI"] = "AI";
|
|
175
|
-
ChatHandler2["WIX_USER"] = "WIX_USER";
|
|
176
|
-
return ChatHandler2;
|
|
177
|
-
})(ChatHandler || {});
|
|
178
157
|
async function getWidgetSettings2() {
|
|
179
158
|
const { httpClient, sideEffects } = arguments[0];
|
|
180
159
|
const payload = renameKeysFromSDKRequestToRESTRequest({});
|
|
@@ -224,9 +203,6 @@ async function setWidgetSettings2(widgetSettings) {
|
|
|
224
203
|
}
|
|
225
204
|
}
|
|
226
205
|
export {
|
|
227
|
-
ChatHandler,
|
|
228
|
-
ChatHandlerMode,
|
|
229
|
-
FrameHandlerType,
|
|
230
206
|
OfflineBehavior,
|
|
231
207
|
getWidgetSettings2 as getWidgetSettings,
|
|
232
208
|
setWidgetSettings2 as setWidgetSettings
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/innovation-widget-v1-widget-settings-widget-settings.universal.ts","../../src/innovation-widget-v1-widget-settings-widget-settings.http.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixInnovationWidgetV1WidgetSettings from './innovation-widget-v1-widget-settings-widget-settings.http.js';\n\nexport interface WidgetSettings {\n /**\n * Widget settings ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Whether the AI Site-Chat is enabled on the site.\n * @deprecated Whether the AI Site-Chat is enabled on the site.\n * @replacedBy active_hours\n * @targetRemovalDate 2025-12-01\n */\n enabled?: boolean;\n /** AI Site-Chat introduction. This is shown in the chat when a site visitor starts a new conversation. */\n introMessage?: IntroMessage;\n /** Settings for the contact form. */\n contactForm?: ContactForm;\n /**\n * Date and time the widget settings were created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the widget settings were updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /** Whether to open the AI Site-Chat automatically when the site loads. */\n autoOpen?: boolean;\n /** Times the AI Site-Chat is available on the site. */\n activeHours?: ActiveHours;\n /** Defines how the AI Site-Chat functions during the non-active hours. */\n offlineBehavior?: OfflineBehaviorWithLiterals;\n /** Whether the AI Site-Chat should send a summary of the site visitor's navigation on the site. */\n navigationSummary?: boolean | null;\n /**\n * Wix Media image ID used for the AI Site-Chat.\n * @maxLength 500\n */\n avatar?: string | null;\n /** Whether to display example questions from the AI Site-Chat. */\n generatedQuestions?: boolean | null;\n}\n\n/** Intro message */\nexport interface IntroMessage {\n /** Main message settings. */\n message?: SettingsMessage;\n /** Legal disclaimer message settings. */\n legalDisclaimer?: SettingsMessage;\n /** Offline message settings. */\n offlineDisclaimer?: SettingsMessage;\n /** Message shown as popup to engage the site visitor with the AI assistant. */\n engage?: SettingsMessage;\n /** Suggested questions shown to the site visitor to help them get started. */\n suggestions?: SuggestedQuestions;\n}\n\nexport interface SettingsMessage {\n /** Whether the message is enabled. */\n enabled?: boolean;\n /**\n * Message content.\n * @maxLength 1000\n */\n text?: string;\n}\n\nexport interface SuggestedQuestions {\n /** Whether suggesting questions is enabled. */\n enabled?: boolean;\n /**\n * Suggested questions shown to the site visitor to help them get started.\n * @minSize 1\n * @maxSize 5\n */\n questions?: SettingsMessage[];\n /** Introduction message for the suggested questions. */\n introduction?: SettingsMessage;\n}\n\nexport interface ContactForm {\n /** When the AI Site-Chat should send the contact form. */\n conditions?: Conditions;\n /** Contact form fields. */\n fields?: Fields;\n /** When to show contact form if site owner is available. */\n userConditions?: UserConditions;\n}\n\n/** Contact form conditions for AI Site-Chat */\nexport interface Conditions {\n /** Whether the AI Site-Chat should send the contact form if the AI is unable to answer the site visitor's question. */\n cannotAnswer?: boolean;\n /** Whether the AI Site-Chat should send the contact form if the site visitor requests to chat with a real person. */\n requestForPerson?: boolean;\n /**\n * Require site visitor to fill contact form before starting a conversation.\n * @deprecated Require site visitor to fill contact form before starting a conversation.\n * @targetRemovalDate 2025-12-01\n */\n beforeChat?: boolean | null;\n}\n\n/** Contact form fields */\nexport interface Fields {\n /** Whether to include a name field in the form. */\n name?: boolean;\n /** Whether to include an email field in the form. */\n email?: boolean;\n /** Whether to include a phone number field in the form. */\n phone?: boolean;\n /** Whether to include a message field in the form. */\n message?: boolean;\n}\n\n/** Contact form conditions for when site owner is available */\nexport interface UserConditions {\n /** Show site visitor contact form before starting a conversation. */\n beforeChat?: boolean;\n /** Show site visitor contact form after their first message. */\n afterFirstMessage?: boolean;\n /** Never show site visitor contact form. */\n never?: boolean;\n}\n\n/** Working hours settings */\nexport interface ActiveHours {\n /**\n * Whether the AI Assistant is always online. If `true`, `schedule` and `timeZone` are ignored.\n * @deprecated Whether the AI Assistant is always online. If `true`, `schedule` and `timeZone` are ignored.\n * @replacedBy availability\n * @targetRemovalDate 2025-12-01\n */\n always?: boolean;\n /** Times at which the AI Assistant is online. */\n schedule?: Schedule;\n /**\n * Timezone used for the schedule.\n * @maxLength 256\n */\n timeZone?: string;\n /** Hours when AI assistant or site owner are available. */\n mode?: ChatHandlerModeWithLiterals;\n}\n\n/** Schedule */\nexport interface Schedule {\n /** Monday schedule. */\n monday?: DaySchedule;\n /** Tuesday schedule. */\n tuesday?: DaySchedule;\n /** Wednesday schedule. */\n wednesday?: DaySchedule;\n /** Thursday schedule. */\n thursday?: DaySchedule;\n /** Friday schedule. */\n friday?: DaySchedule;\n /** Saturday schedule. */\n saturday?: DaySchedule;\n /** Sunday schedule. */\n sunday?: DaySchedule;\n}\n\n/** Day schedule */\nexport interface DaySchedule {\n /** Whether the day is enabled. */\n enabled?: boolean;\n /**\n * Array of times during which the AI Site-Chat or site owner are available.\n * @maxSize 24\n */\n frames?: WorkingHoursFrame[];\n}\n\n/** Working hours frame */\nexport interface WorkingHoursFrame {\n /** Start time of the active hours. */\n start?: number;\n /** End time of the active hours. */\n end?: number;\n /** Who is available during timeframe, AI chat or user chat */\n frameType?: FrameHandlerTypeWithLiterals;\n}\n\n/** Who is available during timeframe, AI chat or user chat */\nexport enum FrameHandlerType {\n /** Unknown frame type. */\n UNKNOWN_FRAME_TYPE = 'UNKNOWN_FRAME_TYPE',\n /** Frame type not selected. */\n NOT_SELECTED = 'NOT_SELECTED',\n /** AI Chat available in time frame. */\n AI_CHAT = 'AI_CHAT',\n /** Chat with human in time frame. */\n WIX_USER_CHAT = 'WIX_USER_CHAT',\n}\n\n/** @enumType */\nexport type FrameHandlerTypeWithLiterals =\n | FrameHandlerType\n | 'UNKNOWN_FRAME_TYPE'\n | 'NOT_SELECTED'\n | 'AI_CHAT'\n | 'WIX_USER_CHAT';\n\n/** Chat availability options */\nexport enum ChatHandlerMode {\n /** Unknown availability. */\n UNKNOWN_MODE = 'UNKNOWN_MODE',\n /** AI assistant is always available. */\n ALWAYS_WITH_AI = 'ALWAYS_WITH_AI',\n /** Chat with site owner is always available. */\n ALWAYS_WITH_WIX_USER = 'ALWAYS_WITH_WIX_USER',\n /** AI and site owner are available according to schedule. */\n SCHEDULED = 'SCHEDULED',\n /** AI assistant and site owner are always offline. */\n OFF = 'OFF',\n}\n\n/** @enumType */\nexport type ChatHandlerModeWithLiterals =\n | ChatHandlerMode\n | 'UNKNOWN_MODE'\n | 'ALWAYS_WITH_AI'\n | 'ALWAYS_WITH_WIX_USER'\n | 'SCHEDULED'\n | 'OFF';\n\nexport enum OfflineBehavior {\n /** Unknown offline behavior. */\n UNKNOWN_OFFLINE_BEHAVIOR = 'UNKNOWN_OFFLINE_BEHAVIOR',\n /** Allows the site visitor to write messages, but doesn't send a contact form. */\n CHAT_ONLY = 'CHAT_ONLY',\n /** Hides the AI Site-Chat from the site. */\n HIDE = 'HIDE',\n /** Doesn't allow the site visitor to write messages, but does send a contact form. */\n CONTACT_FORM_WITHOUT_CHAT = 'CONTACT_FORM_WITHOUT_CHAT',\n /** Allows the site visitor to write messages and sends a contact form. */\n CONTACT_FORM_WITH_CHAT = 'CONTACT_FORM_WITH_CHAT',\n}\n\n/** @enumType */\nexport type OfflineBehaviorWithLiterals =\n | OfflineBehavior\n | 'UNKNOWN_OFFLINE_BEHAVIOR'\n | 'CHAT_ONLY'\n | 'HIDE'\n | 'CONTACT_FORM_WITHOUT_CHAT'\n | 'CONTACT_FORM_WITH_CHAT';\n\nexport interface GetWidgetSettingsRequest {}\n\nexport interface GetWidgetSettingsResponse {\n /** Retrieved widget settings. */\n widgetSettings?: WidgetSettings;\n /**\n * Whether the assistant is currently online.\n * @readonly\n * @deprecated Whether the assistant is currently online.\n * @replacedBy active_handlers\n * @targetRemovalDate 2025-12-01\n */\n assistantOnline?: boolean;\n /**\n * Active chat handlers (e.g., AI assistant, site owner).\n * @readonly\n */\n activeHandlers?: ChatHandlerWithLiterals[];\n}\n\nexport enum ChatHandler {\n /** Unknown handler. */\n UNKNOWN_HANDLER = 'UNKNOWN_HANDLER',\n /** AI assistant is handling chats. */\n AI = 'AI',\n /** Site owner is handling chats. */\n WIX_USER = 'WIX_USER',\n}\n\n/** @enumType */\nexport type ChatHandlerWithLiterals =\n | ChatHandler\n | 'UNKNOWN_HANDLER'\n | 'AI'\n | 'WIX_USER';\n\nexport interface SetWidgetSettingsRequest {\n /** Widget settings to update. */\n widgetSettings: WidgetSettings;\n}\n\nexport interface SetWidgetSettingsResponse {\n /** Updated widget settings. */\n widgetSettings?: WidgetSettings;\n}\n\n/**\n * Retrieves the widget settings for the site.\n * @public\n * @permissionId INNOVATION_LAB.CHAT_WIDGET_SETTINGS_READ\n * @applicableIdentity APP\n * @fqn wix.innovation.assistant.widget.v1.Settings.GetWidgetSettings\n */\nexport async function getWidgetSettings(): Promise<\n NonNullablePaths<\n GetWidgetSettingsResponse,\n | `widgetSettings.enabled`\n | `widgetSettings.introMessage.message.enabled`\n | `widgetSettings.introMessage.message.text`\n | `widgetSettings.introMessage.suggestions.enabled`\n | `widgetSettings.introMessage.suggestions.questions`\n | `widgetSettings.contactForm.conditions.cannotAnswer`\n | `widgetSettings.contactForm.conditions.requestForPerson`\n | `widgetSettings.contactForm.fields.name`\n | `widgetSettings.contactForm.fields.email`\n | `widgetSettings.contactForm.fields.phone`\n | `widgetSettings.contactForm.fields.message`\n | `widgetSettings.contactForm.userConditions.beforeChat`\n | `widgetSettings.contactForm.userConditions.afterFirstMessage`\n | `widgetSettings.contactForm.userConditions.never`\n | `widgetSettings.autoOpen`\n | `widgetSettings.activeHours.always`\n | `widgetSettings.activeHours.schedule.monday.enabled`\n | `widgetSettings.activeHours.schedule.monday.frames`\n | `widgetSettings.activeHours.schedule.monday.frames.${number}.start`\n | `widgetSettings.activeHours.schedule.monday.frames.${number}.end`\n | `widgetSettings.activeHours.schedule.monday.frames.${number}.frameType`\n | `widgetSettings.activeHours.timeZone`\n | `widgetSettings.activeHours.mode`\n | `widgetSettings.offlineBehavior`\n | `assistantOnline`\n | `activeHandlers`,\n 8\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts =\n ambassadorWixInnovationWidgetV1WidgetSettings.getWidgetSettings(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Sets the widget settings for the site.\n * @param widgetSettings - Widget settings to update.\n * @public\n * @requiredField widgetSettings\n * @requiredField widgetSettings.activeHours\n * @requiredField widgetSettings.contactForm\n * @requiredField widgetSettings.contactForm.conditions\n * @requiredField widgetSettings.contactForm.fields\n * @requiredField widgetSettings.introMessage\n * @requiredField widgetSettings.offlineBehavior\n * @permissionId INNOVATION_LAB.CHAT_WIDGET_SETTINGS_WRITE\n * @applicableIdentity APP\n * @fqn wix.innovation.assistant.widget.v1.Settings.SetWidgetSettings\n */\nexport async function setWidgetSettings(\n widgetSettings: NonNullablePaths<\n WidgetSettings,\n | `activeHours`\n | `contactForm`\n | `contactForm.conditions`\n | `contactForm.fields`\n | `introMessage`\n | `offlineBehavior`,\n 3\n >\n): Promise<\n NonNullablePaths<\n SetWidgetSettingsResponse,\n | `widgetSettings.enabled`\n | `widgetSettings.introMessage.message.enabled`\n | `widgetSettings.introMessage.message.text`\n | `widgetSettings.introMessage.suggestions.enabled`\n | `widgetSettings.introMessage.suggestions.questions`\n | `widgetSettings.contactForm.conditions.cannotAnswer`\n | `widgetSettings.contactForm.conditions.requestForPerson`\n | `widgetSettings.contactForm.fields.name`\n | `widgetSettings.contactForm.fields.email`\n | `widgetSettings.contactForm.fields.phone`\n | `widgetSettings.contactForm.fields.message`\n | `widgetSettings.contactForm.userConditions.beforeChat`\n | `widgetSettings.contactForm.userConditions.afterFirstMessage`\n | `widgetSettings.contactForm.userConditions.never`\n | `widgetSettings.autoOpen`\n | `widgetSettings.activeHours.always`\n | `widgetSettings.activeHours.schedule.monday.enabled`\n | `widgetSettings.activeHours.schedule.monday.frames`\n | `widgetSettings.activeHours.schedule.monday.frames.${number}.start`\n | `widgetSettings.activeHours.schedule.monday.frames.${number}.end`\n | `widgetSettings.activeHours.schedule.monday.frames.${number}.frameType`\n | `widgetSettings.activeHours.timeZone`\n | `widgetSettings.activeHours.mode`\n | `widgetSettings.offlineBehavior`,\n 8\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n widgetSettings: widgetSettings,\n });\n\n const reqOpts =\n ambassadorWixInnovationWidgetV1WidgetSettings.setWidgetSettings(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { widgetSettings: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['widgetSettings']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixInnovationAssistantWidgetV1SettingsUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'manage._base_domain_': [\n {\n srcPath: '/wix-assistant-widget',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/wix-assistant-widget',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/wix-assistant-widget',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/wix-assistant-widget',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/wix-assistant-widget',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/wix-assistant-widget',\n destPath: '',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/wix-assistant-widget',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/wix-assistant-widget',\n destPath: '',\n },\n {\n srcPath: '/innovation/widget',\n destPath: '',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/wix-assistant-widget',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_ai-site-chat_widget-settings';\n\n/** Retrieves the widget settings for the site. */\nexport function getWidgetSettings(payload: object): RequestOptionsFactory<any> {\n function __getWidgetSettings({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.innovation.widget.v1.widget_settings',\n method: 'GET' as any,\n methodFqn:\n 'wix.innovation.assistant.widget.v1.Settings.GetWidgetSettings',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixInnovationAssistantWidgetV1SettingsUrl({\n protoPath: '/v1/settings',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'widgetSettings.createdDate' },\n { path: 'widgetSettings.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getWidgetSettings;\n}\n\n/** Sets the widget settings for the site. */\nexport function setWidgetSettings(payload: object): RequestOptionsFactory<any> {\n function __setWidgetSettings({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'widgetSettings.createdDate' },\n { path: 'widgetSettings.updatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.innovation.widget.v1.widget_settings',\n method: 'POST' as any,\n methodFqn:\n 'wix.innovation.assistant.widget.v1.Settings.SetWidgetSettings',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixInnovationAssistantWidgetV1SettingsUrl({\n protoPath: '/v1/settings',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'widgetSettings.createdDate' },\n { path: 'widgetSettings.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __setWidgetSettings;\n}\n"],"mappings":";AAAA,SAAS,kBAAkB,yBAAyB;AACpD;AAAA,EACE;AAAA,EACA;AAAA,OACK;;;ACJP,SAAS,yBAAyB;AAClC,SAAS,4CAA4C;AACrD,SAAS,4CAA4C;AACrD,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB;AAI3B,SAAS,iDACP,MACA;AACA,QAAM,mBAAmB;AAAA,IACvB,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,GAAG;AAAA,MACD;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEA,SAAO,WAAW,OAAO,OAAO,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC7D;AAEA,IAAM,eAAe;AAGd,SAAS,kBAAkB,SAA6C;AAC7E,WAAS,oBAAoB,EAAE,KAAK,GAAQ;AAC1C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,QAAQ,kBAAkB,OAAO;AAAA,MACjC,mBAAmB,CAACA,aAClB,eAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,6BAA6B;AAAA,YACrC,EAAE,MAAM,6BAA6B;AAAA,UACvC;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,kBAAkB,SAA6C;AAC7E,WAAS,oBAAoB,EAAE,KAAK,GAAQ;AAC1C,UAAM,iBAAiB,eAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,6BAA6B;AAAA,UACrC,EAAE,MAAM,6BAA6B;AAAA,QACvC;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,iDAAiD;AAAA,QACpD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,aAClB,eAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,6BAA6B;AAAA,YACrC,EAAE,MAAM,6BAA6B;AAAA,UACvC;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;;;ADuCO,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,kBAAA,wBAAqB;AAErB,EAAAA,kBAAA,kBAAe;AAEf,EAAAA,kBAAA,aAAU;AAEV,EAAAA,kBAAA,mBAAgB;AARN,SAAAA;AAAA,GAAA;AAoBL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,iBAAA,kBAAe;AAEf,EAAAA,iBAAA,oBAAiB;AAEjB,EAAAA,iBAAA,0BAAuB;AAEvB,EAAAA,iBAAA,eAAY;AAEZ,EAAAA,iBAAA,SAAM;AAVI,SAAAA;AAAA,GAAA;AAsBL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,iBAAA,8BAA2B;AAE3B,EAAAA,iBAAA,eAAY;AAEZ,EAAAA,iBAAA,UAAO;AAEP,EAAAA,iBAAA,+BAA4B;AAE5B,EAAAA,iBAAA,4BAAyB;AAVf,SAAAA;AAAA,GAAA;AA0CL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,qBAAkB;AAElB,EAAAA,aAAA,QAAK;AAEL,EAAAA,aAAA,cAAW;AAND,SAAAA;AAAA,GAAA;AAiCZ,eAAsBC,qBA+BpB;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC,CAAC,CAAC;AAExD,QAAM,UAC0C,kBAAkB,OAAO;AAEzE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,WAAO,wCAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,CAAC;AAAA,QAC3B,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,IACH;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAiBA,eAAsBC,mBACpB,gBAuCA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD;AAAA,EACF,CAAC;AAED,QAAM,UAC0C,kBAAkB,OAAO;AAEzE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,WAAO,wCAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,gBAAgB,OAAO;AAAA,QACnD,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,gBAAgB;AAAA,IACnB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;","names":["payload","FrameHandlerType","ChatHandlerMode","OfflineBehavior","ChatHandler","getWidgetSettings","setWidgetSettings"]}
|
|
1
|
+
{"version":3,"sources":["../../src/innovation-widget-v1-widget-settings-widget-settings.universal.ts","../../src/innovation-widget-v1-widget-settings-widget-settings.http.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixInnovationWidgetV1WidgetSettings from './innovation-widget-v1-widget-settings-widget-settings.http.js';\n\nexport interface WidgetSettings {\n /**\n * Widget settings ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /** Whether the AI assistant is enabled on the site. */\n enabled?: boolean;\n /** AI assistant introduction. This is shown in the chat when a site visitor starts a new conversation. */\n introMessage?: IntroMessage;\n /** Settings for the contact form. */\n contactForm?: ContactForm;\n /**\n * Date and time the widget settings were created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the widget settings were updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /** Whether to open the AI assistant automatically when the site loads. */\n autoOpen?: boolean;\n /** Times the AI assistant is available on the site. */\n activeHours?: ActiveHours;\n /** Defines how the AI assistant functions during the non-active hours. */\n offlineBehavior?: OfflineBehaviorWithLiterals;\n /** Whether the AI assistant should send a summary of the site visitor's navigation on the site. */\n navigationSummary?: boolean | null;\n /**\n * Wix Media image ID used for the AI assistant.\n * @maxLength 500\n */\n avatar?: string | null;\n /** Whether to display example questions from the AI assistant. */\n generatedQuestions?: boolean | null;\n}\n\n/** Intro message */\nexport interface IntroMessage {\n /** Main message settings. */\n message?: SettingsMessage;\n /** Legal disclaimer message settings. */\n legalDisclaimer?: SettingsMessage;\n /** Offline message settings. */\n offlineDisclaimer?: SettingsMessage;\n /** Message shown as popup to engage the site visitor with the AI assistant. */\n engage?: SettingsMessage;\n /** Suggested questions shown to the site visitor to help them get started. */\n suggestions?: SuggestedQuestions;\n}\n\nexport interface SettingsMessage {\n /** Whether the message is enabled. */\n enabled?: boolean;\n /**\n * Message content.\n * @maxLength 1000\n */\n text?: string;\n}\n\nexport interface SuggestedQuestions {\n /** Whether suggesting questions is enabled. */\n enabled?: boolean;\n /**\n * Suggested questions shown to the site visitor to help them get started.\n * @maxSize 5\n */\n questions?: SettingsMessage[];\n /** Introduction message for the suggested questions. */\n introduction?: SettingsMessage;\n}\n\nexport interface ContactForm {\n /** When the AI assistant should send the contact form. */\n conditions?: Conditions;\n /** Contact form fields. */\n fields?: Fields;\n}\n\n/** Contact form conditions for AI assistant */\nexport interface Conditions {\n /** Whether the AI assistant should send the contact form if the AI is unable to answer the site visitor's question. */\n cannotAnswer?: boolean;\n /** Whether the AI assistant should send the contact form if the site visitor requests to chat with a real person. */\n requestForPerson?: boolean;\n}\n\n/** Contact form fields */\nexport interface Fields {\n /** Whether to include a name field in the form. */\n name?: boolean;\n /** Whether to include an email field in the form. */\n email?: boolean;\n /** Whether to include a phone number field in the form. */\n phone?: boolean;\n /** Whether to include a message field in the form. */\n message?: boolean;\n}\n\n/** Working hours settings */\nexport interface ActiveHours {\n /** Whether the AI Assistant is always online. If `true`, `schedule` and `timeZone` are ignored. */\n always?: boolean;\n /** Times at which the AI Assistant is online. */\n schedule?: Schedule;\n /**\n * Timezone used for the schedule.\n * @maxLength 256\n */\n timeZone?: string;\n}\n\n/** Schedule */\nexport interface Schedule {\n /** Monday schedule. */\n monday?: DaySchedule;\n /** Tuesday schedule. */\n tuesday?: DaySchedule;\n /** Wednesday schedule. */\n wednesday?: DaySchedule;\n /** Thursday schedule. */\n thursday?: DaySchedule;\n /** Friday schedule. */\n friday?: DaySchedule;\n /** Saturday schedule. */\n saturday?: DaySchedule;\n /** Sunday schedule. */\n sunday?: DaySchedule;\n}\n\n/** Day schedule */\nexport interface DaySchedule {\n /** Whether the day is enabled. */\n enabled?: boolean;\n /**\n * Array of times during which the AI assistant or Wix user are available to respond to messages from site visitors in the site chat.\n * @maxSize 24\n */\n frames?: WorkingHoursFrame[];\n}\n\n/** Working hours frame */\nexport interface WorkingHoursFrame {\n /** Start time of the active hours. */\n start?: number;\n /** End time of the active hours. */\n end?: number;\n}\n\nexport enum OfflineBehavior {\n /** Unknown offline behavior. */\n UNKNOWN_OFFLINE_BEHAVIOR = 'UNKNOWN_OFFLINE_BEHAVIOR',\n /** Allows the site visitor to write messages, but doesn't send a contact form. */\n CHAT_ONLY = 'CHAT_ONLY',\n /** Hides the AI assistant from the site. */\n HIDE = 'HIDE',\n /** Doesn't allow the site visitor to write messages, but does send a contact form. */\n CONTACT_FORM_WITHOUT_CHAT = 'CONTACT_FORM_WITHOUT_CHAT',\n /** Allows the site visitor to write messages and sends a contact form. */\n CONTACT_FORM_WITH_CHAT = 'CONTACT_FORM_WITH_CHAT',\n}\n\n/** @enumType */\nexport type OfflineBehaviorWithLiterals =\n | OfflineBehavior\n | 'UNKNOWN_OFFLINE_BEHAVIOR'\n | 'CHAT_ONLY'\n | 'HIDE'\n | 'CONTACT_FORM_WITHOUT_CHAT'\n | 'CONTACT_FORM_WITH_CHAT';\n\nexport interface GetWidgetSettingsRequest {}\n\nexport interface GetWidgetSettingsResponse {\n /** Retrieved widget settings. */\n widgetSettings?: WidgetSettings;\n /** Whether the assistant is currently online. */\n assistantOnline?: boolean;\n}\n\nexport interface SetWidgetSettingsRequest {\n /** Widget settings to update. */\n widgetSettings: WidgetSettings;\n}\n\nexport interface SetWidgetSettingsResponse {\n /** Updated widget settings. */\n widgetSettings?: WidgetSettings;\n}\n\n/**\n * Retrieves the widget settings for the site.\n * @public\n * @permissionId INNOVATION_LAB.CHAT_WIDGET_SETTINGS_READ\n * @applicableIdentity APP\n * @fqn wix.innovation.assistant.widget.v1.Settings.GetWidgetSettings\n */\nexport async function getWidgetSettings(): Promise<\n NonNullablePaths<\n GetWidgetSettingsResponse,\n | `widgetSettings.enabled`\n | `widgetSettings.introMessage.message.enabled`\n | `widgetSettings.introMessage.message.text`\n | `widgetSettings.introMessage.suggestions.enabled`\n | `widgetSettings.introMessage.suggestions.questions`\n | `widgetSettings.contactForm.conditions.cannotAnswer`\n | `widgetSettings.contactForm.conditions.requestForPerson`\n | `widgetSettings.contactForm.fields.name`\n | `widgetSettings.contactForm.fields.email`\n | `widgetSettings.contactForm.fields.phone`\n | `widgetSettings.contactForm.fields.message`\n | `widgetSettings.autoOpen`\n | `widgetSettings.activeHours.always`\n | `widgetSettings.activeHours.schedule.monday.enabled`\n | `widgetSettings.activeHours.schedule.monday.frames`\n | `widgetSettings.activeHours.schedule.monday.frames.${number}.start`\n | `widgetSettings.activeHours.schedule.monday.frames.${number}.end`\n | `widgetSettings.activeHours.timeZone`\n | `widgetSettings.offlineBehavior`\n | `assistantOnline`,\n 8\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts =\n ambassadorWixInnovationWidgetV1WidgetSettings.getWidgetSettings(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Sets the widget settings for the site.\n * @param widgetSettings - Widget settings to update.\n * @public\n * @requiredField widgetSettings\n * @requiredField widgetSettings.activeHours\n * @requiredField widgetSettings.contactForm\n * @requiredField widgetSettings.contactForm.conditions\n * @requiredField widgetSettings.contactForm.fields\n * @requiredField widgetSettings.introMessage\n * @requiredField widgetSettings.offlineBehavior\n * @permissionId INNOVATION_LAB.CHAT_WIDGET_SETTINGS_WRITE\n * @applicableIdentity APP\n * @fqn wix.innovation.assistant.widget.v1.Settings.SetWidgetSettings\n */\nexport async function setWidgetSettings(\n widgetSettings: NonNullablePaths<\n WidgetSettings,\n | `activeHours`\n | `contactForm`\n | `contactForm.conditions`\n | `contactForm.fields`\n | `introMessage`\n | `offlineBehavior`,\n 3\n >\n): Promise<\n NonNullablePaths<\n SetWidgetSettingsResponse,\n | `widgetSettings.enabled`\n | `widgetSettings.introMessage.message.enabled`\n | `widgetSettings.introMessage.message.text`\n | `widgetSettings.introMessage.suggestions.enabled`\n | `widgetSettings.introMessage.suggestions.questions`\n | `widgetSettings.contactForm.conditions.cannotAnswer`\n | `widgetSettings.contactForm.conditions.requestForPerson`\n | `widgetSettings.contactForm.fields.name`\n | `widgetSettings.contactForm.fields.email`\n | `widgetSettings.contactForm.fields.phone`\n | `widgetSettings.contactForm.fields.message`\n | `widgetSettings.autoOpen`\n | `widgetSettings.activeHours.always`\n | `widgetSettings.activeHours.schedule.monday.enabled`\n | `widgetSettings.activeHours.schedule.monday.frames`\n | `widgetSettings.activeHours.schedule.monday.frames.${number}.start`\n | `widgetSettings.activeHours.schedule.monday.frames.${number}.end`\n | `widgetSettings.activeHours.timeZone`\n | `widgetSettings.offlineBehavior`,\n 8\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n widgetSettings: widgetSettings,\n });\n\n const reqOpts =\n ambassadorWixInnovationWidgetV1WidgetSettings.setWidgetSettings(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { widgetSettings: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['widgetSettings']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixInnovationAssistantWidgetV1SettingsUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'manage._base_domain_': [\n {\n srcPath: '/wix-assistant-widget',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/wix-assistant-widget',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/wix-assistant-widget',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/wix-assistant-widget',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/wix-assistant-widget',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/wix-assistant-widget',\n destPath: '',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/wix-assistant-widget',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/wix-assistant-widget',\n destPath: '',\n },\n {\n srcPath: '/innovation/widget',\n destPath: '',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/wix-assistant-widget',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_ai-site-chat_widget-settings';\n\n/** Retrieves the widget settings for the site. */\nexport function getWidgetSettings(payload: object): RequestOptionsFactory<any> {\n function __getWidgetSettings({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.innovation.widget.v1.widget_settings',\n method: 'GET' as any,\n methodFqn:\n 'wix.innovation.assistant.widget.v1.Settings.GetWidgetSettings',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixInnovationAssistantWidgetV1SettingsUrl({\n protoPath: '/v1/settings',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'widgetSettings.createdDate' },\n { path: 'widgetSettings.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getWidgetSettings;\n}\n\n/** Sets the widget settings for the site. */\nexport function setWidgetSettings(payload: object): RequestOptionsFactory<any> {\n function __setWidgetSettings({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'widgetSettings.createdDate' },\n { path: 'widgetSettings.updatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.innovation.widget.v1.widget_settings',\n method: 'POST' as any,\n methodFqn:\n 'wix.innovation.assistant.widget.v1.Settings.SetWidgetSettings',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixInnovationAssistantWidgetV1SettingsUrl({\n protoPath: '/v1/settings',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'widgetSettings.createdDate' },\n { path: 'widgetSettings.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __setWidgetSettings;\n}\n"],"mappings":"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","names":["payload","OfflineBehavior","getWidgetSettings","setWidgetSettings"]}
|
package/build/es/meta.d.mts
CHANGED
|
@@ -8,14 +8,9 @@ interface WidgetSettings {
|
|
|
8
8
|
* @readonly
|
|
9
9
|
*/
|
|
10
10
|
id?: string | null;
|
|
11
|
-
/**
|
|
12
|
-
* Whether the AI Site-Chat is enabled on the site.
|
|
13
|
-
* @deprecated Whether the AI Site-Chat is enabled on the site.
|
|
14
|
-
* @replacedBy active_hours
|
|
15
|
-
* @targetRemovalDate 2025-12-01
|
|
16
|
-
*/
|
|
11
|
+
/** Whether the AI assistant is enabled on the site. */
|
|
17
12
|
enabled?: boolean;
|
|
18
|
-
/** AI
|
|
13
|
+
/** AI assistant introduction. This is shown in the chat when a site visitor starts a new conversation. */
|
|
19
14
|
introMessage?: IntroMessage;
|
|
20
15
|
/** Settings for the contact form. */
|
|
21
16
|
contactForm?: ContactForm;
|
|
@@ -29,20 +24,20 @@ interface WidgetSettings {
|
|
|
29
24
|
* @readonly
|
|
30
25
|
*/
|
|
31
26
|
updatedDate?: Date | null;
|
|
32
|
-
/** Whether to open the AI
|
|
27
|
+
/** Whether to open the AI assistant automatically when the site loads. */
|
|
33
28
|
autoOpen?: boolean;
|
|
34
|
-
/** Times the AI
|
|
29
|
+
/** Times the AI assistant is available on the site. */
|
|
35
30
|
activeHours?: ActiveHours;
|
|
36
|
-
/** Defines how the AI
|
|
31
|
+
/** Defines how the AI assistant functions during the non-active hours. */
|
|
37
32
|
offlineBehavior?: OfflineBehaviorWithLiterals;
|
|
38
|
-
/** Whether the AI
|
|
33
|
+
/** Whether the AI assistant should send a summary of the site visitor's navigation on the site. */
|
|
39
34
|
navigationSummary?: boolean | null;
|
|
40
35
|
/**
|
|
41
|
-
* Wix Media image ID used for the AI
|
|
36
|
+
* Wix Media image ID used for the AI assistant.
|
|
42
37
|
* @maxLength 500
|
|
43
38
|
*/
|
|
44
39
|
avatar?: string | null;
|
|
45
|
-
/** Whether to display example questions from the AI
|
|
40
|
+
/** Whether to display example questions from the AI assistant. */
|
|
46
41
|
generatedQuestions?: boolean | null;
|
|
47
42
|
}
|
|
48
43
|
/** Intro message */
|
|
@@ -72,7 +67,6 @@ interface SuggestedQuestions {
|
|
|
72
67
|
enabled?: boolean;
|
|
73
68
|
/**
|
|
74
69
|
* Suggested questions shown to the site visitor to help them get started.
|
|
75
|
-
* @minSize 1
|
|
76
70
|
* @maxSize 5
|
|
77
71
|
*/
|
|
78
72
|
questions?: SettingsMessage[];
|
|
@@ -80,25 +74,17 @@ interface SuggestedQuestions {
|
|
|
80
74
|
introduction?: SettingsMessage;
|
|
81
75
|
}
|
|
82
76
|
interface ContactForm {
|
|
83
|
-
/** When the AI
|
|
77
|
+
/** When the AI assistant should send the contact form. */
|
|
84
78
|
conditions?: Conditions;
|
|
85
79
|
/** Contact form fields. */
|
|
86
80
|
fields?: Fields;
|
|
87
|
-
/** When to show contact form if site owner is available. */
|
|
88
|
-
userConditions?: UserConditions;
|
|
89
81
|
}
|
|
90
|
-
/** Contact form conditions for AI
|
|
82
|
+
/** Contact form conditions for AI assistant */
|
|
91
83
|
interface Conditions {
|
|
92
|
-
/** Whether the AI
|
|
84
|
+
/** Whether the AI assistant should send the contact form if the AI is unable to answer the site visitor's question. */
|
|
93
85
|
cannotAnswer?: boolean;
|
|
94
|
-
/** Whether the AI
|
|
86
|
+
/** Whether the AI assistant should send the contact form if the site visitor requests to chat with a real person. */
|
|
95
87
|
requestForPerson?: boolean;
|
|
96
|
-
/**
|
|
97
|
-
* Require site visitor to fill contact form before starting a conversation.
|
|
98
|
-
* @deprecated Require site visitor to fill contact form before starting a conversation.
|
|
99
|
-
* @targetRemovalDate 2025-12-01
|
|
100
|
-
*/
|
|
101
|
-
beforeChat?: boolean | null;
|
|
102
88
|
}
|
|
103
89
|
/** Contact form fields */
|
|
104
90
|
interface Fields {
|
|
@@ -111,23 +97,9 @@ interface Fields {
|
|
|
111
97
|
/** Whether to include a message field in the form. */
|
|
112
98
|
message?: boolean;
|
|
113
99
|
}
|
|
114
|
-
/** Contact form conditions for when site owner is available */
|
|
115
|
-
interface UserConditions {
|
|
116
|
-
/** Show site visitor contact form before starting a conversation. */
|
|
117
|
-
beforeChat?: boolean;
|
|
118
|
-
/** Show site visitor contact form after their first message. */
|
|
119
|
-
afterFirstMessage?: boolean;
|
|
120
|
-
/** Never show site visitor contact form. */
|
|
121
|
-
never?: boolean;
|
|
122
|
-
}
|
|
123
100
|
/** Working hours settings */
|
|
124
101
|
interface ActiveHours {
|
|
125
|
-
/**
|
|
126
|
-
* Whether the AI Assistant is always online. If `true`, `schedule` and `timeZone` are ignored.
|
|
127
|
-
* @deprecated Whether the AI Assistant is always online. If `true`, `schedule` and `timeZone` are ignored.
|
|
128
|
-
* @replacedBy availability
|
|
129
|
-
* @targetRemovalDate 2025-12-01
|
|
130
|
-
*/
|
|
102
|
+
/** Whether the AI Assistant is always online. If `true`, `schedule` and `timeZone` are ignored. */
|
|
131
103
|
always?: boolean;
|
|
132
104
|
/** Times at which the AI Assistant is online. */
|
|
133
105
|
schedule?: Schedule;
|
|
@@ -136,8 +108,6 @@ interface ActiveHours {
|
|
|
136
108
|
* @maxLength 256
|
|
137
109
|
*/
|
|
138
110
|
timeZone?: string;
|
|
139
|
-
/** Hours when AI assistant or site owner are available. */
|
|
140
|
-
mode?: ChatHandlerModeWithLiterals;
|
|
141
111
|
}
|
|
142
112
|
/** Schedule */
|
|
143
113
|
interface Schedule {
|
|
@@ -161,7 +131,7 @@ interface DaySchedule {
|
|
|
161
131
|
/** Whether the day is enabled. */
|
|
162
132
|
enabled?: boolean;
|
|
163
133
|
/**
|
|
164
|
-
* Array of times during which the AI
|
|
134
|
+
* Array of times during which the AI assistant or Wix user are available to respond to messages from site visitors in the site chat.
|
|
165
135
|
* @maxSize 24
|
|
166
136
|
*/
|
|
167
137
|
frames?: WorkingHoursFrame[];
|
|
@@ -172,43 +142,13 @@ interface WorkingHoursFrame {
|
|
|
172
142
|
start?: number;
|
|
173
143
|
/** End time of the active hours. */
|
|
174
144
|
end?: number;
|
|
175
|
-
/** Who is available during timeframe, AI chat or user chat */
|
|
176
|
-
frameType?: FrameHandlerTypeWithLiterals;
|
|
177
|
-
}
|
|
178
|
-
/** Who is available during timeframe, AI chat or user chat */
|
|
179
|
-
declare enum FrameHandlerType {
|
|
180
|
-
/** Unknown frame type. */
|
|
181
|
-
UNKNOWN_FRAME_TYPE = "UNKNOWN_FRAME_TYPE",
|
|
182
|
-
/** Frame type not selected. */
|
|
183
|
-
NOT_SELECTED = "NOT_SELECTED",
|
|
184
|
-
/** AI Chat available in time frame. */
|
|
185
|
-
AI_CHAT = "AI_CHAT",
|
|
186
|
-
/** Chat with human in time frame. */
|
|
187
|
-
WIX_USER_CHAT = "WIX_USER_CHAT"
|
|
188
|
-
}
|
|
189
|
-
/** @enumType */
|
|
190
|
-
type FrameHandlerTypeWithLiterals = FrameHandlerType | 'UNKNOWN_FRAME_TYPE' | 'NOT_SELECTED' | 'AI_CHAT' | 'WIX_USER_CHAT';
|
|
191
|
-
/** Chat availability options */
|
|
192
|
-
declare enum ChatHandlerMode {
|
|
193
|
-
/** Unknown availability. */
|
|
194
|
-
UNKNOWN_MODE = "UNKNOWN_MODE",
|
|
195
|
-
/** AI assistant is always available. */
|
|
196
|
-
ALWAYS_WITH_AI = "ALWAYS_WITH_AI",
|
|
197
|
-
/** Chat with site owner is always available. */
|
|
198
|
-
ALWAYS_WITH_WIX_USER = "ALWAYS_WITH_WIX_USER",
|
|
199
|
-
/** AI and site owner are available according to schedule. */
|
|
200
|
-
SCHEDULED = "SCHEDULED",
|
|
201
|
-
/** AI assistant and site owner are always offline. */
|
|
202
|
-
OFF = "OFF"
|
|
203
145
|
}
|
|
204
|
-
/** @enumType */
|
|
205
|
-
type ChatHandlerModeWithLiterals = ChatHandlerMode | 'UNKNOWN_MODE' | 'ALWAYS_WITH_AI' | 'ALWAYS_WITH_WIX_USER' | 'SCHEDULED' | 'OFF';
|
|
206
146
|
declare enum OfflineBehavior {
|
|
207
147
|
/** Unknown offline behavior. */
|
|
208
148
|
UNKNOWN_OFFLINE_BEHAVIOR = "UNKNOWN_OFFLINE_BEHAVIOR",
|
|
209
149
|
/** Allows the site visitor to write messages, but doesn't send a contact form. */
|
|
210
150
|
CHAT_ONLY = "CHAT_ONLY",
|
|
211
|
-
/** Hides the AI
|
|
151
|
+
/** Hides the AI assistant from the site. */
|
|
212
152
|
HIDE = "HIDE",
|
|
213
153
|
/** Doesn't allow the site visitor to write messages, but does send a contact form. */
|
|
214
154
|
CONTACT_FORM_WITHOUT_CHAT = "CONTACT_FORM_WITHOUT_CHAT",
|
|
@@ -222,30 +162,9 @@ interface GetWidgetSettingsRequest {
|
|
|
222
162
|
interface GetWidgetSettingsResponse {
|
|
223
163
|
/** Retrieved widget settings. */
|
|
224
164
|
widgetSettings?: WidgetSettings;
|
|
225
|
-
/**
|
|
226
|
-
* Whether the assistant is currently online.
|
|
227
|
-
* @readonly
|
|
228
|
-
* @deprecated Whether the assistant is currently online.
|
|
229
|
-
* @replacedBy active_handlers
|
|
230
|
-
* @targetRemovalDate 2025-12-01
|
|
231
|
-
*/
|
|
165
|
+
/** Whether the assistant is currently online. */
|
|
232
166
|
assistantOnline?: boolean;
|
|
233
|
-
/**
|
|
234
|
-
* Active chat handlers (e.g., AI assistant, site owner).
|
|
235
|
-
* @readonly
|
|
236
|
-
*/
|
|
237
|
-
activeHandlers?: ChatHandlerWithLiterals[];
|
|
238
167
|
}
|
|
239
|
-
declare enum ChatHandler {
|
|
240
|
-
/** Unknown handler. */
|
|
241
|
-
UNKNOWN_HANDLER = "UNKNOWN_HANDLER",
|
|
242
|
-
/** AI assistant is handling chats. */
|
|
243
|
-
AI = "AI",
|
|
244
|
-
/** Site owner is handling chats. */
|
|
245
|
-
WIX_USER = "WIX_USER"
|
|
246
|
-
}
|
|
247
|
-
/** @enumType */
|
|
248
|
-
type ChatHandlerWithLiterals = ChatHandler | 'UNKNOWN_HANDLER' | 'AI' | 'WIX_USER';
|
|
249
168
|
interface SetWidgetSettingsRequest {
|
|
250
169
|
/** Widget settings to update. */
|
|
251
170
|
widgetSettings: WidgetSettings;
|
|
@@ -268,4 +187,4 @@ type __PublicMethodMetaInfo<K = string, M = unknown, T = unknown, S = unknown, Q
|
|
|
268
187
|
declare function getWidgetSettings(): __PublicMethodMetaInfo<'GET', {}, GetWidgetSettingsRequest$1, GetWidgetSettingsRequest, GetWidgetSettingsResponse$1, GetWidgetSettingsResponse>;
|
|
269
188
|
declare function setWidgetSettings(): __PublicMethodMetaInfo<'POST', {}, SetWidgetSettingsRequest$1, SetWidgetSettingsRequest, SetWidgetSettingsResponse$1, SetWidgetSettingsResponse>;
|
|
270
189
|
|
|
271
|
-
export { type ActiveHours as ActiveHoursOriginal,
|
|
190
|
+
export { type ActiveHours as ActiveHoursOriginal, type Conditions as ConditionsOriginal, type ContactForm as ContactFormOriginal, type DaySchedule as DayScheduleOriginal, type Fields as FieldsOriginal, type GetWidgetSettingsRequest as GetWidgetSettingsRequestOriginal, type GetWidgetSettingsResponse as GetWidgetSettingsResponseOriginal, type IntroMessage as IntroMessageOriginal, OfflineBehavior as OfflineBehaviorOriginal, type OfflineBehaviorWithLiterals as OfflineBehaviorWithLiteralsOriginal, type Schedule as ScheduleOriginal, type SetWidgetSettingsRequest as SetWidgetSettingsRequestOriginal, type SetWidgetSettingsResponse as SetWidgetSettingsResponseOriginal, type SettingsMessage as SettingsMessageOriginal, type SuggestedQuestions as SuggestedQuestionsOriginal, type WidgetSettings as WidgetSettingsOriginal, type WorkingHoursFrame as WorkingHoursFrameOriginal, type __PublicMethodMetaInfo, getWidgetSettings, setWidgetSettings };
|
package/build/es/meta.mjs
CHANGED
|
@@ -139,21 +139,6 @@ function setWidgetSettings(payload) {
|
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
// src/innovation-widget-v1-widget-settings-widget-settings.types.ts
|
|
142
|
-
var FrameHandlerType = /* @__PURE__ */ ((FrameHandlerType2) => {
|
|
143
|
-
FrameHandlerType2["UNKNOWN_FRAME_TYPE"] = "UNKNOWN_FRAME_TYPE";
|
|
144
|
-
FrameHandlerType2["NOT_SELECTED"] = "NOT_SELECTED";
|
|
145
|
-
FrameHandlerType2["AI_CHAT"] = "AI_CHAT";
|
|
146
|
-
FrameHandlerType2["WIX_USER_CHAT"] = "WIX_USER_CHAT";
|
|
147
|
-
return FrameHandlerType2;
|
|
148
|
-
})(FrameHandlerType || {});
|
|
149
|
-
var ChatHandlerMode = /* @__PURE__ */ ((ChatHandlerMode2) => {
|
|
150
|
-
ChatHandlerMode2["UNKNOWN_MODE"] = "UNKNOWN_MODE";
|
|
151
|
-
ChatHandlerMode2["ALWAYS_WITH_AI"] = "ALWAYS_WITH_AI";
|
|
152
|
-
ChatHandlerMode2["ALWAYS_WITH_WIX_USER"] = "ALWAYS_WITH_WIX_USER";
|
|
153
|
-
ChatHandlerMode2["SCHEDULED"] = "SCHEDULED";
|
|
154
|
-
ChatHandlerMode2["OFF"] = "OFF";
|
|
155
|
-
return ChatHandlerMode2;
|
|
156
|
-
})(ChatHandlerMode || {});
|
|
157
142
|
var OfflineBehavior = /* @__PURE__ */ ((OfflineBehavior2) => {
|
|
158
143
|
OfflineBehavior2["UNKNOWN_OFFLINE_BEHAVIOR"] = "UNKNOWN_OFFLINE_BEHAVIOR";
|
|
159
144
|
OfflineBehavior2["CHAT_ONLY"] = "CHAT_ONLY";
|
|
@@ -162,12 +147,6 @@ var OfflineBehavior = /* @__PURE__ */ ((OfflineBehavior2) => {
|
|
|
162
147
|
OfflineBehavior2["CONTACT_FORM_WITH_CHAT"] = "CONTACT_FORM_WITH_CHAT";
|
|
163
148
|
return OfflineBehavior2;
|
|
164
149
|
})(OfflineBehavior || {});
|
|
165
|
-
var ChatHandler = /* @__PURE__ */ ((ChatHandler2) => {
|
|
166
|
-
ChatHandler2["UNKNOWN_HANDLER"] = "UNKNOWN_HANDLER";
|
|
167
|
-
ChatHandler2["AI"] = "AI";
|
|
168
|
-
ChatHandler2["WIX_USER"] = "WIX_USER";
|
|
169
|
-
return ChatHandler2;
|
|
170
|
-
})(ChatHandler || {});
|
|
171
150
|
|
|
172
151
|
// src/innovation-widget-v1-widget-settings-widget-settings.meta.ts
|
|
173
152
|
function getWidgetSettings2() {
|
|
@@ -207,9 +186,6 @@ function setWidgetSettings2() {
|
|
|
207
186
|
};
|
|
208
187
|
}
|
|
209
188
|
export {
|
|
210
|
-
ChatHandlerMode as ChatHandlerModeOriginal,
|
|
211
|
-
ChatHandler as ChatHandlerOriginal,
|
|
212
|
-
FrameHandlerType as FrameHandlerTypeOriginal,
|
|
213
189
|
OfflineBehavior as OfflineBehaviorOriginal,
|
|
214
190
|
getWidgetSettings2 as getWidgetSettings,
|
|
215
191
|
setWidgetSettings2 as setWidgetSettings
|