@memberjunction/ai-vector-sync 0.9.7

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.
@@ -0,0 +1,13 @@
1
+ export declare const openAIAPIKey: string;
2
+ export declare const pineconeHost: string;
3
+ export declare const pineconeAPIKey: string;
4
+ export declare const pineconeDefaultIndex: string;
5
+ export declare const dbHost: string;
6
+ export declare const dbPort: number;
7
+ export declare const dbUsername: string;
8
+ export declare const dbPassword: string;
9
+ export declare const dbDatabase: string;
10
+ export declare const serverPort: number;
11
+ export declare const currentUserEmail: string;
12
+ export declare const mistralAPIKey: string;
13
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,EAAE,MAAmC,CAAC;AAC/D,eAAO,MAAM,YAAY,EAAE,MAAkC,CAAC;AAC9D,eAAO,MAAM,cAAc,EAAE,MAAqC,CAAC;AACnE,eAAO,MAAM,oBAAoB,EAAE,MAA2C,CAAC;AAE/E,eAAO,MAAM,MAAM,QAAsB,CAAC;AAC1C,eAAO,MAAM,MAAM,QAAsC,CAAC;AAC1D,eAAO,MAAM,UAAU,QAA0B,CAAC;AAClD,eAAO,MAAM,UAAU,QAA0B,CAAC;AAClD,eAAO,MAAM,UAAU,QAA0B,CAAC;AAClD,eAAO,MAAM,UAAU,QAAmC,CAAC;AAE3D,eAAO,MAAM,gBAAgB,QAAiC,CAAC;AAE/D,eAAO,MAAM,aAAa,QAA8B,CAAC"}
package/dist/config.js ADDED
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.mistralAPIKey = exports.currentUserEmail = exports.serverPort = exports.dbDatabase = exports.dbPassword = exports.dbUsername = exports.dbPort = exports.dbHost = exports.pineconeDefaultIndex = exports.pineconeAPIKey = exports.pineconeHost = exports.openAIAPIKey = void 0;
7
+ const dotenv_1 = __importDefault(require("dotenv"));
8
+ dotenv_1.default.config();
9
+ exports.openAIAPIKey = process.env.OPENAI_API_KEY;
10
+ exports.pineconeHost = process.env.PINECONE_HOST;
11
+ exports.pineconeAPIKey = process.env.PINECONE_API_KEY;
12
+ exports.pineconeDefaultIndex = process.env.PINECONE_DEFAULT_INDEX;
13
+ exports.dbHost = process.env.DB_HOST;
14
+ exports.dbPort = Number(process.env.DB_PORT) || 1433;
15
+ exports.dbUsername = process.env.DB_USERNAME;
16
+ exports.dbPassword = process.env.DB_PASSWORD;
17
+ exports.dbDatabase = process.env.DB_DATABASE;
18
+ exports.serverPort = Number(process.env.PORT) || 8000;
19
+ exports.currentUserEmail = process.env.CURRENT_USER_EMAIL;
20
+ exports.mistralAPIKey = process.env.MISTRAL_API_KEY;
21
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEH,QAAA,YAAY,GAAW,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AAClD,QAAA,YAAY,GAAW,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;AACjD,QAAA,cAAc,GAAW,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AACtD,QAAA,oBAAoB,GAAW,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;AAElE,QAAA,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;AAC7B,QAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;AAC7C,QAAA,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;AACrC,QAAA,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;AACrC,QAAA,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;AACrC,QAAA,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAE9C,QAAA,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAElD,QAAA,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ import * as mssql from 'mssql';
2
+ declare const SQLConnectionPool: mssql.ConnectionPool;
3
+ export default SQLConnectionPool;
4
+ //# sourceMappingURL=db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/db/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,QAAA,MAAM,iBAAiB,sBAAmC,CAAC;AAE3D,eAAe,iBAAiB,CAAC"}
package/dist/db/db.js ADDED
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const mssql = __importStar(require("mssql"));
27
+ const config_1 = require("../config");
28
+ const config = {
29
+ user: config_1.dbUsername,
30
+ password: config_1.dbPassword,
31
+ server: config_1.dbHost,
32
+ port: config_1.dbPort,
33
+ database: config_1.dbDatabase,
34
+ options: {
35
+ encrypt: true,
36
+ },
37
+ };
38
+ const SQLConnectionPool = new mssql.ConnectionPool(config);
39
+ exports.default = SQLConnectionPool;
40
+ //# sourceMappingURL=db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db/db.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,sCAA+E;AAE/E,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,mBAAU;IAChB,QAAQ,EAAE,mBAAU;IACpB,MAAM,EAAE,eAAM;IACd,IAAI,EAAE,eAAM;IACZ,QAAQ,EAAE,mBAAU;IACpB,OAAO,EAAE;QACP,OAAO,EAAE,IAAI;KACd;CACF,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAE3D,kBAAe,iBAAiB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { DataSource } from 'typeorm';
2
+ declare const AppDataSource: DataSource;
3
+ export default AppDataSource;
4
+ //# sourceMappingURL=dbAI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dbAI.d.ts","sourceRoot":"","sources":["../../src/db/dbAI.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAerC,QAAA,MAAM,aAAa,YAAsB,CAAA;AAEzC,eAAe,aAAa,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const config_1 = require("../config");
4
+ const typeorm_1 = require("typeorm");
5
+ const orm = {
6
+ type: 'mssql',
7
+ logging: false,
8
+ host: config_1.dbHost,
9
+ port: config_1.dbPort,
10
+ username: config_1.dbUsername,
11
+ password: config_1.dbPassword,
12
+ database: config_1.dbDatabase,
13
+ synchronize: false,
14
+ requestTimeout: 45000
15
+ };
16
+ const AppDataSource = new typeorm_1.DataSource(orm);
17
+ exports.default = AppDataSource;
18
+ //# sourceMappingURL=dbAI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dbAI.js","sourceRoot":"","sources":["../../src/db/dbAI.ts"],"names":[],"mappings":";;AACA,sCAA+E;AAC/E,qCAAqC;AAGrC,MAAM,GAAG,GAA+B;IACtC,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,eAAM;IACZ,IAAI,EAAE,eAAM;IACZ,QAAQ,EAAE,mBAAU;IACpB,QAAQ,EAAE,mBAAU;IACpB,QAAQ,EAAE,mBAAU;IACpB,WAAW,EAAE,KAAK;IAClB,cAAc,EAAE,KAAK;CACtB,CAAC;AAEF,MAAM,aAAa,GAAG,IAAI,oBAAU,CAAC,GAAG,CAAC,CAAA;AAEzC,kBAAe,aAAa,CAAC"}
@@ -0,0 +1,24 @@
1
+ export type EntityDocument = {
2
+ ID: number;
3
+ Name: string;
4
+ EntityID: number;
5
+ TypeID: number;
6
+ Status: string;
7
+ Template: string;
8
+ CreatedAt: Date;
9
+ UpdatedAt: Date;
10
+ Type: string;
11
+ VectorIndexID: number;
12
+ VectorID: number;
13
+ };
14
+ export type EntitiyRecordDocument = {
15
+ ID: number;
16
+ EntityID: number;
17
+ RecordID: number;
18
+ DocumentText: string;
19
+ VectorIndexID: number;
20
+ VectorID: number;
21
+ VectorJSON: string;
22
+ EntitiyRecordUpdatedAt: Date;
23
+ };
24
+ //# sourceMappingURL=entity.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.types.d.ts","sourceRoot":"","sources":["../../src/generic/entity.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,IAAI,CAAA;CAC/B,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=entity.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.types.js","sourceRoot":"","sources":["../../src/generic/entity.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { RunViewParams } from "@memberjunction/core";
2
+ export type EntitySyncConfig = {
3
+ EntityDocumentID: number;
4
+ Interval: number;
5
+ RunViewParams: RunViewParams;
6
+ IncludeInSync: boolean;
7
+ LastRunDate: string;
8
+ VectorIndexID: number;
9
+ VectorID: number;
10
+ };
11
+ //# sourceMappingURL=entitySyncConfig.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entitySyncConfig.types.d.ts","sourceRoot":"","sources":["../../src/generic/entitySyncConfig.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,MAAM,gBAAgB,GAAG;IAI3B,gBAAgB,EAAE,MAAM,CAAC;IAIzB,QAAQ,EAAE,MAAM,CAAC;IAMjB,aAAa,EAAE,aAAa,CAAC;IAI7B,aAAa,EAAE,OAAO,CAAC;IAMvB,WAAW,EAAE,MAAM,CAAC;IAIpB,aAAa,EAAE,MAAM,CAAC;IAItB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=entitySyncConfig.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entitySyncConfig.types.js","sourceRoot":"","sources":["../../src/generic/entitySyncConfig.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export * from './generic/entity.types';
2
+ export * from './models/vectorSyncBase';
3
+ export * from './generic/entitySyncConfig.types';
4
+ export * from './models/entityVectorSync';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./generic/entity.types"), exports);
18
+ __exportStar(require("./models/vectorSyncBase"), exports);
19
+ __exportStar(require("./generic/entitySyncConfig.types"), exports);
20
+ __exportStar(require("./models/entityVectorSync"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,0DAAwC;AACxC,mEAAiD;AACjD,4DAA0C"}
@@ -0,0 +1,51 @@
1
+ import { EntitySyncConfig } from '../generic/entitySyncConfig.types';
2
+ import { SQLServerDataProvider } from "@memberjunction/sqlserver-dataprovider";
3
+ import { IMetadataProvider, RunView, UserInfo } from "@memberjunction/core";
4
+ import { Request } from 'mssql';
5
+ import { Embeddings } from '@memberjunction/ai';
6
+ import { VectorDBBase } from '@memberjunction/ai-vectordb';
7
+ import { AIModelEntity, VectorDatabaseEntity } from '@memberjunction/core-entities';
8
+ export declare class EntityVectorSyncer {
9
+ _provider: SQLServerDataProvider;
10
+ _userInfo: UserInfo;
11
+ _runView: RunView;
12
+ _startTime: Date;
13
+ _endTime: Date;
14
+ _vectorDB: VectorDBBase;
15
+ _embedding: Embeddings;
16
+ protected GetAIModel(): AIModelEntity;
17
+ protected GetVectorDatabase(): VectorDatabaseEntity;
18
+ syncEntityDocuments(): Promise<void>;
19
+ getJSONData: () => EntitySyncConfig[];
20
+ setupDBConnection(): Promise<void>;
21
+ setupAndGetSQLServerProvider: () => Promise<SQLServerDataProvider>;
22
+ getDefaultUser(provider: IMetadataProvider): UserInfo;
23
+ private timer;
24
+ syncEntityDocument(config: EntitySyncConfig): Promise<any>;
25
+ getEntityDocument(entityDocumentID: number): Promise<EntityDocument>;
26
+ getRelatedEntityRecords(entityDocument: EntityDocument): Promise<any>;
27
+ private getEntityRecordDocument;
28
+ private upsertEntityRecordDocument;
29
+ private executeStoredProcedure;
30
+ mapObjectPropertiesToRequest: (obj: any, r: Request) => void;
31
+ private parseStringTemplate;
32
+ private start;
33
+ private end;
34
+ private timeDiff;
35
+ private saveJSONData;
36
+ }
37
+ type EntityDocument = {
38
+ ID: number;
39
+ Name: string;
40
+ EntityID: number;
41
+ TypeID: number;
42
+ Status: string;
43
+ Template: string;
44
+ CreatedAt: Date;
45
+ UpdatedAt: Date;
46
+ Type: string;
47
+ VectorIndexID: number;
48
+ VectorID: number;
49
+ };
50
+ export {};
51
+ //# sourceMappingURL=entityVectorSync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entityVectorSync.d.ts","sourceRoot":"","sources":["../../src/models/entityVectorSync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAqD,MAAM,wCAAwC,CAAC;AAElI,OAAO,EAAE,iBAAiB,EAAa,OAAO,EAAgC,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErH,OAAO,EAAoB,OAAO,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,UAAU,EAAc,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAiB,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGpF,qBAAa,kBAAkB;IAE3B,SAAS,EAAE,qBAAqB,CAAC;IACjC,SAAS,EAAE,QAAQ,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAElB,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;IAEf,SAAS,EAAE,YAAY,CAAC;IACxB,UAAU,EAAE,UAAU,CAAC;IAMvB,SAAS,CAAC,UAAU,IAAI,aAAa;IASrC,SAAS,CAAC,iBAAiB,IAAI,oBAAoB;IAStC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC1C,WAAW,QAAO,gBAAgB,EAAE,CAG1C;IAEY,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOxC,4BAA4B,QAAa,QAAQ,qBAAqB,CAAC,CAG7E;IAEM,cAAc,CAAC,QAAQ,EAAE,iBAAiB,GAAG,QAAQ;YAU9C,KAAK;IAIN,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IA2G1D,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAiBpE,uBAAuB,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC;YAiBpE,uBAAuB;YAkBvB,0BAA0B;YAqB1B,sBAAsB;IAkBpC,4BAA4B,QAAS,GAAG,KAAK,OAAO,UAOlD;IAEF,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,YAAY;CAGvB;AAED,KAAK,cAAc,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA"}
@@ -0,0 +1,292 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.EntityVectorSyncer = void 0;
30
+ const fs = __importStar(require("fs"));
31
+ const db_1 = __importDefault(require("../db/db"));
32
+ const sqlserver_dataprovider_1 = require("@memberjunction/sqlserver-dataprovider");
33
+ const dbAI_1 = __importDefault(require("../db/dbAI"));
34
+ const core_1 = require("@memberjunction/core");
35
+ const config_1 = require("../config");
36
+ const ai_1 = require("@memberjunction/ai");
37
+ const ai_vectordb_1 = require("@memberjunction/ai-vectordb");
38
+ const global_1 = require("@memberjunction/global");
39
+ const aiengine_1 = require("@memberjunction/aiengine");
40
+ class EntityVectorSyncer {
41
+ _provider;
42
+ _userInfo;
43
+ _runView;
44
+ _startTime;
45
+ _endTime;
46
+ _vectorDB;
47
+ _embedding;
48
+ GetAIModel() {
49
+ const model = aiengine_1.AIEngine.Models.find(m => m.AIModelTypeID === 3);
50
+ return model;
51
+ }
52
+ GetVectorDatabase() {
53
+ if (aiengine_1.AIEngine.VectorDatabases.length > 0) {
54
+ return aiengine_1.AIEngine.VectorDatabases[0];
55
+ }
56
+ else {
57
+ throw new Error("No Vector Databases found");
58
+ }
59
+ }
60
+ async syncEntityDocuments() {
61
+ this.start();
62
+ await this.setupDBConnection();
63
+ console.log("Connected to SQL Server");
64
+ console.log("Syncing entities...");
65
+ const aiModel = this.GetAIModel();
66
+ const vectorDB = this.GetVectorDatabase();
67
+ const embeddingAPIKey = (0, ai_1.GetAIAPIKey)(aiModel.DriverClass);
68
+ const vectorDBAPIKey = (0, ai_1.GetAIAPIKey)(vectorDB.ClassKey);
69
+ (0, core_1.LogStatus)("Embedding API Key: ", embeddingAPIKey);
70
+ (0, core_1.LogStatus)("Vector Database API Key: ", vectorDBAPIKey);
71
+ this._embedding = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(ai_1.Embeddings, aiModel.DriverClass, embeddingAPIKey);
72
+ this._vectorDB = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(ai_vectordb_1.VectorDBBase, vectorDB.ClassKey, vectorDBAPIKey);
73
+ const entityConfigs = this.getJSONData();
74
+ const activeCount = entityConfigs.filter((entity) => entity.IncludeInSync).length;
75
+ console.log(`${entityConfigs.length} entity config(s) found, ${activeCount} marked active`);
76
+ for (const entityConfig of entityConfigs) {
77
+ if (entityConfig.IncludeInSync) {
78
+ console.log(`Syncing entity document with ID ${entityConfig.EntityDocumentID}`);
79
+ await this.syncEntityDocument(entityConfig);
80
+ entityConfig.LastRunDate = new Date().toISOString();
81
+ }
82
+ else {
83
+ console.log(`Skipping entity document with ID ${entityConfig.EntityDocumentID}`);
84
+ }
85
+ }
86
+ this.saveJSONData(entityConfigs);
87
+ this.end();
88
+ console.log(`Sync completed in ${this.timeDiff()} seconds`);
89
+ }
90
+ getJSONData = () => {
91
+ const entities = JSON.parse(fs.readFileSync('./data/entitiesToSync.json', 'utf-8'));
92
+ return entities;
93
+ };
94
+ async setupDBConnection() {
95
+ await db_1.default.connect();
96
+ this._provider = await this.setupAndGetSQLServerProvider();
97
+ this._userInfo = this.getDefaultUser(this._provider);
98
+ this._runView = new core_1.RunView();
99
+ }
100
+ setupAndGetSQLServerProvider = async () => {
101
+ const config = new sqlserver_dataprovider_1.SQLServerProviderConfigData(dbAI_1.default, config_1.currentUserEmail);
102
+ return await (0, sqlserver_dataprovider_1.setupSQLServerClient)(config);
103
+ };
104
+ getDefaultUser(provider) {
105
+ return new core_1.UserInfo(provider, { Email: config_1.currentUserEmail,
106
+ UserRoles: [
107
+ { UserID: 24, RoleName: "Developer", CreatedAt: new Date(), UpdatedAt: new Date(), User: "Jonathan Stfelix" },
108
+ { UserID: 24, RoleName: "UI", CreatedAt: new Date(), UpdatedAt: new Date(), User: "Jonathan Stfelix" }
109
+ ]
110
+ });
111
+ }
112
+ async timer(ms) {
113
+ return new Promise(res => setTimeout(res, ms));
114
+ }
115
+ async syncEntityDocument(config) {
116
+ const entityDocument = await this.getEntityDocument(config.EntityDocumentID);
117
+ if (!entityDocument) {
118
+ console.log(`Error: no entity document with ID ${config.EntityDocumentID} found`);
119
+ return;
120
+ }
121
+ if (entityDocument.Status !== "Active") {
122
+ console.log(`Entity document with ID ${config.EntityDocumentID} is not set to Active. Is: ${entityDocument.Status}`);
123
+ return;
124
+ }
125
+ const lastRunDate = new Date(config.LastRunDate);
126
+ console.log(`Last run date for entity document ${entityDocument.ID}: ${lastRunDate}`);
127
+ let offset = 0;
128
+ let fetchNext = 50;
129
+ let limit = 100;
130
+ let shouldContinue = true;
131
+ while (shouldContinue) {
132
+ const rvParams = {
133
+ EntityName: entityDocument.Type,
134
+ OrderBy: `ID OFFSET ${offset} ROWS FETCH NEXT ${fetchNext} ROWS ONLY`,
135
+ IgnoreMaxRows: true
136
+ };
137
+ let result = await this._runView.RunView(rvParams, this._userInfo);
138
+ console.log("processing embedding batch #", (offset / fetchNext) + 1, `of ${entityDocument.Type}-${entityDocument.Name} records`);
139
+ for (const record of result.Results) {
140
+ if (!record.ID || !record.UpdatedAt || record.UpdatedAt <= lastRunDate) {
141
+ continue;
142
+ }
143
+ const formattedTemplate = this.parseStringTemplate(entityDocument.Template, record);
144
+ const embedResponse = this._embedding.EmbedText({ text: formattedTemplate, model: null });
145
+ const embeddingRes = (await embedResponse).data;
146
+ await this.timer(100);
147
+ const recordID = record.ID;
148
+ const entityRecordDocument = await this.getEntityRecordDocument(entityDocument.EntityID, recordID, config.VectorIndexID, config.VectorID);
149
+ const erdID = entityRecordDocument ? entityRecordDocument.ID : -1;
150
+ let upsertResult = await this.upsertEntityRecordDocument({
151
+ ID: erdID,
152
+ EntityID: entityDocument.EntityID,
153
+ RecordID: recordID,
154
+ DocumentText: formattedTemplate,
155
+ VectorIndexID: config.VectorIndexID,
156
+ VectorID: config.VectorID,
157
+ VectorJSON: JSON.stringify(embeddingRes),
158
+ EntitiyRecordUpdatedAt: record.UpdatedAt
159
+ });
160
+ let vectorRecordID = upsertResult?.recordset[0].ID?.toString();
161
+ if (!vectorRecordID) {
162
+ vectorRecordID = `${entityDocument.Type}${entityDocument.Name}${recordID}`;
163
+ }
164
+ const existingRecord = (await this._vectorDB.getRecord({ id: vectorRecordID })).data;
165
+ let updateParams = {
166
+ id: null,
167
+ data: {
168
+ id: vectorRecordID,
169
+ values: embeddingRes
170
+ }
171
+ };
172
+ if (existingRecord) {
173
+ await this._vectorDB.updateRecord(updateParams);
174
+ }
175
+ else {
176
+ const pineconeRecord = {
177
+ id: vectorRecordID,
178
+ values: embeddingRes,
179
+ metadata: {
180
+ Template: formattedTemplate
181
+ }
182
+ };
183
+ await this._vectorDB.createRecord(pineconeRecord);
184
+ }
185
+ }
186
+ offset += fetchNext;
187
+ if (result.RowCount === 0 || offset >= limit) {
188
+ shouldContinue = false;
189
+ }
190
+ }
191
+ }
192
+ async getEntityDocument(entityDocumentID) {
193
+ const rvResult = await this._runView.RunView({
194
+ EntityName: "Entity Documents",
195
+ ExtraFilter: `ID = '${entityDocumentID}'`
196
+ }, this._userInfo);
197
+ if (!rvResult || rvResult.RowCount === 0) {
198
+ return null;
199
+ }
200
+ else {
201
+ const vdResults = rvResult?.Results;
202
+ const entityDocument = vdResults[0];
203
+ return entityDocument;
204
+ }
205
+ }
206
+ async getRelatedEntityRecords(entityDocument) {
207
+ const rvResult = await this._runView.RunView({
208
+ EntityName: "Entity Documents",
209
+ ExtraFilter: `ID = '${entityDocument.ID}'`
210
+ }, this._userInfo);
211
+ if (!rvResult || rvResult.RowCount === 0) {
212
+ return null;
213
+ }
214
+ else {
215
+ const vdResults = rvResult?.Results;
216
+ const entityDocument = vdResults[0];
217
+ return entityDocument;
218
+ }
219
+ }
220
+ async getEntityRecordDocument(entityID, recordID, VectorIndexID, VectorID) {
221
+ const rvResult = await this._runView.RunView({
222
+ EntityName: "Entity Record Documents",
223
+ ExtraFilter: `EntityID = ${entityID} AND RecordID = ${recordID} AND VectorIndexID = ${VectorIndexID} AND VectorID = ${VectorID}`,
224
+ OrderBy: 'ID'
225
+ }, this._userInfo);
226
+ if (!rvResult || rvResult.RowCount === 0) {
227
+ return null;
228
+ }
229
+ else {
230
+ const vdResults = rvResult?.Results;
231
+ const entityDocument = vdResults[0];
232
+ return entityDocument;
233
+ }
234
+ }
235
+ async upsertEntityRecordDocument(document) {
236
+ const sp = document.ID <= -1 ? "admin.spCreateEntityRecordDocument" : "admin.spUpdateEntityRecordDocument";
237
+ let params = {
238
+ ID: document.ID,
239
+ EntityID: document.EntityID,
240
+ RecordID: document.RecordID,
241
+ DocumentText: document.DocumentText,
242
+ VectorIndexID: document.VectorIndexID,
243
+ VectorID: document.VectorID,
244
+ VectorJSON: document.VectorJSON,
245
+ EntityRecordUpdatedAt: document.EntitiyRecordUpdatedAt
246
+ };
247
+ if (sp === "admin.spCreateEntityRecordDocument") {
248
+ delete params.ID;
249
+ }
250
+ const result = await this.executeStoredProcedure(sp, params);
251
+ return result;
252
+ }
253
+ async executeStoredProcedure(storedProcedure, params) {
254
+ try {
255
+ const request = db_1.default.request();
256
+ this.mapObjectPropertiesToRequest(params, request);
257
+ return request.execute(storedProcedure);
258
+ }
259
+ catch (error) {
260
+ console.log(error);
261
+ return null;
262
+ }
263
+ }
264
+ mapObjectPropertiesToRequest = (obj, r) => {
265
+ Object.keys(obj).map((key) => {
266
+ r.input(key, obj[key]);
267
+ });
268
+ };
269
+ parseStringTemplate(str, obj) {
270
+ let parts = str.split(/\$\{(?!\d)[\wæøåÆØÅ]*\}/);
271
+ let args = str.match(/[^{\}]+(?=})/g) || [];
272
+ let parameters = args.map(argument => obj[argument] || (obj[argument] === undefined ? "" : obj[argument]));
273
+ return String.raw({ raw: parts }, ...parameters);
274
+ }
275
+ start() {
276
+ this._startTime = new Date();
277
+ }
278
+ end() {
279
+ this._endTime = new Date();
280
+ }
281
+ timeDiff() {
282
+ let timeDiff = this._endTime.valueOf() - this._startTime.valueOf();
283
+ timeDiff /= 1000;
284
+ var seconds = Math.round(timeDiff);
285
+ return seconds;
286
+ }
287
+ saveJSONData(data) {
288
+ fs.writeFileSync('./data/entitiesToSync.json', JSON.stringify(data, null, 2));
289
+ }
290
+ }
291
+ exports.EntityVectorSyncer = EntityVectorSyncer;
292
+ //# sourceMappingURL=entityVectorSync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entityVectorSync.js","sourceRoot":"","sources":["../../src/models/entityVectorSync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { BaseLLM } from "@memberjunction/ai";
2
+ import { PineconeDatabase } from "@memberjunction/ai-vectors-pinecone";
3
+ import { UserInfo, RunView } from "@memberjunction/core";
4
+ import { SQLServerDataProvider } from "@memberjunction/sqlserver-dataprovider";
5
+ import { IProcedureResult, Request } from 'mssql';
6
+ export declare class VectorSyncBase {
7
+ _provider: SQLServerDataProvider;
8
+ _userInfo: UserInfo;
9
+ _runView: RunView;
10
+ _startTime: Date;
11
+ _endTime: Date;
12
+ _pineconeDB: PineconeDatabase;
13
+ _embedding: BaseLLM;
14
+ _languageModel: BaseLLM;
15
+ protected setupDBConnection(): Promise<void>;
16
+ protected setupAndGetSQLServerProvider: () => Promise<SQLServerDataProvider>;
17
+ protected getDefaultUser(provider: SQLServerDataProvider): UserInfo;
18
+ protected timer(ms: number): Promise<unknown>;
19
+ protected executeStoredProcedure<T>(storedProcedure: string, params: any): Promise<IProcedureResult<T>>;
20
+ protected mapObjectPropertiesToRequest: (obj: any, r: Request) => void;
21
+ protected parseStringTemplate(str: string, obj: any): string;
22
+ protected start(): void;
23
+ protected end(): void;
24
+ protected timeDiff(): number;
25
+ protected saveJSONData(data: any, path: string): void;
26
+ protected isEmpty(obj: object): boolean;
27
+ }
28
+ //# sourceMappingURL=vectorSyncBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectorSyncBase.d.ts","sourceRoot":"","sources":["../../src/models/vectorSyncBase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAgE,MAAM,wCAAwC,CAAC;AAC7I,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAKlD,qBAAa,cAAc;IACvB,SAAS,EAAE,qBAAqB,CAAC;IACjC,SAAS,EAAE,QAAQ,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAElB,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;IAEf,WAAW,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;cAER,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IASlD,SAAS,CAAC,4BAA4B,QAAa,QAAQ,qBAAqB,CAAC,CAGhF;IAED,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,qBAAqB,GAAG,QAAQ;cAUnD,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAInC,sBAAsB,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAkB7G,SAAS,CAAC,4BAA4B,QAAS,GAAG,KAAK,OAAO,UAO5D;IAEF,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM;IAa5D,SAAS,CAAC,KAAK,IAAI,IAAI;IAIvB,SAAS,CAAC,GAAG,IAAI,IAAI;IAIrB,SAAS,CAAC,QAAQ,IAAI,MAAM;IAU5B,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrD,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;CAShC"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.VectorSyncBase = void 0;
30
+ const fs = __importStar(require("fs"));
31
+ const core_1 = require("@memberjunction/core");
32
+ const sqlserver_dataprovider_1 = require("@memberjunction/sqlserver-dataprovider");
33
+ const db_1 = __importDefault(require("../db/db"));
34
+ const config_1 = require("../config");
35
+ const dbAI_1 = __importDefault(require("../db/dbAI"));
36
+ class VectorSyncBase {
37
+ _provider;
38
+ _userInfo;
39
+ _runView;
40
+ _startTime;
41
+ _endTime;
42
+ _pineconeDB;
43
+ _embedding;
44
+ _languageModel;
45
+ async setupDBConnection() {
46
+ await db_1.default.connect();
47
+ this._provider = await this.setupAndGetSQLServerProvider();
48
+ console.log("current user:", this._provider.CurrentUser);
49
+ console.log("user cache", sqlserver_dataprovider_1.UserCache.Instance.Users);
50
+ this._userInfo = this.getDefaultUser(this._provider);
51
+ this._runView = new core_1.RunView();
52
+ }
53
+ setupAndGetSQLServerProvider = async () => {
54
+ const config = new sqlserver_dataprovider_1.SQLServerProviderConfigData(dbAI_1.default, config_1.currentUserEmail);
55
+ return await (0, sqlserver_dataprovider_1.setupSQLServerClient)(config);
56
+ };
57
+ getDefaultUser(provider) {
58
+ return new core_1.UserInfo(provider, { Email: config_1.currentUserEmail,
59
+ UserRoles: [
60
+ { UserID: 24, RoleName: "Developer", CreatedAt: new Date(), UpdatedAt: new Date(), User: "Jonathan Stfelix" },
61
+ { UserID: 24, RoleName: "UI", CreatedAt: new Date(), UpdatedAt: new Date(), User: "Jonathan Stfelix" }
62
+ ]
63
+ });
64
+ }
65
+ async timer(ms) {
66
+ return new Promise(res => setTimeout(res, ms));
67
+ }
68
+ async executeStoredProcedure(storedProcedure, params) {
69
+ try {
70
+ const request = db_1.default.request();
71
+ this.mapObjectPropertiesToRequest(params, request);
72
+ return request.execute(storedProcedure);
73
+ }
74
+ catch (error) {
75
+ console.log(error);
76
+ return null;
77
+ }
78
+ }
79
+ mapObjectPropertiesToRequest = (obj, r) => {
80
+ Object.keys(obj).map((key) => {
81
+ r.input(key, obj[key]);
82
+ });
83
+ };
84
+ parseStringTemplate(str, obj) {
85
+ let parts = str.split(/\$\{(?!\d)[\wæøåÆØÅ]*\}/);
86
+ let args = str.match(/[^{\}]+(?=})/g) || [];
87
+ let parameters = args.map(argument => obj[argument] || (obj[argument] === undefined ? "" : obj[argument]));
88
+ return String.raw({ raw: parts }, ...parameters);
89
+ }
90
+ start() {
91
+ this._startTime = new Date();
92
+ }
93
+ end() {
94
+ this._endTime = new Date();
95
+ }
96
+ timeDiff() {
97
+ let timeDiff = this._endTime.valueOf() - this._startTime.valueOf();
98
+ timeDiff /= 1000;
99
+ var seconds = Math.round(timeDiff);
100
+ return seconds;
101
+ }
102
+ saveJSONData(data, path) {
103
+ fs.writeFileSync(path, JSON.stringify(data, null, 2));
104
+ }
105
+ isEmpty(obj) {
106
+ for (const prop in obj) {
107
+ if (Object.hasOwn(obj, prop)) {
108
+ return false;
109
+ }
110
+ }
111
+ return true;
112
+ }
113
+ }
114
+ exports.VectorSyncBase = VectorSyncBase;
115
+ //# sourceMappingURL=vectorSyncBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectorSyncBase.js","sourceRoot":"","sources":["../../src/models/vectorSyncBase.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@memberjunction/ai-vector-sync",
3
+ "version": "0.9.7",
4
+ "description": "MemberJunction: AI Vector/Entity Sync Package - handles synchronization between Vector DB and MJ CDP Data",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "/dist"
9
+ ],
10
+ "scripts": {
11
+ "start": "ts-node-dev src/index.ts",
12
+ "build": "tsc",
13
+ "test": "echo \"Error: no test specified\" && exit 1"
14
+ },
15
+ "author": "MemberJunction.com",
16
+ "license": "ISC",
17
+ "dependencies": {
18
+ "@memberjunction/ai": "^0.9.160",
19
+ "@memberjunction/ai-vectordb": "^0.9.4",
20
+ "@memberjunction/ai-vectors": "^0.9.5",
21
+ "@memberjunction/aiengine": "^0.9.57",
22
+ "@memberjunction/core": "^0.9.172",
23
+ "@memberjunction/global": "^0.9.153",
24
+ "dotenv": "^16.0.3",
25
+ "typeorm": "^0.3.20"
26
+ },
27
+ "devDependencies": {
28
+ "@types/mssql": "^9.1.5",
29
+ "@types/node": "^20.1.7",
30
+ "ts-node-dev": "^2.0.0",
31
+ "typescript": "^5.3.3"
32
+ }
33
+ }