From b86e41515ead0b0be6965ab48dd09f85cd332b00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Grzegorz=20Ja=C5=9Bkowski?= <138671284+g-jaskowski@users.noreply.github.com> Date: Fri, 10 Jul 2026 15:37:24 +0200 Subject: [PATCH] [ACS-12037] Remove Knowledge Discovery from ADF (#12042) * [ACS-12037] Remove Knowledge Discovery from ADF * [ACS-12037] Resolve Copilot CR comments * [ACS-12037] Complete cleanup, revert i18n changes * [ACS-12037] Cleanup features and APIs related to hxiconnector * [ACS-12037] Update docs --- docs/README.md | 11 +- .../services/agent.service.md | 27 -- .../services/search-ai.service.md | 43 --- docs/versionIndex.md | 4 +- lib/content-services/src/lib/agent/index.ts | 18 -- .../src/lib/agent/public-api.ts | 18 -- .../lib/agent/services/agent.service.spec.ts | 67 ----- .../src/lib/agent/services/agent.service.ts | 58 ----- lib/content-services/src/lib/i18n/en.json | 8 - .../src/lib/prediction/index.ts | 18 -- .../src/lib/prediction/public-api.ts | 18 -- .../src/lib/prediction/services/index.ts | 18 -- .../services/prediction.service.spec.ts | 53 ---- .../prediction/services/prediction.service.ts | 50 ---- .../src/lib/search-ai/index.ts | 18 -- .../search-ai/models/search-ai-input-state.ts | 22 -- .../src/lib/search-ai/public-api.ts | 19 -- .../services/search-ai.service.spec.ts | 246 ------------------ .../search-ai/services/search-ai.service.ts | 105 -------- lib/content-services/src/public-api.ts | 3 - lib/js-api/index.ts | 1 - lib/js-api/src/alfrescoApi.ts | 13 - .../api/content-rest-api/api/agents.api.ts | 35 --- .../src/api/content-rest-api/api/index.ts | 2 - .../api/content-rest-api/api/search-ai.api.ts | 61 ----- .../api/content-rest-api/docs/AgentsApi.md | 87 ------- .../api/content-rest-api/docs/SearchAiApi.md | 215 --------------- .../src/api/content-rest-api/model/agent.ts | 23 -- .../api/content-rest-api/model/agentEntry.ts | 22 -- .../api/content-rest-api/model/agentPaging.ts | 22 -- .../content-rest-api/model/agentPagingList.ts | 24 -- .../api/content-rest-api/model/aiAnswer.ts | 25 -- .../content-rest-api/model/aiAnswerEntry.ts | 22 -- .../model/aiAnswerObjectReference.ts | 24 -- .../model/aiAnswerReference.ts | 22 -- .../src/api/content-rest-api/model/index.ts | 12 - .../model/knowledgeRetrievalConfig.ts | 20 -- .../model/knowledgeRetrievalConfigEntry.ts | 22 -- .../content-rest-api/model/questionModel.ts | 24 -- .../content-rest-api/model/questionRequest.ts | 22 -- .../model/restrictionQuery.ts | 20 -- .../src/api/hxi-connector-api/README.md | 19 -- .../src/api/hxi-connector-api/api/base.api.ts | 25 -- .../src/api/hxi-connector-api/api/index.ts | 18 -- .../hxi-connector-api/api/predictions.api.ts | 63 ----- .../api/hxi-connector-api/docs/Prediction.md | 14 - .../hxi-connector-api/docs/PredictionEntry.md | 8 - .../docs/PredictionPaging.md | 8 - .../docs/PredictionPagingList.md | 9 - .../hxi-connector-api/docs/PredictionsApi.md | 42 --- lib/js-api/src/api/hxi-connector-api/index.ts | 19 -- .../src/api/hxi-connector-api/model/index.ts | 21 -- .../api/hxi-connector-api/model/prediction.ts | 47 ---- .../model/predictionEntry.ts | 29 --- .../model/predictionPaging.ts | 29 --- .../model/predictionPagingList.ts | 34 --- lib/js-api/src/index.ts | 1 - .../src/to-deprecate/alfresco-api-type.ts | 1 - .../test/content-services/agentsApi.spec.ts | 71 ----- .../test/content-services/searchAiApi.spec.ts | 126 --------- .../content-services/agent.mock.ts | 49 ---- .../content-services/search-ai.mock.ts | 95 ------- lib/js-api/test/mockObjects/index.ts | 2 - 63 files changed, 11 insertions(+), 2261 deletions(-) delete mode 100644 docs/content-services/services/agent.service.md delete mode 100644 docs/content-services/services/search-ai.service.md delete mode 100644 lib/content-services/src/lib/agent/index.ts delete mode 100644 lib/content-services/src/lib/agent/public-api.ts delete mode 100644 lib/content-services/src/lib/agent/services/agent.service.spec.ts delete mode 100644 lib/content-services/src/lib/agent/services/agent.service.ts delete mode 100644 lib/content-services/src/lib/prediction/index.ts delete mode 100644 lib/content-services/src/lib/prediction/public-api.ts delete mode 100644 lib/content-services/src/lib/prediction/services/index.ts delete mode 100644 lib/content-services/src/lib/prediction/services/prediction.service.spec.ts delete mode 100644 lib/content-services/src/lib/prediction/services/prediction.service.ts delete mode 100644 lib/content-services/src/lib/search-ai/index.ts delete mode 100644 lib/content-services/src/lib/search-ai/models/search-ai-input-state.ts delete mode 100644 lib/content-services/src/lib/search-ai/public-api.ts delete mode 100644 lib/content-services/src/lib/search-ai/services/search-ai.service.spec.ts delete mode 100644 lib/content-services/src/lib/search-ai/services/search-ai.service.ts delete mode 100644 lib/js-api/src/api/content-rest-api/api/agents.api.ts delete mode 100644 lib/js-api/src/api/content-rest-api/api/search-ai.api.ts delete mode 100644 lib/js-api/src/api/content-rest-api/docs/AgentsApi.md delete mode 100644 lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md delete mode 100644 lib/js-api/src/api/content-rest-api/model/agent.ts delete mode 100644 lib/js-api/src/api/content-rest-api/model/agentEntry.ts delete mode 100644 lib/js-api/src/api/content-rest-api/model/agentPaging.ts delete mode 100644 lib/js-api/src/api/content-rest-api/model/agentPagingList.ts delete mode 100644 lib/js-api/src/api/content-rest-api/model/aiAnswer.ts delete mode 100644 lib/js-api/src/api/content-rest-api/model/aiAnswerEntry.ts delete mode 100644 lib/js-api/src/api/content-rest-api/model/aiAnswerObjectReference.ts delete mode 100644 lib/js-api/src/api/content-rest-api/model/aiAnswerReference.ts delete mode 100644 lib/js-api/src/api/content-rest-api/model/knowledgeRetrievalConfig.ts delete mode 100644 lib/js-api/src/api/content-rest-api/model/knowledgeRetrievalConfigEntry.ts delete mode 100644 lib/js-api/src/api/content-rest-api/model/questionModel.ts delete mode 100644 lib/js-api/src/api/content-rest-api/model/questionRequest.ts delete mode 100644 lib/js-api/src/api/content-rest-api/model/restrictionQuery.ts delete mode 100644 lib/js-api/src/api/hxi-connector-api/README.md delete mode 100644 lib/js-api/src/api/hxi-connector-api/api/base.api.ts delete mode 100644 lib/js-api/src/api/hxi-connector-api/api/index.ts delete mode 100644 lib/js-api/src/api/hxi-connector-api/api/predictions.api.ts delete mode 100644 lib/js-api/src/api/hxi-connector-api/docs/Prediction.md delete mode 100644 lib/js-api/src/api/hxi-connector-api/docs/PredictionEntry.md delete mode 100644 lib/js-api/src/api/hxi-connector-api/docs/PredictionPaging.md delete mode 100644 lib/js-api/src/api/hxi-connector-api/docs/PredictionPagingList.md delete mode 100644 lib/js-api/src/api/hxi-connector-api/docs/PredictionsApi.md delete mode 100644 lib/js-api/src/api/hxi-connector-api/index.ts delete mode 100644 lib/js-api/src/api/hxi-connector-api/model/index.ts delete mode 100644 lib/js-api/src/api/hxi-connector-api/model/prediction.ts delete mode 100644 lib/js-api/src/api/hxi-connector-api/model/predictionEntry.ts delete mode 100644 lib/js-api/src/api/hxi-connector-api/model/predictionPaging.ts delete mode 100644 lib/js-api/src/api/hxi-connector-api/model/predictionPagingList.ts delete mode 100644 lib/js-api/test/content-services/agentsApi.spec.ts delete mode 100644 lib/js-api/test/content-services/searchAiApi.spec.ts delete mode 100644 lib/js-api/test/mockObjects/content-services/agent.mock.ts delete mode 100644 lib/js-api/test/mockObjects/content-services/search-ai.mock.ts diff --git a/docs/README.md b/docs/README.md index ac5dd60d61..75a02b0f63 100644 --- a/docs/README.md +++ b/docs/README.md @@ -351,7 +351,6 @@ for more information about installing and using the source code. | Name | Description | Source link | | ---- | ----------- | ----------- | -| [Agent Service](content-services/services/agent.service.md) | Manages agents in Content Services. | [Source](../lib/content-services/src/lib/agent/services/agent.service.ts) | | [Audit Service](content-services/services/audit.service.md) | Manages Audit apps and entries. | [Source](../lib/content-services/src/lib/audit/audit.service.ts) | | [Card View Content Update Service](content-services/services/card-view-content-update.service.md) | Manages Card View properties in the content services environment. Implements BaseCardViewContentUpdate. | [Source](../lib/content-services/src/lib/common/services/card-view-content-update.service.ts) | | | [Category tree datasource service](content-services/services/category-tree-datasource.service.md) | Datasource service for category tree. | [Source](../lib/content-services/src/lib/category/services/category-tree-datasource.service.ts) | @@ -367,7 +366,6 @@ for more information about installing and using the source code. | [Node Comments Service](content-services/services/node-comments.service.md) | Adds and retrieves comments for nodes in Content Services. | [Source](../lib/content-services/src/lib/node-comments/services/node-comments.service.ts) | | [Node permission dialog service](content-services/services/node-permission-dialog.service.md) | Displays dialogs to let the user set node permissions. | [Source](../lib/content-services/src/lib/permission-manager/services/node-permission-dialog.service.ts) | | [Node Permission service](content-services/services/node-permission.service.md) | Manages role permissions for content nodes. | [Source](../lib/content-services/src/lib/permission-manager/services/node-permission.service.ts) | -| [Search Ai Service](content-services/services/search-ai.service.md) | Manages search AI in Content Services. | [Source](../lib/content-services/src/lib/search-ai/services/search-ai.service.ts) | | [Search filter service](content-services/services/search-filter.service.md) | Registers widgets for use with the Search Filter component. | [Source](../lib/content-services/src/lib/search/services/search-filter.service.ts) | | [Search Query Builder service](content-services/services/search-query-builder.service.md) | Stores information from all the custom search and faceted search widgets, compiles and runs the final search query. | [Source](../lib/content-services/src/lib/search/services/search-query-builder.service.ts) | | [Security Controls service](content-services/services/security-controls.service.md) | Manages security groups & marks in Content Services. | [Source](../lib/content-services/src/lib/security/services/security-controls-groups-marks-security.service.ts) | @@ -567,3 +565,12 @@ Contains all custom rules used by ESLint. [(Back to Contents)](#contents) + +## Notes + +### Knowledge Discovery removal (v9.0.0) + +The Knowledge Discovery components, services, and APIs have been removed as of version 9.0.0. +The integrated Knowledge Discovery features have been replaced with a section in the side navigation panel containing a link to the standalone Knowledge Discovery UI application in higher level apps such as ACA and ADW. + +If you were using those features, please consider cleaning Local Storage in your browser as *aiReferences* entry may remain. diff --git a/docs/content-services/services/agent.service.md b/docs/content-services/services/agent.service.md deleted file mode 100644 index 67d9a7b54b..0000000000 --- a/docs/content-services/services/agent.service.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -Title: Agent service -Added: v7.0.0-alpha.3 -Status: Active -Last reviewed: 2024-07-12 ---- - -# [Agent service](../../../lib/content-services/src/lib/agent/services/agent.service.ts "Defined in agent.service.ts") - -Manages agents in Content Services.
- -In order to use this service, you need to have the HX Insights Connector (additional ACS module) installed. - -## Class members - -### Methods - -- **getAgents**(): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`AgentPaging`](../../../lib/js-api/src/api/content-rest-api/docs/AgentsApi.md#agentpaging)`>`
- Gets all agents. - - **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`AgentPaging`](../../../lib/js-api/src/api/content-rest-api/docs/AgentsApi.md#agentpaging)`>` - AgentPaging object containing the agents. - -## Details - -See the -[Agents API](../../../lib/js-api/src/api/content-rest-api/docs/AgentsApi.md) for more information about the types returned by [Agent -service](agent.service.md) methods and for the implementation of the REST API the service is -based on. diff --git a/docs/content-services/services/search-ai.service.md b/docs/content-services/services/search-ai.service.md deleted file mode 100644 index 2ad3ede85e..0000000000 --- a/docs/content-services/services/search-ai.service.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -Title: Search Ai service -Added: v7.0.0-alpha.3 -Status: Active -Last reviewed: 2024-07-12 ---- - -# [Search Ai service](../../../lib/content-services/src/lib/search-ai/services/search-ai.service.ts "Defined in search-ai.service.ts") - -Manages search AI in Content Services. - -In order to use this service, you need to have the HX Insights Connector (additional ACS module) installed. - -## Class members - -### Methods - -- **updateSearchAiInputState**(state: `SearchAiInputState`): `void`
- Update the state of the search AI input. - - _state:_ `SearchAiInputState` - The new state of the search AI input. -- **ask**(question: [`QuestionRequest`](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md#questionrequest)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`QuestionModel`](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md#questionmodel)`>`
- Ask a question to the AI. - - _question:_ [`QuestionRequest`](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md#questionrequest) - The question to ask. - - **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`QuestionModel`](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md#questionmodel)`>` - QuestionModel object containing information about questions. -- **getAnswer**(questionId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`AiAnswerEntry`](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md#aianswerentry)`>`
- Get an answer to specific question. - - _questionId:_ `string` - The ID of the question to get an answer for. - - **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`AiAnswerEntry`](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md#aianswerentry)`>` - AiAnswerEntry object containing the answer. -- **getConfig**(): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`KnowledgeRetrievalConfigEntry`](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md#knowledgeretrievalconfigentry)`>`
- Get the knowledge retrieval configuration. - - **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`KnowledgeRetrievalConfigEntry`](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md#knowledgeretrievalconfigentry)`>` - KnowledgeRetrievalConfigEntry object containing the configuration. -- **checkSearchAvailability**(selectedNodesState: `SelectionState`, maxSelectedNodes: `number`): `string`
- Check if using of search is possible (if all conditions are met). - - _selectedNodesState:_ `SelectionState` - information about selected nodes. - - _maxSelectedNodes:_ `number` - max number of selected nodes. Default 100. - - **Returns** `string` - string with error if any condition is not met, empty string otherwise. - -## Details - -See the -[Search Ai API](../../../lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md) for more information about the types returned by [Search Ai -service](search-ai.service.md) methods and for the implementation of the REST API the service is -based on. diff --git a/docs/versionIndex.md b/docs/versionIndex.md index 3c4eb84f08..40bc17796a 100644 --- a/docs/versionIndex.md +++ b/docs/versionIndex.md @@ -61,8 +61,8 @@ backend services have been tested with each released version of ADF. -- [AgentService](content-services/services/agent.service.md) -- [SearchAiService](content-services/services/search-ai.service.md) +- AgentService — removed, see [Notes](README.md#knowledge-discovery-removal-v900) +- SearchAiService — removed, see [Notes](README.md#knowledge-discovery-removal-v900) diff --git a/lib/content-services/src/lib/agent/index.ts b/lib/content-services/src/lib/agent/index.ts deleted file mode 100644 index f22da90e09..0000000000 --- a/lib/content-services/src/lib/agent/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * from './public-api'; diff --git a/lib/content-services/src/lib/agent/public-api.ts b/lib/content-services/src/lib/agent/public-api.ts deleted file mode 100644 index 0298deff1a..0000000000 --- a/lib/content-services/src/lib/agent/public-api.ts +++ /dev/null @@ -1,18 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * from './services/agent.service'; diff --git a/lib/content-services/src/lib/agent/services/agent.service.spec.ts b/lib/content-services/src/lib/agent/services/agent.service.spec.ts deleted file mode 100644 index 832526a93b..0000000000 --- a/lib/content-services/src/lib/agent/services/agent.service.spec.ts +++ /dev/null @@ -1,67 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { TestBed } from '@angular/core/testing'; -import { AgentService } from './agent.service'; -import { Agent, AgentPaging } from '@alfresco/js-api'; - -const agent1: Agent = { - id: '1', - name: 'HR Agent', - description: 'Your Claims Doc Agent streamlines the extraction, analysis, and management of data from insurance claims documents.', - avatarUrl: '' -}; - -const agent2: Agent = { - id: '2', - name: 'Policy Agent', - description: 'Your Claims Doc Agent streamlines the extraction, analysis, and management of data from insurance claims documents.', - avatarUrl: '' -}; - -const agentPagingObjectMock: AgentPaging = { - list: { - entries: [ - { - entry: agent1 - }, - { - entry: agent2 - } - ] - } -}; - -const agentListMock: Agent[] = [agent1, agent2]; - -describe('AgentService', () => { - let agentService: AgentService; - - beforeEach(() => { - agentService = TestBed.inject(AgentService); - }); - - it('should load agents', (done) => { - spyOn(agentService.agentsApi, 'getAgents').and.returnValue(Promise.resolve(agentPagingObjectMock)); - - agentService.getAgents().subscribe((pagingResponse) => { - expect(pagingResponse).toEqual(agentListMock); - expect(agentService.agentsApi.getAgents).toHaveBeenCalled(); - done(); - }); - }); -}); diff --git a/lib/content-services/src/lib/agent/services/agent.service.ts b/lib/content-services/src/lib/agent/services/agent.service.ts deleted file mode 100644 index db4389a150..0000000000 --- a/lib/content-services/src/lib/agent/services/agent.service.ts +++ /dev/null @@ -1,58 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Injectable, inject } from '@angular/core'; -import { Agent, AgentsApi, LazyApi } from '@alfresco/js-api'; -import { BehaviorSubject, from, Observable, of } from 'rxjs'; -import { map, switchMap } from 'rxjs/operators'; -import { AlfrescoApiService } from '../../services'; - -@Injectable({ - providedIn: 'root' -}) -export class AgentService { - private readonly apiService = inject(AlfrescoApiService); - - private readonly agents = new BehaviorSubject([]); - - @LazyApi((self: AgentService) => new AgentsApi(self.apiService.getInstance())) - declare readonly agentsApi: AgentsApi; - - agents$ = this.agents.asObservable(); - - /** - * Gets all agents from cache. If cache is empty, fetches agents from backend. - * - * @returns Agent[] list containing agents. - */ - getAgents(): Observable { - return this.agents$.pipe( - switchMap((agentsList) => { - if (agentsList.length) { - return of(agentsList); - } - return from(this.agentsApi.getAgents()).pipe( - map((paging) => { - const agentEntries = paging.list.entries.map((agentEntry) => agentEntry.entry); - this.agents.next(agentEntries); - return agentEntries; - }) - ); - }) - ); - } -} diff --git a/lib/content-services/src/lib/i18n/en.json b/lib/content-services/src/lib/i18n/en.json index d1456d7c6f..d2893da7e9 100644 --- a/lib/content-services/src/lib/i18n/en.json +++ b/lib/content-services/src/lib/i18n/en.json @@ -729,14 +729,6 @@ "JOIN_REQUESTED": "Request sent to join this library" } }, - "KNOWLEDGE_RETRIEVAL": { - "SEARCH": { - "WARNINGS": { - "TOO_MANY_FILES_SELECTED": "Please select no more than {{ maxFiles }} files.", - "FOLDER_SELECTED": "Folders are not compatible with AI Agents." - } - } - }, "NODE_FAVORITE_DIRECTIVE": { "MESSAGES": { "NODE_ADDED": "Added {{ name }} to favorites", diff --git a/lib/content-services/src/lib/prediction/index.ts b/lib/content-services/src/lib/prediction/index.ts deleted file mode 100644 index f22da90e09..0000000000 --- a/lib/content-services/src/lib/prediction/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * from './public-api'; diff --git a/lib/content-services/src/lib/prediction/public-api.ts b/lib/content-services/src/lib/prediction/public-api.ts deleted file mode 100644 index 5b16f9a65c..0000000000 --- a/lib/content-services/src/lib/prediction/public-api.ts +++ /dev/null @@ -1,18 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * from './services'; diff --git a/lib/content-services/src/lib/prediction/services/index.ts b/lib/content-services/src/lib/prediction/services/index.ts deleted file mode 100644 index bf112241cf..0000000000 --- a/lib/content-services/src/lib/prediction/services/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * from './prediction.service'; diff --git a/lib/content-services/src/lib/prediction/services/prediction.service.spec.ts b/lib/content-services/src/lib/prediction/services/prediction.service.spec.ts deleted file mode 100644 index f299e1d38d..0000000000 --- a/lib/content-services/src/lib/prediction/services/prediction.service.spec.ts +++ /dev/null @@ -1,53 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { PredictionService } from './prediction.service'; -import { TestBed } from '@angular/core/testing'; -import { Prediction, PredictionEntry, PredictionPaging, PredictionPagingList, ReviewStatus } from '@alfresco/js-api'; - -describe('PredictionService', () => { - let service: PredictionService; - - const mockPredictionPaging = (): PredictionPaging => { - const prediction = new Prediction(); - prediction.id = 'test id'; - const predictionEntry = new PredictionEntry({ entry: prediction }); - const predictionPagingList = new PredictionPagingList({ entries: [predictionEntry] }); - return new PredictionPaging({ list: predictionPagingList }); - }; - - beforeEach(() => { - TestBed.configureTestingModule({ - imports: [] - }); - service = TestBed.inject(PredictionService); - }); - - it('should call getPredictions on PredictionsApi with nodeId', () => { - spyOn(service.predictionsApi, 'getPredictions').and.returnValue(Promise.resolve(mockPredictionPaging())); - - service.getPredictions('test id'); - expect(service.predictionsApi.getPredictions).toHaveBeenCalledWith('test id'); - }); - - it('should call reviewPrediction on PredictionsApi with predictionId and reviewStatus', () => { - spyOn(service.predictionsApi, 'reviewPrediction').and.returnValue(Promise.resolve()); - - service.reviewPrediction('test id', ReviewStatus.CONFIRMED); - expect(service.predictionsApi.reviewPrediction).toHaveBeenCalledWith('test id', ReviewStatus.CONFIRMED); - }); -}); diff --git a/lib/content-services/src/lib/prediction/services/prediction.service.ts b/lib/content-services/src/lib/prediction/services/prediction.service.ts deleted file mode 100644 index b4c60429b6..0000000000 --- a/lib/content-services/src/lib/prediction/services/prediction.service.ts +++ /dev/null @@ -1,50 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Injectable, inject } from '@angular/core'; -import { PredictionsApi, PredictionPaging, ReviewStatus, LazyApi } from '@alfresco/js-api'; -import { from, Observable } from 'rxjs'; -import { AlfrescoApiService } from '../../services/alfresco-api.service'; - -@Injectable({ providedIn: 'root' }) -export class PredictionService { - private readonly apiService = inject(AlfrescoApiService); - - @LazyApi((self: PredictionService) => new PredictionsApi(self.apiService.getInstance())) - declare readonly predictionsApi: PredictionsApi; - - /** - * Get predictions for a given node - * - * @param nodeId The identifier of node. - * @returns Observable - */ - getPredictions(nodeId: string): Observable { - return from(this.predictionsApi.getPredictions(nodeId)); - } - - /** - * Review a prediction - * - * @param predictionId The identifier of prediction. - * @param reviewStatus Review status to apply. - * @returns Observable - */ - reviewPrediction(predictionId: string, reviewStatus: ReviewStatus): Observable { - return from(this.predictionsApi.reviewPrediction(predictionId, reviewStatus)); - } -} diff --git a/lib/content-services/src/lib/search-ai/index.ts b/lib/content-services/src/lib/search-ai/index.ts deleted file mode 100644 index f22da90e09..0000000000 --- a/lib/content-services/src/lib/search-ai/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * from './public-api'; diff --git a/lib/content-services/src/lib/search-ai/models/search-ai-input-state.ts b/lib/content-services/src/lib/search-ai/models/search-ai-input-state.ts deleted file mode 100644 index 0966ad500b..0000000000 --- a/lib/content-services/src/lib/search-ai/models/search-ai-input-state.ts +++ /dev/null @@ -1,22 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export interface SearchAiInputState { - active: boolean; - selectedAgentId?: string; - searchTerm?: string; -} diff --git a/lib/content-services/src/lib/search-ai/public-api.ts b/lib/content-services/src/lib/search-ai/public-api.ts deleted file mode 100644 index c5ffa95332..0000000000 --- a/lib/content-services/src/lib/search-ai/public-api.ts +++ /dev/null @@ -1,19 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * from './services/search-ai.service'; -export * from './models/search-ai-input-state'; diff --git a/lib/content-services/src/lib/search-ai/services/search-ai.service.spec.ts b/lib/content-services/src/lib/search-ai/services/search-ai.service.spec.ts deleted file mode 100644 index 3a2e014a9d..0000000000 --- a/lib/content-services/src/lib/search-ai/services/search-ai.service.spec.ts +++ /dev/null @@ -1,246 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { TestBed } from '@angular/core/testing'; -import { AiAnswerEntry, KnowledgeRetrievalConfigEntry, Node, QuestionModel, QuestionRequest } from '@alfresco/js-api'; -import { SearchAiService } from './search-ai.service'; -import { SearchAiInputState } from '../models/search-ai-input-state'; -import { TranslateService } from '@ngx-translate/core'; - -describe('SearchAiService', () => { - let service: SearchAiService; - - beforeEach(() => { - TestBed.configureTestingModule({ - imports: [] - }); - service = TestBed.inject(SearchAiService); - }); - - describe('ask', () => { - it('should load information about question', (done) => { - const question: QuestionModel = { - question: 'some question', - questionId: 'some id', - restrictionQuery: { nodesIds: ['nodeId1', 'nodeId2'] } - }; - spyOn(service.searchAiApi, 'ask').and.returnValue(Promise.resolve(question)); - const questionRequest: QuestionRequest = { - question: 'some question', - nodeIds: ['nodeId1', 'nodeId2'], - agentId: 'some id' - }; - - service.ask(questionRequest).subscribe((questionResponse) => { - expect(questionResponse).toBe(question); - expect(service.searchAiApi.ask).toHaveBeenCalledWith([questionRequest]); - done(); - }); - }); - }); - - describe('getAnswer', () => { - it('should load information about question', (done) => { - const questionId = 'some id'; - const answer: AiAnswerEntry = { - entry: { - answer: 'Some answer 1', - complete: true, - question: 'Some question', - objectReferences: [ - { - objectId: 'some id 1', - references: [ - { - referenceId: 'some reference id 1', - rank: 1, - rankScore: 0.005 - }, - { - referenceId: 'some reference id 2', - rank: 2, - rankScore: 0.004 - } - ] - }, - { - objectId: 'some id 2', - references: [ - { - referenceId: 'some reference id 3', - rank: 1, - rankScore: 0.005 - }, - { - referenceId: 'some reference id 4', - rank: 2, - rankScore: 0.004 - } - ] - } - ] - } - }; - spyOn(service.searchAiApi, 'getAnswer').and.returnValue(Promise.resolve(answer)); - - service.getAnswer(questionId).subscribe((answerResponse) => { - expect(answerResponse).toBe(answer); - expect(service.searchAiApi.getAnswer).toHaveBeenCalledWith(questionId); - done(); - }); - }); - }); - - describe('getConfig', () => { - it('should load knowledge retrieval configuration', (done) => { - const config: KnowledgeRetrievalConfigEntry = { - entry: { - knowledgeRetrievalUrl: 'https://some-url' - } - }; - spyOn(service.searchAiApi, 'getConfig').and.returnValue(Promise.resolve(config)); - - service.getConfig().subscribe((configResponse) => { - expect(configResponse).toBe(config); - expect(service.searchAiApi.getConfig).toHaveBeenCalled(); - done(); - }); - }); - }); - - describe('updateSearchAiInputState', () => { - it('should trigger toggleSearchAiInput$', () => { - const state: SearchAiInputState = { - active: true, - selectedAgentId: 'some id' - }; - service.updateSearchAiInputState(state); - - service.toggleSearchAiInput$.subscribe((receivedState) => { - expect(receivedState).toBe(state); - }); - }); - }); - - describe('checkSearchAvailability', () => { - let translateService: TranslateService; - - const tooManyFilesSelectedError = 'Please select no more than 100 files.'; - const folderSelectedError = 'Folders are not compatible with AI Agents.'; - - beforeEach(() => { - translateService = TestBed.inject(TranslateService); - spyOn(translateService, 'instant').and.callFake((key) => { - switch (key) { - case 'KNOWLEDGE_RETRIEVAL.SEARCH.WARNINGS.TOO_MANY_FILES_SELECTED': - return tooManyFilesSelectedError; - case 'KNOWLEDGE_RETRIEVAL.SEARCH.WARNINGS.FOLDER_SELECTED': - return folderSelectedError; - default: - return ''; - } - }); - }); - - it('should not return error if user did not select any files', () => { - expect( - service.checkSearchAvailability({ - count: 0, - nodes: [], - libraries: [], - isEmpty: true - }) - ).toEqual(''); - }); - - it('should return error for too many files selected', () => { - expect( - service.checkSearchAvailability({ - count: 101, - nodes: [], - libraries: [], - isEmpty: false - }) - ).toBe(tooManyFilesSelectedError); - expect(translateService.instant).toHaveBeenCalledWith('KNOWLEDGE_RETRIEVAL.SEARCH.WARNINGS.TOO_MANY_FILES_SELECTED', { - maxFiles: 100, - key: 'KNOWLEDGE_RETRIEVAL.SEARCH.WARNINGS.TOO_MANY_FILES_SELECTED' - }); - }); - - it('should return error for folder selected', () => { - expect( - service.checkSearchAvailability({ - count: 1, - nodes: [ - { - entry: { - isFolder: true - } as Node - } - ], - libraries: [], - isEmpty: false - }) - ).toBe(folderSelectedError); - }); - - it('should return error for folder and if non text mime type node is selected', () => { - expect( - service.checkSearchAvailability({ - count: 1, - nodes: [ - { - entry: { - isFolder: true, - content: { - mimeType: 'some mime type', - mimeTypeName: 'some mime type', - sizeInBytes: 100 - } - } as Node - } - ], - libraries: [], - isEmpty: false - }) - ).toBe(folderSelectedError); - }); - - it('should return more than one error if more validators detected issues', () => { - expect( - service.checkSearchAvailability({ - count: 101, - nodes: [ - { - entry: { - isFolder: true, - content: { - mimeType: 'image/jpeg', - mimeTypeName: 'image/jpeg', - sizeInBytes: 100 - } - } as Node - } - ], - libraries: [], - isEmpty: false - }) - ).toBe(`${tooManyFilesSelectedError} ${folderSelectedError}`); - }); - }); -}); diff --git a/lib/content-services/src/lib/search-ai/services/search-ai.service.ts b/lib/content-services/src/lib/search-ai/services/search-ai.service.ts deleted file mode 100644 index 4bbe7c3ea8..0000000000 --- a/lib/content-services/src/lib/search-ai/services/search-ai.service.ts +++ /dev/null @@ -1,105 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Injectable, inject } from '@angular/core'; -import { AiAnswerEntry, KnowledgeRetrievalConfigEntry, LazyApi, QuestionModel, QuestionRequest, SearchAiApi } from '@alfresco/js-api'; -import { BehaviorSubject, from, Observable } from 'rxjs'; -import { SelectionState } from '@alfresco/adf-extensions'; -import { TranslateService } from '@ngx-translate/core'; -import { SearchAiInputState } from '../models/search-ai-input-state'; -import { AlfrescoApiService } from '../../services'; - -@Injectable({ - providedIn: 'root' -}) -export class SearchAiService { - private readonly apiService = inject(AlfrescoApiService); - private readonly translateService = inject(TranslateService); - - private readonly toggleSearchAiInput = new BehaviorSubject({ - active: false - }); - - @LazyApi((self: SearchAiService) => new SearchAiApi(self.apiService.getInstance())) - declare readonly searchAiApi: SearchAiApi; - - toggleSearchAiInput$ = this.toggleSearchAiInput.asObservable(); - - /** - * Update the state of the search AI input. - * - * @param state The new state of the search AI input. - */ - updateSearchAiInputState(state: SearchAiInputState): void { - this.toggleSearchAiInput.next(state); - } - - /** - * Ask a question to the AI. - * - * @param question The question to ask. - * @returns QuestionModel object containing information about questions. - */ - ask(question: QuestionRequest): Observable { - return from(this.searchAiApi.ask([question])); - } - - /** - * Get an answer to specific question. - * - * @param questionId The ID of the question to get an answer for. - * @returns AiAnswerEntry object containing the answer. - */ - getAnswer(questionId: string): Observable { - return from(this.searchAiApi.getAnswer(questionId)); - } - - /** - * Get the knowledge retrieval configuration. - * - * @returns KnowledgeRetrievalConfigEntry object containing the configuration. - */ - getConfig(): Observable { - return from(this.searchAiApi.getConfig()); - } - - /** - * Check if using of search is possible (if all conditions are met). - * - * @param selectedNodesState information about selected nodes. - * @param maxSelectedNodes max number of selected nodes. Default 100. - * @returns string with error if any condition is not met, empty string otherwise. - */ - checkSearchAvailability(selectedNodesState: SelectionState, maxSelectedNodes = 100): string { - const messages: { - key: string; - [parameter: string]: number | string; - }[] = []; - if (selectedNodesState.count > maxSelectedNodes) { - messages.push({ - key: 'KNOWLEDGE_RETRIEVAL.SEARCH.WARNINGS.TOO_MANY_FILES_SELECTED', - maxFiles: maxSelectedNodes - }); - } - if (selectedNodesState.nodes.some((node) => node.entry.isFolder)) { - messages.push({ - key: 'KNOWLEDGE_RETRIEVAL.SEARCH.WARNINGS.FOLDER_SELECTED' - }); - } - return messages.map((message) => this.translateService.instant(message.key, message)).join(' '); - } -} diff --git a/lib/content-services/src/public-api.ts b/lib/content-services/src/public-api.ts index 0d1542b78a..3ca0323019 100644 --- a/lib/content-services/src/public-api.ts +++ b/lib/content-services/src/public-api.ts @@ -44,12 +44,9 @@ export * from './lib/security/index'; export * from './lib/api-factories'; export * from './lib/services/index'; export * from './lib/infinite-scroll-datasource'; -export * from './lib/prediction/index'; export * from './lib/legal-hold/index'; export * from './lib/api-factories'; export * from './lib/mock/alfresco-api.service.mock'; -export * from './lib/agent/index'; -export * from './lib/search-ai/index'; export * from './lib/content.module'; export * from './lib/material.module'; diff --git a/lib/js-api/index.ts b/lib/js-api/index.ts index 1101f00add..89cdeb15b5 100644 --- a/lib/js-api/index.ts +++ b/lib/js-api/index.ts @@ -24,7 +24,6 @@ export * from './src/api/auth-rest-api/index'; export * from './src/api/activiti-rest-api/index'; export * from './src/api/search-rest-api/index'; export * from './src/api/model-rest-api/index'; -export * from './src/api/hxi-connector-api/index'; export * from './src/api/content-custom-api/api/content.api'; export * from './src/authentication/contentAuth'; diff --git a/lib/js-api/src/alfrescoApi.ts b/lib/js-api/src/alfrescoApi.ts index 6a0dd43da7..27621ef5d6 100644 --- a/lib/js-api/src/alfrescoApi.ts +++ b/lib/js-api/src/alfrescoApi.ts @@ -38,7 +38,6 @@ export class AlfrescoApi extends AlfrescoApiClient implements AlfrescoApiType { discoveryClient: ContentClient; gsClient: ContentClient; authClient: ContentClient; - hxiConnectorClient: ContentClient; oauth2Auth: Oauth2Auth; processAuth: ProcessAuth; contentAuth: ContentAuth; @@ -190,12 +189,6 @@ export class AlfrescoApi extends AlfrescoApiClient implements AlfrescoApiType { } else { this.processClient.setConfig(this.config); } - - if (!this.hxiConnectorClient) { - this.hxiConnectorClient = new ContentClient(this.config, `/api/${this.config.tenant}/private/hxi/versions/1`, this.httpClient); - } else { - this.hxiConnectorClient.setConfig(this.config, `/api/${this.config.tenant}/private/hxi/versions/1`); - } } /**@private? */ @@ -207,7 +200,6 @@ export class AlfrescoApi extends AlfrescoApiClient implements AlfrescoApiType { this.searchClient.off('error', () => {}); this.discoveryClient.off('error', () => {}); this.gsClient.off('error', () => {}); - this.hxiConnectorClient.off('error', () => {}); this.contentClient.on('error', (error: any) => { this.errorHandler(error); @@ -236,10 +228,6 @@ export class AlfrescoApi extends AlfrescoApiClient implements AlfrescoApiType { this.gsClient.on('error', (error: any) => { this.errorHandler(error); }); - - this.hxiConnectorClient.on('error', (error: any) => { - this.errorHandler(error); - }); } ticketMismatchListeners() { @@ -370,7 +358,6 @@ export class AlfrescoApi extends AlfrescoApiClient implements AlfrescoApiType { this.searchClient.setAuthentications(authECM); this.discoveryClient.setAuthentications(authECM); this.gsClient.setAuthentications(authECM); - this.hxiConnectorClient.setAuthentications(authECM); } /** diff --git a/lib/js-api/src/api/content-rest-api/api/agents.api.ts b/lib/js-api/src/api/content-rest-api/api/agents.api.ts deleted file mode 100644 index a8536f4b6f..0000000000 --- a/lib/js-api/src/api/content-rest-api/api/agents.api.ts +++ /dev/null @@ -1,35 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { AgentPaging } from '../model/agentPaging'; -import { BaseApi } from '../../hxi-connector-api/api/base.api'; - -/** - * Agents Api. - * In order to use this api, you need to have the HX Insights Connector (additional ACS module) installed. - */ -export class AgentsApi extends BaseApi { - /** - * Gets all agents. - * @returns AgentPaging object containing the agents. - */ - getAgents(): Promise { - return this.get({ - path: '/agents' - }); - } -} diff --git a/lib/js-api/src/api/content-rest-api/api/index.ts b/lib/js-api/src/api/content-rest-api/api/index.ts index 899efe5d3b..9ae8e995c3 100644 --- a/lib/js-api/src/api/content-rest-api/api/index.ts +++ b/lib/js-api/src/api/content-rest-api/api/index.ts @@ -18,7 +18,6 @@ export * from './types'; export * from './actions.api'; export * from './activities.api'; -export * from './agents.api'; export * from './audit.api'; export * from './categories.api'; export * from './comments.api'; @@ -33,7 +32,6 @@ export * from './probes.api'; export * from './queries.api'; export * from './ratings.api'; export * from './renditions.api'; -export * from './search-ai.api'; export * from './sharedlinks.api'; export * from './sites.api'; export * from './tags.api'; diff --git a/lib/js-api/src/api/content-rest-api/api/search-ai.api.ts b/lib/js-api/src/api/content-rest-api/api/search-ai.api.ts deleted file mode 100644 index 964f6e8476..0000000000 --- a/lib/js-api/src/api/content-rest-api/api/search-ai.api.ts +++ /dev/null @@ -1,61 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { QuestionModel, QuestionRequest, AiAnswerEntry, KnowledgeRetrievalConfigEntry } from '../model'; -import { BaseApi } from '../../hxi-connector-api/api/base.api'; - -/** - * Search AI API. - */ -export class SearchAiApi extends BaseApi { - /** - * Ask a question to the AI. - * @param questions QuestionRequest array containing questions to ask. - * @returns QuestionModel object containing information about questions. - */ - ask(questions: QuestionRequest[]): Promise { - const agentId = questions[0].agentId; - return this.post({ - path: `agents/${agentId}/questions`, - bodyParam: questions.map((questionRequest) => ({ - question: questionRequest.question, - restrictionQuery: { nodesIds: questionRequest.nodeIds } - })) - }).then((response) => response.entry); - } - - /** - * Get an answer to specific question. - * @param questionId The ID of the question to get an answer for. - * @returns AiAnswerEntry object containing the answer. - */ - getAnswer(questionId: string): Promise { - return this.get({ - path: `questions/${questionId}/answers/-default-` - }); - } - - /** - * Get the knowledge retrieval configuration. - * @returns KnowledgeRetrievalConfigEntry object containing the configuration. - */ - getConfig(): Promise { - return this.get({ - path: '/config/-default-' - }); - } -} diff --git a/lib/js-api/src/api/content-rest-api/docs/AgentsApi.md b/lib/js-api/src/api/content-rest-api/docs/AgentsApi.md deleted file mode 100644 index 03ac08d0a1..0000000000 --- a/lib/js-api/src/api/content-rest-api/docs/AgentsApi.md +++ /dev/null @@ -1,87 +0,0 @@ -# AgentsApi - -| Method | HTTP request | Description | -|-----------------------------------|----------------------------------------------|--------------------------| -| [getAgents](#getAgents) | **GET** /agents | Gets all agents. | - -## getAgents - -Gets all agents. -A paginated list is returned in the response body. For example: - -```json -{ - "list": { - "pagination": { - "count": 2, - "hasMoreItems": false, - "totalItems": 2, - "skipCount": 0, - "maxItems": 100 - }, - "entries": [ - { - "entry": { - "id": "Some id", - "name": "Some name", - "description": "Some description", - "avatarUrl": "Some avatar url" - } - } - ] - } -} -``` - -**Example** - -```javascript -import { AlfrescoApi, AgentsApi } from '@alfresco/js-api'; - -const alfrescoApi = new AlfrescoApi(/*..*/); -const agentsApi = new AgentsApi(alfrescoApi); - -agentsApi.getAgents().then((agents) => { - console.log('API called successfully. Returned data: ' + agents); -}); -``` - -**Return type**: [AgentPaging](#AgentPaging) - -# Models - -## AgentPaging - -**Properties** - -| Name | Type | -|------|-------------------------------------| -| list | [AgentPagingList](#AgentPagingList) | - -## AgentPagingList - -**Properties** - -| Name | Type | -|----------------|-----------------------------| -| **pagination** | [Pagination](Pagination.md) | -| **entries** | [AgentEntry[]](#AgentEntry) | - -## AgentEntry - -**Properties** - -| Name | Type | -|-----------|-----------------| -| **entry** | [Agent](#Agent) | - -## Agent - -**Properties** - -| Name | Type | Description | -|-----------------|-----------|-------------------------------| -| **id** | string | Agent id | -| **name** | string | Agent name | -| **description** | string | Agent description | -| **avatarUrl** | string | (optional) Agent avatar image | diff --git a/lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md b/lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md deleted file mode 100644 index fe20e6ea61..0000000000 --- a/lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md +++ /dev/null @@ -1,215 +0,0 @@ -# SearchAiApi - -| Method | HTTP request | Description | -|-------------------------|----------------------------|--------------------------------------------| -| [ask](#ask) | **GET** /questions | Ask a question to the AI. | -| [getAnswer](#getAnswer) | **GET** /answers/-default- | Get an answer to specific question. | -| [getConfig](#getConfig) | **GET** /config/-default- | Get the knowledge retrieval configuration. | - -## ask - -Ask a question to the AI. -A list is returned in the response body. For example: - -```json -[ - { - "question": "Some question", - "questionId": "Some question id", - "restrictionQuery": "Some restriction query" - } -] -``` - -**Example** - -```javascript -import { AlfrescoApi, AgentsApi } from '@alfresco/js-api'; - -const alfrescoApi = new AlfrescoApi(/*..*/); -const searchAiApi = new SearchAiApi(alfrescoApi); - -searchAiApi.ask([{ - question: 'Some question', - restrictionQuery: 'Some restriction query', - agentId: 'Some agent id' -}]).then((questionInformation) => { - console.log('API called successfully. Returned data: ' + questionInformation); -}); -``` -**Parameters** - -| Name | Type | Description | -|---------------|---------------------------------------|-----------------------| -| **questions** | [QuestionRequest](#QuestionRequest)[] | The questions to ask. | - -**Return type**: [QuestionModel](#QuestionModel)[] - -## getAnswer - -Get an answer to specific question. -A paginated list is returned in the response body. For example: - -```json -{ - "entry": { - "answer": "Some answer", - "question": "Some question", - "complete": true, - "objectReferences": [ - { - "objectId": "some-object-id", - "references": [ - { - "referenceId": "some-reference-id1", - "rankScore": 0.031, - "rank": 2 - }, - { - "referenceId": "some-reference-id2", - "rankScore": 0.031, - "rank": 1 - }, - { - "referenceId": "some-reference-id3", - "rankScore": 0.028, - "rank": 3 - } - ] - } - ] - } -} -``` - -**Example** - -```javascript -import { AlfrescoApi, AgentsApi } from '@alfresco/js-api'; - -const alfrescoApi = new AlfrescoApi(/*..*/); -const searchAiApi = new SearchAiApi(alfrescoApi); - -searchAiApi.getAnswer('some question id').then((answer) => { - console.log('API called successfully. Returned data: ' + answer); -}); -``` -**Parameters** - -| Name | Type | Description | -|----------------|--------|----------------------------------------------| -| **questionId** | string | The ID of the question to get an answer for. | - -**Return type**: [AiAnswerEntry](#AiAnswerEntry) - -## getConfig - -Get the knowledge retrieval configuration. For example: - -```json -{ - "entry": { - "knowledgeRetrievalUrl": "https://some-url" - } -} -``` - -**Example** - -```javascript -import { AlfrescoApi, AgentsApi } from '@alfresco/js-api'; - -const alfrescoApi = new AlfrescoApi(/*..*/); -const searchAiApi = new SearchAiApi(alfrescoApi); - -searchAiApi.getConfig().then((answer) => { - console.log('API called successfully. Returned data: ', answer.entry.knowledgeRetrievalUrl); -}); -``` - -**Return type**: [KnowledgeRetrievalConfigEntry](#KnowledgeRetrievalConfigEntry) - -# Models - -## AiAnswerEntry - -**Properties** - -| Name | Type | -|-----------|-----------------------| -| **entry** | [AiAnswer](#AiAnswer) | - -## AiAnswer - -**Properties** - -| Name | Type | -|----------------------|-------------------------------------------------------| -| **answer** | string | -| **question** | string | -| **complete** | boolean | -| **objectReferences** | [AiAnswerObjectReference](#AiAnswerObjectReference)[] | - -## AiAnswerObjectReference - -**Properties** - -| Name | Type | -|----------------|-------------------------------------------| -| **objectId** | string | -| nodeId | string | -| **references** | [AiAnswerReference](#AiAnswerReference)[] | - -## AiAnswerReference - -**Properties** - -| Name | Type | -|-----------------|--------| -| **referenceId** | string | -| **rankScore** | number | -| **rank** | number | - -## QuestionModel - -**Properties** - -| Name | Type | -|----------------------|------------------| -| **question** | string | -| **questionId** | string | -| **restrictionQuery** | RestrictionQuery | - -## RestrictionQuery - -**Properties** - -| Name | Type | -|--------------|----------| -| **nodesIds** | string[] | - -## QuestionRequest - -**Properties** - -| Name | Type | -|--------------|----------| -| **question** | string | -| **nodeIds** | string[] | -| **agentId** | string | - -## KnowledgeRetrievalConfigEntry - -**Properties** - -| Name | Type | -|-------|-------------------------------------------------------| -| entry | [KnowledgeRetrievalConfig](#KnowledgeRetrievalConfig) | - -## KnowledgeRetrievalConfig - -**Properties** - -| Name | Type | -|-----------------------|--------| -| knowledgeRetrievalUrl | string | diff --git a/lib/js-api/src/api/content-rest-api/model/agent.ts b/lib/js-api/src/api/content-rest-api/model/agent.ts deleted file mode 100644 index 42614a7246..0000000000 --- a/lib/js-api/src/api/content-rest-api/model/agent.ts +++ /dev/null @@ -1,23 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export interface Agent { - id: string; - name: string; - description: string; - avatarUrl?: string; -} diff --git a/lib/js-api/src/api/content-rest-api/model/agentEntry.ts b/lib/js-api/src/api/content-rest-api/model/agentEntry.ts deleted file mode 100644 index 480a7c9eba..0000000000 --- a/lib/js-api/src/api/content-rest-api/model/agentEntry.ts +++ /dev/null @@ -1,22 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Agent } from './agent'; - -export interface AgentEntry { - entry: Agent; -} diff --git a/lib/js-api/src/api/content-rest-api/model/agentPaging.ts b/lib/js-api/src/api/content-rest-api/model/agentPaging.ts deleted file mode 100644 index 3a444f4864..0000000000 --- a/lib/js-api/src/api/content-rest-api/model/agentPaging.ts +++ /dev/null @@ -1,22 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { AgentPagingList } from './agentPagingList'; - -export interface AgentPaging { - list?: AgentPagingList; -} diff --git a/lib/js-api/src/api/content-rest-api/model/agentPagingList.ts b/lib/js-api/src/api/content-rest-api/model/agentPagingList.ts deleted file mode 100644 index 244a778206..0000000000 --- a/lib/js-api/src/api/content-rest-api/model/agentPagingList.ts +++ /dev/null @@ -1,24 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Pagination } from './pagination'; -import { AgentEntry } from './agentEntry'; - -export interface AgentPagingList { - entries?: AgentEntry[]; - pagination?: Pagination; -} diff --git a/lib/js-api/src/api/content-rest-api/model/aiAnswer.ts b/lib/js-api/src/api/content-rest-api/model/aiAnswer.ts deleted file mode 100644 index 3721a02e9b..0000000000 --- a/lib/js-api/src/api/content-rest-api/model/aiAnswer.ts +++ /dev/null @@ -1,25 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { AiAnswerObjectReference } from './aiAnswerObjectReference'; - -export interface AiAnswer { - answer?: string; - question: string; - complete: boolean; - objectReferences: AiAnswerObjectReference[]; -} diff --git a/lib/js-api/src/api/content-rest-api/model/aiAnswerEntry.ts b/lib/js-api/src/api/content-rest-api/model/aiAnswerEntry.ts deleted file mode 100644 index 755e609159..0000000000 --- a/lib/js-api/src/api/content-rest-api/model/aiAnswerEntry.ts +++ /dev/null @@ -1,22 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { AiAnswer } from './aiAnswer'; - -export interface AiAnswerEntry { - entry: AiAnswer; -} diff --git a/lib/js-api/src/api/content-rest-api/model/aiAnswerObjectReference.ts b/lib/js-api/src/api/content-rest-api/model/aiAnswerObjectReference.ts deleted file mode 100644 index 4cd7bb583f..0000000000 --- a/lib/js-api/src/api/content-rest-api/model/aiAnswerObjectReference.ts +++ /dev/null @@ -1,24 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { AiAnswerReference } from './aiAnswerReference'; - -export interface AiAnswerObjectReference { - objectId: string; - nodeId?: string; - references: AiAnswerReference[]; -} diff --git a/lib/js-api/src/api/content-rest-api/model/aiAnswerReference.ts b/lib/js-api/src/api/content-rest-api/model/aiAnswerReference.ts deleted file mode 100644 index c5040d23ba..0000000000 --- a/lib/js-api/src/api/content-rest-api/model/aiAnswerReference.ts +++ /dev/null @@ -1,22 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export interface AiAnswerReference { - referenceId: string; - rankScore: number; - rank: number; -} diff --git a/lib/js-api/src/api/content-rest-api/model/index.ts b/lib/js-api/src/api/content-rest-api/model/index.ts index c66f98ea94..eddc5840ec 100644 --- a/lib/js-api/src/api/content-rest-api/model/index.ts +++ b/lib/js-api/src/api/content-rest-api/model/index.ts @@ -27,14 +27,6 @@ export * from './activity'; export * from './activityEntry'; export * from './activityPaging'; export * from './activityPagingList'; -export * from './agent'; -export * from './agentEntry'; -export * from './agentPaging'; -export * from './agentPagingList'; -export * from './aiAnswer'; -export * from './aiAnswerEntry'; -export * from './aiAnswerReference'; -export * from './aiAnswerObjectReference'; export * from './association'; export * from './associationBody'; export * from './associationEntry'; @@ -99,8 +91,6 @@ export * from './groupMemberPagingList'; export * from './groupMembershipBodyCreate'; export * from './groupPaging'; export * from './groupPagingList'; -export * from './knowledgeRetrievalConfig'; -export * from './knowledgeRetrievalConfigEntry'; export * from './modelError'; export * from './networkQuota'; export * from './node'; @@ -143,8 +133,6 @@ export * from './preferencePagingList'; export * from './probeEntry'; export * from './probeEntryEntry'; export * from './property'; -export * from './questionModel'; -export * from './questionRequest'; export * from './rating'; export * from './ratingAggregate'; export * from './ratingBody'; diff --git a/lib/js-api/src/api/content-rest-api/model/knowledgeRetrievalConfig.ts b/lib/js-api/src/api/content-rest-api/model/knowledgeRetrievalConfig.ts deleted file mode 100644 index 3e1544f35a..0000000000 --- a/lib/js-api/src/api/content-rest-api/model/knowledgeRetrievalConfig.ts +++ /dev/null @@ -1,20 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export interface KnowledgeRetrievalConfig { - knowledgeRetrievalUrl: string; -} diff --git a/lib/js-api/src/api/content-rest-api/model/knowledgeRetrievalConfigEntry.ts b/lib/js-api/src/api/content-rest-api/model/knowledgeRetrievalConfigEntry.ts deleted file mode 100644 index 7ad4c322c6..0000000000 --- a/lib/js-api/src/api/content-rest-api/model/knowledgeRetrievalConfigEntry.ts +++ /dev/null @@ -1,22 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { KnowledgeRetrievalConfig } from './knowledgeRetrievalConfig'; - -export interface KnowledgeRetrievalConfigEntry { - entry: KnowledgeRetrievalConfig; -} diff --git a/lib/js-api/src/api/content-rest-api/model/questionModel.ts b/lib/js-api/src/api/content-rest-api/model/questionModel.ts deleted file mode 100644 index 3941241afe..0000000000 --- a/lib/js-api/src/api/content-rest-api/model/questionModel.ts +++ /dev/null @@ -1,24 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { RestrictionQuery } from './restrictionQuery'; - -export interface QuestionModel { - questionId: string; - question: string; - restrictionQuery: RestrictionQuery; -} diff --git a/lib/js-api/src/api/content-rest-api/model/questionRequest.ts b/lib/js-api/src/api/content-rest-api/model/questionRequest.ts deleted file mode 100644 index 80b8154836..0000000000 --- a/lib/js-api/src/api/content-rest-api/model/questionRequest.ts +++ /dev/null @@ -1,22 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export interface QuestionRequest { - question: string; - nodeIds: string[]; - agentId: string; -} diff --git a/lib/js-api/src/api/content-rest-api/model/restrictionQuery.ts b/lib/js-api/src/api/content-rest-api/model/restrictionQuery.ts deleted file mode 100644 index 11cbbdb2d4..0000000000 --- a/lib/js-api/src/api/content-rest-api/model/restrictionQuery.ts +++ /dev/null @@ -1,20 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export interface RestrictionQuery { - nodesIds: string[]; -} diff --git a/lib/js-api/src/api/hxi-connector-api/README.md b/lib/js-api/src/api/hxi-connector-api/README.md deleted file mode 100644 index f02f3a70dd..0000000000 --- a/lib/js-api/src/api/hxi-connector-api/README.md +++ /dev/null @@ -1,19 +0,0 @@ -**HX Insights Connector API** - -Provides access to the HX Insights connector API endpoints. - -## Documentation for API Endpoints - -All URIs are relative to *https://localhost/alfresco/api/-default-/private/hxi/versions/1* - -Class | Method | HTTP request | Description ------------- | ------------- | ------------- | ------------- -*.PredictionsApi* | [**getPredictions**](docs/PredictionsApi.md#getPredictions) | **GET** /nodes/{nodeId}/predictions | Get predictions for a node. - -## Documentation for Models - - - [PredicitonsApi](docs/PredictionsApi.md) - - [Prediciton](docs/Prediction.md) - - [PredicitonEntry](docs/PredictionEntry.md) - - [PredicitonPagingList](docs/PredictionPagingList.md) - - [PredicitonPaging](docs/PredictionPaging.md) diff --git a/lib/js-api/src/api/hxi-connector-api/api/base.api.ts b/lib/js-api/src/api/hxi-connector-api/api/base.api.ts deleted file mode 100644 index 0562c7a319..0000000000 --- a/lib/js-api/src/api/hxi-connector-api/api/base.api.ts +++ /dev/null @@ -1,25 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { ApiClient } from '../../../api-clients/api-client'; -import { LegacyHttpClient } from '../../../api-clients/http-client.interface'; - -export abstract class BaseApi extends ApiClient { - override get apiClient(): LegacyHttpClient { - return this.alfrescoApi.hxiConnectorClient; - } -} diff --git a/lib/js-api/src/api/hxi-connector-api/api/index.ts b/lib/js-api/src/api/hxi-connector-api/api/index.ts deleted file mode 100644 index 94cb5ebad6..0000000000 --- a/lib/js-api/src/api/hxi-connector-api/api/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * from './predictions.api'; diff --git a/lib/js-api/src/api/hxi-connector-api/api/predictions.api.ts b/lib/js-api/src/api/hxi-connector-api/api/predictions.api.ts deleted file mode 100644 index 43ec6430ee..0000000000 --- a/lib/js-api/src/api/hxi-connector-api/api/predictions.api.ts +++ /dev/null @@ -1,63 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { BaseApi } from './base.api'; -import { throwIfNotDefined } from '../../../assert'; -import { PredictionPaging, ReviewStatus } from '../model'; - -export class PredictionsApi extends BaseApi { - /** - * List of predictions for a node - * @param nodeId The identifier of a node. - * @returns Promise - */ - getPredictions(nodeId: string): Promise { - throwIfNotDefined(nodeId, 'nodeId'); - - const pathParams = { - nodeId - }; - - return this.get({ - path: '/nodes/{nodeId}/predictions', - pathParams, - returnType: PredictionPaging - }); - } - - /** - * Confirm or reject a prediction - * @param predictionId The identifier of a prediction. - * @param reviewStatus New status to apply for prediction. Can be either 'confirmed' or 'rejected'. - * @returns Promise - */ - reviewPrediction(predictionId: string, reviewStatus: ReviewStatus): Promise { - throwIfNotDefined(predictionId, 'predictionId'); - throwIfNotDefined(reviewStatus, 'reviewStatus'); - - const pathParams = { - predictionId, - reviewStatus - }; - - return this.post({ - path: '/predictions/{predictionId}/review', - pathParams, - returnType: Promise - }); - } -} diff --git a/lib/js-api/src/api/hxi-connector-api/docs/Prediction.md b/lib/js-api/src/api/hxi-connector-api/docs/Prediction.md deleted file mode 100644 index 64945cf9ce..0000000000 --- a/lib/js-api/src/api/hxi-connector-api/docs/Prediction.md +++ /dev/null @@ -1,14 +0,0 @@ -# Prediction - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **string** | Identifier of a prediction | -**modelId** | **string** | Identifier of a model that made the prediction | -**confidenceLevel** | **number** | Prediction confidence level | -**predictionDateTime** | **Date** | Prediction creation date | -**property** | **string** | Name of the property that prediction was made for | -**previousValue** | any | Previous property value | -**predictionValue** | any | Predicted value | -**updateType** | [**UpdateType**](../model/prediction.ts) | Update type | -**reviewStatus** | [**ReviewStatus**](../model/prediction.ts) | Prediction review status | diff --git a/lib/js-api/src/api/hxi-connector-api/docs/PredictionEntry.md b/lib/js-api/src/api/hxi-connector-api/docs/PredictionEntry.md deleted file mode 100644 index c4acba3b1a..0000000000 --- a/lib/js-api/src/api/hxi-connector-api/docs/PredictionEntry.md +++ /dev/null @@ -1,8 +0,0 @@ -# PredictionEntry - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**entry** | [**Prediction**](Prediction.md) | | - - diff --git a/lib/js-api/src/api/hxi-connector-api/docs/PredictionPaging.md b/lib/js-api/src/api/hxi-connector-api/docs/PredictionPaging.md deleted file mode 100644 index 9d6e9a6b48..0000000000 --- a/lib/js-api/src/api/hxi-connector-api/docs/PredictionPaging.md +++ /dev/null @@ -1,8 +0,0 @@ -# PredictionPaging - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**list** | [**PredictionPagingList**](PredictionPagingList.md) | | - - diff --git a/lib/js-api/src/api/hxi-connector-api/docs/PredictionPagingList.md b/lib/js-api/src/api/hxi-connector-api/docs/PredictionPagingList.md deleted file mode 100644 index 060f83e488..0000000000 --- a/lib/js-api/src/api/hxi-connector-api/docs/PredictionPagingList.md +++ /dev/null @@ -1,9 +0,0 @@ -# PredictionPagingList - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**pagination** | [**Pagination**](../../content-rest-api/docs/Pagination.md) | | -**entries** | [**PredictionEntry[]**](PredictionEntry.md) | | - - diff --git a/lib/js-api/src/api/hxi-connector-api/docs/PredictionsApi.md b/lib/js-api/src/api/hxi-connector-api/docs/PredictionsApi.md deleted file mode 100644 index c7a2ee8ad8..0000000000 --- a/lib/js-api/src/api/hxi-connector-api/docs/PredictionsApi.md +++ /dev/null @@ -1,42 +0,0 @@ -# PredictionsApi - -All URIs are relative to *https://localhost/alfresco/api/-default-/private/hxi/versions/1* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**getPredictions**](PredictionsApi.md#getPredictions) | **GET** /nodes/{nodeId}/predictions | Get predictions for node. -[**reviewPrediction**](PredictionsApi.md#reviewPrediction) | **POST** /predictions/{predictionId}/review | Reject or confirm prediction. - - -# **getPredictions** -> PredictionPaging getPredictions(nodeId) - -Get predictions for a node. - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **nodeId** | **string** | The identifier of a node. | - -### Return type - -[**PredictionPaging**](PredictionPaging.md) - - - -# **reviewPrediction** -> Promise\ reviewPrediction(predictionId, reviewStatus) - -Confirm or reject a prediction. - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **predictionId** | **string** | The identifier of a prediction. | - **reviewStatus** | **ReviewStatus** | Review status for prediction. Can be confirmed or rejected. | - -### Return type - -**Promise\** diff --git a/lib/js-api/src/api/hxi-connector-api/index.ts b/lib/js-api/src/api/hxi-connector-api/index.ts deleted file mode 100644 index 82bf8fc7a3..0000000000 --- a/lib/js-api/src/api/hxi-connector-api/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * from './api'; -export * from './model'; diff --git a/lib/js-api/src/api/hxi-connector-api/model/index.ts b/lib/js-api/src/api/hxi-connector-api/model/index.ts deleted file mode 100644 index 327fb81859..0000000000 --- a/lib/js-api/src/api/hxi-connector-api/model/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * from './prediction'; -export * from './predictionEntry'; -export * from './predictionPaging'; -export * from './predictionPagingList'; diff --git a/lib/js-api/src/api/hxi-connector-api/model/prediction.ts b/lib/js-api/src/api/hxi-connector-api/model/prediction.ts deleted file mode 100644 index a49993c511..0000000000 --- a/lib/js-api/src/api/hxi-connector-api/model/prediction.ts +++ /dev/null @@ -1,47 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { DateAlfresco } from '../../content-custom-api'; - -export class Prediction { - id: string; - modelId: string; - confidenceLevel: number; - predictionDateTime: Date; - property: string; - previousValue: any; - predictionValue: any; - updateType: UpdateType; - reviewStatus: ReviewStatus; - - constructor(input?: Partial) { - if (input) { - Object.assign(this, input); - this.predictionDateTime = input.predictionDateTime ? DateAlfresco.parseDate(input.predictionDateTime) : undefined; - } - } -} - -export type UpdateType = 'AUTOFILL' | 'AUTOCORRECT'; - -export const ReviewStatus = { - UNREVIEWED: 'UNREVIEWED', - CONFIRMED: 'CONFIRMED', - REJECTED: 'REJECTED' -} as const; - -export type ReviewStatus = (typeof ReviewStatus)[keyof typeof ReviewStatus]; diff --git a/lib/js-api/src/api/hxi-connector-api/model/predictionEntry.ts b/lib/js-api/src/api/hxi-connector-api/model/predictionEntry.ts deleted file mode 100644 index ee49058d6c..0000000000 --- a/lib/js-api/src/api/hxi-connector-api/model/predictionEntry.ts +++ /dev/null @@ -1,29 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Prediction } from './prediction'; - -export class PredictionEntry { - entry: Prediction; - - constructor(input?: Partial) { - if (input) { - Object.assign(this, input); - this.entry = input.entry ? new Prediction(input.entry) : undefined; - } - } -} diff --git a/lib/js-api/src/api/hxi-connector-api/model/predictionPaging.ts b/lib/js-api/src/api/hxi-connector-api/model/predictionPaging.ts deleted file mode 100644 index 7bd1036d16..0000000000 --- a/lib/js-api/src/api/hxi-connector-api/model/predictionPaging.ts +++ /dev/null @@ -1,29 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { PredictionPagingList } from './predictionPagingList'; - -export class PredictionPaging { - list?: PredictionPagingList; - - constructor(input?: Partial) { - if (input) { - Object.assign(this, input); - this.list = input.list ? new PredictionPagingList(input.list) : undefined; - } - } -} diff --git a/lib/js-api/src/api/hxi-connector-api/model/predictionPagingList.ts b/lib/js-api/src/api/hxi-connector-api/model/predictionPagingList.ts deleted file mode 100644 index 3a5a69438d..0000000000 --- a/lib/js-api/src/api/hxi-connector-api/model/predictionPagingList.ts +++ /dev/null @@ -1,34 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Pagination } from '../../content-rest-api/model/pagination'; -import { PredictionEntry } from './predictionEntry'; - -export class PredictionPagingList { - pagination?: Pagination; - entries?: PredictionEntry[]; - - constructor(input?: Partial) { - if (input) { - Object.assign(this, input); - this.pagination = input.pagination ? new Pagination(input.pagination) : undefined; - if (input.entries) { - this.entries = input.entries.map((item) => new PredictionEntry(item)); - } - } - } -} diff --git a/lib/js-api/src/index.ts b/lib/js-api/src/index.ts index 68742d6fb1..1fb3dd9a00 100644 --- a/lib/js-api/src/index.ts +++ b/lib/js-api/src/index.ts @@ -24,7 +24,6 @@ export * from './api/auth-rest-api'; export * from './api/activiti-rest-api'; export * from './api/search-rest-api'; export * from './api/model-rest-api'; -export * from './api/hxi-connector-api'; export * from './api/content-custom-api/api/content.api'; export * from './authentication/contentAuth'; diff --git a/lib/js-api/src/to-deprecate/alfresco-api-type.ts b/lib/js-api/src/to-deprecate/alfresco-api-type.ts index 84075b94cb..8e849c73e2 100644 --- a/lib/js-api/src/to-deprecate/alfresco-api-type.ts +++ b/lib/js-api/src/to-deprecate/alfresco-api-type.ts @@ -34,7 +34,6 @@ export interface AlfrescoApiType { gsClient: LegacyHttpClient; authClient: LegacyHttpClient; processAuth: LegacyHttpClient; - hxiConnectorClient: LegacyHttpClient; setConfig(config: AlfrescoApiConfig): void; changeWithCredentialsConfig(withCredentials: boolean): void; diff --git a/lib/js-api/test/content-services/agentsApi.spec.ts b/lib/js-api/test/content-services/agentsApi.spec.ts deleted file mode 100644 index 6d71ceb4f8..0000000000 --- a/lib/js-api/test/content-services/agentsApi.spec.ts +++ /dev/null @@ -1,71 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { AgentMock, EcmAuthMock } from '../mockObjects'; -import { AgentsApi, AlfrescoApi } from '../../src'; -import assert from 'assert'; - -describe('AgentsApi', () => { - let agentMock: AgentMock; - let agentsApi: AgentsApi; - - beforeEach((done) => { - const hostEcm = 'https://127.0.0.1:8080'; - const authResponseMock = new EcmAuthMock(hostEcm); - agentMock = new AgentMock(hostEcm); - authResponseMock.get201Response(); - const alfrescoJsApi = new AlfrescoApi({ - hostEcm - }); - alfrescoJsApi.login('admin', 'admin').then(() => done()); - agentsApi = new AgentsApi(alfrescoJsApi); - }); - - describe('getAgents', () => { - it('should load list of agents', (done) => { - agentMock.mockGetAgents200Response(); - - agentsApi.getAgents().then((paging) => { - assert.deepStrictEqual(paging, { - list: { - pagination: { - count: 2, - hasMoreItems: false, - skipCount: 0, - maxItems: 100 - }, - entries: [ - { - entry: { - id: 'some id 1', - name: 'some name 1' - } - }, - { - entry: { - id: 'some id 2', - name: 'some name 2' - } - } - ] - } - }); - done(); - }); - }); - }); -}); diff --git a/lib/js-api/test/content-services/searchAiApi.spec.ts b/lib/js-api/test/content-services/searchAiApi.spec.ts deleted file mode 100644 index cf75619dff..0000000000 --- a/lib/js-api/test/content-services/searchAiApi.spec.ts +++ /dev/null @@ -1,126 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { AlfrescoApi, SearchAiApi } from '../../src'; -import { EcmAuthMock, SearchAiMock } from '../mockObjects'; -import assert from 'assert'; - -describe('SearchAiApi', () => { - let searchAiApi: SearchAiApi; - let searchAiMock: SearchAiMock; - - beforeEach((done) => { - const hostEcm = 'https://127.0.0.1:8080'; - const authResponseMock = new EcmAuthMock(hostEcm); - searchAiMock = new SearchAiMock(hostEcm); - authResponseMock.get201Response(); - const alfrescoJsApi = new AlfrescoApi({ - hostEcm - }); - alfrescoJsApi.login('admin', 'admin').then(() => done()); - searchAiApi = new SearchAiApi(alfrescoJsApi); - }); - - describe('ask', () => { - it('should load question information', (done) => { - searchAiMock.mockGetAsk200Response(); - - searchAiApi - .ask([ - { - question: 'some question 1', - nodeIds: ['some node id 1'], - agentId: 'id1' - } - ]) - .then((questions) => { - assert.deepStrictEqual(questions, { - questionId: 'some id 1', - question: 'some question 1', - restrictionQuery: { - nodesIds: ['some node id 1'] - } - }); - done(); - }); - }); - }); - - describe('getAnswer', () => { - it('should load question answer', (done) => { - searchAiMock.mockGetAnswer200Response(); - - searchAiApi.getAnswer('id1').then((answer) => { - assert.deepStrictEqual(answer, { - entry: { - answer: 'Some answer 1', - complete: true, - question: 'Some question', - objectReferences: [ - { - objectId: 'some id 1', - references: [ - { - referenceId: 'some reference id 1', - rank: 1, - rankScore: 0.005 - }, - { - referenceId: 'some reference id 2', - rank: 2, - rankScore: 0.004 - } - ] - }, - { - objectId: 'some id 2', - references: [ - { - referenceId: 'some reference id 3', - rank: 1, - rankScore: 0.005 - }, - { - referenceId: 'some reference id 4', - rank: 2, - rankScore: 0.004 - } - ] - } - ] - } - }); - done(); - }); - }); - }); - - describe('getConfig', () => { - it('should load knowledge retrieval configuration', (done) => { - searchAiMock.mockGetConfig200Response(); - - searchAiApi.getConfig().then((config) => { - assert.deepStrictEqual(config, { - entry: { - knowledgeRetrievalUrl: 'https://some-url' - } - }); - done(); - }); - }); - }); -}); diff --git a/lib/js-api/test/mockObjects/content-services/agent.mock.ts b/lib/js-api/test/mockObjects/content-services/agent.mock.ts deleted file mode 100644 index 04dc742c68..0000000000 --- a/lib/js-api/test/mockObjects/content-services/agent.mock.ts +++ /dev/null @@ -1,49 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { BaseMock } from '../base.mock'; - -export class AgentMock extends BaseMock { - mockGetAgents200Response(): void { - this.mock() - .get('/alfresco/api/-default-/private/hxi/versions/1/agents') - .reply(200, { - list: { - pagination: { - count: 2, - hasMoreItems: false, - skipCount: 0, - maxItems: 100 - }, - entries: [ - { - entry: { - id: 'some id 1', - name: 'some name 1' - } - }, - { - entry: { - id: 'some id 2', - name: 'some name 2' - } - } - ] - } - }); - } -} diff --git a/lib/js-api/test/mockObjects/content-services/search-ai.mock.ts b/lib/js-api/test/mockObjects/content-services/search-ai.mock.ts deleted file mode 100644 index b3e826bf2d..0000000000 --- a/lib/js-api/test/mockObjects/content-services/search-ai.mock.ts +++ /dev/null @@ -1,95 +0,0 @@ -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { BaseMock } from '../base.mock'; - -export class SearchAiMock extends BaseMock { - mockGetAsk200Response(): void { - this.mock() - .post('/alfresco/api/-default-/private/hxi/versions/1/agents/id1/questions', [ - { - question: 'some question 1', - restrictionQuery: { - nodesIds: ['some node id 1'] - } - } - ]) - .reply(200, { - entry: { - question: 'some question 1', - questionId: 'some id 1', - restrictionQuery: { - nodesIds: ['some node id 1'] - } - } - }); - } - - mockGetAnswer200Response(): void { - this.mock() - .get('/alfresco/api/-default-/private/hxi/versions/1/questions/id1/answers/-default-') - .reply(200, { - entry: { - answer: 'Some answer 1', - complete: true, - question: 'Some question', - objectReferences: [ - { - objectId: 'some id 1', - references: [ - { - referenceId: 'some reference id 1', - rank: 1, - rankScore: 0.005 - }, - { - referenceId: 'some reference id 2', - rank: 2, - rankScore: 0.004 - } - ] - }, - { - objectId: 'some id 2', - references: [ - { - referenceId: 'some reference id 3', - rank: 1, - rankScore: 0.005 - }, - { - referenceId: 'some reference id 4', - rank: 2, - rankScore: 0.004 - } - ] - } - ] - } - }); - } - - mockGetConfig200Response(): void { - this.mock() - .get('/alfresco/api/-default-/private/hxi/versions/1/config/-default-') - .reply(200, { - entry: { - knowledgeRetrievalUrl: 'https://some-url' - } - }); - } -} diff --git a/lib/js-api/test/mockObjects/index.ts b/lib/js-api/test/mockObjects/index.ts index 4aca06f614..24a492acc1 100644 --- a/lib/js-api/test/mockObjects/index.ts +++ b/lib/js-api/test/mockObjects/index.ts @@ -15,7 +15,6 @@ * limitations under the License. */ -export * from './content-services/agent.mock'; export * from './content-services/categories.mock'; export * from './content-services/comment.mock'; export * from './content-services/ecm-auth.mock'; @@ -27,7 +26,6 @@ export * from './content-services/groups.mock'; export * from './content-services/find-nodes.mock'; export * from './content-services/rendition.mock'; export * from './content-services/search.mock'; -export * from './content-services/search-ai.mock'; export * from './content-services/tag.mock'; export * from './content-services/upload.mock'; export * from './content-services/version.mock';