@messenger-box/tailwind-ui-inbox 10.0.3-alpha.105 → 10.0.3-alpha.107

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/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [10.0.3-alpha.107](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.106...v10.0.3-alpha.107) (2025-10-14)
7
+
8
+ **Note:** Version bump only for package @messenger-box/tailwind-ui-inbox
9
+
10
+ ## [10.0.3-alpha.106](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.105...v10.0.3-alpha.106) (2025-10-14)
11
+
12
+ **Note:** Version bump only for package @messenger-box/tailwind-ui-inbox
13
+
6
14
  ## [10.0.3-alpha.105](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.104...v10.0.3-alpha.105) (2025-10-13)
7
15
 
8
16
  **Note:** Version bump only for package @messenger-box/tailwind-ui-inbox
@@ -1 +1 @@
1
- {"version":3,"file":"AIAgent.d.ts","sourceRoot":"","sources":["../../../src/components/AIAgent/AIAgent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAiCjF,UAAU,YAAY;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA2hC1C,CAAC"}
1
+ {"version":3,"file":"AIAgent.d.ts","sourceRoot":"","sources":["../../../src/components/AIAgent/AIAgent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAkCjF,UAAU,YAAY;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAsoC1C,CAAC"}
@@ -1,4 +1,4 @@
1
- import React__default,{useState,useRef,useEffect,useMemo,useCallback}from'react';import {useMachine}from'@xstate/react';import {aiAgentMachine}from'../../machines/aiAgentMachine.simple.js';import {InputComponent}from'../InboxMessage/InputComponent.js';import {isToday,isYesterday,format}from'date-fns';import {useTranslation}from'react-i18next';import {ModernMessageGroupComponent}from'../InboxMessage/message-widgets/ModernMessageGroup.js';import {useUploadFiles}from'@messenger-box/platform-client';import {useSelector,shallowEqual}from'react-redux';import {userSelector}from'@adminide-stack/user-auth0-client';import {objectId}from'@messenger-box/core';import {useApolloClient}from'@apollo/client/index.js';import {useSendMessagesMutation,useGenerateAiCodeMutation,useRecreateSandboxMutation,useOnChatMessageAddedSubscription,useSandboxErrorSubscription,useMessagesQuery,MessagesDocument,OnChatMessageAddedDocument}from'common/graphql';import {config}from'../../config/env-config.js';import {orderBy,uniqBy}from'lodash-es';import {useParams,useNavigate}from'@remix-run/react';import {SubscriptionHandler}from'../InboxMessage/SubscriptionHandler.js';import {usePersistentModelConfig}from'../../hooks/usePersistentModelConfig.js';const {
1
+ import React__default,{useState,useRef,useEffect,useMemo,useCallback}from'react';import {useMachine}from'@xstate/react';import {aiAgentMachine}from'../../machines/aiAgentMachine.simple.js';import {InputComponent}from'../InboxMessage/InputComponent.js';import {isToday,isYesterday,format}from'date-fns';import {useTranslation}from'react-i18next';import {ModernMessageGroupComponent}from'../InboxMessage/message-widgets/ModernMessageGroup.js';import {useUploadFiles}from'@messenger-box/platform-client';import {PostTypeEnum,RoomType}from'common';import {useSelector,shallowEqual}from'react-redux';import {userSelector}from'@adminide-stack/user-auth0-client';import {objectId}from'@messenger-box/core';import {useSendMessagesMutation,useCreateChannelWorkflowJobMutation,useRecreateSandboxMutation,useOnChatMessageAddedSubscription,useSandboxErrorSubscription,useMessagesQuery,OnChatMessageAddedDocument}from'common/graphql';import {config}from'../../config/env-config.js';import {orderBy,uniqBy}from'lodash-es';import {useParams,useNavigate}from'@remix-run/react';import {SubscriptionHandler}from'../InboxMessage/SubscriptionHandler.js';import {usePersistentModelConfig}from'../../hooks/usePersistentModelConfig.js';const {
2
2
  MESSAGES_PER_PAGE
3
3
  } = config;
4
4
  const AIAgent = ({
@@ -17,16 +17,17 @@ const AIAgent = ({
17
17
  isLoading
18
18
  }) => {
19
19
  const [state, send] = useMachine(aiAgentMachine);
20
- useApolloClient();
20
+ // const apolloClient = useApolloClient();
21
21
  const {
22
22
  startUpload
23
23
  } = useUploadFiles();
24
24
  const [sendMsg] = useSendMessagesMutation();
25
+ const [createChannelWorkflowJob] = useCreateChannelWorkflowJobMutation();
25
26
  const auth = useSelector(userSelector, shallowEqual);
26
27
  const {
27
28
  id: pathChannelId
28
29
  } = useParams();
29
- useNavigate();
30
+ const navigate = useNavigate();
30
31
  const {
31
32
  modelConfig,
32
33
  updateModelConfig,
@@ -37,7 +38,7 @@ const AIAgent = ({
37
38
  const [errorData, setError] = useState(null);
38
39
  // Get channelId from props or path params
39
40
  const actualChannelId = channelId || pathChannelId;
40
- const [generateAiCode] = useGenerateAiCodeMutation();
41
+ // const [generateAiCode] = useGenerateAiCodeMutation();
41
42
  const [recreateSandbox] = useRecreateSandboxMutation();
42
43
  const {
43
44
  data: chatMessageAddedData
@@ -261,6 +262,151 @@ const AIAgent = ({
261
262
  }
262
263
  }, [recreateSandbox, actualChannelId]);
263
264
  // Updated handleSend function from InboxWithAi.tsx
265
+ // const handleSend = useCallback(
266
+ // async (message: string, files: any[] = []) => {
267
+ // // Allow sending if there's either a message or files
268
+ // if ((!message || !message.trim()) && (!files || files.length === 0)) return;
269
+ // const validated = getValidatedConfig();
270
+ // if (!validated && !hasApiKey) {
271
+ // // No API key/config; do nothing (AiLandingInput would prompt config UI)
272
+ // return;
273
+ // }
274
+ // // Start the AI thinking loader immediately on send
275
+ // if (successThinkingTimeoutRef.current) {
276
+ // clearTimeout(successThinkingTimeoutRef.current);
277
+ // successThinkingTimeoutRef.current = null;
278
+ // }
279
+ // setIsSuccessThinking(true);
280
+ // setIsLoading(true);
281
+ // // Safety auto-stop in case no event arrives
282
+ // successThinkingTimeoutRef.current = setTimeout(() => {
283
+ // setIsSuccessThinking(false);
284
+ // successThinkingTimeoutRef.current = null;
285
+ // }, 15000);
286
+ // // If we already have a channel, send message (with optional file upload) similar to Inbox
287
+ // if (actualChannelId) {
288
+ // try {
289
+ // const postId = objectId();
290
+ // const channelId = objectId();
291
+ // const currentDate = new Date();
292
+ // const createOptimisticMessage = (uploadedFiles?: any[]) => ({
293
+ // __typename: 'Post' as const,
294
+ // id: postId,
295
+ // message,
296
+ // createdAt: currentDate.toISOString(),
297
+ // updatedAt: currentDate.toISOString(),
298
+ // author: {
299
+ // __typename: 'UserAccount' as const,
300
+ // id: auth?.id,
301
+ // givenName: auth?.profile?.given_name || '',
302
+ // familyName: auth?.profile?.family_name || '',
303
+ // email: auth?.profile?.email || '',
304
+ // username: auth?.profile?.nickname || '',
305
+ // fullName: auth?.profile?.name || '',
306
+ // picture: auth?.profile?.picture || '',
307
+ // alias: [auth?.authUserId ?? ''],
308
+ // tokens: [],
309
+ // },
310
+ // isDelivered: false,
311
+ // isRead: false,
312
+ // type: 'TEXT' as PostTypeEnum,
313
+ // parentId: null,
314
+ // fromServer: false,
315
+ // channel: {
316
+ // __typename: 'Channel' as const,
317
+ // id: actualChannelId,
318
+ // },
319
+ // propsConfiguration: {
320
+ // __typename: 'MachineConfiguration' as const,
321
+ // id: null,
322
+ // resource: '' as any,
323
+ // contents: null,
324
+ // keys: null,
325
+ // target: null,
326
+ // overrides: null,
327
+ // },
328
+ // props: {},
329
+ // files: {
330
+ // __typename: 'FilesInfo' as const,
331
+ // data: uploadedFiles || [],
332
+ // totalCount: uploadedFiles?.length || 0,
333
+ // },
334
+ // replies: {
335
+ // __typename: 'Messages' as const,
336
+ // data: [],
337
+ // totalCount: 0,
338
+ // },
339
+ // });
340
+ // const cacheMessagesQuery = {
341
+ // query: MessagesDocument,
342
+ // variables: {
343
+ // // Match variables used in useMessagesQuery above
344
+ // props: { projectId: actualChannelId.toString() },
345
+ // parentId: null,
346
+ // limit: MESSAGES_PER_PAGE,
347
+ // },
348
+ // } as const;
349
+ // const extraProps = {
350
+ // projectId: actualChannelId,
351
+ // template: modelConfig?.template || 'vite-react',
352
+ // role: 'USER',
353
+ // sendNotificationWithProjectId: true,
354
+ // } as any;
355
+ // if (files?.length > 0) {
356
+ // const uploadResponse = await startUpload({
357
+ // file: files,
358
+ // saveUploadedFile: { variables: { postId } },
359
+ // createUploadLink: { variables: { postId } },
360
+ // });
361
+ // const uploadedFiles = uploadResponse.data as unknown as IFileInfo[];
362
+ // const fileIds = (uploadedFiles || []).map((f: any) => f.id);
363
+ // await sendMsg({
364
+ // variables: {
365
+ // postId,
366
+ // channelId: actualChannelId,
367
+ // content: message,
368
+ // files: fileIds,
369
+ // extraProps,
370
+ // },
371
+ // optimisticResponse: {
372
+ // __typename: 'Mutation',
373
+ // sendMessage: createOptimisticMessage(uploadedFiles),
374
+ // },
375
+ // update: (cache, { data: mutationData }) => {
376
+ // if (!mutationData?.sendMessage) return;
377
+ // // if (mutationData?.sendMessage?.id) {
378
+ // // handleGenerateAiCode(mutationData.sendMessage.id);
379
+ // // }
380
+ // },
381
+ // });
382
+ // } else {
383
+ // await sendMsg({
384
+ // variables: { channelId: actualChannelId, content: message, extraProps },
385
+ // optimisticResponse: {
386
+ // __typename: 'Mutation',
387
+ // sendMessage: createOptimisticMessage(),
388
+ // },
389
+ // update: (cache, { data: mutationData }) => {
390
+ // if (!mutationData?.sendMessage) return;
391
+ // console.log('mutationData', JSON.stringify(mutationData, null, 2));
392
+ // // if (mutationData?.sendMessage?.id) {
393
+ // // handleGenerateAiCode(mutationData.sendMessage.id);
394
+ // // }
395
+ // },
396
+ // });
397
+ // }
398
+ // // Scroll to bottom after send
399
+ // scrollToBottom('smooth', 0);
400
+ // } catch (error) {
401
+ // console.error('Error sending message from AIAgent:', error);
402
+ // setIsLoading(false);
403
+ // }
404
+ // return;
405
+ // }
406
+ // // If no channelId, we skip sending here.
407
+ // },
408
+ // [actualChannelId, auth, startUpload, sendMsg, scrollToBottom, getValidatedConfig, hasApiKey, modelConfig],
409
+ // );
264
410
  const handleSend = useCallback(async (message, files = []) => {
265
411
  // Allow sending if there's either a message or files
266
412
  if ((!message || !message.trim()) && (!files || files.length === 0)) return;
@@ -281,146 +427,74 @@ const AIAgent = ({
281
427
  setIsSuccessThinking(false);
282
428
  successThinkingTimeoutRef.current = null;
283
429
  }, 15000);
284
- // If we already have a channel, send message (with optional file upload) similar to Inbox
285
- if (actualChannelId) {
286
- try {
287
- const postId = objectId();
288
- const channelId = objectId();
289
- const currentDate = new Date();
290
- const createOptimisticMessage = uploadedFiles => ({
291
- __typename: 'Post',
292
- id: postId,
293
- message,
294
- createdAt: currentDate.toISOString(),
295
- updatedAt: currentDate.toISOString(),
296
- author: {
297
- __typename: 'UserAccount',
298
- id: auth?.id,
299
- givenName: auth?.profile?.given_name || '',
300
- familyName: auth?.profile?.family_name || '',
301
- email: auth?.profile?.email || '',
302
- username: auth?.profile?.nickname || '',
303
- fullName: auth?.profile?.name || '',
304
- picture: auth?.profile?.picture || '',
305
- alias: [auth?.authUserId ?? ''],
306
- tokens: []
307
- },
308
- isDelivered: false,
309
- isRead: false,
310
- type: 'TEXT',
311
- parentId: null,
312
- fromServer: false,
313
- channel: {
314
- __typename: 'Channel',
315
- id: actualChannelId
316
- },
317
- propsConfiguration: {
318
- __typename: 'MachineConfiguration',
319
- id: null,
320
- resource: '',
321
- contents: null,
322
- keys: null,
323
- target: null,
324
- overrides: null
325
- },
326
- props: {},
327
- files: {
328
- __typename: 'FilesInfo',
329
- data: uploadedFiles || [],
330
- totalCount: uploadedFiles?.length || 0
331
- },
332
- replies: {
333
- __typename: 'Messages',
334
- data: [],
335
- totalCount: 0
336
- }
337
- });
338
- const cacheMessagesQuery = {
339
- query: MessagesDocument,
340
- variables: {
341
- // Match variables used in useMessagesQuery above
342
- props: {
343
- projectId: actualChannelId.toString()
344
- },
345
- parentId: null,
346
- limit: MESSAGES_PER_PAGE
347
- }
348
- };
349
- const extraProps = {
350
- projectId: actualChannelId,
351
- template: modelConfig?.template || 'vite-react',
352
- role: 'USER',
353
- sendNotificationWithProjectId: true
354
- };
355
- if (files?.length > 0) {
356
- const uploadResponse = await startUpload({
357
- file: files,
358
- saveUploadedFile: {
359
- variables: {
360
- postId
361
- }
362
- },
363
- createUploadLink: {
364
- variables: {
365
- postId
366
- }
367
- }
368
- });
369
- const uploadedFiles = uploadResponse.data;
370
- const fileIds = (uploadedFiles || []).map(f => f.id);
371
- await sendMsg({
372
- variables: {
373
- postId,
374
- channelId: actualChannelId,
375
- content: message,
376
- files: fileIds,
377
- extraProps
378
- },
379
- optimisticResponse: {
380
- __typename: 'Mutation',
381
- sendMessage: createOptimisticMessage(uploadedFiles)
382
- },
383
- update: (cache, {
384
- data: mutationData
385
- }) => {
386
- if (!mutationData?.sendMessage) return;
387
- // if (mutationData?.sendMessage?.id) {
388
- // handleGenerateAiCode(mutationData.sendMessage.id);
389
- // }
390
- }
391
- });
392
- } else {
393
- await sendMsg({
394
- variables: {
395
- channelId: actualChannelId,
430
+ // If no channelId, mirror AiLandingInput: create channel+project, seed first post, then navigate
431
+ try {
432
+ const projectId = actualChannelId;
433
+ const postId = objectId();
434
+ const channelId = objectId();
435
+ // Do not include extensionId inside modelConfig when sending additionalProperties
436
+ const {
437
+ extensionId: _omitExtensionId,
438
+ ...modelConfigWithoutExtensionId
439
+ } = modelConfig || {};
440
+ await createChannelWorkflowJob({
441
+ variables: {
442
+ createChannelInput: {
443
+ channelId,
444
+ title: 'AI Assistant',
445
+ description: 'AI Assistant',
446
+ displayName: 'AI Assistant',
447
+ topic: 'AI Assistant',
448
+ projectId: projectId,
449
+ type: RoomType.Aiassistant,
450
+ postData: {
451
+ postId: postId,
452
+ type: PostTypeEnum.Aiassistant,
396
453
  content: message,
397
- extraProps
398
- },
399
- optimisticResponse: {
400
- __typename: 'Mutation',
401
- sendMessage: createOptimisticMessage()
454
+ props: {
455
+ generateAiCode: true,
456
+ template: modelConfig?.template || 'vite-react',
457
+ projectId: projectId,
458
+ role: 'USER',
459
+ fragment: {},
460
+ sendNotificationWithProjectId: true
461
+ }
402
462
  },
403
- update: (cache, {
404
- data: mutationData
405
- }) => {
406
- if (!mutationData?.sendMessage) return;
407
- console.log('mutationData', JSON.stringify(mutationData, null, 2));
408
- // if (mutationData?.sendMessage?.id) {
409
- // handleGenerateAiCode(mutationData.sendMessage.id);
410
- // }
463
+ additionalProperties: {
464
+ modelConfig: modelConfigWithoutExtensionId
411
465
  }
412
- });
466
+ },
467
+ extensionInput: {
468
+ // prefer saved extensionId from modelConfig; otherwise env default
469
+ extensionId: modelConfig?.extensionId || config?.MESSENGER_BOX_FORM_EXTENSION_ID,
470
+ stepName: 'extractCodeFromExtension',
471
+ formId: 'form-builder-proxy',
472
+ functionId: 'create-channel-function',
473
+ metadata: {},
474
+ source: 'final-submission'
475
+ }
476
+ },
477
+ onCompleted: data => {
478
+ // if (!data?.createChannelWorkflowJob) {
479
+ // setIsSuccessThinking(false);
480
+ // setIsLoading(false);
481
+ // return;
482
+ // }
483
+ // setIsSuccessThinking(false);
484
+ // setIsLoading(false);
485
+ },
486
+ onError: error => {
487
+ console.error('Error creating channel:', error);
488
+ setIsSuccessThinking(false);
489
+ setIsLoading(false);
413
490
  }
414
- // Scroll to bottom after send
415
- scrollToBottom('smooth', 0);
416
- } catch (error) {
417
- console.error('Error sending message from AIAgent:', error);
418
- setIsLoading(false);
419
- }
420
- return;
491
+ });
492
+ } catch (err) {
493
+ console.error('Failed to create new AI project/channel from AIAgent:', err);
494
+ setIsSuccessThinking(false);
495
+ setIsLoading(false);
421
496
  }
422
- // If no channelId, we skip sending here.
423
- }, [actualChannelId, auth, startUpload, sendMsg, scrollToBottom, getValidatedConfig, hasApiKey, modelConfig]);
497
+ }, [actualChannelId, auth, startUpload, sendMsg, scrollToBottom, getValidatedConfig, hasApiKey, modelConfig, navigate, createChannelWorkflowJob]);
424
498
  const fixError = useCallback(errorMessage => {
425
499
  // Use sendMessage to fix the error, which will use createProject flow
426
500
  return handleSend(errorMessage);
@@ -574,7 +648,7 @@ const AIAgent = ({
574
648
  };
575
649
  }, []);
576
650
  const extractCleanContent = useCallback(summary => {
577
- console.log('summary...........', summary);
651
+ // console.log('summary...........', summary);
578
652
  if (!summary) return 'Project generated successfully!';
579
653
  const summeryData = summary.replace(/<canvas_layers>[\s\S]*?<\/canvas_layers>/g, '').replace(/<task_summary>([\s\S]*?)<\/task_summary>/g, '');
580
654
  if (summeryData && summeryData.trim() !== '' && summeryData.trim()?.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"AIAgent.js","sources":["../../../src/components/AIAgent/AIAgent.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"+sCA+BA,MAAM;AAoBN,EAAA;IAeI,MAAM;AACA,MAAA,OAAA,GAAY,CAAA;AAClB,EAAA;AACA,EAAA,aAAO;aACD;WACA,GAAI,EAAE;AACZ,EAAA,WAAM;AACN,EAAA,aAAQ,GAAA,KAAW;eACnB,GAAA,KAAA;aACO;iBACP;AACA,EAAA,QAAM;AACN,EAAA,YAAO;AACP,EAAA,YAAO;AACP,EAAA;;QAEI,CAAA,KAAM,EAAC,IAAA,CAAA,GAAA,UAAe,CAAA,cAAA,CAAA;AACzB,EAAE,eAAA;QAEH;AACA,IAAA;oBACe,EAAE;QACb,CAAA,OAAO,CAAA,GAAA,uBAAe,EAAA;AACzB,EAAA,MAAE,IAAA,GAAA,WAAA,CAAA,YAAA,EAAA,YAAA,CAAA;QAEH;IACA,EAAA,EAAA;AACI,GAAA,GAAA,SAAA,EAAS;AACL,EAAO,WAAA;AACH,EAAA,MAAA;AACH,IAAA,WAAA;AACD,IAAA;AACA,IAAA,kBAAO;AACV,IAAA;8BACqB,EAAA;AACtB;AACA,EAAA,MAAA,CAAA,SAAA,UAAkB,CAAA,GAAA,QAAA,CAAA,IAAA,CAAA;AAClB;AACA,EAAA,MAAA,eAAA,YAAuB,IAAA,aAAA;AACvB,EAAA,MAAA,CAAA,cAAe,CAAA,GAAA,yBAAA,EAAA;AACf,EAAA,MAAA,CAAA,eAAS,CAAA,GAAA,0BAAA,EAAA;AACL,EAAA,MAAA;AACH,IAAA,IAAA,EAAA;AACJ,GAAA,GAAC,iCAAC,CAAA;AAEH,IAAA,SAAQ,EAAA;MACR,SAAW,EAAA,eAAiB,EAAC,QAAA,EAAA,IAAe;KAE5C;IACA,IAAA,EAAM,CAAC;IACP;AACA;QACA;IACA,IAAA,EAAM;MACN,2BAAqB,CAAA;IACrB,SAAA,EAAA;MACA,SAAO,EAAA,eAAmB,EAAA,QAAA,EAAA,IAAA;AAC1B,KAAA;IAEA,IAAA,EAAA,CAAA;IACA;;QASI,aAAI,GAAA,gBAAkB,CAAA;AAClB,IAAA,SAAA,EAAA;AACI,MAAA,KAAA,EAAA;AACA,QAAA,SAAA,EAAA,eAAO,EAAA,QAAA;AACH,OAAA;AACH,MAAA,QAAA,EAAA,IAAA;AACJ,MAAA,KAAA,EAAA;;AAET,IAAA,IAAI,EAAA,CAAA,eAAiB;IAErB,aAAa,mBAAE;AACX,IAAA,WAAI,EAAA,KAAA;AACA,IAAA;qBAIA,EAAA,IAAA;gBACA,EAAA,CAAA;aACA;gBACI;AACA;AACI,GAAA,CAAA;AACA,EAAA,MAAA;wBACH;;;AAGb,GAAA,QAAI,CAAA,OAAA;QAEJ;IACA;MACA,cAAA,CAAA,cAAA,CAAA;QACA,CAAA,MAAQ,EAAA,SAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA;QACR,CAAA,eAAA,EAAA,kBAAA,CAAA,GAAA,QAAA,CAAA,IAAA,CAAA;QACA,CAAA,SAAA,EAAA,YAAA,CAAA,GAAA,QAAsC,CAAA,MAAA,CAAA;QAEtC,SAAA,GAAA,MAAA,CAAA,IAAA,CAAA;QACA,CAAA,aAAe,EAAA,gBAAA,CAAA,GAAA,QAAA,CAAA,EAAA,CAAA;AACX,EAAA,MAAA,CAAA,YAAI,EAAA,eAAkB,CAAA,GAAY,QAAG,CAAA,EAAA,CAAA;AACjC,EAAA,MAAA,CAAA,YAAM,EAAA,eAAY,CAAA,GAAA;AAClB;AACA,EAAA,MAAA,CAAA,iBAAA,EAAgB,qBAAqB,GAAA,QAAU,CAAA,KAAO,CAAC;QAC3D,yBAAC,GAAA,MAAA,CAAA,IAAA,CAAA;AACL;AAEA,EAAA,MAAA;AACI,IAAA,IAAA,EAAA,YAAK;AAA8B,IAAA,OAAA,EAAA,cAAU;WAC7C,EAAA,eAAe;IACnB,SAAI,EAAA,iBAAwB;IAE5B;MACA,aAAe;WACX,CAAI,MAAA;uBACW,EAAE;qBACb,CAAA;aACA,EAAA,iBAAoB;aACpB,EAAA;AACA,UAAA,SAAA,EAAA,eAAgB,EAAA,QAAgB;AAChC;AACA,OAAA,CAAA;;AAEA,EAAA,CAAA,EAAA,CAAA,eAAK,EAAA,eAAgB,CAAA,CAAO;kBACxB;4BACI,EAAA,gBAAoB,EAAA;AACpB,MAAA,OAAA,CAAA,GAAA,CAAA,wCAAK,EAAA,IAAA,CAAA,SAAA,CAAA,oBAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;;;2BAEI,EAAA;AACL,QAAA,oBAAA,CAAA,KAAQ,CAAA;qCACX,CAAA,OAAA,EAAA;sBACJ,CAAA,yBAAA,CAAA,OAAA,CAAA;mCACJ,CAAA,OAAA,GAAA,IAAA;;;;0BAIA,EAAA,gBAAA,CAAA,CAAA;AAED;;;;AAKA;;AAER;WAEA,CAAA,MAAA;IACA,IAAA,gBAAA,EAAA,YAA+B,EAAA;MAC/B,MAAA,SAAA,GAAA,gBAA2B,CAAA,YAAA;MAC3B,OAAA,CAAA,GAAA,CAAA,yBAA2B,EAAA,SAAA,CAAA;MAC3B,gBAAA,CAAA,IAAA,IAAA,CAAA,GAAA,IAAA,EAAA,SAAwC,CAAA,KAAA,CAAA,CAAA;IACxC;KACA,CAAA,gBAAiB,CAAA,CAAA;QACjB,eAAA,GAAA,OAAA,CAAA,MAAA;IACA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAA,EAAA;IACA,OAAA,OAAA,CAAA,MAAA,CAAA,YAAA,CAAA,QAAA,CAAA,IAAA,IAAA,EAAA,EAAA,IAA4D,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,KAAA,CAAA,CAAA;KAC5D,CAAA,YAAA,EAAA,QAAA,EAAA,IAAA,CAAA,CAAA;;WAEA,CAAA,MAAA;IACA,IAAA,eAAA,IAAA,eAAA,CAAA,MAAA,GAAA,CAAA,EAAA;MACA,IAAA,CAAA;QACA,IAAA,EAAA,yBAAA;QACA,QAAA,EAAA;OACA,CAAA;MACA,WAAA,CAAA,eAAA,CAAA;MACA,MAAA,cAAA,GAAA,eAAA,GAAA,eAAkD,CAAA,MAAA,GAAA,CAAA,CAAA;MAClD,eAAA,CAAA,eAAA,CAAA,eAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;MACA,eAAA,CAAA,cAAA,EAAiC,kBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,IAAA,EAAA,CAAA;MACjC,IAAA,YAAA,GAAoB,cAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,IAAA,EAAA;MACpB,MAAA,OAAA,GAAiB,cAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,OAAA,IAAA,IAAA;;MAEjB,IAAA,CAAA,YAAA,IAAA,OAAA,EAAA;QACA,MAAA,iBAAA,GAAA,OAAA,EAAA,KAAA,CAAA,4CAA2D,CAAA;QAC3D,IAAA,iBAAA,EAAA;UACA,IAAA;YACA,YAAA,GAAA,IAAA,CAAA,KAAA,CAAA,iBAAA,CAAA,CAAA,CAAA,CAAA;UACA,CAAA,CAAA,OAAA,KAAoB,EAAA;YACpB,OAAA,CAAA,KAAA,CAAA,6CAA+C,EAAA,KAAA,CAAA;UAC/C;QACA;MACA;;MAEA,IAAK,YAAA,IAAA,KAAA,CAAA,OAAA,CAAA,YAAA,CAAA,EAAA;AAEL,QAAA,eAAgB,CAAA,YAAiB,CAAA;;aAE7B,CAAA,GAAS,CAAC,eAAM,EAAA,cAAA,CAAA;AACpB,MAAE,IAAA,cAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,KAAA,WAAA,EAAA;oBAIE,CAAA,QAAmB,EAAI,CAAC,CAAC;AAC7B,IAAA;KAEA,CAAA,eAAA,EAAA,IAAA,CAAA,CAAA;;;AAGQ;AACI;;AAEI;AACA;AACH;;;;;;AAQD;;;AAIJ;;;AAII;AACI;AACI;;AAEH;AACJ;;AAGG;;;;;AAIA;;;;AAGJ;AACA;cACA,GAAA,OAAY,IAAC;sBAChB,CAAA,OAAA,CAAA;AACL,IAAA,SACC,CAAA,IAAA,CAAA;;QAIL,OAAM,GAAA,MAAa;aAEX,CAAA,KAAA,CAAA;sBACa,CAAA,IAAK,CAAA;;AAElB;AACA,EAAA,MAAA,cAAc,GAAA,WAAc,EAAE,QAAC,GAAA,QAAA,EAAA,KAAA,GAAA,CAAA,KAAA;cAC3B,CAAA,MAAA;mBACO,CAAA,OAAA,EAAA;QACX,SAAC,CAAA,OAAA,CAAA,cAAA,CAAA;UAED,QAAA;AACA,UAAA,KAAI,EAAA,KAAA;AACA,UAAA,MAAA,EAAA;AACA,SAAA,CAAA;;YAEJ,CAAA;QACA;QACA,0BAAA,GAAA,WAAA,CAAA,MAA4C,SAAA,IAAA;AAC5C,IAAA,IAAA,CAAA,eAAA,EAAA;aACI,CAAA,KAAA,CAAA,gDAA4B,CAAA;AAC5B,MAAA;;QAGJ;kBACI,CAAA,IAAA,CAAA;AACA,MAAA,QAAA,CAAA,IAAK,CAAA;AACD,MAAA,MAAA,QAAA,GAAM,MAAM,eAAc,CAAA;AAC1B,QAAA,SAAA,EAAA;AACA,UAAA,SAAA,EAAA,eAAoB;AAEpB,UAAA;AACI;AACA,OAAA,CAAA;uBACA,EAAA,eAAO,EAAA,OAAA,EAAA;AACP,QAAA,OAAA,CAAA,GAAA,CAAA,2CAAoC,CAAA;AACpC;AACA,MAAA,CAAA,MAAA;AACI,QAAA,MAAA,QAAA,GAAA,QAAA,CAAU,IAAE,EAAA,eAAsB,EAAA,OAAA,IAAA,4BAAA;wBAClC,QAAQ,CAAA;AACR,MAAA;AACA,IAAA,CAAA,CAAA,OAAA,GAAA,EAAA;AACA,MAAA,OAAA,CAAA,KAAA,CAAA,2BAAsB,EAAA;AACtB,MAAA,QAAA,CAAA,GAAA,YAAA,KAAU,GAAI,WAAW,GAAA,4BAAc,CAAA;AACvC,MAAA,YAAA,CAAA,KAAA,CAAA;AACA,IAAA;AACA,EAAA,CAAA,EAAA,CAAA,eAAA,EAAA,eAAc,CAAA,CAAA;AACd;AACH,EAAA,MAAA,UAAA,GAAA,WAAA,CAAA,OAAA,OAAA,EAAA,KAAA,GAAA,EAAA,KAAA;AACD;AACA,IAAA,IAAA,CAAA,CAAA,OAAA,IAAA,CAAA,OAAQ,CAAA,IAAK,EAAA,MAAA,CAAA,KAAA,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,CAAA,EAAA;AACb,IAAA,MAAA,SAAA,GAAA,kBAA4B,EAAA;AAC5B,IAAA,IAAA,CAAA,SAAA,IAAA,CAAA,SAAU,EAAI;AACd;AACA,MAAA;AACI,IAAA;AACA;AACH,IAAA,IAAA,yBAAA,CAAA,OAAA,EAAA;AACD,MAAA,YAAA,CAAA,yBAAoB,CAAA,OAAA,CAAA;AAChB,MAAA,yBAAA,CAAA,OAAY,GAAA,IAAA;AACZ,IAAA;AACA,IAAA,oBAAA,CAAA,IAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,CAAA;AACA;AACA,IAAA,yBAAA,CAAM,OAAM,GAAA,UAAA,CAAA,MAAA;AACZ,MAAA,oBAAA,CAAA,KAAA,CAAS;AACZ,MAAA,yBAAA,CAAA,OAAA,GAAA,IAAA;AACD,IAAA,CAAA,EAAA,KAAA,CAAA;AACA;AACI,IAAA,IAAA,eAAA,EAAA;;AAEA,QAAA,MAAA,MAAA,GAAA,QAAA,EAAA;AACH,QAAA,MAAA,SAAA,GAAA,QAAA,EAAA;AACD,QAAA,MAAA,WAAA,GAAO,IAAE,IAAA,EAAA;AACL,QAAA,MAAA,uBAAY,GAAA,aAAmB,KAAA;AAC/B,UAAA,UAAA,EAAA,MAAI;AACJ,UAAA,EAAA,EAAA,MAAA;AACH,UAAA,OAAA;AACJ,UAAA,SAAE,EAAA,WAAA,CAAA,WAAA,EAAA;AAEH,UAAA,SAAA,EAAA,uBAA2B,EAAA;AACvB,UAAA,MAAA,EAAA;AACA,YAAA,UAAA,EAAA,aAAW;wBACP;2BACA,EAAK,OAAI,EAAA;AACT,YAAA,UAAA,EAAA,IAAA,EAAA,OAAU,EAAI,WAAA,IAAA,EAAA;AACd,YAAA,KAAA,EAAA,IAAA,EAAA,OAAO,EAAA,KAAA,IAAA,EAAA;AACV,YAAA,QAAA,EAAA,IAAA,EAAA,OAAA,EAAA,QAAA,IAAA,EAAA;oBACM,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,IAAA,EAAA;AAEX,YAAA,OAAA,EAAA,aAAgB,EAAG,OAAA,IAAA,EAAA;AACf,YAAA,KAAA,EAAA,CAAA,IAAA,EAAA,UAAW,IAAA,EAAA,CAAA;AACX,YAAA,MAAA,EAAA;AACA,WAAA;AACA,UAAA,WAAA,EAAA,KAAA;kBACK,KAAA;AAET,UAAA,IAAA,EAAA;AACI,UAAA,QAAA,EAAA,IAAA;AACI,UAAA,UAAA,EAAA,KAAA;AACA,UAAA,OAAA,EAAA;AACA,YAAA,UAAA,EAAA,SAAA;AACH,YAAA,EAAA,EAAA;AAED,WAAA;AACA,UAAA;AAEA,YAAA,UAAA,EAAA,sBAAc;AACV,YAAA,EAAA,EAAA,IAAA;;AAEI,YAAA,QAAA,EAAA,IAAA;AACA,YAAA,IAAA,EAAA,IAAA;AACA,YAAA,MAAA,EAAA,IAAA;;AAEH,WAAA;AACD,UAAA,KAAA,EAAA,EAAA;AACI,UAAA,KAAA,EAAA;AACA,YAAA,UAAA,EAAA,WAAA;AACH,YAAA,IAAA,EAAA,aAAA,IAAA,EAAA;wBACD,aAAS,EAAK,UAAU;;;kCAEpB;;;;AAIP,SAAA,CAAA;gCACJ,GAAA;iCAAO;AACJ,UAAA,SAAA,EAAA;;AAEI,YAAA,KAAA,EAAA;AACI,cAAA,SAAA,EAAA,eAAY,CAAA,QAAA;;AAEf,YAAA,QAAA,EAAA,IAAA;;;;AAGG,QAAA,MAAA,UAAA,GAAA;oCACA;+BACA,EAAA,QAAA,IAAA,YAAA;;uCAEH,EAAA;AACJ,SAAA;iBACJ,EAAA,MAAA,GAAA,CAAA,EAAA;gBAED,cAAA,GAAA,MAAA,WAA8B,CAAA;AAC9B,YAAA,IAAA,EAAA,KAAA;YACJ,gBAAC,EAAA;cAAC,SAAO;AACL,gBAAA;;aAEH;YAED,gBAAO,EAAA;cACV,SAAA,EAAA;gBACD;AACJ;AAIJ;WAEQ,CAAA;AACA,UAAA,MAAO,aAAW,GAAA,cAAc,CAAA,IAAA;AACpC,UACC,MAAA,OACH,GAAA,CAAA,aAAA,IAAA,EAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAAA,CAAA,EAAA,CAAA;AAEF,UAAM,MAAA,OAAW,CAAG;AAChB,YAAI,SAAS,EAAA;AACjB,cAAU,MAAC;AAEX,cAAM,SAAA,EAAA,eAA8B;AAChC,cAAK,OAAQ,EAAA,OAAA;AACjB,cAAU,KAAC,EAAA,OAAA;cAEX;AACA,aAAM;AACF,YAAI,kBAAgB,EAAA;AAAE,cAAA,UAAmB,EAAA,UAAA;AAEzC,cAAM,oCAA4B,CAAA,aAAsB;AACpD,aAAA;YACA,MAAA,EAAO,CAAG,KAAU,EAAA;AACpB,cAAA,IAAA,EAAA;aACA,KAAA;cACA,IAAK,CAAG,YAAe,EAAA,WAAA,EAAA;;AAEvB;;AAEA,YAAA;AACH,WAAE,CAAC;AAEJ,QAAA,CAAA,MAAO;AACX,UAAI,MAAA,OAAe;YAEnB,SAAA,EAAA;AACA,cAAM,SAAA,EAAA,eAA8B;cAC5B,OAAA,EAAW,OAAM;cACf;AAEN,aAAA;YACI,kBAAiB,EAAA;AACjB,cAAA,UAAoB,EAAA,UAAA;cACpB,WAAY,EAAA,uBAAK;AAAE,aAAA;kBACd,EAAA,CAAI,KAAA,EAAA;AAAmB,cAAA,IAAA,EAAA;;AACvB,cAAA,IAAA,CAAA,YAAU,EAAO,WAAM,EAAA;AAE5B,cAAA,OAAI,CAAA,GAAO,CAAA,cAAgB,EAAG,IAAA,CAAA,SAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAC1B;;;AAGJ,YAAA;AACJ,WAAG,CAAA;QAEH;AACI;AACA,QAAA,cAAI,CAAA,QAAW,EAAK,CAAA,CAAA;AAChB,MAAA,CAAA,CAAA,OAAA,KAAI,EAAA;eACP,CAAA,KAAA,CAAA,qCAAA,EAAA,KAAA,CAAA;QACL,YAAC,CAAA,KAAA,CAAA;AAED,MAAA;AACJ;IAEA;AACA;qBACU,EAAQ,IAAiD,EAAC,WAAA,EAAA,OAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,WAAA,CAAA,CAAA;QAChE,QAAI,GAAA,WAA2D,CAAE,YAAY,IAAA;AAE7E;AACI,IAAA,OAAA,UAAQ,CAAE,YAAS,CAAA;gBACf,CAAA,CAAA;AACI,EAAA,MAAA,WAAA,GAAA,WAAa,CAAC,MAAA;;AAElB,MAAA,IAAA,EAAA;;;AAEA,EAAA,MAAA,gBAAA,GAAA,WAAe,CAAQ,MAAM;;AAErC,MAAA,IAAE,EAAC;;AAGC,EAAA,CAAA,EAAA,CAAA,IAAA,CAAA,CAAA;;AAGJ,EAAA,MAAA,qBAAgB,CAAA,MAAA;AACpB,IAAA,IAAI,CAAA,eAAA,EAAA,OAAuB,EAAA;IAE3B,MAAA,wBAAA,GAAA,CAAA,eAAqC,IAAA,EAAA,EAAA,GAAA,CAAA,CAAA,CAAA,EAAA,GAAA,MAAA;AACrC,MAAA,EAAA,EAAM,CAAA,CAAA,EAAA,IAAA,CAAA,QAAA,EAAA,GAAqB,CAAA,CAAG;AAC1B,MAAA,OAAK,EAAA,CAAA,CAAA,OAAA,IAAc,CAAA,CAAA;AAAiC,MAAA,SAAA,EAAA,IAAS,IAAC,CAAA,CAAA,CAAA,SAAA,IAAA,IAAA,CAAA,GAAA,EAAA,CAAA;AAC9D,MAAA,wCAAsB;AAC1B,MAAC,KAAG,EAAA,CAAA,CAAA,KAAA;MAEJ,KAAA,EAAA,CAAA,CAAA,KAAA;AACA,MAAA,MAAM,EAAA,MAAA;AACF,MAAA,MAAI,EAAC,CAAA,CAAA,MAAA;AAA6D,MAAA,aAAO,EAAE;;AAI3E,IAAA,OAAA,wBAAsB;qBACZ,EAAA,WAAgB,CAAA,CAAA;;AAGtB,EAAA,MAAA,oBAAY,GAAA,OAAA,CAAA,MAAA;mBACR,GAAA,EAAA;gBACA,EAAA;iBACA,OAAQ,CAAA,GAAE,IAAA;uBACN,IAAM,CAAE,GAAE,CAAA,SAAM,CAAA;;AAEhB,MAAA,IAAA,OAAA,CAAA,IAAA,CAAA,EAAA,OAAW,GAAA,CAAA,CAAA,yBAA4B,CAAA,CAAK,KAAA,IAAA,WAAA,CAAA,IAAA,CAAA,EAAA,OAAA,GAAA,CAAA,CAAA,6BAAA,CAAA,CAAA,KAAA,OAAA,GAAA,MAAA,CAAA,IAAA,EAAA,cAAA,CAAA;AAC/C,MAAA,IAAA,OAAA,KAAE,WAAA,EAAA;AACN,QAAA,GAAA,CAAA,IAAE,CAAA;cAEH,EAAA,MAAA;AACA,UAAA,OAAK,EAAA;AACD,SAAA,CAAA;mBAEA,GAAA,OAAA;;AAEI,MAAA,GAAA,CAAA,IAAA,CAAA,GAAA,CAAA;;uBAGA,wBAA2B;yBACvB,CAAA,CAAA,yBAAgB,CAAA;0BAChB,UAAY,EAAA;AACR,QAAA,GAAA,CAAA,IAAA,CAAA;;;;;;;AAMR,EAAA,CAAA,EAAA,CAAA,WAAA,EAAA,CAAA,CAAA,CAAA;;sBAEP,GAAA,OAAA,CAAA,MAAA;AAED,IAAA,MAAA,QAAA,GAAQ,EAAG;sBACP,GAAA;gBACA;;;AAGI,IAAA,oBAAA,CAAA,OAAW,CAAA,IAAA,IAAS;AACvB,MAAA,IAAA,IAAA,EAAA,IAAE,KAAA,MAAA,EAAA;AACN,QAAA,IAAA,cAAE,CAAA,QAAA,CAAA,MAAA,GAAA,CAAA,EAAA;AAEH,UAAA,4BAAqB,CAAM;AACvB,QAAA;sBACH,GAAA;AACL,UAAE,IAAC,EAAA,IAAA,CAAA,OAAA;AAEH,UAAA;AACJ,SAAI;MAEJ,CAAA,MAAA;QACA,cAAe,CAAA,QAAA,CAAA,IAAA,CAAA,IAAA,CAAA;;AAEf,IAAA,CAAC,CAAA;IAED,IAAA,cAAA,CAAA,QAAA,CAAA,MAAA,GAAA,CAAA,EAAA;MACA,QAAU,KAAK,CAAA,cAAA,CAAA;AACX,IAAA;AACI,IAAA,OAAA,QAAI;AACA,EAAA,CAAA,EAAA,CAAA,oBAAA,CAAA,CAAY;;AAEpB,EAAA,MAAA,qBAAE,GAAA,OAAA,CAAA,MAAA;IACN,IAAG,CAAE,cAAE,IAAA,cAAA,CAAA,MAAA,KAAA,CAAA,EAAA,OAAA,EAAA;AAEP,IAAA;AACI,EAAA,CAAA,EAAA,CAAA,cAAY;AACZ;AAAc,EAAA,MAAA,6CAAyC;QAEvD,CAAA,qBAAoB,IAAA,qBAAO,CAAA,MAAA,KAAA,CAAA,EAAA,OAAA,EAAA;AACtB,IAAA,MAAA,gBAAQ,GAAA,EAAA;AACR,IAAA,qBAAQ,CAAA,OAAA,CAAA,OAAA,IAAA;AACb,MAAA,MAAI,gBAAe,GAAA,EAAA;YACf,eAAO,GAAW,CAAA,GAAI,OAAA,CAAA,QAAA,CAAA;aACzB,CAAA,GAAA,CAAA,mDAAA,EAAA;QACD,WAAA,EAAA,OAAA,CAAA,IAAA;QACA,aAAM,EAAA,eAAmB,CAAA;QACzB,QAAI,EAAA,eAAmB,CAAA,GAAA,CAAA,CAAA,KAAA;gBACnB,EAAA,CAAA,CAAA,MAAA;uBACO,EAAA,CAAA,CAAA,aAAqB;UAC/B,OAAA,EAAA,CAAA,CAAA,OAAA,EAAA,SAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA;SAED,CAAA;AACA,OAAA,CAAA;;MAEH,KAAM,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,eAAA,CAAA,MAAA,EAAA,CAAA,EAAA,EAAA;AAEP,QAAA,MACI,UAAA,GAAA,eAAK,CAAA,CAAA,CAAA;;YAGG,UAAA,CAAA,MAAA,KAAA,MAAA,IAAK,UAAU,CAAA,aAAA,EAAA;0BAEX,CAAA,IAAA,CAAA,UAAA,CAAA;;qCAOQ,CAAA,MAAA,EAAA;yBACC,GAAA,eAAc,CAAM,CAAA,GAAI,CACrB,CAAA;AAGR,YAAA,IAAA,OAAA,CAAA,MAAA,KAAA,IAAA,IAAA,CAAA,OAAA,CACI,aAAY,EAAG;AAGP,cAAA,gBAAE,CAAA,IAAA,CAAA,OAAA,CAAA;;;AAKT,UAAA;AAqBhB,QAAA,CAAA,MAAA,IAAS,UAAK,CAAA,MAAY,KAAA,IAAA,IAAA,CAAA,UAAA,CAAA,aAAA,EAAA;;UAEvB,gBAAA,CAAA,IAAA,CAAA,UAAK,CAAA;;;qDAIY,EAAA;AACD,QAAA,WAAA,EAAA,OAAA,CAAA,IAAA;AAMI,QAAA,gBAAA,EAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,KAAA;oBAQR,MAAA;uBAKA,EAAA,CAAA,CAAA,aAAA;4BACI,EAAA,SAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA;AACI,SAAA,CAAA;;AAchB,MAAA,IAAA,gBAAA,CAAA,MAAA,GAAA,CAAA,EAAA;AAGa,QAAA,gBAAO,CAAC,IAAQ,CAAE;AAClB,UAAA,GAAA,OAAG;kBACA,EAAA;AAEA,SAAA,CAAA;;;AAKgB,IAAA,OAAA,gBAAA;AAMI,EAAA,CAAA,EAAA,CAAA,qBAAA,CAAA,CAAA;;;AAcJ;kCACM,EAAE,MAAM,EAAA,QAAA,EAAA,UAAA,CAAA,MAAA,EAAA,cAAA,CAAA,CAAA;;AAEV,EAAA,SAAA,CAAA,MAAA;;oCAGQ,OAAM,EAAA;;AAGQ,MAAA;;;AAItB,EAAA,MAAA,mBAAA,GAAA,WAAQ,CAAA,OAAI,IAAM;AACd,IAAA,OAAA,CAAA,GAAA,CAAA,oBAAA,EAAE,OAAE,CAAM;AACV,IAAA,IAAA,CAAA,OAAA,EAAA,OAAA,iCAAiB;AACjB,IAAA,MAAA,WAAA,GAAA,OAAA,CAAA,OAAA,CAAA,2CAAc,EAAA,EAAA,CAAA,CAAA,OAAA,CAAA,2CAAA,EAAA,EAAA,CAAA;AACd,IAAA,IAAA,WAAA,IAAA,WAAA,CAAA,IAAA,EAAA,KAAU,EAAA,IAAM,WAAA,CAAA,IAAA,EAAA,EAAA,MAAA,GAAA,CAAA,EAAA;AAChB,MAAA,OAAA,WAAA,IAAA,iCAAgB;AAChB,IAAA;AACA;AACA,IAAA,MAAA,gBAAA,GAAA,OAAA,CAAA,MAAO,0CAAE,CAAA;AACT,IAAA,IAAA,gBAAA,EAAA;AACH;gCACD,CAAA,CAAA,EAAA,IAAA,EAAS,IAAK,iCAAU;AACxB,IAAA;AACA;AACA,IAAA,MAAA,mBAAA,GAAA,QAAQ,OAAK,CAAA,2CAAA,EAAA,EAAA,CAAA,CAAA,IAAA,EAAA;AACb,IAAA,OAAA,mBAAA,IAAA,iCAAc;AACd,EAAA,CAAA,EAAA,EAAA,CAAA;2CACA,EAAA;qCACA,EAAA,SAAA,CAAA;yCACA;;AAEA,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACA,IAAA,SAAA,EAAA;AACA,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACH,IAAA,SAAA,EAAA;AACJ,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,QACD,EAAA;AAQhB,IAAA,OAAA,EAAC,MACL,YAAA,CAAA,MAAA,CAAA;aACA,EAAA,CAAA,SAAA,EAAA,SAAA,KAAA,MAAA,GAAoC,2BAAA,GAAA,mCAAA,CAAA,0BAAA;AACpC,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAAA,MAAA,CAAA,EAAA,SAAA,KAAA,MAAA,IAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;;mCAGQ,CAAA,QAAA,EAAA;+BACI,CAAA,SAAA,CAAA;AACI,IAAA,SAAA,EAAA,CAAA,SAAA,EAAA,SAAA,KAAA,SAAA,GAAA,2BACc,GAAc,mCAEL,CAAA,0BACE;AAErB,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAAA,SAAA,CAAA,EAAA,SAAA,kBACkBA,cAAA,CAAO,aACrB,CAAA,KAAe,EAAA;;wBAQ/B,SAAA;AACI,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;aAQxB,EAAA;mBACA,CAAA,aAAA,CAAA,KAAA,EAAA;aAEI,EAAA;AASK,GAAA,EAAAA,cAAA,CAAA,aAAE,CAAA,KAAA,EAAA;;AAKK,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;;AAQC,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAQ,EAAI;sCAEL;AACA,IAAA,IAAA,EAAA,MAAA;AAGA,IAAA,OAAA,EAAA,WAAA;AAIR,IAAA,MAAA,EAAA;AAIa,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,MAAI,EAAA;;AAGG,IAAA,cAAA,EAAA,OAAA;AAMP,IAAA,WAAA,EAAA,CAAA;;oCAEG,CAAA,OAAA,EAAA;;qCAEI;;kCAMJ,CAAA,KAAA,EAAA;AAEQ,IAAA,SAAA,EAAA;;;AAGI,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;;AAGQ,IAAA,IAAA,EAAA,MAAA;AACM,IAAA,OAAA,EAAA,WAAA;;AAGQ,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;;;AAItB,IAAA,WAAA,EAAA,CAAA;;AAGQ,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACM,IAAA,SAAA,EAAA;AACA,GAAA,EAAA,eAAA,IAAA,eAAA,CAAA,MAAA,GAAA,CAAA,GAAS,eAAM,CAAA,MAAA,CAAA,GAAA,IAAA,GAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,KAAA,MAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,EAAA,KAAA,KAAA;AACf,IAAA,IAAA,IAAA,CAAA,GAAA,CAAA,SAAA;AACA,IAAA,OAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACA,MAAA,GAAA,EAAA,GAAA,CAAA,EAAA,IAAA,KAAA;AACA,MAAA,SAAA,EAAA;AACA,KAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACA,MAAA,SAAA,EAAA;AACA,KAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,QAAA,EAAA;AACH,MAAA,SAAA,EAAA;;AAEX,MAAA,SAAA,EAAA,cAAA;AACA,MAAA,IAAA,EAAA,MAAA;AACA,MAAA,OAAA,EAAA,WAAA;AACA,MAAA,MAAA,EAAA;AACA,KAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;;;;;AAKA,KAAA,CAAA,CAAA,EAAA,uBAAA,CAAA,CAAA,EAAAA,cAAA,CAAA,aAAa,CAAA,2BAAA,EAAA;AACb,MAAA,QAAA,EAAA,CAAA;AACA,QAAA,EAAA,EAAA,GAAA,CAAA,EAAA;AACH;wCAEL,EAAW,QAAE,EAAA,IAAkB,gBACjB,GACd,GAAA,CAAA,kBAAwB,EAAC,QAAA,EAAA,QAAmB,EAAC,OAC7C,GAAA,mBAA4B,CAAA,GAC5B,CAAA,kBAAe,EAAA,QACf,EAAA,QAAA,EAAa,OAAE,CAAA,GAAA,GAAA,CAAa,cAChB,OAAE;gBAYzC,GAAC,CAAA,MAAQ,IAAI;oBAEN;2BACI;;;;AAUZ,UAAA,KAAA,EAAA,EAAA;AAIJ,UAAA,OAAA,EAAA,IAAA;;AAOQ,UAAA,MAAA,EAAA;AACI,SAAA;AACA,QAAA,SAAA,EAAA,GAAA,CAAA;sBACH;AACD,QAAA,WAAA,EAAA,KAAM;AAEN,QAAA,MAAA,EAAA,KAAA;sBAEA;AACI,QAAA,UAAA,EAAA,IAAA;AACA,QAAA,SAAA,EAAA,GAAA,CAAA,SAAQ;4BACJ,GAAG,CAAA,kBAAc;AACjB,QAAA,KAAA,EAAA,GAAA,CAAA,KAAA;;AAEH,QAAA,OAAA,EAAA,IAAA;qBACJ;AACL,QAAA,QAAA;AAEI,OAAA,CAAA;iBACH,EAAA,WAGZ;AAGA,MAAA,MAAA,EAAK,MACF;oBACI,EAAA,GAAA,IAAA,eAAK,CAAA,GAAA,CAAA;AACD,MAAA,aAAA,EAAA,aAAA;mBACA,EAAA;AACI,KAAA,CAAA,CAAA;;AAkBf;8BAGO,CAAAA,cAAA,CAAA,QAAC,EAAA,IAAA,EAAAA,eACG;aAUX,EAAO;AAEA,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;aACA,EAAA;iCACI,CAAA,QAAA,EAAA;;AAKQ,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAII,IAAA,SAAA,EAAA,cAAA;AACI,IAAA,IAAA,EAAA,MAAA;wBASZ;;AAU5B,GAAE,EAAAA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"AIAgent.js","sources":["../../../src/components/AIAgent/AIAgent.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
@@ -10,5 +10,6 @@ export declare const config: Readonly<{
10
10
  ANTHROPIC_API_KEY: string;
11
11
  NEWS_API_KEY: string;
12
12
  OPENAI_API_KEY: string;
13
+ AI_MESSENGER_PATH: string;
13
14
  } & import("envalid").CleanedEnvAccessors>;
14
15
  //# sourceMappingURL=env-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,MAAM;;;;;;;;;;;;0CAYjB,CAAC"}
1
+ {"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,MAAM;;;;;;;;;;;;;0CAajB,CAAC"}
@@ -33,5 +33,8 @@ const config = cleanEnv(env, {
33
33
  }),
34
34
  OPENAI_API_KEY: str({
35
35
  default: ''
36
+ }),
37
+ AI_MESSENGER_PATH: str({
38
+ default: '/ai-messenger/app'
36
39
  })
37
40
  });export{config};//# sourceMappingURL=env-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-config.js","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":"uFAGA,MAAM,GAAG,GAAG,cAAc,EAAE;AAErB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE;YAChC,EAAU;IACV,OAAA,EAAA;IACA;AACA,EAAA,sBAAmB,EAAG,GAAG,CAAA;IACzB,OAAA,EAAA;IACA;yBACqB,KAAI,CAAE;IAC3B,OAAA,EAAA;IACA;qBACiB,GAAG;IACpB,UAAA,EAAA,EAAc;AACjB,IAAE,OAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"env-config.js","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":"uFAGA,MAAM,GAAG,GAAG,cAAc,EAAE;AAErB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE;YAChC,EAAU;IACV,OAAA,EAAA;IACA;AACA,EAAA,sBAAmB,EAAG,GAAG,CAAA;IACzB,OAAA,EAAA;IACA;yBACqB,KAAI,CAAE;IAC3B,OAAA,EAAA;IACA;qBACiB,GAAG;IACpB,UAAA,EAAA,EAAc;IACd,OAAA,EAAA;AACH,GAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -85,7 +85,7 @@ const AiLandingInput = () => {
85
85
  },
86
86
  extensionInput: {
87
87
  extensionId: modelConfig?.extensionId || config.MESSENGER_BOX_FORM_EXTENSION_ID,
88
- stepName: 'createChannel',
88
+ stepName: 'extractCodeFromExtension',
89
89
  formId: 'form-builder-proxy',
90
90
  functionId: 'create-channel-function',
91
91
  metadata: {},
@@ -98,7 +98,7 @@ const AiLandingInput = () => {
98
98
  setIsCreatingChannel(false);
99
99
  return;
100
100
  }
101
- navigate(`/ai-messenger/app?id=${id}`, {
101
+ navigate(`${config.AI_MESSENGER_PATH}?id=${id}`, {
102
102
  replace: true
103
103
  });
104
104
  setIsCreatingChannel(false);
@@ -1 +1 @@
1
- {"version":3,"file":"AiLandingInput.js","sources":["../../src/container/AiLandingInput.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"AiLandingInput.js","sources":["../../src/container/AiLandingInput.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"iuCAUA,MAAM,sBAAsB,GAAGA,cAAK,CAAC,IAAI,CAAC,MAAMA,cAC5C,CAAA,aAAA,CAAA,KAAA,EAAA;AACI,EAAA,SAAA,EAAA;AAIR,CAAA,EAAAA,cAAM,CAAA,aAAc,CAAa,KAAK,EAAA;AAClC,EAAA,SAAO,EAAA;AACP,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,cAAO,GAAY,MAAG;AACtB,EAAA,MAAA,CAAA,wBAA4B,CAAE,GAAC,mCAAA,EAAA;AAC/B,EAAA,MAAA,CAAA,UAAO,CAAA,GAAA,qBAAmB,EAAA;AAC1B,EAAA,MAAA,CAAA,WAAQ,CAAA,GAAW,uBAAqB,EAAA;QACxC,QAAA,GAAA,WAAA,EAAA;AACA,EAAA,MAAA,CAAA,iBAAsB,EAAE,oBAAmB,CAAA,GAAGA,cAAM,CAAA,QAAS,CAAA,KAAM,CAAA;AAEnE,EAAA,MAAA;eAEQ;qBACI;sBACI;;AAEI,GAAA,GAAA,wBAAA,EAAA;;AAGA,EAAA,MAAA,CAAA,eAAA,EAAA,kBAAA,CAAA,GAAAA,uBAAgB,CAAA,IAAO,CAAA;qCAiBX,CAAA,KAAA,EAAA;AAEI,IAAA,SAAA,EAAA;AAKJ,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;;AASR,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAM,EAAA;AACN,IAAA,SAAA,EAAA;uCACI,EAAA;;iCAEJ,CAAC,IAAA,EAAA;;oCAED,CAAA,EAAAA,cAAoB,CAAC,aAAM,CAAA,GAAA,EAAA;AAC3B,IAAA,SAAA,EAAA;AACA,GAAA,EAAA,8DAA0B,CAAA,CAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAC1B,IAAA,SAAA,EAAA;iCACA,CAAA,KAAA,EAAA;AACA,IAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,SAAM,GAAE,kCAAkC,GAAA,EAAA,CAAA;AAE1C,GAAA,EAAA,CAAA,SAAA,IAAAA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAyB,EAAA,IAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACrB,IAAA,SAAA,EAAA;AACI,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA;;AAEI,GAAA,EAAA,wFAAqB,CAAA,CAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACrB,IAAA,SAAA,EAAA;AACA,GAAA,EAAA,2EAA2B,CAAA,CAAA,CAAA,CAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AAC3B,IAAA,UAAA,EAAA,OAAA,OAAA,EAAA,KAAA;AACA,MAAA,MAAA,SAAA,GAAA,kBAAA,EAAA;oCACA;AACA,QAAA,kBAAA,CAAA,IAAA,CAAA;AACI,QAAA;;AAEA,MAAA,OAAA,CAAA,GAAA,CAAA,+BAAS,EAAA,OAAO,EAAA,KAAA,CAAA;AAChB,MAAA,oBAAA,CAAA,IAAA,CAAA;AACI,MAAA,MAAA,EAAA,GAAA,QAAA,EAAA;AACA,MAAA,MAAA,MAAA,GAAA,QAAA,EAAA;AACA,MAAA,MAAA,SAAA,GAAA,QAAA,EAAA;;AAEA,MAAA,MAAA;AACA,QAAA,WAAA,EAAA,gBAAA;AACH,QAAA,GAAA;AACJ,OAAA,GAAA,WAAA,IAAA,EAAA;AACD,MAAA,wBAAA,CAAA;AACI,QAAA,SAAA,EAAA;AACH,UAAA,kBAAA,EAAA;AACJ,YAAA,SAAA;AACD,YAAA,KAAA,EAAA,cAAA;AACI,YAAA,WAAA,EAAA,cAAA;AACA,YAAA,WAAA,EAAA,cAAA;AACA,YAAA,KAAA,EAAA,cAAA;AACA,YAAA,SAAA,EAAA,EAAA;AACA,YAAA,IAAA,EAAA,QAAA,CAAA,WAAA;AACA,YAAA,QAAA,EAAA;AACH,cAAA,MAAA,EAAA,MAAA;AACJ,cAAA,IAAA,EAAA,YAAA,CAAA,WAAA;AACD,cAAA,OAAA,EAAA,OAAA;AACI,cAAA,KAAA,EAAA;AACA,gBAAA,cAAA,EAAA,IAAI;qCACA,EAAA,QAAA,IAAA,YAA2B;;wCAE9B,CAAA,IAAA;AACD,gBAAA,QAAA,EAAA,EAAA;6CACA,EAAA;;AAEJ,aAAA;AACI,YAAA,oBAAA,EAAA;;;AAGP,WAAA;AACL,UAAA,cACA,EAAA;AA8FJ,YAAA,WAAA,EAAA,WAAA,EAAA,WAAK,IAAA,MAAU,CAAA,+BAAmC;AAKzD,YAAA,QAAA,EAAA,0BAAqB;AAGlC,YAAE,MAAA,EAAA,oBAAA;AAEF,YAAA,UAAe,EAAA,yBAA+B;AAE9C,YAAA,QAAoB,EAAC,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@messenger-box/tailwind-ui-inbox",
3
- "version": "10.0.3-alpha.105",
3
+ "version": "10.0.3-alpha.107",
4
4
  "description": "Inbox UI components built with TailwindCSS",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -58,5 +58,5 @@
58
58
  "typescript": {
59
59
  "definition": "lib/index.d.ts"
60
60
  },
61
- "gitHead": "d5e8f3d12ce62181f40c90a176f69198cf083f09"
61
+ "gitHead": "b2767987f4b80c61c9aeeff9b87857a86351f682"
62
62
  }
@@ -17,6 +17,7 @@ import {
17
17
  MessagesDocument,
18
18
  useMessagesQuery,
19
19
  OnChatMessageAddedDocument as CHAT_MESSAGE_ADDED,
20
+ useCreateChannelWorkflowJobMutation,
20
21
  useGenerateAiCodeMutation,
21
22
  useOnChatMessageAddedSubscription,
22
23
  useSandboxErrorSubscription,
@@ -65,9 +66,10 @@ export const AIAgent: React.FC<AIAgentProps> = ({
65
66
  isLoading,
66
67
  }) => {
67
68
  const [state, send] = useMachine(aiAgentMachine);
68
- const apolloClient = useApolloClient();
69
+ // const apolloClient = useApolloClient();
69
70
  const { startUpload } = useUploadFiles();
70
71
  const [sendMsg] = useSendMessagesMutation();
72
+ const [createChannelWorkflowJob] = useCreateChannelWorkflowJobMutation();
71
73
  const auth: any = useSelector<Store.Auth, IUserState>(userSelector, shallowEqual);
72
74
  const { id: pathChannelId } = useParams();
73
75
  const navigate = useNavigate();
@@ -76,7 +78,7 @@ export const AIAgent: React.FC<AIAgentProps> = ({
76
78
  const [errorData, setError] = useState<string | null>(null);
77
79
  // Get channelId from props or path params
78
80
  const actualChannelId = channelId || pathChannelId;
79
- const [generateAiCode] = useGenerateAiCodeMutation();
81
+ // const [generateAiCode] = useGenerateAiCodeMutation();
80
82
  const [recreateSandbox] = useRecreateSandboxMutation();
81
83
  const { data: chatMessageAddedData } = useOnChatMessageAddedSubscription({
82
84
  variables: { channelId: actualChannelId?.toString() || '' },
@@ -313,6 +315,163 @@ export const AIAgent: React.FC<AIAgentProps> = ({
313
315
  );
314
316
 
315
317
  // Updated handleSend function from InboxWithAi.tsx
318
+ // const handleSend = useCallback(
319
+ // async (message: string, files: any[] = []) => {
320
+ // // Allow sending if there's either a message or files
321
+ // if ((!message || !message.trim()) && (!files || files.length === 0)) return;
322
+
323
+ // const validated = getValidatedConfig();
324
+ // if (!validated && !hasApiKey) {
325
+ // // No API key/config; do nothing (AiLandingInput would prompt config UI)
326
+ // return;
327
+ // }
328
+
329
+ // // Start the AI thinking loader immediately on send
330
+ // if (successThinkingTimeoutRef.current) {
331
+ // clearTimeout(successThinkingTimeoutRef.current);
332
+ // successThinkingTimeoutRef.current = null;
333
+ // }
334
+ // setIsSuccessThinking(true);
335
+ // setIsLoading(true);
336
+ // // Safety auto-stop in case no event arrives
337
+ // successThinkingTimeoutRef.current = setTimeout(() => {
338
+ // setIsSuccessThinking(false);
339
+ // successThinkingTimeoutRef.current = null;
340
+ // }, 15000);
341
+
342
+ // // If we already have a channel, send message (with optional file upload) similar to Inbox
343
+ // if (actualChannelId) {
344
+ // try {
345
+ // const postId = objectId();
346
+ // const channelId = objectId();
347
+ // const currentDate = new Date();
348
+
349
+ // const createOptimisticMessage = (uploadedFiles?: any[]) => ({
350
+ // __typename: 'Post' as const,
351
+ // id: postId,
352
+ // message,
353
+ // createdAt: currentDate.toISOString(),
354
+ // updatedAt: currentDate.toISOString(),
355
+ // author: {
356
+ // __typename: 'UserAccount' as const,
357
+ // id: auth?.id,
358
+ // givenName: auth?.profile?.given_name || '',
359
+ // familyName: auth?.profile?.family_name || '',
360
+ // email: auth?.profile?.email || '',
361
+ // username: auth?.profile?.nickname || '',
362
+ // fullName: auth?.profile?.name || '',
363
+ // picture: auth?.profile?.picture || '',
364
+ // alias: [auth?.authUserId ?? ''],
365
+ // tokens: [],
366
+ // },
367
+ // isDelivered: false,
368
+ // isRead: false,
369
+ // type: 'TEXT' as PostTypeEnum,
370
+ // parentId: null,
371
+ // fromServer: false,
372
+ // channel: {
373
+ // __typename: 'Channel' as const,
374
+ // id: actualChannelId,
375
+ // },
376
+ // propsConfiguration: {
377
+ // __typename: 'MachineConfiguration' as const,
378
+ // id: null,
379
+ // resource: '' as any,
380
+ // contents: null,
381
+ // keys: null,
382
+ // target: null,
383
+ // overrides: null,
384
+ // },
385
+ // props: {},
386
+ // files: {
387
+ // __typename: 'FilesInfo' as const,
388
+ // data: uploadedFiles || [],
389
+ // totalCount: uploadedFiles?.length || 0,
390
+ // },
391
+ // replies: {
392
+ // __typename: 'Messages' as const,
393
+ // data: [],
394
+ // totalCount: 0,
395
+ // },
396
+ // });
397
+
398
+ // const cacheMessagesQuery = {
399
+ // query: MessagesDocument,
400
+ // variables: {
401
+ // // Match variables used in useMessagesQuery above
402
+ // props: { projectId: actualChannelId.toString() },
403
+ // parentId: null,
404
+ // limit: MESSAGES_PER_PAGE,
405
+ // },
406
+ // } as const;
407
+
408
+ // const extraProps = {
409
+ // projectId: actualChannelId,
410
+ // template: modelConfig?.template || 'vite-react',
411
+ // role: 'USER',
412
+ // sendNotificationWithProjectId: true,
413
+ // } as any;
414
+
415
+ // if (files?.length > 0) {
416
+ // const uploadResponse = await startUpload({
417
+ // file: files,
418
+ // saveUploadedFile: { variables: { postId } },
419
+ // createUploadLink: { variables: { postId } },
420
+ // });
421
+
422
+ // const uploadedFiles = uploadResponse.data as unknown as IFileInfo[];
423
+ // const fileIds = (uploadedFiles || []).map((f: any) => f.id);
424
+
425
+ // await sendMsg({
426
+ // variables: {
427
+ // postId,
428
+ // channelId: actualChannelId,
429
+ // content: message,
430
+ // files: fileIds,
431
+ // extraProps,
432
+ // },
433
+ // optimisticResponse: {
434
+ // __typename: 'Mutation',
435
+ // sendMessage: createOptimisticMessage(uploadedFiles),
436
+ // },
437
+ // update: (cache, { data: mutationData }) => {
438
+ // if (!mutationData?.sendMessage) return;
439
+ // // if (mutationData?.sendMessage?.id) {
440
+ // // handleGenerateAiCode(mutationData.sendMessage.id);
441
+ // // }
442
+ // },
443
+ // });
444
+ // } else {
445
+ // await sendMsg({
446
+ // variables: { channelId: actualChannelId, content: message, extraProps },
447
+ // optimisticResponse: {
448
+ // __typename: 'Mutation',
449
+ // sendMessage: createOptimisticMessage(),
450
+ // },
451
+ // update: (cache, { data: mutationData }) => {
452
+ // if (!mutationData?.sendMessage) return;
453
+ // console.log('mutationData', JSON.stringify(mutationData, null, 2));
454
+ // // if (mutationData?.sendMessage?.id) {
455
+ // // handleGenerateAiCode(mutationData.sendMessage.id);
456
+ // // }
457
+ // },
458
+ // });
459
+ // }
460
+
461
+ // // Scroll to bottom after send
462
+ // scrollToBottom('smooth', 0);
463
+ // } catch (error) {
464
+ // console.error('Error sending message from AIAgent:', error);
465
+ // setIsLoading(false);
466
+ // }
467
+
468
+ // return;
469
+ // }
470
+ // // If no channelId, we skip sending here.
471
+ // },
472
+ // [actualChannelId, auth, startUpload, sendMsg, scrollToBottom, getValidatedConfig, hasApiKey, modelConfig],
473
+ // );
474
+
316
475
  const handleSend = useCallback(
317
476
  async (message: string, files: any[] = []) => {
318
477
  // Allow sending if there's either a message or files
@@ -336,138 +495,87 @@ export const AIAgent: React.FC<AIAgentProps> = ({
336
495
  setIsSuccessThinking(false);
337
496
  successThinkingTimeoutRef.current = null;
338
497
  }, 15000);
498
+ // If no channelId, mirror AiLandingInput: create channel+project, seed first post, then navigate
499
+ try {
500
+ const projectId = actualChannelId;
501
+ const postId = objectId();
502
+ const channelId = objectId();
339
503
 
340
- // If we already have a channel, send message (with optional file upload) similar to Inbox
341
- if (actualChannelId) {
342
- try {
343
- const postId = objectId();
344
- const channelId = objectId();
345
- const currentDate = new Date();
346
-
347
- const createOptimisticMessage = (uploadedFiles?: any[]) => ({
348
- __typename: 'Post' as const,
349
- id: postId,
350
- message,
351
- createdAt: currentDate.toISOString(),
352
- updatedAt: currentDate.toISOString(),
353
- author: {
354
- __typename: 'UserAccount' as const,
355
- id: auth?.id,
356
- givenName: auth?.profile?.given_name || '',
357
- familyName: auth?.profile?.family_name || '',
358
- email: auth?.profile?.email || '',
359
- username: auth?.profile?.nickname || '',
360
- fullName: auth?.profile?.name || '',
361
- picture: auth?.profile?.picture || '',
362
- alias: [auth?.authUserId ?? ''],
363
- tokens: [],
364
- },
365
- isDelivered: false,
366
- isRead: false,
367
- type: 'TEXT' as PostTypeEnum,
368
- parentId: null,
369
- fromServer: false,
370
- channel: {
371
- __typename: 'Channel' as const,
372
- id: actualChannelId,
373
- },
374
- propsConfiguration: {
375
- __typename: 'MachineConfiguration' as const,
376
- id: null,
377
- resource: '' as any,
378
- contents: null,
379
- keys: null,
380
- target: null,
381
- overrides: null,
382
- },
383
- props: {},
384
- files: {
385
- __typename: 'FilesInfo' as const,
386
- data: uploadedFiles || [],
387
- totalCount: uploadedFiles?.length || 0,
388
- },
389
- replies: {
390
- __typename: 'Messages' as const,
391
- data: [],
392
- totalCount: 0,
393
- },
394
- });
395
-
396
- const cacheMessagesQuery = {
397
- query: MessagesDocument,
398
- variables: {
399
- // Match variables used in useMessagesQuery above
400
- props: { projectId: actualChannelId.toString() },
401
- parentId: null,
402
- limit: MESSAGES_PER_PAGE,
403
- },
404
- } as const;
504
+ // Do not include extensionId inside modelConfig when sending additionalProperties
505
+ const { extensionId: _omitExtensionId, ...modelConfigWithoutExtensionId } =
506
+ (modelConfig as any) || ({} as any);
405
507
 
406
- const extraProps = {
407
- projectId: actualChannelId,
408
- template: modelConfig?.template || 'vite-react',
409
- role: 'USER',
410
- sendNotificationWithProjectId: true,
411
- } as any;
412
-
413
- if (files?.length > 0) {
414
- const uploadResponse = await startUpload({
415
- file: files,
416
- saveUploadedFile: { variables: { postId } },
417
- createUploadLink: { variables: { postId } },
418
- });
419
-
420
- const uploadedFiles = uploadResponse.data as unknown as IFileInfo[];
421
- const fileIds = (uploadedFiles || []).map((f: any) => f.id);
422
-
423
- await sendMsg({
424
- variables: {
425
- postId,
426
- channelId: actualChannelId,
508
+ await createChannelWorkflowJob({
509
+ variables: {
510
+ createChannelInput: {
511
+ channelId,
512
+ title: 'AI Assistant',
513
+ description: 'AI Assistant',
514
+ displayName: 'AI Assistant',
515
+ topic: 'AI Assistant',
516
+ projectId: projectId,
517
+ type: RoomType.Aiassistant,
518
+ postData: {
519
+ postId: postId,
520
+ type: PostTypeEnum.Aiassistant,
427
521
  content: message,
428
- files: fileIds,
429
- extraProps,
430
- },
431
- optimisticResponse: {
432
- __typename: 'Mutation',
433
- sendMessage: createOptimisticMessage(uploadedFiles),
434
- },
435
- update: (cache, { data: mutationData }) => {
436
- if (!mutationData?.sendMessage) return;
437
- // if (mutationData?.sendMessage?.id) {
438
- // handleGenerateAiCode(mutationData.sendMessage.id);
439
- // }
440
- },
441
- });
442
- } else {
443
- await sendMsg({
444
- variables: { channelId: actualChannelId, content: message, extraProps },
445
- optimisticResponse: {
446
- __typename: 'Mutation',
447
- sendMessage: createOptimisticMessage(),
522
+ props: {
523
+ generateAiCode: true,
524
+ template: modelConfig?.template || 'vite-react',
525
+ projectId: projectId,
526
+ role: 'USER',
527
+ fragment: {},
528
+ sendNotificationWithProjectId: true,
529
+ },
448
530
  },
449
- update: (cache, { data: mutationData }) => {
450
- if (!mutationData?.sendMessage) return;
451
- console.log('mutationData', JSON.stringify(mutationData, null, 2));
452
- // if (mutationData?.sendMessage?.id) {
453
- // handleGenerateAiCode(mutationData.sendMessage.id);
454
- // }
531
+ additionalProperties: {
532
+ modelConfig: modelConfigWithoutExtensionId,
455
533
  },
456
- });
457
- }
458
-
459
- // Scroll to bottom after send
460
- scrollToBottom('smooth', 0);
461
- } catch (error) {
462
- console.error('Error sending message from AIAgent:', error);
463
- setIsLoading(false);
464
- }
465
-
466
- return;
534
+ },
535
+ extensionInput: {
536
+ // prefer saved extensionId from modelConfig; otherwise env default
537
+ extensionId:
538
+ (modelConfig as any)?.extensionId || (config as any)?.MESSENGER_BOX_FORM_EXTENSION_ID,
539
+ stepName: 'extractCodeFromExtension',
540
+ formId: 'form-builder-proxy',
541
+ functionId: 'create-channel-function',
542
+ metadata: {},
543
+ source: 'final-submission',
544
+ },
545
+ },
546
+ onCompleted: (data: any) => {
547
+ // if (!data?.createChannelWorkflowJob) {
548
+ // setIsSuccessThinking(false);
549
+ // setIsLoading(false);
550
+ // return;
551
+ // }
552
+ // setIsSuccessThinking(false);
553
+ // setIsLoading(false);
554
+ },
555
+ onError: (error: any) => {
556
+ console.error('Error creating channel:', error);
557
+ setIsSuccessThinking(false);
558
+ setIsLoading(false);
559
+ },
560
+ });
561
+ } catch (err) {
562
+ console.error('Failed to create new AI project/channel from AIAgent:', err);
563
+ setIsSuccessThinking(false);
564
+ setIsLoading(false);
467
565
  }
468
- // If no channelId, we skip sending here.
469
566
  },
470
- [actualChannelId, auth, startUpload, sendMsg, scrollToBottom, getValidatedConfig, hasApiKey, modelConfig],
567
+ [
568
+ actualChannelId,
569
+ auth,
570
+ startUpload,
571
+ sendMsg,
572
+ scrollToBottom,
573
+ getValidatedConfig,
574
+ hasApiKey,
575
+ modelConfig,
576
+ navigate,
577
+ createChannelWorkflowJob,
578
+ ],
471
579
  );
472
580
 
473
581
  const fixError = useCallback(
@@ -637,7 +745,7 @@ export const AIAgent: React.FC<AIAgentProps> = ({
637
745
  }, []);
638
746
 
639
747
  const extractCleanContent = useCallback((summary: string): string => {
640
- console.log('summary...........', summary);
748
+ // console.log('summary...........', summary);
641
749
  if (!summary) return 'Project generated successfully!';
642
750
 
643
751
  const summeryData = summary
@@ -15,4 +15,5 @@ export const config = cleanEnv(env, {
15
15
  ANTHROPIC_API_KEY: str({ default: '' }),
16
16
  NEWS_API_KEY: str({ default: '' }),
17
17
  OPENAI_API_KEY: str({ default: '' }),
18
+ AI_MESSENGER_PATH: str({ default: '/ai-messenger/app' }),
18
19
  });
@@ -108,7 +108,7 @@ const AiLandingInput: React.FC = () => {
108
108
  },
109
109
  extensionInput: {
110
110
  extensionId: modelConfig?.extensionId || config.MESSENGER_BOX_FORM_EXTENSION_ID,
111
- stepName: 'createChannel',
111
+ stepName: 'extractCodeFromExtension',
112
112
  formId: 'form-builder-proxy',
113
113
  functionId: 'create-channel-function',
114
114
  metadata: {},
@@ -121,7 +121,7 @@ const AiLandingInput: React.FC = () => {
121
121
  setIsCreatingChannel(false);
122
122
  return;
123
123
  }
124
- navigate(`/ai-messenger/app?id=${id}`, { replace: true });
124
+ navigate(`${config.AI_MESSENGER_PATH}?id=${id}`, { replace: true });
125
125
  setIsCreatingChannel(false);
126
126
  },
127
127
  onError: (error: any) => {