dochub-sdk 0.1.385 → 0.1.387
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/index.ts +1 -0
- package/interfaces/ai.ts +15 -12
- package/interfaces/datalake.ts +22 -3
- package/interfaces/lang.ts +14 -0
- package/package.json +1 -1
- package/schemas/basetypes.ts +1 -1
- package/schemas/formats.ts +80 -0
package/index.ts
CHANGED
package/interfaces/ai.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { description } from '@front/lang/en/validators';
|
|
2
1
|
import { DocHubJSONSchema } from '../schemas/basetypes';
|
|
3
2
|
import { DataLakePath } from './datalake';
|
|
4
3
|
import { DocHubEditorContext } from './editors';
|
|
4
|
+
import { DocHubLangString } from './lang';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* События AI
|
|
@@ -10,11 +10,15 @@ export enum DocHubAIEvents {
|
|
|
10
10
|
/**
|
|
11
11
|
* Глобальные события
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
changedDefaultDriver = '$ai-changed-default-driver', // Драйвер AI по умолчанию изменился
|
|
14
|
+
/**
|
|
15
|
+
* Изменены настройки AI-агента
|
|
16
|
+
*/
|
|
17
|
+
changedDriverConfig = '$ai-changed-driver-config', // Изменилась конфигурация драйвера
|
|
14
18
|
/**
|
|
15
19
|
* Локальные события
|
|
16
20
|
*/
|
|
17
|
-
registeredDriver = '#ai-registered-driver',
|
|
21
|
+
registeredDriver = '#ai-registered-driver', // Зарегистрирован драйвер AI
|
|
18
22
|
};
|
|
19
23
|
|
|
20
24
|
/**
|
|
@@ -61,7 +65,7 @@ export interface IDocHubAIRequest {
|
|
|
61
65
|
* Отправляет следующий запрос в AI
|
|
62
66
|
* @returns
|
|
63
67
|
*/
|
|
64
|
-
next(question: string): Promise<void>;
|
|
68
|
+
next(question: string, attachment?: DocHubAIAskAttachment): Promise<void>;
|
|
65
69
|
}
|
|
66
70
|
|
|
67
71
|
export type DocHubAIAskAttachmentFileContent = string;
|
|
@@ -227,37 +231,36 @@ export interface IDocHubComposerProvider {
|
|
|
227
231
|
fetchCommands(): Promise<IDocHubAIComposerCommand[]>;
|
|
228
232
|
}
|
|
229
233
|
|
|
230
|
-
export enum
|
|
234
|
+
export enum DocHubAICapabilityID {
|
|
231
235
|
text = 'text',
|
|
232
236
|
attachment = 'attachment',
|
|
233
237
|
contextWindow = 'context-window'
|
|
234
238
|
}
|
|
235
239
|
|
|
236
|
-
export type DocHubAIAttachmentFileContentType = string;
|
|
240
|
+
export type DocHubAIAttachmentFileContentType = string; // Тип файла в формате расширения (.png) или в формате MIME type (image/*)
|
|
237
241
|
|
|
238
242
|
/**
|
|
239
243
|
* Метаинформация о возможностях AI-агента
|
|
240
244
|
*/
|
|
241
245
|
export interface IDocHubAICapabilities {
|
|
242
246
|
/**
|
|
243
|
-
* Текстовое резюме от AI
|
|
247
|
+
* Текстовое резюме от AI о себе
|
|
244
248
|
*/
|
|
245
|
-
description?:
|
|
249
|
+
description?: DocHubLangString;
|
|
246
250
|
/**
|
|
247
251
|
* Способность обрабатывать прикрепленные файлы к сообщению
|
|
248
252
|
*/
|
|
249
|
-
[
|
|
253
|
+
[DocHubAICapabilityID.attachment]?: DocHubAIAttachmentFileContentType[];
|
|
250
254
|
/**
|
|
251
255
|
* Способность воспринимать текс в запросе
|
|
252
256
|
*/
|
|
253
|
-
[
|
|
257
|
+
[DocHubAICapabilityID.text]?: boolean;
|
|
254
258
|
/**
|
|
255
259
|
* Размер контекстного окна
|
|
256
260
|
*/
|
|
257
|
-
[
|
|
261
|
+
[DocHubAICapabilityID.contextWindow]?: number;
|
|
258
262
|
}
|
|
259
263
|
|
|
260
|
-
|
|
261
264
|
/**
|
|
262
265
|
* Интерфейс AI ассистента
|
|
263
266
|
*/
|
package/interfaces/datalake.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { IProtocolResponseOptions, IDocHubProtocolResponse, IDocHubResourceVersion } from './protocols';
|
|
2
2
|
import { DocHubDataSetProfileSource, DocHubJSONataQuery, IDocHubDataSetProfile } from './jsonata';
|
|
3
3
|
import { DocHubUITargetWindow } from './ui';
|
|
4
|
-
import { DocHubJSONSchema } from '../schemas/basetypes';
|
|
4
|
+
import { DocHubJSONSchema, DocHubJSONSchemaPath, DocHubJSONSchemaPathPattern, DocHubJSONSchemaPathResolver } from '../schemas/basetypes';
|
|
5
|
+
import { DocHubJSONSchemaFormat, DocHubJSONSchemaFormatCollection, DocHubJSONSchemaFormatController } from '../schemas/formats';
|
|
5
6
|
|
|
6
7
|
export enum DataLakeChange {
|
|
7
8
|
update = 'update', // Обновление данных по указанному пути
|
|
@@ -539,11 +540,29 @@ export interface IDocHubDataLake {
|
|
|
539
540
|
* @param file - Полный путь к файлу. Например: README.md
|
|
540
541
|
* @returns - Тип контента. Например: text/markdown
|
|
541
542
|
*/
|
|
542
|
-
getContentTypeForFile(
|
|
543
|
+
getContentTypeForFile(uri: string): string | null;
|
|
544
|
+
|
|
545
|
+
/**********************************************************************
|
|
546
|
+
* Работа с схемой данных DataLake
|
|
547
|
+
*********************************************************************/
|
|
548
|
+
|
|
543
549
|
|
|
544
550
|
/**
|
|
545
551
|
* Возвращает JSONSchema DataLake
|
|
552
|
+
* @param path - Путь к необходимому сегменту схемы
|
|
553
|
+
*/
|
|
554
|
+
fetchSchema(path?: DocHubJSONSchemaPath): Promise<DocHubJSONSchema>;
|
|
555
|
+
|
|
556
|
+
/**
|
|
557
|
+
* Регистрирует кастомный формат для валидации JSONSchema и реализации подсказок в редакторах
|
|
558
|
+
* @param pattern - Шаблон пути по которому подключается резолвер
|
|
559
|
+
* @param context - Контекст работы резолвера
|
|
560
|
+
*/
|
|
561
|
+
registerSchemaFormat(format: DocHubJSONSchemaFormat, controller: DocHubJSONSchemaFormatController);
|
|
562
|
+
|
|
563
|
+
/**
|
|
564
|
+
* Возвращает коллекцию доступных форматов
|
|
546
565
|
*/
|
|
547
|
-
|
|
566
|
+
fetchSchemaFormats(): Promise<DocHubJSONSchemaFormatCollection>;
|
|
548
567
|
}
|
|
549
568
|
|
package/interfaces/lang.ts
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Строковое значение для нескольких языков
|
|
3
|
+
*/
|
|
4
|
+
export type DocHubLangStringMultilang = {
|
|
5
|
+
[lang: string]: string;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Строковое значение для организации мультиязычности.
|
|
10
|
+
* Если имеет простой тип string - предполагается, что строка на английском.
|
|
11
|
+
*/
|
|
12
|
+
export type DocHubLangString = string | DocHubLangStringMultilang;
|
|
13
|
+
|
|
1
14
|
/**
|
|
2
15
|
* События языковых пакетов
|
|
3
16
|
*/
|
|
@@ -52,4 +65,5 @@ export interface IDocHubLang {
|
|
|
52
65
|
* @returns - Возвращает действующий язык
|
|
53
66
|
*/
|
|
54
67
|
switchTo(lang: string): Promise<string>;
|
|
68
|
+
|
|
55
69
|
}
|
package/package.json
CHANGED
package/schemas/basetypes.ts
CHANGED
|
@@ -108,6 +108,7 @@ export interface IDocHubJSONSchemaObject extends IDocHubJSONSchemaBase {
|
|
|
108
108
|
examples?: any[];
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
+
|
|
111
112
|
export type DocHubJSONSchema =
|
|
112
113
|
IDocHubJSONSchemaArray
|
|
113
114
|
| IDocHubJSONSchemaString
|
|
@@ -118,4 +119,3 @@ export type DocHubJSONSchema =
|
|
|
118
119
|
| IDocHubJSONSchemaAllOf
|
|
119
120
|
| IDocHubJSONSchemaOneOf
|
|
120
121
|
| IDocHubJSONSchemaAnyOf;
|
|
121
|
-
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { DocHubJSONSchema } from "./basetypes";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Идентификатор применяемого формата
|
|
5
|
+
*/
|
|
6
|
+
export type DocHubJSONSchemaFormat = string;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Идентификатор подсказки
|
|
10
|
+
*/
|
|
11
|
+
export type DocHubJSONSchemaFormatSuggestId = string;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Структура подсказки
|
|
15
|
+
*/
|
|
16
|
+
export interface DocHubJSONSchemaFormatSuggest {
|
|
17
|
+
// Идентификатор
|
|
18
|
+
id: DocHubJSONSchemaFormatSuggestId;
|
|
19
|
+
// Значение, которое будет вставлено в структуру, при выборе подсказки
|
|
20
|
+
value: any;
|
|
21
|
+
// Краткое название для вывода в списке. Если поля нет, берется value
|
|
22
|
+
title?: string;
|
|
23
|
+
// Описание элемента подсказки
|
|
24
|
+
description?: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Метод получения следующей порции подсказок
|
|
29
|
+
* @param limit - лимит на количество подсказок
|
|
30
|
+
*/
|
|
31
|
+
export type DocHubJSONSchemaFormatSuggestFetch = (limit?: number) => Promise<DocHubJSONSchemaFormatSuggests>;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Список подсказок.
|
|
35
|
+
* Если элемент списка является функцией, это является промисом на вставку элементов списка при ее вызове
|
|
36
|
+
*/
|
|
37
|
+
export type DocHubJSONSchemaFormatSuggests = (DocHubJSONSchemaFormatSuggest | DocHubJSONSchemaFormatSuggestFetch)[];
|
|
38
|
+
|
|
39
|
+
export interface DocHubJSONSchemaFormatControllerParams {
|
|
40
|
+
// Значение
|
|
41
|
+
value: any;
|
|
42
|
+
// Схема, которая применяется к значению
|
|
43
|
+
valueSchema: DocHubJSONSchema;
|
|
44
|
+
// Контекст в котором происходит валидация значения
|
|
45
|
+
context?: any;
|
|
46
|
+
// Схема контекста
|
|
47
|
+
contextSchema?: DocHubJSONSchema;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Интерфейс для кастомного формата
|
|
52
|
+
*/
|
|
53
|
+
export interface DocHubJSONSchemaFormatController {
|
|
54
|
+
/**
|
|
55
|
+
* Валидатор значения
|
|
56
|
+
* @returns - true если все в порядке, иначе false
|
|
57
|
+
*/
|
|
58
|
+
validate(params: DocHubJSONSchemaFormatControllerParams): Promise<boolean>;
|
|
59
|
+
/**
|
|
60
|
+
* Возвращает список простых подсказок в виде списка
|
|
61
|
+
* @param params - параметры для выбора
|
|
62
|
+
* @returns - список подсказок
|
|
63
|
+
*/
|
|
64
|
+
suggests?: (params: DocHubJSONSchemaFormatControllerParams) => Promise<DocHubJSONSchemaFormatSuggests>;
|
|
65
|
+
/**
|
|
66
|
+
* Если метод определен, его вызов должен открыть специальный UI,
|
|
67
|
+
* который позволит пользователю осуществить корректный ввод или выбор значения
|
|
68
|
+
* @param params - параметры для выбора
|
|
69
|
+
* @returns - значение для заполнения поля
|
|
70
|
+
*/
|
|
71
|
+
input?: (params: DocHubJSONSchemaFormatControllerParams) => Promise<any>;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Коллекция форматов
|
|
76
|
+
*/
|
|
77
|
+
export interface DocHubJSONSchemaFormatCollection {
|
|
78
|
+
[id: DocHubJSONSchemaFormat]: DocHubJSONSchemaFormatController;
|
|
79
|
+
}
|
|
80
|
+
|