@memori.ai/memori-api-client 5.0.1 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
 
2
2
 
3
+ ## [5.1.0](https://github.com/memori-ai/memori-api-client/compare/v5.0.1...v5.1.0) (2024-09-09)
4
+
5
+
6
+ ### Features
7
+
8
+ * add completions config apis, update typings ([493a69a](https://github.com/memori-ai/memori-api-client/commit/493a69abaef7432b1463f6b034f708eaecf35956))
9
+
3
10
  ## [5.0.1](https://github.com/memori-ai/memori-api-client/compare/v5.0.0...v5.0.1) (2024-08-02)
4
11
 
5
12
 
@@ -0,0 +1,19 @@
1
+ import { ResponseSpec, CompletionConfig } from '../types';
2
+ declare const _default: (apiUrl: string) => {
3
+ getCompletionConfigs: (authToken: string, purpose?: 'QA' | 'IE' | 'DT') => Promise<ResponseSpec & {
4
+ configs: CompletionConfig[];
5
+ }>;
6
+ getCompletionConfig: (authToken: string, configID: string) => Promise<ResponseSpec & {
7
+ config: CompletionConfig;
8
+ }>;
9
+ updateCompletionConfig: (authToken: string, config: Partial<CompletionConfig> & {
10
+ completionConfigID: string;
11
+ }) => Promise<ResponseSpec>;
12
+ deleteCompletionConfig: (authToken: string, configID: string) => Promise<ResponseSpec>;
13
+ createCompletionConfig: (authToken: string, config: CompletionConfig & {
14
+ completionConfigID?: string;
15
+ }) => Promise<ResponseSpec & {
16
+ config: CompletionConfig;
17
+ }>;
18
+ };
19
+ export default _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const apiFetcher_1 = require("../apiFetcher");
4
+ exports.default = (apiUrl) => ({
5
+ getCompletionConfigs: (authToken, purpose) => (0, apiFetcher_1.apiFetcher)(`/CompletionConfigs/${authToken}${purpose ? `/${purpose}` : ''}`, {
6
+ apiUrl,
7
+ method: 'GET',
8
+ }),
9
+ getCompletionConfig: (authToken, configID) => (0, apiFetcher_1.apiFetcher)(`/CompletionConfig/${authToken}/${configID}`, {
10
+ apiUrl,
11
+ method: 'GET',
12
+ }),
13
+ updateCompletionConfig: (authToken, config) => (0, apiFetcher_1.apiFetcher)(`/CompletionConfig/${authToken}/${config.completionConfigID}`, {
14
+ apiUrl,
15
+ method: 'PATCH',
16
+ body: config,
17
+ }),
18
+ deleteCompletionConfig: (authToken, configID) => (0, apiFetcher_1.apiFetcher)(`/CompletionConfig/${authToken}/${configID}`, {
19
+ apiUrl,
20
+ method: 'DELETE',
21
+ }),
22
+ createCompletionConfig: (authToken, config) => (0, apiFetcher_1.apiFetcher)(`/CompletionConfig/${authToken}`, {
23
+ apiUrl,
24
+ method: 'POST',
25
+ body: config,
26
+ }),
27
+ });
28
+ //# sourceMappingURL=completionConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completionConfig.js","sourceRoot":"","sources":["../../src/backend/completionConfig.ts"],"names":[],"mappings":";;AACA,8CAA2C;AAE3C,kBAAe,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAMlC,oBAAoB,EAAE,CAAC,SAAiB,EAAE,OAA4B,EAAE,EAAE,CACxE,IAAA,uBAAU,EACR,sBAAsB,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAChE;QACE,MAAM;QACN,MAAM,EAAE,KAAK;KACd,CAKF;IAOH,mBAAmB,EAAE,CAAC,SAAiB,EAAE,QAAgB,EAAE,EAAE,CAC3D,IAAA,uBAAU,EAAC,qBAAqB,SAAS,IAAI,QAAQ,EAAE,EAAE;QACvD,MAAM;QACN,MAAM,EAAE,KAAK;KACd,CAIA;IAQH,sBAAsB,EAAE,CACtB,SAAiB,EACjB,MAAkE,EAClE,EAAE,CACF,IAAA,uBAAU,EAAC,qBAAqB,SAAS,IAAI,MAAM,CAAC,kBAAkB,EAAE,EAAE;QACxE,MAAM;QACN,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,MAAM;KACb,CAA0B;IAM7B,sBAAsB,EAAE,CAAC,SAAiB,EAAE,QAAgB,EAAE,EAAE,CAC9D,IAAA,uBAAU,EAAC,qBAAqB,SAAS,IAAI,QAAQ,EAAE,EAAE;QACvD,MAAM;QACN,MAAM,EAAE,QAAQ;KACjB,CAA0B;IAM7B,sBAAsB,EAAE,CACtB,SAAiB,EACjB,MAA0D,EAC1D,EAAE,CACF,IAAA,uBAAU,EAAC,qBAAqB,SAAS,EAAE,EAAE;QAC3C,MAAM;QACN,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;KACb,CAAyD;CAC7D,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const index_1 = tslib_1.__importDefault(require("../index"));
5
+ const client = (0, index_1.default)('https://backend-staging.memori.ai');
6
+ describe('backend/completionConfig api', () => {
7
+ it('works on users apis', async () => {
8
+ expect(await client.backend.completionConfig.getCompletionConfig('768b9654-e781-4c3c-81fa-ae1529d1bfbe', 'be2e4a44-890b-483b-a26a-f6e122f36e2b')).not.toBeNull();
9
+ });
10
+ it('works on completionConfig apis with shorthand version', async () => {
11
+ expect(await client.backend.getCompletionConfig('768b9654-e781-4c3c-81fa-ae1529d1bfbe', 'be2e4a44-890b-483b-a26a-f6e122f36e2b')).not.toBeNull();
12
+ });
13
+ });
14
+ //# sourceMappingURL=completionConfig.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completionConfig.test.js","sourceRoot":"","sources":["../../src/backend/completionConfig.test.ts"],"names":[],"mappings":";;;AAAA,6DAA8B;AAE9B,MAAM,MAAM,GAAG,IAAA,eAAM,EAAC,mCAAmC,CAAC,CAAC;AAE3D,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,CACJ,MAAM,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,CACvD,sCAAsC,EACtC,sCAAsC,CACvC,CACF,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,CACJ,MAAM,MAAM,CAAC,OAAO,CAAC,mBAAmB,CACtC,sCAAsC,EACtC,sCAAsC,CACvC,CACF,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/backend.d.ts CHANGED
@@ -1,4 +1,19 @@
1
1
  declare const backendAPI: (apiUrl: string) => {
2
+ getCompletionConfigs: (authToken: string, purpose?: "QA" | "IE" | "DT" | undefined) => Promise<import("./types").ResponseSpec & {
3
+ configs: import("./types").CompletionConfig[];
4
+ }>;
5
+ getCompletionConfig: (authToken: string, configID: string) => Promise<import("./types").ResponseSpec & {
6
+ config: import("./types").CompletionConfig;
7
+ }>;
8
+ updateCompletionConfig: (authToken: string, config: Partial<import("./types").CompletionConfig> & {
9
+ completionConfigID: string;
10
+ }) => Promise<import("./types").ResponseSpec>;
11
+ deleteCompletionConfig: (authToken: string, configID: string) => Promise<import("./types").ResponseSpec>;
12
+ createCompletionConfig: (authToken: string, config: import("./types").CompletionConfig & {
13
+ completionConfigID?: string | undefined;
14
+ }) => Promise<import("./types").ResponseSpec & {
15
+ config: import("./types").CompletionConfig;
16
+ }>;
2
17
  analyzeUserQuery: (authToken: string, memoriID: string, params: import("./types").AnalysisParams) => Promise<import("./types").ResponseSpec & {
3
18
  status: import("./types").AnalysisStatus;
4
19
  }>;
@@ -407,5 +422,22 @@ declare const backendAPI: (apiUrl: string) => {
407
422
  matches: import("./types").UserQueryMatch[];
408
423
  }>;
409
424
  };
425
+ completionConfig: {
426
+ getCompletionConfigs: (authToken: string, purpose?: "QA" | "IE" | "DT" | undefined) => Promise<import("./types").ResponseSpec & {
427
+ configs: import("./types").CompletionConfig[];
428
+ }>;
429
+ getCompletionConfig: (authToken: string, configID: string) => Promise<import("./types").ResponseSpec & {
430
+ config: import("./types").CompletionConfig;
431
+ }>;
432
+ updateCompletionConfig: (authToken: string, config: Partial<import("./types").CompletionConfig> & {
433
+ completionConfigID: string;
434
+ }) => Promise<import("./types").ResponseSpec>;
435
+ deleteCompletionConfig: (authToken: string, configID: string) => Promise<import("./types").ResponseSpec>;
436
+ createCompletionConfig: (authToken: string, config: import("./types").CompletionConfig & {
437
+ completionConfigID?: string | undefined;
438
+ }) => Promise<import("./types").ResponseSpec & {
439
+ config: import("./types").CompletionConfig;
440
+ }>;
441
+ };
410
442
  };
411
443
  export default backendAPI;
package/dist/backend.js CHANGED
@@ -11,6 +11,7 @@ const notifications_1 = tslib_1.__importDefault(require("./backend/notifications
11
11
  const importExport_1 = tslib_1.__importDefault(require("./backend/importExport"));
12
12
  const process_1 = tslib_1.__importDefault(require("./backend/process"));
13
13
  const analysis_1 = tslib_1.__importDefault(require("./backend/analysis"));
14
+ const completionConfig_1 = tslib_1.__importDefault(require("./backend/completionConfig"));
14
15
  const backendAPI = (apiUrl) => ({
15
16
  asset: (0, asset_1.default)(apiUrl),
16
17
  memori: (0, memori_1.default)(apiUrl),
@@ -22,6 +23,7 @@ const backendAPI = (apiUrl) => ({
22
23
  importExport: (0, importExport_1.default)(apiUrl),
23
24
  process: (0, process_1.default)(apiUrl),
24
25
  analysis: (0, analysis_1.default)(apiUrl),
26
+ completionConfig: (0, completionConfig_1.default)(apiUrl),
25
27
  ...(0, asset_1.default)(apiUrl),
26
28
  ...(0, memori_1.default)(apiUrl),
27
29
  ...(0, user_1.default)(apiUrl),
@@ -32,6 +34,7 @@ const backendAPI = (apiUrl) => ({
32
34
  ...(0, importExport_1.default)(apiUrl),
33
35
  ...(0, process_1.default)(apiUrl),
34
36
  ...(0, analysis_1.default)(apiUrl),
37
+ ...(0, completionConfig_1.default)(apiUrl),
35
38
  });
36
39
  exports.default = backendAPI;
37
40
  //# sourceMappingURL=backend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":";;;AAAA,sEAAsC;AACtC,kEAAkC;AAClC,gFAAgD;AAChD,oEAAoC;AACpC,8EAA8C;AAC9C,wFAAwD;AACxD,oFAAoD;AACpD,kFAAkD;AAClD,wEAAwC;AACxC,0EAA0C;AAE1C,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,KAAK,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC;IACpB,MAAM,EAAE,IAAA,gBAAM,EAAC,MAAM,CAAC;IACtB,IAAI,EAAE,IAAA,cAAI,EAAC,MAAM,CAAC;IAClB,WAAW,EAAE,IAAA,qBAAW,EAAC,MAAM,CAAC;IAChC,UAAU,EAAE,IAAA,oBAAU,EAAC,MAAM,CAAC;IAC9B,eAAe,EAAE,IAAA,yBAAe,EAAC,MAAM,CAAC;IACxC,aAAa,EAAE,IAAA,uBAAa,EAAC,MAAM,CAAC;IACpC,YAAY,EAAE,IAAA,sBAAY,EAAC,MAAM,CAAC;IAClC,OAAO,EAAE,IAAA,iBAAO,EAAC,MAAM,CAAC;IACxB,QAAQ,EAAE,IAAA,kBAAQ,EAAC,MAAM,CAAC;IAC1B,GAAG,IAAA,eAAK,EAAC,MAAM,CAAC;IAChB,GAAG,IAAA,gBAAM,EAAC,MAAM,CAAC;IACjB,GAAG,IAAA,cAAI,EAAC,MAAM,CAAC;IACf,GAAG,IAAA,qBAAW,EAAC,MAAM,CAAC;IACtB,GAAG,IAAA,oBAAU,EAAC,MAAM,CAAC;IACrB,GAAG,IAAA,yBAAe,EAAC,MAAM,CAAC;IAC1B,GAAG,IAAA,uBAAa,EAAC,MAAM,CAAC;IACxB,GAAG,IAAA,sBAAY,EAAC,MAAM,CAAC;IACvB,GAAG,IAAA,iBAAO,EAAC,MAAM,CAAC;IAClB,GAAG,IAAA,kBAAQ,EAAC,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":";;;AAAA,sEAAsC;AACtC,kEAAkC;AAClC,gFAAgD;AAChD,oEAAoC;AACpC,8EAA8C;AAC9C,wFAAwD;AACxD,oFAAoD;AACpD,kFAAkD;AAClD,wEAAwC;AACxC,0EAA0C;AAC1C,0FAA0D;AAE1D,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,KAAK,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC;IACpB,MAAM,EAAE,IAAA,gBAAM,EAAC,MAAM,CAAC;IACtB,IAAI,EAAE,IAAA,cAAI,EAAC,MAAM,CAAC;IAClB,WAAW,EAAE,IAAA,qBAAW,EAAC,MAAM,CAAC;IAChC,UAAU,EAAE,IAAA,oBAAU,EAAC,MAAM,CAAC;IAC9B,eAAe,EAAE,IAAA,yBAAe,EAAC,MAAM,CAAC;IACxC,aAAa,EAAE,IAAA,uBAAa,EAAC,MAAM,CAAC;IACpC,YAAY,EAAE,IAAA,sBAAY,EAAC,MAAM,CAAC;IAClC,OAAO,EAAE,IAAA,iBAAO,EAAC,MAAM,CAAC;IACxB,QAAQ,EAAE,IAAA,kBAAQ,EAAC,MAAM,CAAC;IAC1B,gBAAgB,EAAE,IAAA,0BAAgB,EAAC,MAAM,CAAC;IAC1C,GAAG,IAAA,eAAK,EAAC,MAAM,CAAC;IAChB,GAAG,IAAA,gBAAM,EAAC,MAAM,CAAC;IACjB,GAAG,IAAA,cAAI,EAAC,MAAM,CAAC;IACf,GAAG,IAAA,qBAAW,EAAC,MAAM,CAAC;IACtB,GAAG,IAAA,oBAAU,EAAC,MAAM,CAAC;IACrB,GAAG,IAAA,yBAAe,EAAC,MAAM,CAAC;IAC1B,GAAG,IAAA,uBAAa,EAAC,MAAM,CAAC;IACxB,GAAG,IAAA,sBAAY,EAAC,MAAM,CAAC;IACvB,GAAG,IAAA,iBAAO,EAAC,MAAM,CAAC;IAClB,GAAG,IAAA,kBAAQ,EAAC,MAAM,CAAC;IACnB,GAAG,IAAA,0BAAgB,EAAC,MAAM,CAAC;CAC5B,CAAC,CAAC;AAEH,kBAAe,UAAU,CAAC"}
package/dist/index.d.ts CHANGED
@@ -661,6 +661,21 @@ declare const api: (backendEndpoint?: string, engineEndpoint?: string) => {
661
661
  deleteCorrelationPair: (sessionId: string, pairId: string) => Promise<import("./types").ResponseSpec>;
662
662
  };
663
663
  backend: {
664
+ getCompletionConfigs: (authToken: string, purpose?: "QA" | "IE" | "DT" | undefined) => Promise<import("./types").ResponseSpec & {
665
+ configs: import("./types").CompletionConfig[];
666
+ }>;
667
+ getCompletionConfig: (authToken: string, configID: string) => Promise<import("./types").ResponseSpec & {
668
+ config: import("./types").CompletionConfig;
669
+ }>;
670
+ updateCompletionConfig: (authToken: string, config: Partial<import("./types").CompletionConfig> & {
671
+ completionConfigID: string;
672
+ }) => Promise<import("./types").ResponseSpec>;
673
+ deleteCompletionConfig: (authToken: string, configID: string) => Promise<import("./types").ResponseSpec>;
674
+ createCompletionConfig: (authToken: string, config: import("./types").CompletionConfig & {
675
+ completionConfigID?: string | undefined;
676
+ }) => Promise<import("./types").ResponseSpec & {
677
+ config: import("./types").CompletionConfig;
678
+ }>;
664
679
  analyzeUserQuery: (authToken: string, memoriID: string, params: import("./types").AnalysisParams) => Promise<import("./types").ResponseSpec & {
665
680
  status: import("./types").AnalysisStatus;
666
681
  }>;
@@ -1069,6 +1084,23 @@ declare const api: (backendEndpoint?: string, engineEndpoint?: string) => {
1069
1084
  matches: import("./types").UserQueryMatch[];
1070
1085
  }>;
1071
1086
  };
1087
+ completionConfig: {
1088
+ getCompletionConfigs: (authToken: string, purpose?: "QA" | "IE" | "DT" | undefined) => Promise<import("./types").ResponseSpec & {
1089
+ configs: import("./types").CompletionConfig[];
1090
+ }>;
1091
+ getCompletionConfig: (authToken: string, configID: string) => Promise<import("./types").ResponseSpec & {
1092
+ config: import("./types").CompletionConfig;
1093
+ }>;
1094
+ updateCompletionConfig: (authToken: string, config: Partial<import("./types").CompletionConfig> & {
1095
+ completionConfigID: string;
1096
+ }) => Promise<import("./types").ResponseSpec>;
1097
+ deleteCompletionConfig: (authToken: string, configID: string) => Promise<import("./types").ResponseSpec>;
1098
+ createCompletionConfig: (authToken: string, config: import("./types").CompletionConfig & {
1099
+ completionConfigID?: string | undefined;
1100
+ }) => Promise<import("./types").ResponseSpec & {
1101
+ config: import("./types").CompletionConfig;
1102
+ }>;
1103
+ };
1072
1104
  };
1073
1105
  };
1074
1106
  export default api;
package/dist/types.d.ts CHANGED
@@ -57,8 +57,14 @@ export declare type Memori = {
57
57
  nsfw?: boolean;
58
58
  enableCompletions?: boolean;
59
59
  completionDescription?: string;
60
- completionProvider?: '-' | 'Mistral' | 'Anthropic' | 'OpenAI';
61
- completionProviderConfig?: string;
60
+ completionConfigNameForQuestionAnswering?: string;
61
+ completionConfigForQuestionAnswering?: CompletionConfig;
62
+ completionConfigNameForImportExport?: string;
63
+ completionConfigForImportExport?: CompletionConfig;
64
+ completionConfigNameForDeepThought?: string;
65
+ completionConfigForDeepThought?: CompletionConfig;
66
+ completionTemperature?: number;
67
+ completionMaxTokens?: number;
62
68
  enableDeepThought?: boolean;
63
69
  enableBoardOfExperts?: boolean;
64
70
  disableCompletionMediaExtraction?: boolean;
@@ -83,6 +89,23 @@ export declare type Memori = {
83
89
  contentQualityIndex?: number;
84
90
  contentQualityIndexTimestamp?: string;
85
91
  };
92
+ export type CompletionConfig = {
93
+ completionConfigID: string;
94
+ configName: string;
95
+ description?: string;
96
+ provider: 'OpenAI' | 'Anthropic' | 'Mistral' | 'Azure_OpenAI';
97
+ endPoint?: string;
98
+ apiKey?: string;
99
+ model: string;
100
+ questionAnsweringEnabled?: boolean;
101
+ importExportEnabled?: boolean;
102
+ deepThoughtEnabled?: boolean;
103
+ ownerUserID?: string;
104
+ ownerUserName?: string;
105
+ ownerTenantName?: string;
106
+ visibleToTenantUsers?: boolean;
107
+ visibleToOtherUsers?: boolean;
108
+ };
86
109
  export declare type Venue = {
87
110
  placeName: string;
88
111
  latitude: number;
@@ -127,8 +150,6 @@ export declare type User = {
127
150
  lastChangeTimestamp?: string;
128
151
  referral?: string;
129
152
  couponCode?: string;
130
- defaultCompletionProvider?: '-' | 'Mistral' | 'Anthropic' | 'OpenAI';
131
- defaultCompletionProviderConfig?: string;
132
153
  paying?: boolean;
133
154
  notificationPrefs?: NotificationPrefs[];
134
155
  birthDate?: string;
@@ -221,8 +242,6 @@ export type TenantBase = {
221
242
  maxImportSizePerUser?: number;
222
243
  maxCompletions?: number;
223
244
  maxCompletionsPerUser?: number;
224
- defaultCompletionProvider?: '-' | 'Mistral' | 'Anthropic' | 'OpenAI';
225
- defaultCompletionProviderConfig?: string;
226
245
  paying?: boolean;
227
246
  enableUserMemoriCreation?: boolean;
228
247
  enableBoardOfExperts?: boolean;
@@ -0,0 +1,19 @@
1
+ import { ResponseSpec, CompletionConfig } from '../types';
2
+ declare const _default: (apiUrl: string) => {
3
+ getCompletionConfigs: (authToken: string, purpose?: 'QA' | 'IE' | 'DT') => Promise<ResponseSpec & {
4
+ configs: CompletionConfig[];
5
+ }>;
6
+ getCompletionConfig: (authToken: string, configID: string) => Promise<ResponseSpec & {
7
+ config: CompletionConfig;
8
+ }>;
9
+ updateCompletionConfig: (authToken: string, config: Partial<CompletionConfig> & {
10
+ completionConfigID: string;
11
+ }) => Promise<ResponseSpec>;
12
+ deleteCompletionConfig: (authToken: string, configID: string) => Promise<ResponseSpec>;
13
+ createCompletionConfig: (authToken: string, config: CompletionConfig & {
14
+ completionConfigID?: string;
15
+ }) => Promise<ResponseSpec & {
16
+ config: CompletionConfig;
17
+ }>;
18
+ };
19
+ export default _default;
@@ -0,0 +1,26 @@
1
+ import { apiFetcher } from '../apiFetcher';
2
+ export default (apiUrl) => ({
3
+ getCompletionConfigs: (authToken, purpose) => apiFetcher(`/CompletionConfigs/${authToken}${purpose ? `/${purpose}` : ''}`, {
4
+ apiUrl,
5
+ method: 'GET',
6
+ }),
7
+ getCompletionConfig: (authToken, configID) => apiFetcher(`/CompletionConfig/${authToken}/${configID}`, {
8
+ apiUrl,
9
+ method: 'GET',
10
+ }),
11
+ updateCompletionConfig: (authToken, config) => apiFetcher(`/CompletionConfig/${authToken}/${config.completionConfigID}`, {
12
+ apiUrl,
13
+ method: 'PATCH',
14
+ body: config,
15
+ }),
16
+ deleteCompletionConfig: (authToken, configID) => apiFetcher(`/CompletionConfig/${authToken}/${configID}`, {
17
+ apiUrl,
18
+ method: 'DELETE',
19
+ }),
20
+ createCompletionConfig: (authToken, config) => apiFetcher(`/CompletionConfig/${authToken}`, {
21
+ apiUrl,
22
+ method: 'POST',
23
+ body: config,
24
+ }),
25
+ });
26
+ //# sourceMappingURL=completionConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completionConfig.js","sourceRoot":"","sources":["../../src/backend/completionConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,eAAe,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAMlC,oBAAoB,EAAE,CAAC,SAAiB,EAAE,OAA4B,EAAE,EAAE,CACxE,UAAU,CACR,sBAAsB,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAChE;QACE,MAAM;QACN,MAAM,EAAE,KAAK;KACd,CAKF;IAOH,mBAAmB,EAAE,CAAC,SAAiB,EAAE,QAAgB,EAAE,EAAE,CAC3D,UAAU,CAAC,qBAAqB,SAAS,IAAI,QAAQ,EAAE,EAAE;QACvD,MAAM;QACN,MAAM,EAAE,KAAK;KACd,CAIA;IAQH,sBAAsB,EAAE,CACtB,SAAiB,EACjB,MAAkE,EAClE,EAAE,CACF,UAAU,CAAC,qBAAqB,SAAS,IAAI,MAAM,CAAC,kBAAkB,EAAE,EAAE;QACxE,MAAM;QACN,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,MAAM;KACb,CAA0B;IAM7B,sBAAsB,EAAE,CAAC,SAAiB,EAAE,QAAgB,EAAE,EAAE,CAC9D,UAAU,CAAC,qBAAqB,SAAS,IAAI,QAAQ,EAAE,EAAE;QACvD,MAAM;QACN,MAAM,EAAE,QAAQ;KACjB,CAA0B;IAM7B,sBAAsB,EAAE,CACtB,SAAiB,EACjB,MAA0D,EAC1D,EAAE,CACF,UAAU,CAAC,qBAAqB,SAAS,EAAE,EAAE;QAC3C,MAAM;QACN,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;KACb,CAAyD;CAC7D,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ import memori from '../index';
2
+ const client = memori('https://backend-staging.memori.ai');
3
+ describe('backend/completionConfig api', () => {
4
+ it('works on users apis', async () => {
5
+ expect(await client.backend.completionConfig.getCompletionConfig('768b9654-e781-4c3c-81fa-ae1529d1bfbe', 'be2e4a44-890b-483b-a26a-f6e122f36e2b')).not.toBeNull();
6
+ });
7
+ it('works on completionConfig apis with shorthand version', async () => {
8
+ expect(await client.backend.getCompletionConfig('768b9654-e781-4c3c-81fa-ae1529d1bfbe', 'be2e4a44-890b-483b-a26a-f6e122f36e2b')).not.toBeNull();
9
+ });
10
+ });
11
+ //# sourceMappingURL=completionConfig.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completionConfig.test.js","sourceRoot":"","sources":["../../src/backend/completionConfig.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,MAAM,MAAM,GAAG,MAAM,CAAC,mCAAmC,CAAC,CAAC;AAE3D,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,CACJ,MAAM,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,CACvD,sCAAsC,EACtC,sCAAsC,CACvC,CACF,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,CACJ,MAAM,MAAM,CAAC,OAAO,CAAC,mBAAmB,CACtC,sCAAsC,EACtC,sCAAsC,CACvC,CACF,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/esm/backend.d.ts CHANGED
@@ -1,4 +1,19 @@
1
1
  declare const backendAPI: (apiUrl: string) => {
2
+ getCompletionConfigs: (authToken: string, purpose?: "QA" | "IE" | "DT" | undefined) => Promise<import("./types").ResponseSpec & {
3
+ configs: import("./types").CompletionConfig[];
4
+ }>;
5
+ getCompletionConfig: (authToken: string, configID: string) => Promise<import("./types").ResponseSpec & {
6
+ config: import("./types").CompletionConfig;
7
+ }>;
8
+ updateCompletionConfig: (authToken: string, config: Partial<import("./types").CompletionConfig> & {
9
+ completionConfigID: string;
10
+ }) => Promise<import("./types").ResponseSpec>;
11
+ deleteCompletionConfig: (authToken: string, configID: string) => Promise<import("./types").ResponseSpec>;
12
+ createCompletionConfig: (authToken: string, config: import("./types").CompletionConfig & {
13
+ completionConfigID?: string | undefined;
14
+ }) => Promise<import("./types").ResponseSpec & {
15
+ config: import("./types").CompletionConfig;
16
+ }>;
2
17
  analyzeUserQuery: (authToken: string, memoriID: string, params: import("./types").AnalysisParams) => Promise<import("./types").ResponseSpec & {
3
18
  status: import("./types").AnalysisStatus;
4
19
  }>;
@@ -407,5 +422,22 @@ declare const backendAPI: (apiUrl: string) => {
407
422
  matches: import("./types").UserQueryMatch[];
408
423
  }>;
409
424
  };
425
+ completionConfig: {
426
+ getCompletionConfigs: (authToken: string, purpose?: "QA" | "IE" | "DT" | undefined) => Promise<import("./types").ResponseSpec & {
427
+ configs: import("./types").CompletionConfig[];
428
+ }>;
429
+ getCompletionConfig: (authToken: string, configID: string) => Promise<import("./types").ResponseSpec & {
430
+ config: import("./types").CompletionConfig;
431
+ }>;
432
+ updateCompletionConfig: (authToken: string, config: Partial<import("./types").CompletionConfig> & {
433
+ completionConfigID: string;
434
+ }) => Promise<import("./types").ResponseSpec>;
435
+ deleteCompletionConfig: (authToken: string, configID: string) => Promise<import("./types").ResponseSpec>;
436
+ createCompletionConfig: (authToken: string, config: import("./types").CompletionConfig & {
437
+ completionConfigID?: string | undefined;
438
+ }) => Promise<import("./types").ResponseSpec & {
439
+ config: import("./types").CompletionConfig;
440
+ }>;
441
+ };
410
442
  };
411
443
  export default backendAPI;
package/esm/backend.js CHANGED
@@ -8,6 +8,7 @@ import notifications from './backend/notifications';
8
8
  import importExport from './backend/importExport';
9
9
  import process from './backend/process';
10
10
  import analysis from './backend/analysis';
11
+ import completionConfig from './backend/completionConfig';
11
12
  const backendAPI = (apiUrl) => ({
12
13
  asset: asset(apiUrl),
13
14
  memori: memori(apiUrl),
@@ -19,6 +20,7 @@ const backendAPI = (apiUrl) => ({
19
20
  importExport: importExport(apiUrl),
20
21
  process: process(apiUrl),
21
22
  analysis: analysis(apiUrl),
23
+ completionConfig: completionConfig(apiUrl),
22
24
  ...asset(apiUrl),
23
25
  ...memori(apiUrl),
24
26
  ...user(apiUrl),
@@ -29,6 +31,7 @@ const backendAPI = (apiUrl) => ({
29
31
  ...importExport(apiUrl),
30
32
  ...process(apiUrl),
31
33
  ...analysis(apiUrl),
34
+ ...completionConfig(apiUrl),
32
35
  });
33
36
  export default backendAPI;
34
37
  //# sourceMappingURL=backend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAE1C,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC;IAC9B,eAAe,EAAE,eAAe,CAAC,MAAM,CAAC;IACxC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC;IACpC,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;IAC1B,GAAG,KAAK,CAAC,MAAM,CAAC;IAChB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjB,GAAG,IAAI,CAAC,MAAM,CAAC;IACf,GAAG,WAAW,CAAC,MAAM,CAAC;IACtB,GAAG,UAAU,CAAC,MAAM,CAAC;IACrB,GAAG,eAAe,CAAC,MAAM,CAAC;IAC1B,GAAG,aAAa,CAAC,MAAM,CAAC;IACxB,GAAG,YAAY,CAAC,MAAM,CAAC;IACvB,GAAG,OAAO,CAAC,MAAM,CAAC;IAClB,GAAG,QAAQ,CAAC,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAE1D,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC;IAC9B,eAAe,EAAE,eAAe,CAAC,MAAM,CAAC;IACxC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC;IACpC,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;IAC1B,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,CAAC;IAC1C,GAAG,KAAK,CAAC,MAAM,CAAC;IAChB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjB,GAAG,IAAI,CAAC,MAAM,CAAC;IACf,GAAG,WAAW,CAAC,MAAM,CAAC;IACtB,GAAG,UAAU,CAAC,MAAM,CAAC;IACrB,GAAG,eAAe,CAAC,MAAM,CAAC;IAC1B,GAAG,aAAa,CAAC,MAAM,CAAC;IACxB,GAAG,YAAY,CAAC,MAAM,CAAC;IACvB,GAAG,OAAO,CAAC,MAAM,CAAC;IAClB,GAAG,QAAQ,CAAC,MAAM,CAAC;IACnB,GAAG,gBAAgB,CAAC,MAAM,CAAC;CAC5B,CAAC,CAAC;AAEH,eAAe,UAAU,CAAC"}
package/esm/index.d.ts CHANGED
@@ -661,6 +661,21 @@ declare const api: (backendEndpoint?: string, engineEndpoint?: string) => {
661
661
  deleteCorrelationPair: (sessionId: string, pairId: string) => Promise<import("./types").ResponseSpec>;
662
662
  };
663
663
  backend: {
664
+ getCompletionConfigs: (authToken: string, purpose?: "QA" | "IE" | "DT" | undefined) => Promise<import("./types").ResponseSpec & {
665
+ configs: import("./types").CompletionConfig[];
666
+ }>;
667
+ getCompletionConfig: (authToken: string, configID: string) => Promise<import("./types").ResponseSpec & {
668
+ config: import("./types").CompletionConfig;
669
+ }>;
670
+ updateCompletionConfig: (authToken: string, config: Partial<import("./types").CompletionConfig> & {
671
+ completionConfigID: string;
672
+ }) => Promise<import("./types").ResponseSpec>;
673
+ deleteCompletionConfig: (authToken: string, configID: string) => Promise<import("./types").ResponseSpec>;
674
+ createCompletionConfig: (authToken: string, config: import("./types").CompletionConfig & {
675
+ completionConfigID?: string | undefined;
676
+ }) => Promise<import("./types").ResponseSpec & {
677
+ config: import("./types").CompletionConfig;
678
+ }>;
664
679
  analyzeUserQuery: (authToken: string, memoriID: string, params: import("./types").AnalysisParams) => Promise<import("./types").ResponseSpec & {
665
680
  status: import("./types").AnalysisStatus;
666
681
  }>;
@@ -1069,6 +1084,23 @@ declare const api: (backendEndpoint?: string, engineEndpoint?: string) => {
1069
1084
  matches: import("./types").UserQueryMatch[];
1070
1085
  }>;
1071
1086
  };
1087
+ completionConfig: {
1088
+ getCompletionConfigs: (authToken: string, purpose?: "QA" | "IE" | "DT" | undefined) => Promise<import("./types").ResponseSpec & {
1089
+ configs: import("./types").CompletionConfig[];
1090
+ }>;
1091
+ getCompletionConfig: (authToken: string, configID: string) => Promise<import("./types").ResponseSpec & {
1092
+ config: import("./types").CompletionConfig;
1093
+ }>;
1094
+ updateCompletionConfig: (authToken: string, config: Partial<import("./types").CompletionConfig> & {
1095
+ completionConfigID: string;
1096
+ }) => Promise<import("./types").ResponseSpec>;
1097
+ deleteCompletionConfig: (authToken: string, configID: string) => Promise<import("./types").ResponseSpec>;
1098
+ createCompletionConfig: (authToken: string, config: import("./types").CompletionConfig & {
1099
+ completionConfigID?: string | undefined;
1100
+ }) => Promise<import("./types").ResponseSpec & {
1101
+ config: import("./types").CompletionConfig;
1102
+ }>;
1103
+ };
1072
1104
  };
1073
1105
  };
1074
1106
  export default api;
package/esm/types.d.ts CHANGED
@@ -57,8 +57,14 @@ export declare type Memori = {
57
57
  nsfw?: boolean;
58
58
  enableCompletions?: boolean;
59
59
  completionDescription?: string;
60
- completionProvider?: '-' | 'Mistral' | 'Anthropic' | 'OpenAI';
61
- completionProviderConfig?: string;
60
+ completionConfigNameForQuestionAnswering?: string;
61
+ completionConfigForQuestionAnswering?: CompletionConfig;
62
+ completionConfigNameForImportExport?: string;
63
+ completionConfigForImportExport?: CompletionConfig;
64
+ completionConfigNameForDeepThought?: string;
65
+ completionConfigForDeepThought?: CompletionConfig;
66
+ completionTemperature?: number;
67
+ completionMaxTokens?: number;
62
68
  enableDeepThought?: boolean;
63
69
  enableBoardOfExperts?: boolean;
64
70
  disableCompletionMediaExtraction?: boolean;
@@ -83,6 +89,23 @@ export declare type Memori = {
83
89
  contentQualityIndex?: number;
84
90
  contentQualityIndexTimestamp?: string;
85
91
  };
92
+ export type CompletionConfig = {
93
+ completionConfigID: string;
94
+ configName: string;
95
+ description?: string;
96
+ provider: 'OpenAI' | 'Anthropic' | 'Mistral' | 'Azure_OpenAI';
97
+ endPoint?: string;
98
+ apiKey?: string;
99
+ model: string;
100
+ questionAnsweringEnabled?: boolean;
101
+ importExportEnabled?: boolean;
102
+ deepThoughtEnabled?: boolean;
103
+ ownerUserID?: string;
104
+ ownerUserName?: string;
105
+ ownerTenantName?: string;
106
+ visibleToTenantUsers?: boolean;
107
+ visibleToOtherUsers?: boolean;
108
+ };
86
109
  export declare type Venue = {
87
110
  placeName: string;
88
111
  latitude: number;
@@ -127,8 +150,6 @@ export declare type User = {
127
150
  lastChangeTimestamp?: string;
128
151
  referral?: string;
129
152
  couponCode?: string;
130
- defaultCompletionProvider?: '-' | 'Mistral' | 'Anthropic' | 'OpenAI';
131
- defaultCompletionProviderConfig?: string;
132
153
  paying?: boolean;
133
154
  notificationPrefs?: NotificationPrefs[];
134
155
  birthDate?: string;
@@ -221,8 +242,6 @@ export type TenantBase = {
221
242
  maxImportSizePerUser?: number;
222
243
  maxCompletions?: number;
223
244
  maxCompletionsPerUser?: number;
224
- defaultCompletionProvider?: '-' | 'Mistral' | 'Anthropic' | 'OpenAI';
225
- defaultCompletionProviderConfig?: string;
226
245
  paying?: boolean;
227
246
  enableUserMemoriCreation?: boolean;
228
247
  enableBoardOfExperts?: boolean;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "5.0.1",
2
+ "version": "5.1.0",
3
3
  "name": "@memori.ai/memori-api-client",
4
4
  "description": "React library to integrate a Memori in your app or website",
5
5
  "license": "Apache-2.0",
@@ -0,0 +1,23 @@
1
+ import memori from '../index';
2
+
3
+ const client = memori('https://backend-staging.memori.ai');
4
+
5
+ describe('backend/completionConfig api', () => {
6
+ it('works on users apis', async () => {
7
+ expect(
8
+ await client.backend.completionConfig.getCompletionConfig(
9
+ '768b9654-e781-4c3c-81fa-ae1529d1bfbe',
10
+ 'be2e4a44-890b-483b-a26a-f6e122f36e2b'
11
+ )
12
+ ).not.toBeNull();
13
+ });
14
+
15
+ it('works on completionConfig apis with shorthand version', async () => {
16
+ expect(
17
+ await client.backend.getCompletionConfig(
18
+ '768b9654-e781-4c3c-81fa-ae1529d1bfbe',
19
+ 'be2e4a44-890b-483b-a26a-f6e122f36e2b'
20
+ )
21
+ ).not.toBeNull();
22
+ });
23
+ });
@@ -0,0 +1,77 @@
1
+ import { ResponseSpec, CompletionConfig } from '../types';
2
+ import { apiFetcher } from '../apiFetcher';
3
+
4
+ export default (apiUrl: string) => ({
5
+ /**
6
+ * Gets a list of Completion Config objects allowed for the user.
7
+ * @param {string} authToken - The login token
8
+ * @param {string=} purpose - Optional filter on Completion Config purpose ("QA" for Question Answering, "IE" for Import/Export, "DT" for Deep Thought).
9
+ */
10
+ getCompletionConfigs: (authToken: string, purpose?: 'QA' | 'IE' | 'DT') =>
11
+ apiFetcher(
12
+ `/CompletionConfigs/${authToken}${purpose ? `/${purpose}` : ''}`,
13
+ {
14
+ apiUrl,
15
+ method: 'GET',
16
+ }
17
+ ) as Promise<
18
+ ResponseSpec & {
19
+ configs: CompletionConfig[];
20
+ }
21
+ >,
22
+
23
+ /**
24
+ * Gets the details of a Completion Config of a specific object
25
+ * @param {string} authToken - The login token
26
+ * @param {string} configID - The Completion Config object ID
27
+ */
28
+ getCompletionConfig: (authToken: string, configID: string) =>
29
+ apiFetcher(`/CompletionConfig/${authToken}/${configID}`, {
30
+ apiUrl,
31
+ method: 'GET',
32
+ }) as Promise<
33
+ ResponseSpec & {
34
+ config: CompletionConfig;
35
+ }
36
+ >,
37
+
38
+ /**
39
+ * Updates an existing Completion Config object.
40
+ * A user can only update a Completion Config object owned by him, unless it has administrative rights.
41
+ * @param {string} authToken - The login token
42
+ * @param {CompletionConfig} config - The updated Completion Config object
43
+ */
44
+ updateCompletionConfig: (
45
+ authToken: string,
46
+ config: Partial<CompletionConfig> & { completionConfigID: string }
47
+ ) =>
48
+ apiFetcher(`/CompletionConfig/${authToken}/${config.completionConfigID}`, {
49
+ apiUrl,
50
+ method: 'PATCH',
51
+ body: config,
52
+ }) as Promise<ResponseSpec>,
53
+
54
+ /**
55
+ * Deletes an existing Completion Config object.
56
+ * A user can only delete a Completion Config object owned by him, unless it has administrative rights.
57
+ */
58
+ deleteCompletionConfig: (authToken: string, configID: string) =>
59
+ apiFetcher(`/CompletionConfig/${authToken}/${configID}`, {
60
+ apiUrl,
61
+ method: 'DELETE',
62
+ }) as Promise<ResponseSpec>,
63
+
64
+ /**
65
+ * Creates a new Completion Config object.
66
+ * The created Completion Config object is owned by the currently logged-in user.
67
+ */
68
+ createCompletionConfig: (
69
+ authToken: string,
70
+ config: CompletionConfig & { completionConfigID?: string }
71
+ ) =>
72
+ apiFetcher(`/CompletionConfig/${authToken}`, {
73
+ apiUrl,
74
+ method: 'POST',
75
+ body: config,
76
+ }) as Promise<ResponseSpec & { config: CompletionConfig }>,
77
+ });
package/src/backend.ts CHANGED
@@ -8,6 +8,7 @@ import notifications from './backend/notifications';
8
8
  import importExport from './backend/importExport';
9
9
  import process from './backend/process';
10
10
  import analysis from './backend/analysis';
11
+ import completionConfig from './backend/completionConfig';
11
12
 
12
13
  const backendAPI = (apiUrl: string) => ({
13
14
  asset: asset(apiUrl),
@@ -20,6 +21,7 @@ const backendAPI = (apiUrl: string) => ({
20
21
  importExport: importExport(apiUrl),
21
22
  process: process(apiUrl),
22
23
  analysis: analysis(apiUrl),
24
+ completionConfig: completionConfig(apiUrl),
23
25
  ...asset(apiUrl),
24
26
  ...memori(apiUrl),
25
27
  ...user(apiUrl),
@@ -30,6 +32,7 @@ const backendAPI = (apiUrl: string) => ({
30
32
  ...importExport(apiUrl),
31
33
  ...process(apiUrl),
32
34
  ...analysis(apiUrl),
35
+ ...completionConfig(apiUrl),
33
36
  });
34
37
 
35
38
  export default backendAPI;
package/src/types.ts CHANGED
@@ -68,17 +68,14 @@ export declare type Memori = {
68
68
  nsfw?: boolean;
69
69
  enableCompletions?: boolean;
70
70
  completionDescription?: string;
71
- completionProvider?: '-' | 'Mistral' | 'Anthropic' | 'OpenAI';
72
- /**
73
- * Format: chiave1:valore1|chiave2:valore2|...|chiaveN:valoreN
74
- *
75
- * OpenAI accetta i seguenti:
76
- * - APIKey è l'API key
77
- * - Model è il nome del modello: gpt-3.5-turbo, gpt-4 ecc.
78
- * - MaxTokens è il numero massimo di token in output
79
- * - Temperature è la temperature
80
- */
81
- completionProviderConfig?: string;
71
+ completionConfigNameForQuestionAnswering?: string;
72
+ completionConfigForQuestionAnswering?: CompletionConfig;
73
+ completionConfigNameForImportExport?: string;
74
+ completionConfigForImportExport?: CompletionConfig;
75
+ completionConfigNameForDeepThought?: string;
76
+ completionConfigForDeepThought?: CompletionConfig;
77
+ completionTemperature?: number;
78
+ completionMaxTokens?: number;
82
79
  enableDeepThought?: boolean;
83
80
  enableBoardOfExperts?: boolean;
84
81
  disableCompletionMediaExtraction?: boolean;
@@ -118,6 +115,93 @@ export declare type Memori = {
118
115
  contentQualityIndexTimestamp?: string;
119
116
  };
120
117
 
118
+ export type CompletionConfig = {
119
+ /**
120
+ * @type {string}
121
+ * Completion Config object ID.
122
+ */
123
+ completionConfigID: string;
124
+ /**
125
+ * @type {string}
126
+ * Completion Config unique name.
127
+ */
128
+ configName: string;
129
+ /**
130
+ * @type {string=}
131
+ * Optional Completion Config description.
132
+ */
133
+ description?: string;
134
+ /**
135
+ * @type {string}
136
+ * Name of the Completion Provider. Currently possible values are:
137
+ * - OpenAI
138
+ * - Anthropic
139
+ * - Mistral
140
+ * - Azure_OpenAI
141
+ */
142
+ provider: 'OpenAI' | 'Anthropic' | 'Mistral' | 'Azure_OpenAI';
143
+ /**
144
+ * @type {string=}
145
+ * URL of the Completion Provider API end-point. If not specified, the default end-point for the provider is used.
146
+ */
147
+ endPoint?: string;
148
+ /**
149
+ * @type {string=}
150
+ * API key of the Completion Provider API end-point.
151
+ */
152
+ apiKey?: string;
153
+ /**
154
+ * @type {string}
155
+ * Name of the Completion Model. This is provider-specific, and for some providers (e.g. Azure) it is also part of the end-point URL.
156
+ */
157
+ model: string;
158
+ /**
159
+ * @type {boolean=}
160
+ * If True this configuration can be used for Question & Answer operations.
161
+ * If not specified False is assumed. At least one use must be enabled.
162
+ */
163
+ questionAnsweringEnabled?: boolean;
164
+ /**
165
+ * @type {boolean=}
166
+ * If True this configuration can be used for Import/Export operations.
167
+ * If not specified False is assumed. At least one use must be enabled.
168
+ */
169
+ importExportEnabled?: boolean;
170
+ /**
171
+ * @type {boolean=}
172
+ * If True this configuration can be used for Deep Thought operations.
173
+ * If not specified False is assumed. At least one use must be enabled.
174
+ */
175
+ deepThoughtEnabled?: boolean;
176
+ /**
177
+ * @type {string=}
178
+ * ID of the User this Config belongs to. Returned during Get operations if the user is the owner or an administrator.
179
+ */
180
+ ownerUserID?: string;
181
+ /**
182
+ * @type {string=}
183
+ * Name of the User this Config belongs to.
184
+ */
185
+ ownerUserName?: string;
186
+ /**
187
+ * @type {string=}
188
+ * Name of the Tenant this Config belongs to.
189
+ */
190
+ ownerTenantName?: string;
191
+ /**
192
+ * @type {boolean=}
193
+ * If True this configuration can be used by other users of the owner's Tenant.
194
+ * If not specified False is assumed.
195
+ */
196
+ visibleToTenantUsers?: boolean;
197
+ /**
198
+ * @type {boolean=}
199
+ * If True this configuration can be used by users of other Tenants.
200
+ * If not specified False is assumed.
201
+ */
202
+ visibleToOtherUsers?: boolean;
203
+ };
204
+
121
205
  export declare type Venue = {
122
206
  placeName: string;
123
207
  latitude: number;
@@ -184,17 +268,6 @@ export declare type User = {
184
268
  lastChangeTimestamp?: string;
185
269
  referral?: string;
186
270
  couponCode?: string;
187
- defaultCompletionProvider?: '-' | 'Mistral' | 'Anthropic' | 'OpenAI';
188
- /**
189
- * Format: chiave1:valore1|chiave2:valore2|...|chiaveN:valoreN
190
- *
191
- * OpenAI accetta i seguenti:
192
- * - APIKey è l'API key
193
- * - Model è il nome del modello: gpt-3.5-turbo, gpt-4 ecc.
194
- * - MaxTokens è il numero massimo di token in output
195
- * - Temperature è la temperature
196
- */
197
- defaultCompletionProviderConfig?: string;
198
271
  paying?: boolean;
199
272
  notificationPrefs?: NotificationPrefs[];
200
273
  birthDate?: string;
@@ -312,17 +385,6 @@ export type TenantBase = {
312
385
  maxImportSizePerUser?: number;
313
386
  maxCompletions?: number;
314
387
  maxCompletionsPerUser?: number;
315
- defaultCompletionProvider?: '-' | 'Mistral' | 'Anthropic' | 'OpenAI';
316
- /**
317
- * Format: chiave1:valore1|chiave2:valore2|...|chiaveN:valoreN
318
- *
319
- * OpenAI accetta i seguenti:
320
- * - APIKey è l'API key
321
- * - Model è il nome del modello: gpt-3.5-turbo, gpt-4 ecc.
322
- * - MaxTokens è il numero massimo di token in output
323
- * - Temperature è la temperature
324
- */
325
- defaultCompletionProviderConfig?: string;
326
388
  paying?: boolean;
327
389
  enableUserMemoriCreation?: boolean;
328
390
  enableBoardOfExperts?: boolean;