@red-hat-developer-hub/backstage-plugin-intelligent-assistant 3.0.3 → 3.2.0
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 +39 -0
- package/README.md +3 -0
- package/config.d.ts +15 -13
- package/dist/alpha.d.ts +16 -1
- package/dist/components/LightSpeedChat.esm.js +6 -17
- package/dist/components/LightSpeedChat.esm.js.map +1 -1
- package/dist/components/LightspeedChatContainer.esm.js +4 -2
- package/dist/components/LightspeedChatContainer.esm.js.map +1 -1
- package/dist/components/LightspeedDrawerContext.esm.js.map +1 -1
- package/dist/components/McpConfigureServerModal.esm.js +407 -0
- package/dist/components/McpConfigureServerModal.esm.js.map +1 -0
- package/dist/components/McpServersSettings.esm.js +92 -475
- package/dist/components/McpServersSettings.esm.js.map +1 -1
- package/dist/components/MessageBarModelSelector.esm.js +16 -5
- package/dist/components/MessageBarModelSelector.esm.js.map +1 -1
- package/dist/components/mcpServersDisplayUtils.esm.js +167 -0
- package/dist/components/mcpServersDisplayUtils.esm.js.map +1 -0
- package/dist/hooks/useMcpConfigureModal.esm.js +465 -0
- package/dist/hooks/useMcpConfigureModal.esm.js.map +1 -0
- package/dist/index.esm.js +5 -4
- package/dist/index.esm.js.map +1 -1
- package/dist/legacy.esm.js +0 -2
- package/dist/legacy.esm.js.map +1 -1
- package/dist/plugin.esm.js +0 -2
- package/dist/plugin.esm.js.map +1 -1
- package/dist/translations/de.esm.js +17 -2
- package/dist/translations/de.esm.js.map +1 -1
- package/dist/translations/es.esm.js +17 -2
- package/dist/translations/es.esm.js.map +1 -1
- package/dist/translations/fr.esm.js +17 -2
- package/dist/translations/fr.esm.js.map +1 -1
- package/dist/translations/it.esm.js +17 -2
- package/dist/translations/it.esm.js.map +1 -1
- package/dist/translations/ja.esm.js +17 -2
- package/dist/translations/ja.esm.js.map +1 -1
- package/dist/translations/ref.esm.js +19 -3
- package/dist/translations/ref.esm.js.map +1 -1
- package/dist/types.esm.js.map +1 -1
- package/dist/utils/lightspeed-chatbox-utils.esm.js.map +1 -1
- package/package.json +3 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,44 @@
|
|
|
1
1
|
# @red-hat-developer-hub/backstage-plugin-intelligent-assistant
|
|
2
2
|
|
|
3
|
+
## 3.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 81b7ed2: add saved prompts endpoint
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 3d96cd5: Disable model selector during active chat sessions, show localized tooltip, and move attach button to the left
|
|
12
|
+
- e0d0986: Updated dependency `prettier` to `3.9.6`.
|
|
13
|
+
- 8966faf: Updated dependency `prettier` to `3.9.5`.
|
|
14
|
+
- Updated dependencies [81b7ed2]
|
|
15
|
+
- Updated dependencies [e0d0986]
|
|
16
|
+
- Updated dependencies [8966faf]
|
|
17
|
+
- @red-hat-developer-hub/backstage-plugin-intelligent-assistant-common@3.2.0
|
|
18
|
+
|
|
19
|
+
## 3.1.0
|
|
20
|
+
|
|
21
|
+
### Minor Changes
|
|
22
|
+
|
|
23
|
+
- 94e2278: Refactor the MCP server configure modal with PatternFly layout and improved credential management:
|
|
24
|
+
|
|
25
|
+
- Add **Use organization default token** / **Use personal token** radio selectors when an app-config default token is available, replacing the remove-personal-token flow
|
|
26
|
+
- Show server status, tools list, and enabled toggle with local draft state applied on Save
|
|
27
|
+
- Hide the tools section when the server is disabled; keep status consistent while drafting an unverified personal token
|
|
28
|
+
- Disable Save after a failed token validation until the input changes
|
|
29
|
+
- Auto-enable the server after a successful personal token save
|
|
30
|
+
- Add sortable **Name** and **Status** columns to the MCP servers table, with always-visible sort icons (gray when inactive, directional when active)
|
|
31
|
+
- Keep the DCR configure modal aligned with personal-token servers (status, tools, enabled toggle, and Save/Cancel) with an additional DCR info alert and no token input
|
|
32
|
+
- Show **Fetching status...** in the Status section while server tools/status are loading
|
|
33
|
+
- Bump `@patternfly/react-core` to 6.6.0 and add translations for new modal strings (de, es, fr, it, ja)
|
|
34
|
+
|
|
35
|
+
The backend now exposes `hasOrgToken` on MCP server list and patch responses so the UI can distinguish organization default tokens from personal-only servers.
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- 16a4d45: Scope PatternFly CSS imports to the chatbot component and use useLayoutEffect for dark theme class toggle to prevent white background leak on dark themes.
|
|
40
|
+
- @red-hat-developer-hub/backstage-plugin-intelligent-assistant-common@3.1.0
|
|
41
|
+
|
|
3
42
|
## 3.0.3
|
|
4
43
|
|
|
5
44
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -49,6 +49,9 @@ p, role:default/team_a, intelligent-assistant.notebooks.use, update, allow
|
|
|
49
49
|
p, role:default/team_a, intelligent-assistant.mcp.read, read, allow
|
|
50
50
|
p, role:default/team_a, intelligent-assistant.mcp.manage, update, allow
|
|
51
51
|
|
|
52
|
+
# Required for saved prompts
|
|
53
|
+
p, role:default/team_a, intelligent-assistant.saved-prompts.manage, update, allow
|
|
54
|
+
|
|
52
55
|
g, user:default/<your-user-name>, role:default/team_a
|
|
53
56
|
|
|
54
57
|
```
|
package/config.d.ts
CHANGED
|
@@ -20,22 +20,24 @@ export interface Config {
|
|
|
20
20
|
* @visibility frontend
|
|
21
21
|
*/
|
|
22
22
|
'intelligent-assistant'?: {
|
|
23
|
-
prompts?: Array
|
|
24
|
-
* @visibility frontend
|
|
25
|
-
*/
|
|
26
|
-
{
|
|
27
|
-
/**
|
|
28
|
-
* The title of the prompt.
|
|
29
|
-
* Displayed as the heading of the prompt.
|
|
30
|
-
* @visibility frontend
|
|
31
|
-
*/
|
|
32
|
-
title: string;
|
|
23
|
+
prompts?: Array<
|
|
33
24
|
/**
|
|
34
|
-
* The main question or message shown in the prompt.
|
|
35
25
|
* @visibility frontend
|
|
36
26
|
*/
|
|
37
|
-
|
|
38
|
-
|
|
27
|
+
{
|
|
28
|
+
/**
|
|
29
|
+
* The title of the prompt.
|
|
30
|
+
* Displayed as the heading of the prompt.
|
|
31
|
+
* @visibility frontend
|
|
32
|
+
*/
|
|
33
|
+
title: string;
|
|
34
|
+
/**
|
|
35
|
+
* The main question or message shown in the prompt.
|
|
36
|
+
* @visibility frontend
|
|
37
|
+
*/
|
|
38
|
+
message: string;
|
|
39
|
+
}
|
|
40
|
+
>;
|
|
39
41
|
/**
|
|
40
42
|
* Configuration for AI Notebooks
|
|
41
43
|
* @visibility frontend
|
package/dist/alpha.d.ts
CHANGED
|
@@ -135,6 +135,7 @@ declare const intelligentAssistantTranslationRef: _backstage_frontend_plugin_api
|
|
|
135
135
|
readonly 'chatbox.message.placeholder': string;
|
|
136
136
|
readonly 'chatbox.fileUpload.failed': string;
|
|
137
137
|
readonly 'chatbox.fileUpload.infoText': string;
|
|
138
|
+
readonly 'modelSelector.disabledTooltip': string;
|
|
138
139
|
readonly 'aria.chatbotSelector': string;
|
|
139
140
|
readonly 'aria.important': string;
|
|
140
141
|
readonly 'aria.chatHistoryMenu': string;
|
|
@@ -235,9 +236,23 @@ declare const intelligentAssistantTranslationRef: _backstage_frontend_plugin_api
|
|
|
235
236
|
readonly 'mcp.settings.configureServerTitle': string;
|
|
236
237
|
readonly 'mcp.settings.closeConfigureModalAriaLabel': string;
|
|
237
238
|
readonly 'mcp.settings.modalDescription': string;
|
|
239
|
+
readonly 'mcp.settings.authenticationToken': string;
|
|
240
|
+
readonly 'mcp.settings.modal.authenticationHeading': string;
|
|
241
|
+
readonly 'mcp.settings.modal.credentialMode.organization': string;
|
|
242
|
+
readonly 'mcp.settings.modal.credentialMode.organizationDescription': string;
|
|
243
|
+
readonly 'mcp.settings.modal.credentialMode.personal': string;
|
|
244
|
+
readonly 'mcp.settings.modal.toolsHeading': string;
|
|
245
|
+
readonly 'mcp.settings.modal.loadingTools': string;
|
|
246
|
+
readonly 'mcp.settings.modal.fetchingStatus': string;
|
|
247
|
+
readonly 'mcp.settings.modal.loadingStatus': string;
|
|
248
|
+
readonly 'mcp.settings.modal.tokenRemovedWarning': string;
|
|
249
|
+
readonly 'mcp.settings.modal.noToolsAvailable': string;
|
|
250
|
+
readonly 'mcp.settings.modal.toolsLoadFailed': string;
|
|
251
|
+
readonly 'mcp.settings.modal.enabledDescription': string;
|
|
252
|
+
readonly 'mcp.settings.modal.enabledDescriptionOff': string;
|
|
253
|
+
readonly 'mcp.settings.modal.enabledDescriptionTokenRequired': string;
|
|
238
254
|
readonly 'mcp.settings.savedToken': string;
|
|
239
255
|
readonly 'mcp.settings.personalAccessToken': string;
|
|
240
|
-
readonly 'mcp.settings.usingAdminCredential': string;
|
|
241
256
|
readonly 'mcp.settings.enterToken': string;
|
|
242
257
|
readonly 'mcp.settings.removePersonalToken': string;
|
|
243
258
|
readonly 'mcp.settings.token.clearAriaLabel': string;
|
|
@@ -23,13 +23,13 @@ import { useLightspeedDeletePermission } from '../hooks/useLightspeedDeletePermi
|
|
|
23
23
|
import { useLightspeedNotebooksPermission } from '../hooks/notebooks/useLightspeedNotebooksPermission.esm.js';
|
|
24
24
|
import '@backstage/plugin-permission-react';
|
|
25
25
|
import '@red-hat-developer-hub/backstage-plugin-intelligent-assistant-common';
|
|
26
|
+
import { useTranslation } from '../hooks/useTranslation.esm.js';
|
|
26
27
|
import { useNotebookConversationIds } from '../hooks/useNotebookConversationIds.esm.js';
|
|
27
28
|
import { useNotebookSession } from '../hooks/notebooks/useNotebookSession.esm.js';
|
|
28
29
|
import { useNotebookSessions } from '../hooks/notebooks/useNotebookSessions.esm.js';
|
|
29
30
|
import { usePinnedChatsSettings } from '../hooks/usePinnedChatsSettings.esm.js';
|
|
30
31
|
import { useSortSettings } from '../hooks/useSortSettings.esm.js';
|
|
31
32
|
import { useStopConversation } from '../hooks/useStopConversation.esm.js';
|
|
32
|
-
import { useTranslation } from '../hooks/useTranslation.esm.js';
|
|
33
33
|
import { useCreateNotebook } from '../hooks/notebooks/useCreateNotebook.esm.js';
|
|
34
34
|
import { useNotebookDocuments } from '../hooks/notebooks/useNotebookDocuments.esm.js';
|
|
35
35
|
import { useLightspeedDrawerContext } from '../hooks/useLightspeedDrawerContext.esm.js';
|
|
@@ -1443,6 +1443,7 @@ const LightspeedChat = ({
|
|
|
1443
1443
|
onSendMessage: sendMessage,
|
|
1444
1444
|
isSendButtonDisabled,
|
|
1445
1445
|
hasAttachButton: true,
|
|
1446
|
+
attachButtonPosition: "start",
|
|
1446
1447
|
handleAttach,
|
|
1447
1448
|
hasMicrophoneButton: true,
|
|
1448
1449
|
value: draftMessage,
|
|
@@ -1471,14 +1472,9 @@ const LightspeedChat = ({
|
|
|
1471
1472
|
{
|
|
1472
1473
|
selectedModel,
|
|
1473
1474
|
models,
|
|
1474
|
-
onSelect:
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
}
|
|
1478
|
-
onNewChat();
|
|
1479
|
-
handleSelectedModel(item);
|
|
1480
|
-
},
|
|
1481
|
-
disabled: isSendButtonDisabled
|
|
1475
|
+
onSelect: handleSelectedModel,
|
|
1476
|
+
disabled: isSendButtonDisabled || messages.length > 0,
|
|
1477
|
+
disabledTooltip: t("modelSelector.disabledTooltip")
|
|
1482
1478
|
}
|
|
1483
1479
|
),
|
|
1484
1480
|
forceMultilineLayout: true,
|
|
@@ -1640,16 +1636,9 @@ const LightspeedChat = ({
|
|
|
1640
1636
|
LightspeedChatBoxHeader,
|
|
1641
1637
|
{
|
|
1642
1638
|
selectedModel,
|
|
1643
|
-
handleSelectedModel
|
|
1644
|
-
if (!isFullscreenMode) {
|
|
1645
|
-
setIsMcpSettingsOpen(false);
|
|
1646
|
-
}
|
|
1647
|
-
onNewChat();
|
|
1648
|
-
handleSelectedModel(item);
|
|
1649
|
-
},
|
|
1639
|
+
handleSelectedModel,
|
|
1650
1640
|
models,
|
|
1651
1641
|
isPinningChatsEnabled,
|
|
1652
|
-
isModelSelectorDisabled: isSendButtonDisabled,
|
|
1653
1642
|
hideModelSelector: true,
|
|
1654
1643
|
showChatTabOptions: !showNotebooksPanel,
|
|
1655
1644
|
setDisplayMode: setDisplayModeFromHeader,
|