@red-hat-developer-hub/backstage-plugin-intelligent-assistant-common 3.1.0 → 4.0.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 CHANGED
@@ -1,5 +1,77 @@
1
1
  # @red-hat-developer-hub/backstage-plugin-intelligent-assistant-common
2
2
 
3
+ ## 4.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - adb65c9: Breaking changes to MCP permissions using behavior-linked vocabulary rather than CRUD-linked vocabulary:
8
+
9
+ | Before (Lightspeed) | Before (Intelligent Assistant) | After |
10
+ | ----------------------- | ---------------------------------- | ------------------ |
11
+ | `lightspeed.mcp.read` | `intelligent-assistant.mcp.read` | `mcp.tools.use` |
12
+ | `lightspeed.mcp.manage` | `intelligent-assistant.mcp.manage` | `mcp.tools.manage` |
13
+
14
+ Removed permission CRUD action attributes; RBAC entries for these permission sets now use the generic `use` action.
15
+
16
+ Permission variable renamed from `iaMcpReadPermission` to `iaMcpUsePermission`; `iaMcpManagePermission` keeps its name.
17
+
18
+ Plugin documentation and example RBAC policy CSV updated to reflect the new MCP permission names.
19
+
20
+ - 0ed3adc: Breaking changes to the notebooks permissions model that uses behavior-linked vocabulary:
21
+
22
+ | Before (Lightspeed) | Before (Intelligent Assistant) | After |
23
+ | -------------------------- | ------------------------------------- | ---------------------------------------- |
24
+ | `lightspeed.notebooks.use` | `intelligent-assistant.notebooks.use` | `intelligent-assistant.notebooks.use` |
25
+ | | | `intelligent-assistant.notebooks.manage` |
26
+ - `notebooks.use` covers list/read/create session, upload document, and query endpoints
27
+ - `notebooks.manage` covers update/delete session and document endpoints
28
+
29
+ Removed permission CRUD action attributes; RBAC entries for notebooks permission sets now use the generic `use` action.
30
+
31
+ Hard-coded permission names were replaced by constants from the permission entities.
32
+
33
+ Plugin documentation and example RBAC policy CSV updated to reflect the notebooks permission model.
34
+
35
+ - f1dba9b: Breaking changes to the permissions model that uses behavior-linked vocabulary rather than CRUD-linked vocabulary:
36
+
37
+ | Before (Lightspeed) | Before (Intelligent Assistant) | After |
38
+ | ------------------------ | ----------------------------------- | ----------------------------------- |
39
+ | `lightspeed.chat.read` | `intelligent-assistant.chat.read` | `intelligent-assistant.chat.access` |
40
+ | `lightspeed.chat.create` | `intelligent-assistant.chat.create` | `intelligent-assistant.chat.use` |
41
+ | `lightspeed.chat.delete` | `intelligent-assistant.chat.delete` | `intelligent-assistant.chat.manage` |
42
+ | `lightspeed.chat.update` | `intelligent-assistant.chat.update` | `intelligent-assistant.chat.manage` |
43
+
44
+ Changes are applied to `lightspeed` (Frontend), `lightspeed-backend`, and `lightspeed-common` plugins.
45
+
46
+ Removed permission CRUD action attributes, rbac entries for permission sets now to generic 'use' action, allows `intelligent-assistant.chat.manage` to combine the update and delete actions.
47
+
48
+ Any hard-coded permission names have been replaced by constants, source references permission names from the permission entities.
49
+
50
+ `Trans.test.tsx` component test unit has permission names to reflect Intelligent Assistant for RHDH.
51
+
52
+ Additionally, hard-coded permission names have been replaced by local constants with the new names set.
53
+
54
+ Plugin documentation changes to revise information to permissions model changes to Intelligent Assistant for RHDH.
55
+
56
+ Changed permission variable 'lightspeed' prefix to 'ia' to use Intelligent Assistant rebranding.
57
+
58
+ Changes to example RBAC policy CSV file to reflect Intelligent Assistant for RHDH.
59
+
60
+ ### Patch Changes
61
+
62
+ - 3d1d7d7: introduced new endpoint to proxy to LCORE /v1/skills endpoint, to be able to list available skills. also the backend endpoint will be gated by the new rbac permission: intelligent-assistant.skills.access
63
+
64
+ ## 3.2.0
65
+
66
+ ### Minor Changes
67
+
68
+ - 81b7ed2: add saved prompts endpoint
69
+
70
+ ### Patch Changes
71
+
72
+ - e0d0986: Updated dependency `prettier` to `3.9.6`.
73
+ - 8966faf: Updated dependency `prettier` to `3.9.5`.
74
+
3
75
  ## 3.1.0
4
76
 
5
77
  ## 3.0.3
package/dist/index.cjs.js CHANGED
@@ -4,12 +4,14 @@ var permissions = require('./permissions.cjs.js');
4
4
 
5
5
 
6
6
 
7
- exports.lightspeedChatCreatePermission = permissions.lightspeedChatCreatePermission;
8
- exports.lightspeedChatDeletePermission = permissions.lightspeedChatDeletePermission;
9
- exports.lightspeedChatReadPermission = permissions.lightspeedChatReadPermission;
10
- exports.lightspeedChatUpdatePermission = permissions.lightspeedChatUpdatePermission;
11
- exports.lightspeedMcpManagePermission = permissions.lightspeedMcpManagePermission;
12
- exports.lightspeedMcpReadPermission = permissions.lightspeedMcpReadPermission;
13
- exports.lightspeedNotebooksUsePermission = permissions.lightspeedNotebooksUsePermission;
14
- exports.lightspeedPermissions = permissions.lightspeedPermissions;
7
+ exports.iaChatAccessPermission = permissions.iaChatAccessPermission;
8
+ exports.iaChatManagePermission = permissions.iaChatManagePermission;
9
+ exports.iaChatUsePermission = permissions.iaChatUsePermission;
10
+ exports.iaMcpManagePermission = permissions.iaMcpManagePermission;
11
+ exports.iaMcpUsePermission = permissions.iaMcpUsePermission;
12
+ exports.iaNotebooksManagePermission = permissions.iaNotebooksManagePermission;
13
+ exports.iaNotebooksUsePermission = permissions.iaNotebooksUsePermission;
14
+ exports.iaPermissions = permissions.iaPermissions;
15
+ exports.iaSavedPromptsManagePermission = permissions.iaSavedPromptsManagePermission;
16
+ exports.iaSkillsAccessPermission = permissions.iaSkillsAccessPermission;
15
17
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
package/dist/index.d.ts CHANGED
@@ -1,38 +1,110 @@
1
1
  import * as _backstage_plugin_permission_common from '@backstage/plugin-permission-common';
2
2
 
3
- /** This permission is used to access the lightspeed read conversations endpoint
3
+ /** This permission is used to access intelligent-assistant chats
4
4
  * @public
5
5
  */
6
- declare const lightspeedChatReadPermission: _backstage_plugin_permission_common.BasicPermission;
7
- /** This permission is used to access the lightspeed create conversations endpoint
6
+ declare const iaChatAccessPermission: _backstage_plugin_permission_common.BasicPermission;
7
+ /** This permission is used to create intelligent-assistant chats
8
8
  * @public
9
9
  */
10
- declare const lightspeedChatCreatePermission: _backstage_plugin_permission_common.BasicPermission;
11
- /** This permission is used to access the lightspeed delete endpoint
10
+ declare const iaChatUsePermission: _backstage_plugin_permission_common.BasicPermission;
11
+ /** This permission is used to update and delete intelligent-assistant chats
12
12
  * @public
13
13
  */
14
- declare const lightspeedChatDeletePermission: _backstage_plugin_permission_common.BasicPermission;
15
- /** This permission is used to access the lightspeed update endpoint
14
+ declare const iaChatManagePermission: _backstage_plugin_permission_common.BasicPermission;
15
+ /** This permission is used to use MCP tooling
16
16
  * @public
17
17
  */
18
- declare const lightspeedChatUpdatePermission: _backstage_plugin_permission_common.BasicPermission;
19
- /** This permission is used to list configured MCP servers
18
+ declare const iaMcpUsePermission: _backstage_plugin_permission_common.BasicPermission;
19
+ /** This permission is used to manage MCP tooling
20
20
  * @public
21
21
  */
22
- declare const lightspeedMcpReadPermission: _backstage_plugin_permission_common.BasicPermission;
23
- /** This permission is used to add, update, delete, and validate MCP servers
22
+ declare const iaMcpManagePermission: _backstage_plugin_permission_common.BasicPermission;
23
+ /** This permission is used to access, create, and query intelligent-assistant notebooks
24
24
  * @public
25
25
  */
26
- declare const lightspeedMcpManagePermission: _backstage_plugin_permission_common.BasicPermission;
27
- /** This permission is used to access AI Notebooks features
26
+ declare const iaNotebooksUsePermission: _backstage_plugin_permission_common.BasicPermission;
27
+ /** This permission is used to update and delete intelligent-assistant notebooks
28
28
  * @public
29
29
  */
30
- declare const lightspeedNotebooksUsePermission: _backstage_plugin_permission_common.BasicPermission;
30
+ declare const iaNotebooksManagePermission: _backstage_plugin_permission_common.BasicPermission;
31
+ /** This permission is used to list, create, and delete saved prompts and read saved-prompts config
32
+ * @public
33
+ */
34
+ declare const iaSavedPromptsManagePermission: _backstage_plugin_permission_common.BasicPermission;
35
+ /** This permission is used to view the list of configured skills
36
+ * @public
37
+ */
38
+ declare const iaSkillsAccessPermission: _backstage_plugin_permission_common.BasicPermission;
31
39
  /**
32
40
  * List of all permissions on permission polices.
33
41
  *
34
42
  * @public
35
43
  */
36
- declare const lightspeedPermissions: _backstage_plugin_permission_common.BasicPermission[];
44
+ declare const iaPermissions: _backstage_plugin_permission_common.BasicPermission[];
45
+
46
+ /**
47
+ * Saved prompts configuration limits from LCORE GET /v1/saved-prompts/config.
48
+ *
49
+ * @public
50
+ */
51
+ interface SavedPromptsConfig {
52
+ /** Maximum number of saved prompts allowed per user */
53
+ max_prompts_per_user: number;
54
+ /** Maximum character length for prompt display name */
55
+ max_display_name_length: number;
56
+ /** Maximum character length for prompt content body */
57
+ max_content_length: number;
58
+ }
59
+ /**
60
+ * A single saved prompt returned by LCORE.
61
+ *
62
+ * @public
63
+ */
64
+ interface SavedPrompt {
65
+ /** Unique identifier of the saved prompt */
66
+ id: string;
67
+ /** Display name of the saved prompt */
68
+ name: string;
69
+ /** Prompt body text */
70
+ content: string;
71
+ /** Creation timestamp as an ISO datetime string from LCORE */
72
+ created_at: string;
73
+ /** Last-update timestamp as an ISO datetime string from LCORE */
74
+ updated_at: string;
75
+ }
76
+ /**
77
+ * Response body for GET /v1/saved-prompts.
78
+ *
79
+ * @public
80
+ */
81
+ interface SavedPromptsListResponse {
82
+ /** Saved prompts for the authenticated user, newest first */
83
+ prompts: SavedPrompt[];
84
+ }
85
+ /**
86
+ * Request body for POST /v1/saved-prompts.
87
+ *
88
+ * @public
89
+ */
90
+ interface SavedPromptCreateRequest {
91
+ /** Display name of the saved prompt */
92
+ name: string;
93
+ /** Prompt body text */
94
+ content: string;
95
+ }
96
+ /**
97
+ * Response body for DELETE /v1/saved-prompts/:prompt_id (HTTP 200).
98
+ *
99
+ * @public
100
+ */
101
+ interface SavedPromptDeleteResponse {
102
+ /** Saved prompt identifier that was passed to delete */
103
+ prompt_id: string;
104
+ /** Whether the prompt was deleted successfully */
105
+ deleted: boolean;
106
+ /** Human-readable outcome of the delete operation */
107
+ response: string;
108
+ }
37
109
 
38
- export { lightspeedChatCreatePermission, lightspeedChatDeletePermission, lightspeedChatReadPermission, lightspeedChatUpdatePermission, lightspeedMcpManagePermission, lightspeedMcpReadPermission, lightspeedNotebooksUsePermission, lightspeedPermissions };
110
+ export { type SavedPrompt, type SavedPromptCreateRequest, type SavedPromptDeleteResponse, type SavedPromptsConfig, type SavedPromptsListResponse, iaChatAccessPermission, iaChatManagePermission, iaChatUsePermission, iaMcpManagePermission, iaMcpUsePermission, iaNotebooksManagePermission, iaNotebooksUsePermission, iaPermissions, iaSavedPromptsManagePermission, iaSkillsAccessPermission };
package/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- export { lightspeedChatCreatePermission, lightspeedChatDeletePermission, lightspeedChatReadPermission, lightspeedChatUpdatePermission, lightspeedMcpManagePermission, lightspeedMcpReadPermission, lightspeedNotebooksUsePermission, lightspeedPermissions } from './permissions.esm.js';
1
+ export { iaChatAccessPermission, iaChatManagePermission, iaChatUsePermission, iaMcpManagePermission, iaMcpUsePermission, iaNotebooksManagePermission, iaNotebooksUsePermission, iaPermissions, iaSavedPromptsManagePermission, iaSkillsAccessPermission } from './permissions.esm.js';
2
2
  //# sourceMappingURL=index.esm.js.map
@@ -2,64 +2,64 @@
2
2
 
3
3
  var pluginPermissionCommon = require('@backstage/plugin-permission-common');
4
4
 
5
- const lightspeedChatReadPermission = pluginPermissionCommon.createPermission({
6
- name: "intelligent-assistant.chat.read",
7
- attributes: {
8
- action: "read"
9
- }
5
+ const iaChatAccessPermission = pluginPermissionCommon.createPermission({
6
+ name: "intelligent-assistant.chat.access",
7
+ attributes: {}
10
8
  });
11
- const lightspeedChatCreatePermission = pluginPermissionCommon.createPermission({
12
- name: "intelligent-assistant.chat.create",
13
- attributes: {
14
- action: "create"
15
- }
9
+ const iaChatUsePermission = pluginPermissionCommon.createPermission({
10
+ name: "intelligent-assistant.chat.use",
11
+ attributes: {}
16
12
  });
17
- const lightspeedChatDeletePermission = pluginPermissionCommon.createPermission({
18
- name: "intelligent-assistant.chat.delete",
19
- attributes: {
20
- action: "delete"
21
- }
22
- });
23
- const lightspeedChatUpdatePermission = pluginPermissionCommon.createPermission({
24
- name: "intelligent-assistant.chat.update",
25
- attributes: {
26
- action: "update"
27
- }
13
+ const iaChatManagePermission = pluginPermissionCommon.createPermission({
14
+ name: "intelligent-assistant.chat.manage",
15
+ attributes: {}
28
16
  });
29
- const lightspeedMcpReadPermission = pluginPermissionCommon.createPermission({
30
- name: "intelligent-assistant.mcp.read",
31
- attributes: {
32
- action: "read"
33
- }
17
+ const iaMcpUsePermission = pluginPermissionCommon.createPermission({
18
+ name: "mcp.tools.use",
19
+ attributes: {}
34
20
  });
35
- const lightspeedMcpManagePermission = pluginPermissionCommon.createPermission({
36
- name: "intelligent-assistant.mcp.manage",
37
- attributes: {
38
- action: "update"
39
- }
21
+ const iaMcpManagePermission = pluginPermissionCommon.createPermission({
22
+ name: "mcp.tools.manage",
23
+ attributes: {}
40
24
  });
41
- const lightspeedNotebooksUsePermission = pluginPermissionCommon.createPermission({
25
+ const iaNotebooksUsePermission = pluginPermissionCommon.createPermission({
42
26
  name: "intelligent-assistant.notebooks.use",
27
+ attributes: {}
28
+ });
29
+ const iaNotebooksManagePermission = pluginPermissionCommon.createPermission({
30
+ name: "intelligent-assistant.notebooks.manage",
31
+ attributes: {}
32
+ });
33
+ const iaSavedPromptsManagePermission = pluginPermissionCommon.createPermission({
34
+ name: "intelligent-assistant.saved-prompts.manage",
43
35
  attributes: {
44
36
  action: "update"
45
37
  }
46
38
  });
47
- const lightspeedPermissions = [
48
- lightspeedChatReadPermission,
49
- lightspeedChatCreatePermission,
50
- lightspeedChatDeletePermission,
51
- lightspeedChatUpdatePermission,
52
- lightspeedMcpReadPermission,
53
- lightspeedMcpManagePermission,
54
- lightspeedNotebooksUsePermission
39
+ const iaSkillsAccessPermission = pluginPermissionCommon.createPermission({
40
+ name: "intelligent-assistant.skills.access",
41
+ attributes: {}
42
+ });
43
+ const iaPermissions = [
44
+ iaChatAccessPermission,
45
+ iaChatManagePermission,
46
+ iaChatUsePermission,
47
+ iaMcpUsePermission,
48
+ iaMcpManagePermission,
49
+ iaNotebooksManagePermission,
50
+ iaNotebooksUsePermission,
51
+ iaSavedPromptsManagePermission,
52
+ iaSkillsAccessPermission
55
53
  ];
56
54
 
57
- exports.lightspeedChatCreatePermission = lightspeedChatCreatePermission;
58
- exports.lightspeedChatDeletePermission = lightspeedChatDeletePermission;
59
- exports.lightspeedChatReadPermission = lightspeedChatReadPermission;
60
- exports.lightspeedChatUpdatePermission = lightspeedChatUpdatePermission;
61
- exports.lightspeedMcpManagePermission = lightspeedMcpManagePermission;
62
- exports.lightspeedMcpReadPermission = lightspeedMcpReadPermission;
63
- exports.lightspeedNotebooksUsePermission = lightspeedNotebooksUsePermission;
64
- exports.lightspeedPermissions = lightspeedPermissions;
55
+ exports.iaChatAccessPermission = iaChatAccessPermission;
56
+ exports.iaChatManagePermission = iaChatManagePermission;
57
+ exports.iaChatUsePermission = iaChatUsePermission;
58
+ exports.iaMcpManagePermission = iaMcpManagePermission;
59
+ exports.iaMcpUsePermission = iaMcpUsePermission;
60
+ exports.iaNotebooksManagePermission = iaNotebooksManagePermission;
61
+ exports.iaNotebooksUsePermission = iaNotebooksUsePermission;
62
+ exports.iaPermissions = iaPermissions;
63
+ exports.iaSavedPromptsManagePermission = iaSavedPromptsManagePermission;
64
+ exports.iaSkillsAccessPermission = iaSkillsAccessPermission;
65
65
  //# sourceMappingURL=permissions.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.cjs.js","sources":["../src/permissions.ts"],"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 { createPermission } from '@backstage/plugin-permission-common';\n\n/** This permission is used to access the lightspeed read conversations endpoint\n * @public\n */\nexport const lightspeedChatReadPermission = createPermission({\n name: 'intelligent-assistant.chat.read',\n attributes: {\n action: 'read',\n },\n});\n\n/** This permission is used to access the lightspeed create conversations endpoint\n * @public\n */\nexport const lightspeedChatCreatePermission = createPermission({\n name: 'intelligent-assistant.chat.create',\n attributes: {\n action: 'create',\n },\n});\n\n/** This permission is used to access the lightspeed delete endpoint\n * @public\n */\nexport const lightspeedChatDeletePermission = createPermission({\n name: 'intelligent-assistant.chat.delete',\n attributes: {\n action: 'delete',\n },\n});\n\n/** This permission is used to access the lightspeed update endpoint\n * @public\n */\nexport const lightspeedChatUpdatePermission = createPermission({\n name: 'intelligent-assistant.chat.update',\n attributes: {\n action: 'update',\n },\n});\n\n/** This permission is used to list configured MCP servers\n * @public\n */\nexport const lightspeedMcpReadPermission = createPermission({\n name: 'intelligent-assistant.mcp.read',\n attributes: {\n action: 'read',\n },\n});\n\n/** This permission is used to add, update, delete, and validate MCP servers\n * @public\n */\nexport const lightspeedMcpManagePermission = createPermission({\n name: 'intelligent-assistant.mcp.manage',\n attributes: {\n action: 'update',\n },\n});\n\n/** This permission is used to access AI Notebooks features\n * @public\n */\nexport const lightspeedNotebooksUsePermission = createPermission({\n name: 'intelligent-assistant.notebooks.use',\n attributes: {\n action: 'update',\n },\n});\n\n/**\n * List of all permissions on permission polices.\n *\n * @public\n */\nexport const lightspeedPermissions = [\n lightspeedChatReadPermission,\n lightspeedChatCreatePermission,\n lightspeedChatDeletePermission,\n lightspeedChatUpdatePermission,\n lightspeedMcpReadPermission,\n lightspeedMcpManagePermission,\n lightspeedNotebooksUsePermission,\n];\n"],"names":["createPermission"],"mappings":";;;;AAqBO,MAAM,+BAA+BA,uCAAA,CAAiB;AAAA,EAC3D,IAAA,EAAM,iCAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA;AAEZ,CAAC;AAKM,MAAM,iCAAiCA,uCAAA,CAAiB;AAAA,EAC7D,IAAA,EAAM,mCAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA;AAEZ,CAAC;AAKM,MAAM,iCAAiCA,uCAAA,CAAiB;AAAA,EAC7D,IAAA,EAAM,mCAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA;AAEZ,CAAC;AAKM,MAAM,iCAAiCA,uCAAA,CAAiB;AAAA,EAC7D,IAAA,EAAM,mCAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA;AAEZ,CAAC;AAKM,MAAM,8BAA8BA,uCAAA,CAAiB;AAAA,EAC1D,IAAA,EAAM,gCAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA;AAEZ,CAAC;AAKM,MAAM,gCAAgCA,uCAAA,CAAiB;AAAA,EAC5D,IAAA,EAAM,kCAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA;AAEZ,CAAC;AAKM,MAAM,mCAAmCA,uCAAA,CAAiB;AAAA,EAC/D,IAAA,EAAM,qCAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA;AAEZ,CAAC;AAOM,MAAM,qBAAA,GAAwB;AAAA,EACnC,4BAAA;AAAA,EACA,8BAAA;AAAA,EACA,8BAAA;AAAA,EACA,8BAAA;AAAA,EACA,2BAAA;AAAA,EACA,6BAAA;AAAA,EACA;AACF;;;;;;;;;;;"}
1
+ {"version":3,"file":"permissions.cjs.js","sources":["../src/permissions.ts"],"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 { createPermission } from '@backstage/plugin-permission-common';\n\n/** This permission is used to access intelligent-assistant chats\n * @public\n */\nexport const iaChatAccessPermission = createPermission({\n name: 'intelligent-assistant.chat.access',\n attributes: {},\n});\n\n/** This permission is used to create intelligent-assistant chats\n * @public\n */\nexport const iaChatUsePermission = createPermission({\n name: 'intelligent-assistant.chat.use',\n attributes: {},\n});\n\n/** This permission is used to update and delete intelligent-assistant chats\n * @public\n */\nexport const iaChatManagePermission = createPermission({\n name: 'intelligent-assistant.chat.manage',\n attributes: {},\n});\n\n/** This permission is used to use MCP tooling\n * @public\n */\nexport const iaMcpUsePermission = createPermission({\n name: 'mcp.tools.use',\n attributes: {},\n});\n\n/** This permission is used to manage MCP tooling\n * @public\n */\nexport const iaMcpManagePermission = createPermission({\n name: 'mcp.tools.manage',\n attributes: {},\n});\n\n/** This permission is used to access, create, and query intelligent-assistant notebooks\n * @public\n */\nexport const iaNotebooksUsePermission = createPermission({\n name: 'intelligent-assistant.notebooks.use',\n attributes: {},\n});\n\n/** This permission is used to update and delete intelligent-assistant notebooks\n * @public\n */\nexport const iaNotebooksManagePermission = createPermission({\n name: 'intelligent-assistant.notebooks.manage',\n attributes: {},\n});\n\n/** This permission is used to list, create, and delete saved prompts and read saved-prompts config\n * @public\n */\nexport const iaSavedPromptsManagePermission = createPermission({\n name: 'intelligent-assistant.saved-prompts.manage',\n attributes: {\n action: 'update',\n },\n});\n\n/** This permission is used to view the list of configured skills\n * @public\n */\nexport const iaSkillsAccessPermission = createPermission({\n name: 'intelligent-assistant.skills.access',\n attributes: {},\n});\n\n/**\n * List of all permissions on permission polices.\n *\n * @public\n */\nexport const iaPermissions = [\n iaChatAccessPermission,\n iaChatManagePermission,\n iaChatUsePermission,\n iaMcpUsePermission,\n iaMcpManagePermission,\n iaNotebooksManagePermission,\n iaNotebooksUsePermission,\n iaSavedPromptsManagePermission,\n iaSkillsAccessPermission,\n];\n"],"names":["createPermission"],"mappings":";;;;AAqBO,MAAM,yBAAyBA,uCAAA,CAAiB;AAAA,EACrD,IAAA,EAAM,mCAAA;AAAA,EACN,YAAY;AACd,CAAC;AAKM,MAAM,sBAAsBA,uCAAA,CAAiB;AAAA,EAClD,IAAA,EAAM,gCAAA;AAAA,EACN,YAAY;AACd,CAAC;AAKM,MAAM,yBAAyBA,uCAAA,CAAiB;AAAA,EACrD,IAAA,EAAM,mCAAA;AAAA,EACN,YAAY;AACd,CAAC;AAKM,MAAM,qBAAqBA,uCAAA,CAAiB;AAAA,EACjD,IAAA,EAAM,eAAA;AAAA,EACN,YAAY;AACd,CAAC;AAKM,MAAM,wBAAwBA,uCAAA,CAAiB;AAAA,EACpD,IAAA,EAAM,kBAAA;AAAA,EACN,YAAY;AACd,CAAC;AAKM,MAAM,2BAA2BA,uCAAA,CAAiB;AAAA,EACvD,IAAA,EAAM,qCAAA;AAAA,EACN,YAAY;AACd,CAAC;AAKM,MAAM,8BAA8BA,uCAAA,CAAiB;AAAA,EAC1D,IAAA,EAAM,wCAAA;AAAA,EACN,YAAY;AACd,CAAC;AAKM,MAAM,iCAAiCA,uCAAA,CAAiB;AAAA,EAC7D,IAAA,EAAM,4CAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA;AAEZ,CAAC;AAKM,MAAM,2BAA2BA,uCAAA,CAAiB;AAAA,EACvD,IAAA,EAAM,qCAAA;AAAA,EACN,YAAY;AACd,CAAC;AAOM,MAAM,aAAA,GAAgB;AAAA,EAC3B,sBAAA;AAAA,EACA,sBAAA;AAAA,EACA,mBAAA;AAAA,EACA,kBAAA;AAAA,EACA,qBAAA;AAAA,EACA,2BAAA;AAAA,EACA,wBAAA;AAAA,EACA,8BAAA;AAAA,EACA;AACF;;;;;;;;;;;;;"}
@@ -1,56 +1,54 @@
1
1
  import { createPermission } from '@backstage/plugin-permission-common';
2
2
 
3
- const lightspeedChatReadPermission = createPermission({
4
- name: "intelligent-assistant.chat.read",
5
- attributes: {
6
- action: "read"
7
- }
3
+ const iaChatAccessPermission = createPermission({
4
+ name: "intelligent-assistant.chat.access",
5
+ attributes: {}
8
6
  });
9
- const lightspeedChatCreatePermission = createPermission({
10
- name: "intelligent-assistant.chat.create",
11
- attributes: {
12
- action: "create"
13
- }
7
+ const iaChatUsePermission = createPermission({
8
+ name: "intelligent-assistant.chat.use",
9
+ attributes: {}
14
10
  });
15
- const lightspeedChatDeletePermission = createPermission({
16
- name: "intelligent-assistant.chat.delete",
17
- attributes: {
18
- action: "delete"
19
- }
20
- });
21
- const lightspeedChatUpdatePermission = createPermission({
22
- name: "intelligent-assistant.chat.update",
23
- attributes: {
24
- action: "update"
25
- }
11
+ const iaChatManagePermission = createPermission({
12
+ name: "intelligent-assistant.chat.manage",
13
+ attributes: {}
26
14
  });
27
- const lightspeedMcpReadPermission = createPermission({
28
- name: "intelligent-assistant.mcp.read",
29
- attributes: {
30
- action: "read"
31
- }
15
+ const iaMcpUsePermission = createPermission({
16
+ name: "mcp.tools.use",
17
+ attributes: {}
32
18
  });
33
- const lightspeedMcpManagePermission = createPermission({
34
- name: "intelligent-assistant.mcp.manage",
35
- attributes: {
36
- action: "update"
37
- }
19
+ const iaMcpManagePermission = createPermission({
20
+ name: "mcp.tools.manage",
21
+ attributes: {}
38
22
  });
39
- const lightspeedNotebooksUsePermission = createPermission({
23
+ const iaNotebooksUsePermission = createPermission({
40
24
  name: "intelligent-assistant.notebooks.use",
25
+ attributes: {}
26
+ });
27
+ const iaNotebooksManagePermission = createPermission({
28
+ name: "intelligent-assistant.notebooks.manage",
29
+ attributes: {}
30
+ });
31
+ const iaSavedPromptsManagePermission = createPermission({
32
+ name: "intelligent-assistant.saved-prompts.manage",
41
33
  attributes: {
42
34
  action: "update"
43
35
  }
44
36
  });
45
- const lightspeedPermissions = [
46
- lightspeedChatReadPermission,
47
- lightspeedChatCreatePermission,
48
- lightspeedChatDeletePermission,
49
- lightspeedChatUpdatePermission,
50
- lightspeedMcpReadPermission,
51
- lightspeedMcpManagePermission,
52
- lightspeedNotebooksUsePermission
37
+ const iaSkillsAccessPermission = createPermission({
38
+ name: "intelligent-assistant.skills.access",
39
+ attributes: {}
40
+ });
41
+ const iaPermissions = [
42
+ iaChatAccessPermission,
43
+ iaChatManagePermission,
44
+ iaChatUsePermission,
45
+ iaMcpUsePermission,
46
+ iaMcpManagePermission,
47
+ iaNotebooksManagePermission,
48
+ iaNotebooksUsePermission,
49
+ iaSavedPromptsManagePermission,
50
+ iaSkillsAccessPermission
53
51
  ];
54
52
 
55
- export { lightspeedChatCreatePermission, lightspeedChatDeletePermission, lightspeedChatReadPermission, lightspeedChatUpdatePermission, lightspeedMcpManagePermission, lightspeedMcpReadPermission, lightspeedNotebooksUsePermission, lightspeedPermissions };
53
+ export { iaChatAccessPermission, iaChatManagePermission, iaChatUsePermission, iaMcpManagePermission, iaMcpUsePermission, iaNotebooksManagePermission, iaNotebooksUsePermission, iaPermissions, iaSavedPromptsManagePermission, iaSkillsAccessPermission };
56
54
  //# sourceMappingURL=permissions.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.esm.js","sources":["../src/permissions.ts"],"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 { createPermission } from '@backstage/plugin-permission-common';\n\n/** This permission is used to access the lightspeed read conversations endpoint\n * @public\n */\nexport const lightspeedChatReadPermission = createPermission({\n name: 'intelligent-assistant.chat.read',\n attributes: {\n action: 'read',\n },\n});\n\n/** This permission is used to access the lightspeed create conversations endpoint\n * @public\n */\nexport const lightspeedChatCreatePermission = createPermission({\n name: 'intelligent-assistant.chat.create',\n attributes: {\n action: 'create',\n },\n});\n\n/** This permission is used to access the lightspeed delete endpoint\n * @public\n */\nexport const lightspeedChatDeletePermission = createPermission({\n name: 'intelligent-assistant.chat.delete',\n attributes: {\n action: 'delete',\n },\n});\n\n/** This permission is used to access the lightspeed update endpoint\n * @public\n */\nexport const lightspeedChatUpdatePermission = createPermission({\n name: 'intelligent-assistant.chat.update',\n attributes: {\n action: 'update',\n },\n});\n\n/** This permission is used to list configured MCP servers\n * @public\n */\nexport const lightspeedMcpReadPermission = createPermission({\n name: 'intelligent-assistant.mcp.read',\n attributes: {\n action: 'read',\n },\n});\n\n/** This permission is used to add, update, delete, and validate MCP servers\n * @public\n */\nexport const lightspeedMcpManagePermission = createPermission({\n name: 'intelligent-assistant.mcp.manage',\n attributes: {\n action: 'update',\n },\n});\n\n/** This permission is used to access AI Notebooks features\n * @public\n */\nexport const lightspeedNotebooksUsePermission = createPermission({\n name: 'intelligent-assistant.notebooks.use',\n attributes: {\n action: 'update',\n },\n});\n\n/**\n * List of all permissions on permission polices.\n *\n * @public\n */\nexport const lightspeedPermissions = [\n lightspeedChatReadPermission,\n lightspeedChatCreatePermission,\n lightspeedChatDeletePermission,\n lightspeedChatUpdatePermission,\n lightspeedMcpReadPermission,\n lightspeedMcpManagePermission,\n lightspeedNotebooksUsePermission,\n];\n"],"names":[],"mappings":";;AAqBO,MAAM,+BAA+B,gBAAA,CAAiB;AAAA,EAC3D,IAAA,EAAM,iCAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA;AAEZ,CAAC;AAKM,MAAM,iCAAiC,gBAAA,CAAiB;AAAA,EAC7D,IAAA,EAAM,mCAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA;AAEZ,CAAC;AAKM,MAAM,iCAAiC,gBAAA,CAAiB;AAAA,EAC7D,IAAA,EAAM,mCAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA;AAEZ,CAAC;AAKM,MAAM,iCAAiC,gBAAA,CAAiB;AAAA,EAC7D,IAAA,EAAM,mCAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA;AAEZ,CAAC;AAKM,MAAM,8BAA8B,gBAAA,CAAiB;AAAA,EAC1D,IAAA,EAAM,gCAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA;AAEZ,CAAC;AAKM,MAAM,gCAAgC,gBAAA,CAAiB;AAAA,EAC5D,IAAA,EAAM,kCAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA;AAEZ,CAAC;AAKM,MAAM,mCAAmC,gBAAA,CAAiB;AAAA,EAC/D,IAAA,EAAM,qCAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA;AAEZ,CAAC;AAOM,MAAM,qBAAA,GAAwB;AAAA,EACnC,4BAAA;AAAA,EACA,8BAAA;AAAA,EACA,8BAAA;AAAA,EACA,8BAAA;AAAA,EACA,2BAAA;AAAA,EACA,6BAAA;AAAA,EACA;AACF;;;;"}
1
+ {"version":3,"file":"permissions.esm.js","sources":["../src/permissions.ts"],"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 { createPermission } from '@backstage/plugin-permission-common';\n\n/** This permission is used to access intelligent-assistant chats\n * @public\n */\nexport const iaChatAccessPermission = createPermission({\n name: 'intelligent-assistant.chat.access',\n attributes: {},\n});\n\n/** This permission is used to create intelligent-assistant chats\n * @public\n */\nexport const iaChatUsePermission = createPermission({\n name: 'intelligent-assistant.chat.use',\n attributes: {},\n});\n\n/** This permission is used to update and delete intelligent-assistant chats\n * @public\n */\nexport const iaChatManagePermission = createPermission({\n name: 'intelligent-assistant.chat.manage',\n attributes: {},\n});\n\n/** This permission is used to use MCP tooling\n * @public\n */\nexport const iaMcpUsePermission = createPermission({\n name: 'mcp.tools.use',\n attributes: {},\n});\n\n/** This permission is used to manage MCP tooling\n * @public\n */\nexport const iaMcpManagePermission = createPermission({\n name: 'mcp.tools.manage',\n attributes: {},\n});\n\n/** This permission is used to access, create, and query intelligent-assistant notebooks\n * @public\n */\nexport const iaNotebooksUsePermission = createPermission({\n name: 'intelligent-assistant.notebooks.use',\n attributes: {},\n});\n\n/** This permission is used to update and delete intelligent-assistant notebooks\n * @public\n */\nexport const iaNotebooksManagePermission = createPermission({\n name: 'intelligent-assistant.notebooks.manage',\n attributes: {},\n});\n\n/** This permission is used to list, create, and delete saved prompts and read saved-prompts config\n * @public\n */\nexport const iaSavedPromptsManagePermission = createPermission({\n name: 'intelligent-assistant.saved-prompts.manage',\n attributes: {\n action: 'update',\n },\n});\n\n/** This permission is used to view the list of configured skills\n * @public\n */\nexport const iaSkillsAccessPermission = createPermission({\n name: 'intelligent-assistant.skills.access',\n attributes: {},\n});\n\n/**\n * List of all permissions on permission polices.\n *\n * @public\n */\nexport const iaPermissions = [\n iaChatAccessPermission,\n iaChatManagePermission,\n iaChatUsePermission,\n iaMcpUsePermission,\n iaMcpManagePermission,\n iaNotebooksManagePermission,\n iaNotebooksUsePermission,\n iaSavedPromptsManagePermission,\n iaSkillsAccessPermission,\n];\n"],"names":[],"mappings":";;AAqBO,MAAM,yBAAyB,gBAAA,CAAiB;AAAA,EACrD,IAAA,EAAM,mCAAA;AAAA,EACN,YAAY;AACd,CAAC;AAKM,MAAM,sBAAsB,gBAAA,CAAiB;AAAA,EAClD,IAAA,EAAM,gCAAA;AAAA,EACN,YAAY;AACd,CAAC;AAKM,MAAM,yBAAyB,gBAAA,CAAiB;AAAA,EACrD,IAAA,EAAM,mCAAA;AAAA,EACN,YAAY;AACd,CAAC;AAKM,MAAM,qBAAqB,gBAAA,CAAiB;AAAA,EACjD,IAAA,EAAM,eAAA;AAAA,EACN,YAAY;AACd,CAAC;AAKM,MAAM,wBAAwB,gBAAA,CAAiB;AAAA,EACpD,IAAA,EAAM,kBAAA;AAAA,EACN,YAAY;AACd,CAAC;AAKM,MAAM,2BAA2B,gBAAA,CAAiB;AAAA,EACvD,IAAA,EAAM,qCAAA;AAAA,EACN,YAAY;AACd,CAAC;AAKM,MAAM,8BAA8B,gBAAA,CAAiB;AAAA,EAC1D,IAAA,EAAM,wCAAA;AAAA,EACN,YAAY;AACd,CAAC;AAKM,MAAM,iCAAiC,gBAAA,CAAiB;AAAA,EAC7D,IAAA,EAAM,4CAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA;AAEZ,CAAC;AAKM,MAAM,2BAA2B,gBAAA,CAAiB;AAAA,EACvD,IAAA,EAAM,qCAAA;AAAA,EACN,YAAY;AACd,CAAC;AAOM,MAAM,aAAA,GAAgB;AAAA,EAC3B,sBAAA;AAAA,EACA,sBAAA;AAAA,EACA,mBAAA;AAAA,EACA,kBAAA;AAAA,EACA,qBAAA;AAAA,EACA,2BAAA;AAAA,EACA,wBAAA;AAAA,EACA,8BAAA;AAAA,EACA;AACF;;;;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@red-hat-developer-hub/backstage-plugin-intelligent-assistant-common",
3
3
  "description": "Common functionalities for the intelligent-assistant plugin",
4
- "version": "3.1.0",
4
+ "version": "4.0.0",
5
5
  "main": "dist/index.cjs.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "license": "Apache-2.0",
@@ -42,7 +42,7 @@
42
42
  "@backstage/cli": "^0.36.3",
43
43
  "@ianvs/prettier-plugin-sort-imports": "^4.4.0",
44
44
  "@spotify/prettier-config": "^15.0.0",
45
- "prettier": "3.8.4"
45
+ "prettier": "3.9.6"
46
46
  },
47
47
  "peerDependencies": {
48
48
  "@backstage/plugin-permission-common": "^0.9.9"