@red-hat-developer-hub/backstage-plugin-intelligent-assistant 4.3.0 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/README.md +6 -7
- package/dist/components/Attachment.esm.js +4 -2
- package/dist/components/Attachment.esm.js.map +1 -1
- package/dist/components/DeleteModal.esm.js +1 -0
- package/dist/components/DeleteModal.esm.js.map +1 -1
- package/dist/components/LightSpeedChat.esm.js +2 -2
- package/dist/components/LightSpeedChat.esm.js.map +1 -1
- package/dist/components/LightspeedChatBox.esm.js +44 -71
- package/dist/components/LightspeedChatBox.esm.js.map +1 -1
- package/dist/components/LightspeedChatContainer.esm.js +2 -3
- package/dist/components/LightspeedChatContainer.esm.js.map +1 -1
- package/dist/components/McpServersSettings.esm.js +5 -5
- package/dist/components/McpServersSettings.esm.js.map +1 -1
- package/dist/components/RagSourceLabel.esm.js +22 -0
- package/dist/components/RagSourceLabel.esm.js.map +1 -0
- package/dist/components/SourcesChipModal.esm.js +94 -89
- package/dist/components/SourcesChipModal.esm.js.map +1 -1
- package/dist/hooks/notebooks/useLightspeedNotebooksPermission.esm.js +3 -3
- package/dist/hooks/notebooks/useLightspeedNotebooksPermission.esm.js.map +1 -1
- package/dist/hooks/useFeedbackActions.esm.js.map +1 -1
- package/dist/hooks/useLightspeedDeletePermission.esm.js +2 -2
- package/dist/hooks/useLightspeedDeletePermission.esm.js.map +1 -1
- package/dist/hooks/useLightspeedUpdatePermission.esm.js +2 -2
- package/dist/hooks/useLightspeedUpdatePermission.esm.js.map +1 -1
- package/dist/hooks/useLightspeedViewPermission.esm.js +6 -10
- package/dist/hooks/useLightspeedViewPermission.esm.js.map +1 -1
- package/dist/types.esm.js.map +1 -1
- package/dist/utils/lightspeed-chatbox-utils.esm.js +13 -6
- package/dist/utils/lightspeed-chatbox-utils.esm.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @red-hat-developer-hub/backstage-plugin-intelligent-assistant
|
|
2
2
|
|
|
3
|
+
## 5.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 0f8225e: Show the LCORE `source` field as a label on each referenced document card so that RAG sources are distinguishable.
|
|
8
|
+
- fe51be2: Backstage version bump to v1.54.6
|
|
9
|
+
- Updated dependencies [fe51be2]
|
|
10
|
+
- @red-hat-developer-hub/backstage-plugin-intelligent-assistant-common@5.0.1
|
|
11
|
+
|
|
12
|
+
## 5.0.0
|
|
13
|
+
|
|
14
|
+
### Major Changes
|
|
15
|
+
|
|
16
|
+
- 5741af9: Consolidate Intelligent Assistant RBAC permissions into four feature-linked sets: `intelligent-assistant.chat`, `intelligent-assistant.notebooks`, `intelligent-assistant.mcp.tools`, and `intelligent-assistant.skills`. Update backend routes, frontend permission checks, example RBAC policies, and documentation to use the new permission names and exported constants.
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- Updated dependencies [5741af9]
|
|
21
|
+
- @red-hat-developer-hub/backstage-plugin-intelligent-assistant-common@5.0.0
|
|
22
|
+
|
|
3
23
|
## 4.3.0
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -37,17 +37,16 @@ The Lightspeed plugin has support for the permission framework.
|
|
|
37
37
|
- When [RBAC permission](https://github.com/backstage/community-plugins/tree/main/workspaces/rbac/plugins/rbac-backend#installation) framework is enabled, for non-admin users to access lightspeed UI, the role associated with your user should have the following permission policies associated with it. Add the following in your permission policies configuration file named `rbac-policy.csv`:
|
|
38
38
|
|
|
39
39
|
```CSV
|
|
40
|
-
p, role:default/team_a, intelligent-assistant.chat
|
|
41
|
-
p, role:default/team_a, intelligent-assistant.chat.use, use, allow
|
|
42
|
-
p, role:default/team_a, intelligent-assistant.chat.manage, use, allow
|
|
40
|
+
p, role:default/team_a, intelligent-assistant.chat, use, allow
|
|
43
41
|
|
|
44
42
|
# Required for Notebooks feature (if enabled)
|
|
45
|
-
p, role:default/team_a, intelligent-assistant.notebooks
|
|
46
|
-
p, role:default/team_a, intelligent-assistant.notebooks.manage, use, allow
|
|
43
|
+
p, role:default/team_a, intelligent-assistant.notebooks, use, allow
|
|
47
44
|
|
|
48
45
|
# Required for MCP server management (if configured)
|
|
49
|
-
p, role:default/team_a, mcp.tools
|
|
50
|
-
|
|
46
|
+
p, role:default/team_a, intelligent-assistant.mcp.tools, use, allow
|
|
47
|
+
|
|
48
|
+
# Required for Skills feature (if enabled)
|
|
49
|
+
p, role:default/team_a, intelligent-assistant.skills, use, allow
|
|
51
50
|
|
|
52
51
|
g, user:default/<your-user-name>, role:default/team_a
|
|
53
52
|
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { makeStyles } from '@material-ui/core';
|
|
3
|
-
import {
|
|
3
|
+
import { ChatbotDisplayMode } from '@patternfly/chatbot';
|
|
4
|
+
import { AttachmentEdit } from '@patternfly/chatbot/dist/dynamic/AttachmentEdit';
|
|
5
|
+
import { PreviewAttachment } from '@patternfly/chatbot/dist/dynamic/PreviewAttachment';
|
|
4
6
|
import { useTranslation } from '../hooks/useTranslation.esm.js';
|
|
5
7
|
import { useFileAttachmentContext } from './AttachmentContext.esm.js';
|
|
6
8
|
|
|
@@ -65,7 +67,7 @@ const Attachment = () => {
|
|
|
65
67
|
secondaryActionButtonText: t("modal.cancel"),
|
|
66
68
|
primaryActionButtonText: t("modal.save"),
|
|
67
69
|
modalFooterClassName: classes.modalFooter,
|
|
68
|
-
onSave: (
|
|
70
|
+
onSave: (_event, content) => {
|
|
69
71
|
setCurrentFileContent({
|
|
70
72
|
...currentFileContent,
|
|
71
73
|
content
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Attachment.esm.js","sources":["../../src/components/Attachment.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { makeStyles } from '@material-ui/core';\nimport {
|
|
1
|
+
{"version":3,"file":"Attachment.esm.js","sources":["../../src/components/Attachment.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { makeStyles } from '@material-ui/core';\nimport { ChatbotDisplayMode } from '@patternfly/chatbot';\nimport { AttachmentEdit } from '@patternfly/chatbot/dist/dynamic/AttachmentEdit';\nimport { PreviewAttachment } from '@patternfly/chatbot/dist/dynamic/PreviewAttachment';\n\nimport { useTranslation } from '../hooks/useTranslation';\nimport { useFileAttachmentContext } from './AttachmentContext';\n\nconst useStyles = makeStyles(() => ({\n modalFooter: {\n '&>button': {\n width: '12% !important',\n },\n },\n}));\nconst Attachment = () => {\n const {\n currentFileContent,\n setFileContents,\n modalState,\n setCurrentFileContent,\n } = useFileAttachmentContext();\n const classes = useStyles();\n const { t } = useTranslation();\n\n if (!currentFileContent) {\n return null;\n }\n const {\n previewModalKey,\n isPreviewModalOpen,\n isEditModalOpen,\n setPreviewModalKey,\n setIsEditModalOpen,\n setIsPreviewModalOpen,\n } = modalState;\n\n return (\n <>\n <PreviewAttachment\n key={previewModalKey}\n code={currentFileContent?.content}\n fileName={currentFileContent?.name}\n isModalOpen={isPreviewModalOpen}\n secondaryActionButtonText={t('modal.close')}\n primaryActionButtonText={t('modal.edit')}\n title={t('modal.title.preview')}\n modalFooterClassName={classes.modalFooter}\n onEdit={() => {\n setIsPreviewModalOpen(false);\n setIsEditModalOpen(true);\n }}\n onDismiss={() => {\n setCurrentFileContent(undefined);\n setIsPreviewModalOpen(false);\n }}\n handleModalToggle={() => setIsPreviewModalOpen(false)}\n displayMode={ChatbotDisplayMode.fullscreen}\n />\n <AttachmentEdit\n key={currentFileContent?.content}\n code={currentFileContent?.content}\n fileName={currentFileContent?.name}\n isModalOpen={isEditModalOpen}\n title={t('modal.title.edit')}\n secondaryActionButtonText={t('modal.cancel')}\n primaryActionButtonText={t('modal.save')}\n modalFooterClassName={classes.modalFooter}\n onSave={(_event, content) => {\n setCurrentFileContent({\n ...currentFileContent,\n content,\n });\n setFileContents(prev => {\n const existingIndex = prev.findIndex(\n f => f.name === currentFileContent?.name,\n );\n\n if (existingIndex !== -1) {\n // Update the existing file's content\n const updated = [...prev];\n updated[existingIndex] = {\n ...updated[existingIndex],\n content: content as string,\n };\n return updated;\n }\n\n // File doesn't exist, add a new one\n return [\n ...prev,\n {\n name: currentFileContent?.name,\n type: currentFileContent?.type,\n content: content as string,\n },\n ];\n });\n\n setPreviewModalKey(prev => prev + 1);\n setIsEditModalOpen(false);\n setIsPreviewModalOpen(true);\n }}\n onCancel={() => setCurrentFileContent(undefined)}\n handleModalToggle={() => setIsEditModalOpen(false)}\n displayMode={ChatbotDisplayMode.fullscreen}\n />\n </>\n );\n};\n\nexport default Attachment;\n"],"names":[],"mappings":";;;;;;;;AAwBA,MAAM,SAAA,GAAY,WAAW,OAAO;AAAA,EAClC,WAAA,EAAa;AAAA,IACX,UAAA,EAAY;AAAA,MACV,KAAA,EAAO;AAAA;AACT;AAEJ,CAAA,CAAE,CAAA;AACF,MAAM,aAAa,MAAM;AACvB,EAAA,MAAM;AAAA,IACJ,kBAAA;AAAA,IACA,eAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,MACE,wBAAA,EAAyB;AAC7B,EAAA,MAAM,UAAU,SAAA,EAAU;AAC1B,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAE7B,EAAA,IAAI,CAAC,kBAAA,EAAoB;AACvB,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,MAAM;AAAA,IACJ,eAAA;AAAA,IACA,kBAAA;AAAA,IACA,eAAA;AAAA,IACA,kBAAA;AAAA,IACA,kBAAA;AAAA,IACA;AAAA,GACF,GAAI,UAAA;AAEJ,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,iBAAA;AAAA,MAAA;AAAA,QAEC,MAAM,kBAAA,EAAoB,OAAA;AAAA,QAC1B,UAAU,kBAAA,EAAoB,IAAA;AAAA,QAC9B,WAAA,EAAa,kBAAA;AAAA,QACb,yBAAA,EAA2B,EAAE,aAAa,CAAA;AAAA,QAC1C,uBAAA,EAAyB,EAAE,YAAY,CAAA;AAAA,QACvC,KAAA,EAAO,EAAE,qBAAqB,CAAA;AAAA,QAC9B,sBAAsB,OAAA,CAAQ,WAAA;AAAA,QAC9B,QAAQ,MAAM;AACZ,UAAA,qBAAA,CAAsB,KAAK,CAAA;AAC3B,UAAA,kBAAA,CAAmB,IAAI,CAAA;AAAA,QACzB,CAAA;AAAA,QACA,WAAW,MAAM;AACf,UAAA,qBAAA,CAAsB,MAAS,CAAA;AAC/B,UAAA,qBAAA,CAAsB,KAAK,CAAA;AAAA,QAC7B,CAAA;AAAA,QACA,iBAAA,EAAmB,MAAM,qBAAA,CAAsB,KAAK,CAAA;AAAA,QACpD,aAAa,kBAAA,CAAmB;AAAA,OAAA;AAAA,MAjB3B;AAAA,KAkBP;AAAA,oBACA,GAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QAEC,MAAM,kBAAA,EAAoB,OAAA;AAAA,QAC1B,UAAU,kBAAA,EAAoB,IAAA;AAAA,QAC9B,WAAA,EAAa,eAAA;AAAA,QACb,KAAA,EAAO,EAAE,kBAAkB,CAAA;AAAA,QAC3B,yBAAA,EAA2B,EAAE,cAAc,CAAA;AAAA,QAC3C,uBAAA,EAAyB,EAAE,YAAY,CAAA;AAAA,QACvC,sBAAsB,OAAA,CAAQ,WAAA;AAAA,QAC9B,MAAA,EAAQ,CAAC,MAAA,EAAQ,OAAA,KAAY;AAC3B,UAAA,qBAAA,CAAsB;AAAA,YACpB,GAAG,kBAAA;AAAA,YACH;AAAA,WACD,CAAA;AACD,UAAA,eAAA,CAAgB,CAAA,IAAA,KAAQ;AACtB,YAAA,MAAM,gBAAgB,IAAA,CAAK,SAAA;AAAA,cACzB,CAAA,CAAA,KAAK,CAAA,CAAE,IAAA,KAAS,kBAAA,EAAoB;AAAA,aACtC;AAEA,YAAA,IAAI,kBAAkB,EAAA,EAAI;AAExB,cAAA,MAAM,OAAA,GAAU,CAAC,GAAG,IAAI,CAAA;AACxB,cAAA,OAAA,CAAQ,aAAa,CAAA,GAAI;AAAA,gBACvB,GAAG,QAAQ,aAAa,CAAA;AAAA,gBACxB;AAAA,eACF;AACA,cAAA,OAAO,OAAA;AAAA,YACT;AAGA,YAAA,OAAO;AAAA,cACL,GAAG,IAAA;AAAA,cACH;AAAA,gBACE,MAAM,kBAAA,EAAoB,IAAA;AAAA,gBAC1B,MAAM,kBAAA,EAAoB,IAAA;AAAA,gBAC1B;AAAA;AACF,aACF;AAAA,UACF,CAAC,CAAA;AAED,UAAA,kBAAA,CAAmB,CAAA,IAAA,KAAQ,OAAO,CAAC,CAAA;AACnC,UAAA,kBAAA,CAAmB,KAAK,CAAA;AACxB,UAAA,qBAAA,CAAsB,IAAI,CAAA;AAAA,QAC5B,CAAA;AAAA,QACA,QAAA,EAAU,MAAM,qBAAA,CAAsB,MAAS,CAAA;AAAA,QAC/C,iBAAA,EAAmB,MAAM,kBAAA,CAAmB,KAAK,CAAA;AAAA,QACjD,aAAa,kBAAA,CAAmB;AAAA,OAAA;AAAA,MA7C3B,kBAAA,EAAoB;AAAA;AA8C3B,GAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -9,6 +9,7 @@ import '@mui/material/styles';
|
|
|
9
9
|
import '@patternfly/chatbot';
|
|
10
10
|
import '@patternfly/react-icons';
|
|
11
11
|
import '@patternfly/react-icons/dist/esm/icons/rh-ui-ai-info-icon';
|
|
12
|
+
import '@mui/material/Box';
|
|
12
13
|
import { useDeleteConversation } from '../hooks/useDeleteConversation.esm.js';
|
|
13
14
|
import '../api/notebooksApi.esm.js';
|
|
14
15
|
import '@backstage/plugin-permission-react';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteModal.esm.js","sources":["../../src/components/DeleteModal.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Alert,\n Button,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n} from '@patternfly/react-core';\n\nimport { useDeleteConversation } from '../hooks';\nimport { useTranslation } from '../hooks/useTranslation';\n\nexport const DeleteModal = ({\n isOpen,\n conversationId,\n chatName,\n onClose,\n onConfirm,\n}: {\n isOpen: boolean;\n conversationId: string;\n chatName?: string;\n onClose: () => void;\n onConfirm: () => void;\n}) => {\n const { t } = useTranslation();\n const {\n mutateAsync: deleteConversation,\n isError,\n error,\n isPending,\n } = useDeleteConversation();\n\n const handleDeleteConversation = async () => {\n try {\n await deleteConversation({\n conversation_id: conversationId,\n invalidateCache: false,\n });\n onConfirm();\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn(e);\n }\n };\n\n return (\n <Modal\n variant=\"small\"\n isOpen={isOpen}\n onClose={onClose}\n aria-labelledby=\"delete-modal\"\n aria-describedby=\"delete-modal-confirmation\"\n >\n <ModalHeader\n title={t('conversation.delete.confirm.title' as any, {\n chatName: chatName || '',\n })}\n labelId=\"delete-modal\"\n descriptorId=\"delete-modal-confirmation\"\n />\n <ModalBody id=\"delete-modal-confirmation\">\n {t('conversation.delete.confirm.message')}\n {isError && (\n <Alert\n variant=\"danger\"\n isInline\n title={String(error)}\n className=\"pf-v6-u-mt-md\"\n />\n )}\n </ModalBody>\n <ModalFooter>\n <Button\n variant=\"danger\"\n onClick={handleDeleteConversation}\n isDisabled={isPending}\n >\n {t('conversation.delete.confirm.action')}\n </Button>\n <Button variant=\"link\" onClick={onClose}>\n {t('common.cancel')}\n </Button>\n </ModalFooter>\n </Modal>\n );\n};\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeleteModal.esm.js","sources":["../../src/components/DeleteModal.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Alert,\n Button,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n} from '@patternfly/react-core';\n\nimport { useDeleteConversation } from '../hooks';\nimport { useTranslation } from '../hooks/useTranslation';\n\nexport const DeleteModal = ({\n isOpen,\n conversationId,\n chatName,\n onClose,\n onConfirm,\n}: {\n isOpen: boolean;\n conversationId: string;\n chatName?: string;\n onClose: () => void;\n onConfirm: () => void;\n}) => {\n const { t } = useTranslation();\n const {\n mutateAsync: deleteConversation,\n isError,\n error,\n isPending,\n } = useDeleteConversation();\n\n const handleDeleteConversation = async () => {\n try {\n await deleteConversation({\n conversation_id: conversationId,\n invalidateCache: false,\n });\n onConfirm();\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn(e);\n }\n };\n\n return (\n <Modal\n variant=\"small\"\n isOpen={isOpen}\n onClose={onClose}\n aria-labelledby=\"delete-modal\"\n aria-describedby=\"delete-modal-confirmation\"\n >\n <ModalHeader\n title={t('conversation.delete.confirm.title' as any, {\n chatName: chatName || '',\n })}\n labelId=\"delete-modal\"\n descriptorId=\"delete-modal-confirmation\"\n />\n <ModalBody id=\"delete-modal-confirmation\">\n {t('conversation.delete.confirm.message')}\n {isError && (\n <Alert\n variant=\"danger\"\n isInline\n title={String(error)}\n className=\"pf-v6-u-mt-md\"\n />\n )}\n </ModalBody>\n <ModalFooter>\n <Button\n variant=\"danger\"\n onClick={handleDeleteConversation}\n isDisabled={isPending}\n >\n {t('conversation.delete.confirm.action')}\n </Button>\n <Button variant=\"link\" onClick={onClose}>\n {t('common.cancel')}\n </Button>\n </ModalFooter>\n </Modal>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AA4BO,MAAM,cAAc,CAAC;AAAA,EAC1B,MAAA;AAAA,EACA,cAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA,KAMM;AACJ,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAC7B,EAAA,MAAM;AAAA,IACJ,WAAA,EAAa,kBAAA;AAAA,IACb,OAAA;AAAA,IACA,KAAA;AAAA,IACA;AAAA,MACE,qBAAA,EAAsB;AAE1B,EAAA,MAAM,2BAA2B,YAAY;AAC3C,IAAA,IAAI;AACF,MAAA,MAAM,kBAAA,CAAmB;AAAA,QACvB,eAAA,EAAiB,cAAA;AAAA,QACjB,eAAA,EAAiB;AAAA,OAClB,CAAA;AACD,MAAA,SAAA,EAAU;AAAA,IACZ,SAAS,CAAA,EAAG;AAEV,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,IAChB;AAAA,EACF,CAAA;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAQ,OAAA;AAAA,MACR,MAAA;AAAA,MACA,OAAA;AAAA,MACA,iBAAA,EAAgB,cAAA;AAAA,MAChB,kBAAA,EAAiB,2BAAA;AAAA,MAEjB,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,WAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAO,EAAE,mCAAA,EAA4C;AAAA,cACnD,UAAU,QAAA,IAAY;AAAA,aACvB,CAAA;AAAA,YACD,OAAA,EAAQ,cAAA;AAAA,YACR,YAAA,EAAa;AAAA;AAAA,SACf;AAAA,wBACA,IAAA,CAAC,SAAA,EAAA,EAAU,EAAA,EAAG,2BAAA,EACX,QAAA,EAAA;AAAA,UAAA,CAAA,CAAE,qCAAqC,CAAA;AAAA,UACvC,OAAA,oBACC,GAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,OAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAQ,IAAA;AAAA,cACR,KAAA,EAAO,OAAO,KAAK,CAAA;AAAA,cACnB,SAAA,EAAU;AAAA;AAAA;AACZ,SAAA,EAEJ,CAAA;AAAA,6BACC,WAAA,EAAA,EACC,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,OAAA,EAAQ,QAAA;AAAA,cACR,OAAA,EAAS,wBAAA;AAAA,cACT,UAAA,EAAY,SAAA;AAAA,cAEX,YAAE,oCAAoC;AAAA;AAAA,WACzC;AAAA,0BACA,GAAA,CAAC,UAAO,OAAA,EAAQ,MAAA,EAAO,SAAS,OAAA,EAC7B,QAAA,EAAA,CAAA,CAAE,eAAe,CAAA,EACpB;AAAA,SAAA,EACF;AAAA;AAAA;AAAA,GACF;AAEJ;;;;"}
|
|
@@ -609,7 +609,7 @@ const LightspeedChat = ({
|
|
|
609
609
|
const {
|
|
610
610
|
allowed: hasNotebooksAccess,
|
|
611
611
|
loading: notebooksPermissionLoading,
|
|
612
|
-
|
|
612
|
+
iaNotebooksPermissionName
|
|
613
613
|
} = useLightspeedNotebooksPermission();
|
|
614
614
|
const notebooksPermissionResolved = !notebooksPermissionLoading && hasNotebooksAccess;
|
|
615
615
|
const { data: notebookConversationIdsArray = [] } = useNotebookConversationIds();
|
|
@@ -2035,7 +2035,7 @@ const LightspeedChat = ({
|
|
|
2035
2035
|
PermissionRequiredState,
|
|
2036
2036
|
{
|
|
2037
2037
|
subject: t("permission.subject.notebooks"),
|
|
2038
|
-
permissions: [
|
|
2038
|
+
permissions: [iaNotebooksPermissionName],
|
|
2039
2039
|
action: /* @__PURE__ */ jsx(
|
|
2040
2040
|
Button$1,
|
|
2041
2041
|
{
|