@octostar/platform-api 0.5.22 → 0.5.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apis.d.ts +2 -2
- package/dist/apis.d.ts.map +1 -1
- package/dist/apis.js.map +1 -1
- package/dist/components/OsIcon.d.ts +1 -1
- package/dist/components/OsIcon.d.ts.map +1 -1
- package/dist/components/OsIcon.js.map +1 -1
- package/dist/components/OsRecordTitle.d.ts +3 -3
- package/dist/components/OsRecordTitle.d.ts.map +1 -1
- package/dist/components/OsRecordTitle.js.map +1 -1
- package/dist/components/OsTags.d.ts +1 -1
- package/dist/components/OsTags.d.ts.map +1 -1
- package/dist/components/OsTags.js.map +1 -1
- package/dist/components/OsTagsContextMenu.d.ts +1 -1
- package/dist/components/OsTagsContextMenu.d.ts.map +1 -1
- package/dist/components/OsTagsContextMenu.js.map +1 -1
- package/dist/components/TagsDots.d.ts +1 -1
- package/dist/components/TagsDots.d.ts.map +1 -1
- package/dist/components/TagsDots.js +1 -3
- package/dist/components/TagsDots.js.map +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -11
- package/dist/constants.js.map +1 -1
- package/dist/factory.d.ts +1 -1
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +3 -5
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/AIClientImpl.d.ts +1 -1
- package/dist/lib/AIClientImpl.d.ts.map +1 -1
- package/dist/lib/AIClientImpl.js +38 -6
- package/dist/lib/AIClientImpl.js.map +1 -1
- package/dist/lib/AsyncServiceLocator.d.ts +7 -7
- package/dist/lib/AsyncServiceLocator.d.ts.map +1 -1
- package/dist/lib/AsyncServiceLocator.js +5 -3
- package/dist/lib/AsyncServiceLocator.js.map +1 -1
- package/dist/lib/FilesAPIImpl.d.ts +10 -7
- package/dist/lib/FilesAPIImpl.d.ts.map +1 -1
- package/dist/lib/FilesAPIImpl.js +49 -9
- package/dist/lib/FilesAPIImpl.js.map +1 -1
- package/dist/lib/FusionApi.d.ts +69 -0
- package/dist/lib/FusionApi.d.ts.map +1 -0
- package/dist/lib/FusionApi.js +361 -0
- package/dist/lib/FusionApi.js.map +1 -0
- package/dist/lib/LiveContextAPI.d.ts +12 -10
- package/dist/lib/LiveContextAPI.d.ts.map +1 -1
- package/dist/lib/LiveContextAPI.js +88 -73
- package/dist/lib/LiveContextAPI.js.map +1 -1
- package/dist/lib/Proxy.d.ts +1 -1
- package/dist/lib/Proxy.d.ts.map +1 -1
- package/dist/lib/Proxy.js +1 -4
- package/dist/lib/Proxy.js.map +1 -1
- package/dist/lib/userWorkspace.d.ts +1 -1
- package/dist/lib/userWorkspace.d.ts.map +1 -1
- package/dist/lib/userWorkspace.js +26 -11
- package/dist/lib/userWorkspace.js.map +1 -1
- package/dist/octostar-platform-api.js +19020 -871
- package/dist/type/FusionTypes.d.ts +39 -0
- package/dist/type/FusionTypes.d.ts.map +1 -0
- package/dist/type/FusionTypes.js +2 -0
- package/dist/type/FusionTypes.js.map +1 -0
- package/dist/types.d.ts +11 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +2 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +0 -2
- package/dist/utils.js.map +1 -1
- package/package.json +26 -4
package/dist/lib/FilesAPIImpl.js
CHANGED
|
@@ -2,7 +2,7 @@ export class FilesAPIImpl {
|
|
|
2
2
|
constructor(osAPIClient) {
|
|
3
3
|
this.osAPIClient = osAPIClient;
|
|
4
4
|
}
|
|
5
|
-
|
|
5
|
+
stat(os_workspace, path) {
|
|
6
6
|
const url = path
|
|
7
7
|
? `/api/v1/files/stat/${os_workspace}/${encodeURIComponent(path)}`
|
|
8
8
|
: `/api/v1/files/stat/${os_workspace}`;
|
|
@@ -52,7 +52,7 @@ export class FilesAPIImpl {
|
|
|
52
52
|
headers: { 'Content-Type': 'application/json' },
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
|
-
async
|
|
55
|
+
async listFolder(os_workspace, options) {
|
|
56
56
|
if (options?.os_parent_folder) {
|
|
57
57
|
return this.listByParentFolder(os_workspace, options.os_parent_folder, options);
|
|
58
58
|
}
|
|
@@ -61,8 +61,8 @@ export class FilesAPIImpl {
|
|
|
61
61
|
}
|
|
62
62
|
return this.listRoot(os_workspace, options);
|
|
63
63
|
}
|
|
64
|
-
async
|
|
65
|
-
const query = this.buildQueryParams({ to_path, force });
|
|
64
|
+
async moveOrRename(os_workspace, path, { to_path, entity_id, new_name, new_os_parent_folder, force = false }) {
|
|
65
|
+
const query = this.buildQueryParams({ to_path, entity_id, new_name, new_os_parent_folder, force });
|
|
66
66
|
const url = `/api/v1/files/move/${os_workspace}/${encodeURIComponent(path)}?${query}`;
|
|
67
67
|
return this.osAPIClient.fetchData({
|
|
68
68
|
endpoint: url,
|
|
@@ -72,7 +72,7 @@ export class FilesAPIImpl {
|
|
|
72
72
|
},
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
|
-
async getDownloadUrl(os_workspace, path, { content_type, content_disposition = 'inline', redirect = true
|
|
75
|
+
async getDownloadUrl(os_workspace, path, { content_type, content_disposition = 'inline', redirect = true } = {}) {
|
|
76
76
|
const query = this.buildQueryParams({
|
|
77
77
|
content_type,
|
|
78
78
|
content_disposition,
|
|
@@ -86,11 +86,35 @@ export class FilesAPIImpl {
|
|
|
86
86
|
});
|
|
87
87
|
return signedUrl;
|
|
88
88
|
}
|
|
89
|
-
async
|
|
90
|
-
const url = `/api/v1/files/
|
|
89
|
+
async createFile(item) {
|
|
90
|
+
const url = `/api/v1/files/create/${item.os_workspace}`;
|
|
91
91
|
return this.osAPIClient.fetchData({
|
|
92
92
|
endpoint: url,
|
|
93
93
|
method: 'POST',
|
|
94
|
+
body: {
|
|
95
|
+
...item,
|
|
96
|
+
os_item_name: item.os_item_name,
|
|
97
|
+
os_item_content_type: item.os_item_content_type,
|
|
98
|
+
os_has_attachment: item.os_has_attachment,
|
|
99
|
+
os_parent_folder: item.os_parent_folder,
|
|
100
|
+
os_workspace: item.os_workspace,
|
|
101
|
+
os_item_type: item.os_item_type,
|
|
102
|
+
os_entity_uid: item.os_entity_uid,
|
|
103
|
+
entity_id: item.entity_id,
|
|
104
|
+
os_icon: item.os_icon,
|
|
105
|
+
},
|
|
106
|
+
headers: {
|
|
107
|
+
'Content-Type': 'application/json',
|
|
108
|
+
},
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
async mkdir(item) {
|
|
112
|
+
const { os_workspace, os_parent_folder, entity_id, entity_label, os_item_content_type } = item;
|
|
113
|
+
const url = `/api/v1/files/mkdir-parent/${os_workspace}/${encodeURIComponent(os_parent_folder ?? '')}/${encodeURIComponent(entity_label ?? '')}`;
|
|
114
|
+
return this.osAPIClient.fetchData({
|
|
115
|
+
endpoint: url,
|
|
116
|
+
method: 'POST',
|
|
117
|
+
body: JSON.stringify({ entity_id, os_item_content_type }),
|
|
94
118
|
headers: {
|
|
95
119
|
'Content-Type': 'application/json',
|
|
96
120
|
},
|
|
@@ -110,9 +134,25 @@ export class FilesAPIImpl {
|
|
|
110
134
|
method: 'DELETE',
|
|
111
135
|
});
|
|
112
136
|
}
|
|
113
|
-
async unzipByEntity(os_workspace, entity_id) {
|
|
137
|
+
async unzipByEntity(os_workspace, entity_id, options) {
|
|
138
|
+
const query = options?.extract_to_new_folder !== undefined
|
|
139
|
+
? this.buildQueryParams({ extract_to_new_folder: String(options.extract_to_new_folder) })
|
|
140
|
+
: '';
|
|
114
141
|
return this.osAPIClient.fetchData({
|
|
115
|
-
endpoint: `/api/v1/unzip/${os_workspace}/${entity_id}`,
|
|
142
|
+
endpoint: `/api/v1/files/unzip/${os_workspace}/${entity_id}${query ? `?${query}` : ''}`,
|
|
143
|
+
method: 'POST',
|
|
144
|
+
headers: {
|
|
145
|
+
'Content-Type': 'application/json',
|
|
146
|
+
},
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
async getUploadUrl(os_workspace, entity_id, options) {
|
|
150
|
+
const { content_type, ttl_minutes = 60 } = options;
|
|
151
|
+
const ttl = ttl_minutes * 60;
|
|
152
|
+
const query = this.buildQueryParams({ content_type, ttl });
|
|
153
|
+
const url = `/api/v1/files/attachments/${os_workspace}/${entity_id}${query ? `?${query}` : ''}`;
|
|
154
|
+
return this.osAPIClient.fetchData({
|
|
155
|
+
endpoint: url,
|
|
116
156
|
method: 'POST',
|
|
117
157
|
headers: {
|
|
118
158
|
'Content-Type': 'application/json',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilesAPIImpl.js","sourceRoot":"","sources":["../../src/lib/FilesAPIImpl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FilesAPIImpl.js","sourceRoot":"","sources":["../../src/lib/FilesAPIImpl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { Entity, WorkspaceItem } from '@octostar/platform-types';
|
|
2
|
+
import type { FusionConnectedDataKey, FusionConnectionValue, FusionAPIConstructorParams, FusionSource, FusionValue, FusionDocumentData } from '../type/FusionTypes';
|
|
3
|
+
interface GetFusionValuesFromSourcesParams {
|
|
4
|
+
sources: FusionSource[];
|
|
5
|
+
getValue: (record: Record<string, unknown>) => unknown;
|
|
6
|
+
focusedSourceId?: string | 0;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* FusionAPI handles entity data fusion operations, managing sources,
|
|
10
|
+
* connections, and data merging for entities with same_as relationships
|
|
11
|
+
*/
|
|
12
|
+
export declare class FusionAPI {
|
|
13
|
+
private static readonly DEFAULT_COLOR;
|
|
14
|
+
private static readonly RELATIONSHIP_SAME_AS;
|
|
15
|
+
private static readonly RELATIONSHIP_SAME_AS_REVERSE;
|
|
16
|
+
private static readonly RELATIONSHIP_FEATURED_IN;
|
|
17
|
+
readonly entity: Entity;
|
|
18
|
+
private readonly fusionSourcesEntityIds;
|
|
19
|
+
private readonly fusionSourcesPromise;
|
|
20
|
+
private readonly uiOrderPromise;
|
|
21
|
+
private readonly desktopAPI;
|
|
22
|
+
private readonly ontologyAPI;
|
|
23
|
+
constructor({ entity, desktopAPI, ontologyAPI }: FusionAPIConstructorParams);
|
|
24
|
+
/**
|
|
25
|
+
* Gets all fusion sources (main entity + connected same_as entities)
|
|
26
|
+
*/
|
|
27
|
+
getSources(): Promise<FusionSource[]>;
|
|
28
|
+
/**
|
|
29
|
+
* Gets connected data for the main entity only
|
|
30
|
+
*/
|
|
31
|
+
getMainConnectedData(name: string, connectedDataKey: FusionConnectedDataKey): Promise<FusionConnectionValue[]>;
|
|
32
|
+
fuseEntities(dataToSave: FusionDocumentData[]): Promise<(WorkspaceItem | undefined)[]>;
|
|
33
|
+
/**
|
|
34
|
+
* Gets connected data for all fusion sources and merges them
|
|
35
|
+
*/
|
|
36
|
+
getFusionConnectedData(name: string, connectedDataKey: FusionConnectedDataKey): Promise<FusionConnectionValue[]>;
|
|
37
|
+
/**
|
|
38
|
+
* Generates ordered record fields for fusion sources based on UI schema
|
|
39
|
+
*/
|
|
40
|
+
generateRecordFields(sources: FusionSource[]): Promise<string[]>;
|
|
41
|
+
/**
|
|
42
|
+
* Removes all same_as relationships for the given entity
|
|
43
|
+
*/
|
|
44
|
+
removeFusionSourceRelationships(entity: Entity): Promise<void>;
|
|
45
|
+
private removeFusionSourceSameAsRelationship;
|
|
46
|
+
private removeFusionSourceDocumentRelationship;
|
|
47
|
+
private getParentEntity;
|
|
48
|
+
/**
|
|
49
|
+
* Static method to get fusion values from sources with optional focus
|
|
50
|
+
*/
|
|
51
|
+
static getFusionValuesFromSources({ sources, getValue, focusedSourceId, }: GetFusionValuesFromSourcesParams): FusionValue<unknown, true>[];
|
|
52
|
+
private getEntityConcept;
|
|
53
|
+
private getUiOrderAsync;
|
|
54
|
+
private getWorkspaceItemColor;
|
|
55
|
+
private getFusionSourceColorAsync;
|
|
56
|
+
private getFusionSourcesAsync;
|
|
57
|
+
private getSameAsEntities;
|
|
58
|
+
private getRelatedDocumentsData;
|
|
59
|
+
private isFusionDocumentData;
|
|
60
|
+
private getConnectedEntities;
|
|
61
|
+
private getConnectionsByRelationship;
|
|
62
|
+
private getEntityConnectedData;
|
|
63
|
+
private mergeConnectedData;
|
|
64
|
+
private sortFieldsByUiOrder;
|
|
65
|
+
private static getFusionSourceWithFocus;
|
|
66
|
+
private static hashValue;
|
|
67
|
+
}
|
|
68
|
+
export {};
|
|
69
|
+
//# sourceMappingURL=FusionApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FusionApi.d.ts","sourceRoot":"","sources":["../../src/lib/FusionApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwB,MAAM,EAAY,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGtG,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,YAAY,EACZ,WAAW,EACX,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAE7B,UAAU,gCAAgC;IACxC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;IACvD,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,qBAAa,SAAS;IAEpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAa;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAa;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAc;IAClE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAiB;IAGjE,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAc;IACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA0B;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IACjE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;gBAEvD,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,0BAA0B;IAW3E;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAc3C;;OAEG;IACG,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAK9G,YAAY,CAAC,UAAU,EAAE,kBAAkB,EAAE;IA0CnD;;OAEG;IACG,sBAAsB,CAC1B,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,sBAAsB,GACvC,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAoBnC;;OAEG;IACG,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQtE;;OAEG;IACG,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAkBtD,oCAAoC;YAmBpC,sCAAsC;YAmBtC,eAAe;IAW7B;;OAEG;IACH,MAAM,CAAC,0BAA0B,CAAC,EAChC,OAAO,EACP,QAAQ,EACR,eAAe,GAChB,EAAE,gCAAgC,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;IA0BlE,OAAO,CAAC,gBAAgB;YAIV,eAAe;IAS7B,OAAO,CAAC,qBAAqB;YAgBf,yBAAyB;YAWzB,qBAAqB;YAyCrB,iBAAiB;YASjB,uBAAuB;IA0CrC,OAAO,CAAC,oBAAoB;YAyBd,oBAAoB;YAiBpB,4BAA4B;YAgB5B,sBAAsB;IAmBpC,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAOvC,OAAO,CAAC,MAAM,CAAC,SAAS;CAMzB"}
|
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
import { has, isString } from 'lodash';
|
|
2
|
+
/**
|
|
3
|
+
* FusionAPI handles entity data fusion operations, managing sources,
|
|
4
|
+
* connections, and data merging for entities with same_as relationships
|
|
5
|
+
*/
|
|
6
|
+
export class FusionAPI {
|
|
7
|
+
constructor({ entity, desktopAPI, ontologyAPI }) {
|
|
8
|
+
this.entity = entity;
|
|
9
|
+
this.fusionSourcesEntityIds = new Set([entity.entity_id]);
|
|
10
|
+
this.desktopAPI = desktopAPI;
|
|
11
|
+
this.ontologyAPI = ontologyAPI;
|
|
12
|
+
this.uiOrderPromise = this.getUiOrderAsync();
|
|
13
|
+
this.fusionSourcesPromise = this.getFusionSourcesAsync();
|
|
14
|
+
}
|
|
15
|
+
// Public Methods
|
|
16
|
+
/**
|
|
17
|
+
* Gets all fusion sources (main entity + connected same_as entities)
|
|
18
|
+
*/
|
|
19
|
+
async getSources() {
|
|
20
|
+
const fusionSources = await this.fusionSourcesPromise;
|
|
21
|
+
return [
|
|
22
|
+
{
|
|
23
|
+
data: this.entity,
|
|
24
|
+
entity: this.entity,
|
|
25
|
+
color: await this.getFusionSourceColorAsync(this.entity),
|
|
26
|
+
path: [],
|
|
27
|
+
},
|
|
28
|
+
...fusionSources,
|
|
29
|
+
];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Gets connected data for the main entity only
|
|
33
|
+
*/
|
|
34
|
+
async getMainConnectedData(name, connectedDataKey) {
|
|
35
|
+
const [mainSource] = await this.getSources();
|
|
36
|
+
return this.getEntityConnectedData(mainSource, name, connectedDataKey);
|
|
37
|
+
}
|
|
38
|
+
async fuseEntities(dataToSave) {
|
|
39
|
+
const activeWorkspace = await this.desktopAPI.getActiveWorkspace();
|
|
40
|
+
return this.desktopAPI.withProgressBar(Promise.all(dataToSave.map(async ({ entity: entityToFuse, fusionData }) => {
|
|
41
|
+
switch (entityToFuse.entity_type) {
|
|
42
|
+
case this.entity.entity_type: {
|
|
43
|
+
return this.desktopAPI.connect('same_as', this.entity, entityToFuse, activeWorkspace ?? this.entity.os_workspace);
|
|
44
|
+
}
|
|
45
|
+
case 'os_file': {
|
|
46
|
+
const relationship = await this.desktopAPI.connect(FusionAPI.RELATIONSHIP_FEATURED_IN, this.entity, entityToFuse, activeWorkspace ?? this.entity.os_workspace);
|
|
47
|
+
return this.desktopAPI.save({
|
|
48
|
+
...relationship,
|
|
49
|
+
os_item_content: {
|
|
50
|
+
...relationship.os_item_content,
|
|
51
|
+
fusionData,
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
default: {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
})), {
|
|
60
|
+
job_type: 'fusing',
|
|
61
|
+
label: `Fusing data for "${this.entity.entity_label}"`,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Gets connected data for all fusion sources and merges them
|
|
66
|
+
*/
|
|
67
|
+
async getFusionConnectedData(name, connectedDataKey) {
|
|
68
|
+
const sources = await this.getSources();
|
|
69
|
+
const connectedData = (await Promise.all(sources.map(source => this.getEntityConnectedData(source, name, connectedDataKey)))).flat();
|
|
70
|
+
return this.mergeConnectedData(connectedData).map(item => {
|
|
71
|
+
const { value } = item;
|
|
72
|
+
const entity = value.entity2;
|
|
73
|
+
const connectedSource = sources.find(source => source.entity.entity_id === entity.entity_id);
|
|
74
|
+
if (connectedSource) {
|
|
75
|
+
return {
|
|
76
|
+
...item,
|
|
77
|
+
sources: [...item.sources, connectedSource],
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
return item;
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Generates ordered record fields for fusion sources based on UI schema
|
|
85
|
+
*/
|
|
86
|
+
async generateRecordFields(sources) {
|
|
87
|
+
const uiOrder = await this.uiOrderPromise;
|
|
88
|
+
const fieldSet = new Set(sources.flatMap(({ data }) => Object.keys(data).filter(key => Boolean(data[key]))));
|
|
89
|
+
const recordFields = Array.from(fieldSet);
|
|
90
|
+
return this.sortFieldsByUiOrder(recordFields, uiOrder);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Removes all same_as relationships for the given entity
|
|
94
|
+
*/
|
|
95
|
+
async removeFusionSourceRelationships(entity) {
|
|
96
|
+
const parentEntity = await this.getParentEntity(entity);
|
|
97
|
+
if (!parentEntity) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
if (entity.entity_type === 'os_file') {
|
|
101
|
+
await this.desktopAPI.withProgressBar(this.removeFusionSourceDocumentRelationship(parentEntity, entity), {
|
|
102
|
+
job_type: 'remove',
|
|
103
|
+
label: `Removing ${entity.entity_label} as a fusion source`,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
await this.desktopAPI.withProgressBar(this.removeFusionSourceSameAsRelationship(parentEntity, entity), {
|
|
108
|
+
job_type: 'remove',
|
|
109
|
+
label: `Removing ${entity.entity_label} as a fusion source`,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
async removeFusionSourceSameAsRelationship(entity, sameEntity) {
|
|
114
|
+
const relationships = await this.ontologyAPI.getWorkspaceRelationshipRecords(entity, FusionAPI.RELATIONSHIP_SAME_AS);
|
|
115
|
+
const filteredRelationships = relationships.filter(relationship => relationship.os_entity_uid_to === sameEntity.entity_id);
|
|
116
|
+
await Promise.all(filteredRelationships.map(relationship => this.desktopAPI.delete({
|
|
117
|
+
entity_type: relationship.os_item_type,
|
|
118
|
+
os_entity_uid: relationship.os_entity_uid,
|
|
119
|
+
os_workspace: relationship.os_workspace,
|
|
120
|
+
})));
|
|
121
|
+
}
|
|
122
|
+
async removeFusionSourceDocumentRelationship(entity, document) {
|
|
123
|
+
const relationships = await this.ontologyAPI.getWorkspaceRelationshipRecords(entity, FusionAPI.RELATIONSHIP_FEATURED_IN);
|
|
124
|
+
const filteredRelationships = relationships.filter(relationship => [relationship.os_entity_uid_from, relationship.os_entity_uid_to].includes(document.entity_id));
|
|
125
|
+
await Promise.all(filteredRelationships.map(relationship => this.desktopAPI.delete({
|
|
126
|
+
entity_type: relationship.os_item_type,
|
|
127
|
+
os_entity_uid: relationship.os_entity_uid,
|
|
128
|
+
os_workspace: relationship.os_workspace,
|
|
129
|
+
})));
|
|
130
|
+
}
|
|
131
|
+
async getParentEntity(entity) {
|
|
132
|
+
const sources = await this.getSources();
|
|
133
|
+
const currentSource = sources.find(source => source.entity.entity_id === entity.entity_id);
|
|
134
|
+
if (!currentSource) {
|
|
135
|
+
return undefined;
|
|
136
|
+
}
|
|
137
|
+
const parentEntityId = currentSource.path[currentSource.path.length - 1];
|
|
138
|
+
const parentSource = sources.find(source => source.entity.entity_id === parentEntityId);
|
|
139
|
+
return parentSource?.entity ?? this.entity;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Static method to get fusion values from sources with optional focus
|
|
143
|
+
*/
|
|
144
|
+
static getFusionValuesFromSources({ sources, getValue, focusedSourceId, }) {
|
|
145
|
+
const valuesObject = {};
|
|
146
|
+
sources.forEach(source => {
|
|
147
|
+
const data = source.data;
|
|
148
|
+
const value = getValue(data);
|
|
149
|
+
if (!value) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
const key = this.hashValue(value);
|
|
153
|
+
if (valuesObject[key]) {
|
|
154
|
+
valuesObject[key].sources.push(this.getFusionSourceWithFocus(source, focusedSourceId));
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
valuesObject[key] = {
|
|
158
|
+
value,
|
|
159
|
+
sources: [this.getFusionSourceWithFocus(source, focusedSourceId)],
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
return Object.values(valuesObject);
|
|
164
|
+
}
|
|
165
|
+
// Private Methods - Entity and Concept Handling
|
|
166
|
+
getEntityConcept(entity) {
|
|
167
|
+
return 'os_concept' in entity && typeof entity.os_concept === 'string' ? entity.os_concept : entity.entity_type;
|
|
168
|
+
}
|
|
169
|
+
async getUiOrderAsync() {
|
|
170
|
+
const concept = this.getEntityConcept(this.entity);
|
|
171
|
+
const { schemaUI } = await this.desktopAPI.getJSONSchema(concept);
|
|
172
|
+
const { 'ui:order': orderedFields } = JSON.parse(schemaUI);
|
|
173
|
+
return orderedFields ?? [];
|
|
174
|
+
}
|
|
175
|
+
// Private Methods - Color Handling
|
|
176
|
+
getWorkspaceItemColor(workspace) {
|
|
177
|
+
const osItemContent = workspace?.os_item_content;
|
|
178
|
+
if (osItemContent &&
|
|
179
|
+
typeof osItemContent === 'object' &&
|
|
180
|
+
'color' in osItemContent &&
|
|
181
|
+
typeof osItemContent.color === 'string' &&
|
|
182
|
+
Boolean(osItemContent.color)) {
|
|
183
|
+
return osItemContent.color;
|
|
184
|
+
}
|
|
185
|
+
return FusionAPI.DEFAULT_COLOR;
|
|
186
|
+
}
|
|
187
|
+
async getFusionSourceColorAsync(entity) {
|
|
188
|
+
if (!has(entity, 'os_workspace') || !isString(entity.os_workspace)) {
|
|
189
|
+
return FusionAPI.DEFAULT_COLOR;
|
|
190
|
+
}
|
|
191
|
+
const workspace = await this.desktopAPI.getItem(entity.os_workspace);
|
|
192
|
+
return this.getWorkspaceItemColor(workspace);
|
|
193
|
+
}
|
|
194
|
+
// Private Methods - Fusion Sources
|
|
195
|
+
async getFusionSourcesAsync(entity = this.entity, path = [this.entity.entity_id]) {
|
|
196
|
+
const sameAsEntities = await this.getSameAsEntities(entity);
|
|
197
|
+
const relatedDocuments = await this.getRelatedDocumentsData(entity);
|
|
198
|
+
const sourcesPromises = sameAsEntities.map(async (connectedEntity) => {
|
|
199
|
+
const entityId = connectedEntity.entity_id;
|
|
200
|
+
if (this.fusionSourcesEntityIds.has(entityId)) {
|
|
201
|
+
return [];
|
|
202
|
+
}
|
|
203
|
+
this.fusionSourcesEntityIds.add(entityId);
|
|
204
|
+
const nestedSources = await this.getFusionSourcesAsync(connectedEntity, [...path, entityId]);
|
|
205
|
+
return [
|
|
206
|
+
{
|
|
207
|
+
data: connectedEntity,
|
|
208
|
+
entity: connectedEntity,
|
|
209
|
+
color: await this.getFusionSourceColorAsync(connectedEntity),
|
|
210
|
+
path,
|
|
211
|
+
},
|
|
212
|
+
...nestedSources,
|
|
213
|
+
];
|
|
214
|
+
});
|
|
215
|
+
const relatedDocumentsSources = Promise.all(relatedDocuments.map(async (document) => ({
|
|
216
|
+
data: document.fusionData?.entityExtractedMetadata ?? {},
|
|
217
|
+
entity: document.entity,
|
|
218
|
+
extractedFusionData: document.fusionData,
|
|
219
|
+
color: await this.getFusionSourceColorAsync(document.entity),
|
|
220
|
+
path,
|
|
221
|
+
})));
|
|
222
|
+
return [...(await Promise.all(sourcesPromises)).flat(), ...(await relatedDocumentsSources).flat()];
|
|
223
|
+
}
|
|
224
|
+
async getSameAsEntities(entity) {
|
|
225
|
+
const [forwardEntities, reverseEntities] = await Promise.all([
|
|
226
|
+
this.ontologyAPI.getConnectedEntities(entity, FusionAPI.RELATIONSHIP_SAME_AS),
|
|
227
|
+
this.ontologyAPI.getConnectedEntities(entity, FusionAPI.RELATIONSHIP_SAME_AS_REVERSE),
|
|
228
|
+
]);
|
|
229
|
+
return [...forwardEntities, ...reverseEntities];
|
|
230
|
+
}
|
|
231
|
+
async getRelatedDocumentsData(entity) {
|
|
232
|
+
const relatedDocuments = await this.ontologyAPI.getWorkspaceRelationshipRecords(entity, FusionAPI.RELATIONSHIP_FEATURED_IN);
|
|
233
|
+
const data = await Promise.all(relatedDocuments.map(async (document) => {
|
|
234
|
+
if ('os_item_content' in document &&
|
|
235
|
+
typeof document.os_item_content === 'object' &&
|
|
236
|
+
document.os_item_content &&
|
|
237
|
+
'fusionData' in document.os_item_content &&
|
|
238
|
+
document.os_item_content.fusionData) {
|
|
239
|
+
const entityId = document.os_relationship_name === FusionAPI.RELATIONSHIP_FEATURED_IN
|
|
240
|
+
? document.os_entity_uid_to
|
|
241
|
+
: document.os_entity_uid_from;
|
|
242
|
+
const entityType = document.os_relationship_name === FusionAPI.RELATIONSHIP_FEATURED_IN
|
|
243
|
+
? document.os_entity_type_to
|
|
244
|
+
: document.os_entity_type_from;
|
|
245
|
+
const entityWithMissing = {
|
|
246
|
+
entity_id: entityId,
|
|
247
|
+
entity_type: entityType,
|
|
248
|
+
entity_label: '',
|
|
249
|
+
'#missing': true,
|
|
250
|
+
};
|
|
251
|
+
const documentEntity = await this.ontologyAPI.getEntity(entityWithMissing);
|
|
252
|
+
if (documentEntity['#missing']) {
|
|
253
|
+
return undefined;
|
|
254
|
+
}
|
|
255
|
+
return { fusionData: document.os_item_content.fusionData ?? {}, entity: documentEntity };
|
|
256
|
+
}
|
|
257
|
+
return undefined;
|
|
258
|
+
}));
|
|
259
|
+
return data.filter(v => this.isFusionDocumentData(v));
|
|
260
|
+
}
|
|
261
|
+
isFusionDocumentData(data) {
|
|
262
|
+
if (typeof data !== 'object' || data === null) {
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
if ('description' in data && typeof data.description !== 'string' && data.description !== undefined) {
|
|
266
|
+
return false;
|
|
267
|
+
}
|
|
268
|
+
if ('similarEntity' in data &&
|
|
269
|
+
(typeof data.similarEntity !== 'object' || data.similarEntity === null) &&
|
|
270
|
+
data.similarEntity !== undefined) {
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
if ('entityInfo' in data && !Array.isArray(data.entityInfo) && data.entityInfo !== undefined) {
|
|
274
|
+
return false;
|
|
275
|
+
}
|
|
276
|
+
if ('entity' in data && (typeof data.entity !== 'object' || data.entity === null) && data.entity !== undefined) {
|
|
277
|
+
return false;
|
|
278
|
+
}
|
|
279
|
+
return true;
|
|
280
|
+
}
|
|
281
|
+
// Private Methods - Connected Data
|
|
282
|
+
async getConnectedEntities(entity, name, connectedDataKey) {
|
|
283
|
+
switch (connectedDataKey) {
|
|
284
|
+
case 'byConcept':
|
|
285
|
+
return this.ontologyAPI.getConnectionsByType(entity, name);
|
|
286
|
+
case 'byRelationship':
|
|
287
|
+
return this.getConnectionsByRelationship(entity, name);
|
|
288
|
+
default:
|
|
289
|
+
return [];
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
async getConnectionsByRelationship(entity, relationshipName) {
|
|
293
|
+
const allRelationships = await this.ontologyAPI.getRelationshipsForEntity(entity);
|
|
294
|
+
const relationship = allRelationships.find(r => r.relationship_name === relationshipName);
|
|
295
|
+
if (!relationship) {
|
|
296
|
+
return [];
|
|
297
|
+
}
|
|
298
|
+
const connectedEntities = await this.ontologyAPI.getConnectedEntities(entity, relationship);
|
|
299
|
+
return connectedEntities.map(entity2 => ({
|
|
300
|
+
entity1: entity,
|
|
301
|
+
entity2,
|
|
302
|
+
relationship,
|
|
303
|
+
}));
|
|
304
|
+
}
|
|
305
|
+
async getEntityConnectedData(source, name, connectedDataKey) {
|
|
306
|
+
const connections = await this.getConnectedEntities(source.entity, name, connectedDataKey);
|
|
307
|
+
if (connections.length === 0) {
|
|
308
|
+
return [];
|
|
309
|
+
}
|
|
310
|
+
const connectedEntitiesEntries = connections.map(connection => [connection.entity2.entity_id, { value: connection, sources: [source] }]);
|
|
311
|
+
return Object.values(Object.fromEntries(connectedEntitiesEntries));
|
|
312
|
+
}
|
|
313
|
+
mergeConnectedData(connectedData) {
|
|
314
|
+
const mergedConnectedDataObject = {};
|
|
315
|
+
for (const data of connectedData) {
|
|
316
|
+
const key = data.value.entity2.entity_id;
|
|
317
|
+
if (mergedConnectedDataObject[key]) {
|
|
318
|
+
mergedConnectedDataObject[key].sources.push(...data.sources);
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
mergedConnectedDataObject[key] = data;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
return Object.values(mergedConnectedDataObject);
|
|
325
|
+
}
|
|
326
|
+
// Private Methods - Utility
|
|
327
|
+
sortFieldsByUiOrder(fields, uiOrder) {
|
|
328
|
+
return fields.sort((a, b) => {
|
|
329
|
+
const aIndex = uiOrder.indexOf(a);
|
|
330
|
+
const bIndex = uiOrder.indexOf(b);
|
|
331
|
+
if (aIndex === bIndex) {
|
|
332
|
+
return a.localeCompare(b);
|
|
333
|
+
}
|
|
334
|
+
if (aIndex === -1) {
|
|
335
|
+
return 1;
|
|
336
|
+
}
|
|
337
|
+
if (bIndex === -1) {
|
|
338
|
+
return -1;
|
|
339
|
+
}
|
|
340
|
+
return aIndex - bIndex;
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
static getFusionSourceWithFocus(source, focusedSourceId) {
|
|
344
|
+
return {
|
|
345
|
+
...source,
|
|
346
|
+
isOutOfFocus: Boolean(focusedSourceId) && focusedSourceId !== source.entity.entity_id,
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
static hashValue(value) {
|
|
350
|
+
if (typeof value === 'object' && value !== null) {
|
|
351
|
+
return JSON.stringify(value);
|
|
352
|
+
}
|
|
353
|
+
return String(value);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
// Constants
|
|
357
|
+
FusionAPI.DEFAULT_COLOR = '#0C66E4';
|
|
358
|
+
FusionAPI.RELATIONSHIP_SAME_AS = 'same_as';
|
|
359
|
+
FusionAPI.RELATIONSHIP_SAME_AS_REVERSE = '~same_as';
|
|
360
|
+
FusionAPI.RELATIONSHIP_FEATURED_IN = 'featured_in';
|
|
361
|
+
//# sourceMappingURL=FusionApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FusionApi.js","sourceRoot":"","sources":["../../src/lib/FusionApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,28 @@
|
|
|
1
|
-
import { LiveContext, LiveContextListener, LiveContextAPISetParams, DefaultLiveContextData } from '@octostar/platform-types';
|
|
1
|
+
import type { LiveContext, LiveContextListener, LiveContextAPISetParams, DefaultLiveContextData } from '@octostar/platform-types';
|
|
2
2
|
export declare class LiveContextAPI<ContextData extends DefaultLiveContextData = DefaultLiveContextData> implements LiveContext<ContextData> {
|
|
3
|
+
readonly id: string;
|
|
3
4
|
private contextData;
|
|
4
5
|
private listeners;
|
|
5
|
-
private postRobotListener;
|
|
6
6
|
private type;
|
|
7
7
|
private channelId;
|
|
8
|
-
private
|
|
9
|
-
|
|
8
|
+
private messageHandler;
|
|
9
|
+
private messageType;
|
|
10
10
|
constructor(contextData: ContextData);
|
|
11
|
-
private
|
|
11
|
+
private initPostRobot;
|
|
12
|
+
private handleMessage;
|
|
13
|
+
private requestInit;
|
|
14
|
+
private sendMessage;
|
|
12
15
|
private getConnectId;
|
|
13
|
-
private
|
|
16
|
+
private getContextDataFromParams;
|
|
14
17
|
private setContextAndNotify;
|
|
15
|
-
private getPostRobotEventName;
|
|
16
18
|
private sendContextUpdate;
|
|
17
19
|
getContext(): ContextData;
|
|
18
|
-
setContext(context: LiveContextAPISetParams<ContextData>):
|
|
20
|
+
setContext(context: LiveContextAPISetParams<ContextData>): void;
|
|
19
21
|
subscribeToChanges(contextListener: LiveContextListener<ContextData>): string;
|
|
20
22
|
subscribeToChanges(id: string, contextListener: LiveContextListener<ContextData>): string;
|
|
21
23
|
unsubscribeFromChanges(id: string): void;
|
|
22
|
-
addContextListener<ContextDataToConnect extends DefaultLiveContextData>(
|
|
23
|
-
removeContextListener<ContextDataToConnect extends DefaultLiveContextData>(idOrContextAPI:
|
|
24
|
+
addContextListener<ContextDataToConnect extends DefaultLiveContextData>(liveContextAPItoConnect: LiveContext<ContextDataToConnect>, mapContext?: (context: ContextDataToConnect) => ContextData): () => void;
|
|
25
|
+
removeContextListener<ContextDataToConnect extends DefaultLiveContextData>(idOrContextAPI: LiveContext<ContextDataToConnect> | string): void;
|
|
24
26
|
connect(): string;
|
|
25
27
|
destroy(): void;
|
|
26
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveContextAPI.d.ts","sourceRoot":"","sources":["../../src/lib/LiveContextAPI.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"LiveContextAPI.d.ts","sourceRoot":"","sources":["../../src/lib/LiveContextAPI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAOlC,qBAAa,cAAc,CAAC,WAAW,SAAS,sBAAsB,GAAG,sBAAsB,CAC7F,YAAW,WAAW,CAAC,WAAW,CAAC;IAGnC,QAAQ,CAAC,EAAE,SAAY;IAGvB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAAwD;IACzE,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,WAAW,CAA4B;gBAEnC,WAAW,EAAE,WAAW;IAapC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,iBAAiB;IASzB,UAAU;IAIV,UAAU,CAAC,OAAO,EAAE,uBAAuB,CAAC,WAAW,CAAC;IAQxD,kBAAkB,CAAC,eAAe,EAAE,mBAAmB,CAAC,WAAW,CAAC,GAAG,MAAM;IAC7E,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,mBAAmB,CAAC,WAAW,CAAC,GAAG,MAAM;IAiBzF,sBAAsB,CAAC,EAAE,EAAE,MAAM;IAKjC,kBAAkB,CAAC,oBAAoB,SAAS,sBAAsB,EACpE,uBAAuB,EAAE,WAAW,CAAC,oBAAoB,CAAC,EAC1D,UAAU,GAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,WAA0D,GACxG,MAAM,IAAI;IAmBb,qBAAqB,CAAC,oBAAoB,SAAS,sBAAsB,EACvE,cAAc,EAAE,WAAW,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAM5D,OAAO;IAIP,OAAO;CAOR"}
|