@memberjunction/content-autotagging 5.0.0 → 5.2.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/package.json +7 -7
- package/dist/src/CloudStorage/generic/CloudStorageBase.d.ts +0 -16
- package/dist/src/CloudStorage/generic/CloudStorageBase.d.ts.map +0 -1
- package/dist/src/CloudStorage/generic/CloudStorageBase.js +0 -48
- package/dist/src/CloudStorage/generic/CloudStorageBase.js.map +0 -1
- package/dist/src/CloudStorage/index.d.ts +0 -3
- package/dist/src/CloudStorage/index.d.ts.map +0 -1
- package/dist/src/CloudStorage/index.js +0 -19
- package/dist/src/CloudStorage/index.js.map +0 -1
- package/dist/src/CloudStorage/providers/AutotagAzureBlob.d.ts +0 -18
- package/dist/src/CloudStorage/providers/AutotagAzureBlob.d.ts.map +0 -1
- package/dist/src/CloudStorage/providers/AutotagAzureBlob.js +0 -91
- package/dist/src/CloudStorage/providers/AutotagAzureBlob.js.map +0 -1
- package/dist/src/Core/generic/AutotagBase.d.ts +0 -7
- package/dist/src/Core/generic/AutotagBase.d.ts.map +0 -1
- package/dist/src/Core/generic/AutotagBase.js +0 -7
- package/dist/src/Core/generic/AutotagBase.js.map +0 -1
- package/dist/src/Core/index.d.ts +0 -2
- package/dist/src/Core/index.d.ts.map +0 -1
- package/dist/src/Core/index.js +0 -18
- package/dist/src/Core/index.js.map +0 -1
- package/dist/src/Engine/generic/AutotagBaseEngine.d.ts +0 -52
- package/dist/src/Engine/generic/AutotagBaseEngine.d.ts.map +0 -1
- package/dist/src/Engine/generic/AutotagBaseEngine.js +0 -560
- package/dist/src/Engine/generic/AutotagBaseEngine.js.map +0 -1
- package/dist/src/Engine/generic/content.types.d.ts +0 -32
- package/dist/src/Engine/generic/content.types.d.ts.map +0 -1
- package/dist/src/Engine/generic/content.types.js +0 -38
- package/dist/src/Engine/generic/content.types.js.map +0 -1
- package/dist/src/Engine/generic/process.types.d.ts +0 -30
- package/dist/src/Engine/generic/process.types.d.ts.map +0 -1
- package/dist/src/Engine/generic/process.types.js +0 -33
- package/dist/src/Engine/generic/process.types.js.map +0 -1
- package/dist/src/Engine/index.d.ts +0 -4
- package/dist/src/Engine/index.d.ts.map +0 -1
- package/dist/src/Engine/index.js +0 -20
- package/dist/src/Engine/index.js.map +0 -1
- package/dist/src/Entity/generic/AutotagEntity.d.ts +0 -19
- package/dist/src/Entity/generic/AutotagEntity.d.ts.map +0 -1
- package/dist/src/Entity/generic/AutotagEntity.js +0 -130
- package/dist/src/Entity/generic/AutotagEntity.js.map +0 -1
- package/dist/src/Entity/index.d.ts +0 -2
- package/dist/src/Entity/index.d.ts.map +0 -1
- package/dist/src/Entity/index.js +0 -18
- package/dist/src/Entity/index.js.map +0 -1
- package/dist/src/LocalFileSystem/generic/AutotagLocalFileSystem.d.ts +0 -20
- package/dist/src/LocalFileSystem/generic/AutotagLocalFileSystem.d.ts.map +0 -1
- package/dist/src/LocalFileSystem/generic/AutotagLocalFileSystem.js +0 -155
- package/dist/src/LocalFileSystem/generic/AutotagLocalFileSystem.js.map +0 -1
- package/dist/src/LocalFileSystem/index.d.ts +0 -2
- package/dist/src/LocalFileSystem/index.d.ts.map +0 -1
- package/dist/src/LocalFileSystem/index.js +0 -18
- package/dist/src/LocalFileSystem/index.js.map +0 -1
- package/dist/src/RSSFeed/generic/AutotagRSSFeed.d.ts +0 -19
- package/dist/src/RSSFeed/generic/AutotagRSSFeed.d.ts.map +0 -1
- package/dist/src/RSSFeed/generic/AutotagRSSFeed.js +0 -168
- package/dist/src/RSSFeed/generic/AutotagRSSFeed.js.map +0 -1
- package/dist/src/RSSFeed/generic/RSS.types.d.ts +0 -13
- package/dist/src/RSSFeed/generic/RSS.types.d.ts.map +0 -1
- package/dist/src/RSSFeed/generic/RSS.types.js +0 -17
- package/dist/src/RSSFeed/generic/RSS.types.js.map +0 -1
- package/dist/src/RSSFeed/index.d.ts +0 -3
- package/dist/src/RSSFeed/index.d.ts.map +0 -1
- package/dist/src/RSSFeed/index.js +0 -19
- package/dist/src/RSSFeed/index.js.map +0 -1
- package/dist/src/Websites/generic/AutotagWebsite.d.ts +0 -33
- package/dist/src/Websites/generic/AutotagWebsite.d.ts.map +0 -1
- package/dist/src/Websites/generic/AutotagWebsite.js +0 -324
- package/dist/src/Websites/generic/AutotagWebsite.js.map +0 -1
- package/dist/src/Websites/index.d.ts +0 -2
- package/dist/src/Websites/index.d.ts.map +0 -1
- package/dist/src/Websites/index.js +0 -18
- package/dist/src/Websites/index.js.map +0 -1
- package/dist/src/index.d.ts +0 -7
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -25
- package/dist/src/index.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"content.types.js","sourceRoot":"","sources":["../../../../src/Engine/generic/content.types.ts"],"names":[],"mappings":";;;AAAA,MAAa,iBAAiB;IAC1B,eAAe,CAAS;IACxB,IAAI,CAAS;IACb,WAAW,CAAU;IACrB,aAAa,CAAS;IACtB,mBAAmB,CAAS;IAC5B,iBAAiB,CAAS;IAC1B,GAAG,CAAS;IACZ,SAAS,CAAU;IACnB,OAAO,CAAU;IACjB,OAAO,CAAU;CACpB;AAXD,8CAWC;AAED,MAAa,mBAAmB;IAC5B,eAAe,CAAS;IACxB,IAAI,CAAU;IACd,WAAW,CAAU;IACrB,aAAa,CAAS;IACtB,mBAAmB,CAAS;IAC5B,iBAAiB,CAAS;IAC1B,GAAG,CAAS;IACZ,SAAS,CAAU;IACnB,OAAO,CAAU;IACjB,OAAO,CAAU;CACpB;AAXD,kDAWC;AAED,MAAa,uBAAuB;IAChC,eAAe,CAAS;IACxB,mBAAmB,CAAS;IAC5B,IAAI,CAAS;IACb,KAAK,CAAS;IACd,IAAI,CAAS;CAChB;AAND,0DAMC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export declare class ProcessRunParams {
|
|
2
|
-
sourceID: string;
|
|
3
|
-
startTime: Date;
|
|
4
|
-
endTime: Date;
|
|
5
|
-
numItemsProcessed: number;
|
|
6
|
-
}
|
|
7
|
-
export declare class ContentItemProcessParams {
|
|
8
|
-
text: string;
|
|
9
|
-
modelID: string;
|
|
10
|
-
minTags: number;
|
|
11
|
-
maxTags: number;
|
|
12
|
-
contentItemID: string;
|
|
13
|
-
contentTypeID: string;
|
|
14
|
-
contentFileTypeID: string;
|
|
15
|
-
contentSourceTypeID: string;
|
|
16
|
-
}
|
|
17
|
-
export declare class ContentItemProcessResults {
|
|
18
|
-
title: string;
|
|
19
|
-
author: string[];
|
|
20
|
-
publicationDate: Date;
|
|
21
|
-
keywords: string[];
|
|
22
|
-
content_text: string;
|
|
23
|
-
processStartTime: Date;
|
|
24
|
-
processEndTime: Date;
|
|
25
|
-
contentItemID: string;
|
|
26
|
-
}
|
|
27
|
-
export interface JsonObject {
|
|
28
|
-
[key: string]: any;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=process.types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"process.types.d.ts","sourceRoot":"","sources":["../../../../src/Engine/generic/process.types.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAgB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,wBAAwB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,yBAAyB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,IAAI,CAAC;IACvB,cAAc,EAAE,IAAI,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ContentItemProcessResults = exports.ContentItemProcessParams = exports.ProcessRunParams = void 0;
|
|
4
|
-
class ProcessRunParams {
|
|
5
|
-
sourceID;
|
|
6
|
-
startTime;
|
|
7
|
-
endTime;
|
|
8
|
-
numItemsProcessed;
|
|
9
|
-
}
|
|
10
|
-
exports.ProcessRunParams = ProcessRunParams;
|
|
11
|
-
class ContentItemProcessParams {
|
|
12
|
-
text;
|
|
13
|
-
modelID;
|
|
14
|
-
minTags;
|
|
15
|
-
maxTags;
|
|
16
|
-
contentItemID;
|
|
17
|
-
contentTypeID;
|
|
18
|
-
contentFileTypeID;
|
|
19
|
-
contentSourceTypeID;
|
|
20
|
-
}
|
|
21
|
-
exports.ContentItemProcessParams = ContentItemProcessParams;
|
|
22
|
-
class ContentItemProcessResults {
|
|
23
|
-
title;
|
|
24
|
-
author;
|
|
25
|
-
publicationDate;
|
|
26
|
-
keywords;
|
|
27
|
-
content_text;
|
|
28
|
-
processStartTime;
|
|
29
|
-
processEndTime;
|
|
30
|
-
contentItemID;
|
|
31
|
-
}
|
|
32
|
-
exports.ContentItemProcessResults = ContentItemProcessResults;
|
|
33
|
-
//# sourceMappingURL=process.types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"process.types.js","sourceRoot":"","sources":["../../../../src/Engine/generic/process.types.ts"],"names":[],"mappings":";;;AAAA,MAAa,gBAAgB;IACzB,QAAQ,CAAS;IACjB,SAAS,CAAO;IAChB,OAAO,CAAO;IACd,iBAAiB,CAAS;CAC7B;AALD,4CAKC;AAED,MAAa,wBAAwB;IACjC,IAAI,CAAS;IACb,OAAO,CAAS;IAChB,OAAO,CAAS;IAChB,OAAO,CAAS;IAChB,aAAa,CAAS;IACtB,aAAa,CAAS;IACtB,iBAAiB,CAAS;IAC1B,mBAAmB,CAAS;CAC/B;AATD,4DASC;AAED,MAAa,yBAAyB;IAClC,KAAK,CAAS;IACd,MAAM,CAAW;IACjB,eAAe,CAAO;IACtB,QAAQ,CAAW;IACnB,YAAY,CAAS;IACrB,gBAAgB,CAAO;IACvB,cAAc,CAAO;IACrB,aAAa,CAAS;CACzB;AATD,8DASC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Engine/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC"}
|
package/dist/src/Engine/index.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
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/AutotagBaseEngine.js"), exports);
|
|
18
|
-
__exportStar(require("./generic/content.types.js"), exports);
|
|
19
|
-
__exportStar(require("./generic/process.types.js"), exports);
|
|
20
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA2C;AAC3C,0DAAwC;AACxC,0DAAwC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { AutotagBase } from "../../Core/index.js";
|
|
2
|
-
import { ContentSourceParams } from "../../Engine/index.js";
|
|
3
|
-
import { UserInfo, BaseEntity } from "@memberjunction/core";
|
|
4
|
-
import { ContentSourceEntity, ContentItemEntity } from "@memberjunction/core-entities";
|
|
5
|
-
export declare class AutotagEntity extends AutotagBase {
|
|
6
|
-
private contextUser;
|
|
7
|
-
private engine;
|
|
8
|
-
protected contentSourceTypeID: string;
|
|
9
|
-
private EntityName;
|
|
10
|
-
private EntityFields;
|
|
11
|
-
constructor();
|
|
12
|
-
Autotag(contextUser: UserInfo): Promise<void>;
|
|
13
|
-
SetContentItemsToProcess(contentSources: ContentSourceEntity[]): Promise<ContentItemEntity[]>;
|
|
14
|
-
getNewOrModifiedContentItems(contentSourceParams: ContentSourceParams, contextUser: UserInfo): Promise<ContentItemEntity[]>;
|
|
15
|
-
setContentItemsFromEntityResults(results: BaseEntity[], contentSourceParams: ContentSourceParams, lastRunDate: Date): Promise<ContentItemEntity[]>;
|
|
16
|
-
setNewContentItem(item: BaseEntity, contentSourceParams: ContentSourceParams): Promise<ContentItemEntity>;
|
|
17
|
-
getTextFromEntityResult(result: BaseEntity): string;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=AutotagEntity.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AutotagEntity.d.ts","sourceRoot":"","sources":["../../../../src/Entity/generic/AutotagEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAqB,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAqB,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvF,qBACa,aAAc,SAAQ,WAAW;IAC1C,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,MAAM,CAAoB;IAClC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACrC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,YAAY,CAAU;;IAMjB,OAAO,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,wBAAwB,CAAC,cAAc,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAsC7F,4BAA4B,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAwB3H,gCAAgC,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAelJ,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuB/G,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;CAU7D"}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.AutotagEntity = void 0;
|
|
13
|
-
const global_1 = require("@memberjunction/global");
|
|
14
|
-
const Core_1 = require("../../Core/index.js");
|
|
15
|
-
const Engine_1 = require("../../Engine/index.js");
|
|
16
|
-
const core_1 = require("@memberjunction/core");
|
|
17
|
-
let AutotagEntity = class AutotagEntity extends Core_1.AutotagBase {
|
|
18
|
-
contextUser;
|
|
19
|
-
engine;
|
|
20
|
-
contentSourceTypeID;
|
|
21
|
-
EntityName;
|
|
22
|
-
EntityFields;
|
|
23
|
-
constructor() {
|
|
24
|
-
super();
|
|
25
|
-
this.engine = Engine_1.AutotagBaseEngine.Instance;
|
|
26
|
-
}
|
|
27
|
-
async Autotag(contextUser) {
|
|
28
|
-
this.contextUser = contextUser;
|
|
29
|
-
this.contentSourceTypeID = await this.engine.setSubclassContentSourceType('Entity', this.contextUser);
|
|
30
|
-
const contentSources = await this.engine.getAllContentSources(this.contextUser, this.contentSourceTypeID) || [];
|
|
31
|
-
const contentItemsToProcess = await this.SetContentItemsToProcess(contentSources);
|
|
32
|
-
await this.engine.ExtractTextAndProcessWithLLM(contentItemsToProcess, this.contextUser);
|
|
33
|
-
}
|
|
34
|
-
async SetContentItemsToProcess(contentSources) {
|
|
35
|
-
const contentItemsToProcess = [];
|
|
36
|
-
for (const contentSource of contentSources) {
|
|
37
|
-
const contentSourceParamsMap = await this.engine.getContentSourceParams(contentSource, this.contextUser);
|
|
38
|
-
if (contentSourceParamsMap) {
|
|
39
|
-
contentSourceParamsMap.forEach((value, key) => {
|
|
40
|
-
if (key in this) {
|
|
41
|
-
this[key] = value;
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
const contentSourceParams = {
|
|
46
|
-
contentSourceID: contentSource.ID,
|
|
47
|
-
name: contentSource.Name,
|
|
48
|
-
ContentTypeID: contentSource.ContentTypeID,
|
|
49
|
-
ContentFileTypeID: contentSource.ContentFileTypeID,
|
|
50
|
-
ContentSourceTypeID: contentSource.ContentSourceTypeID,
|
|
51
|
-
URL: contentSource.URL
|
|
52
|
-
};
|
|
53
|
-
const contentItems = await this.getNewOrModifiedContentItems(contentSourceParams, this.contextUser);
|
|
54
|
-
if (contentItems && contentItems.length > 0) {
|
|
55
|
-
contentItemsToProcess.push(...contentItems);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
console.log(`No content items found to process for content source: ${contentSource.Name}`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return contentItemsToProcess;
|
|
62
|
-
}
|
|
63
|
-
async getNewOrModifiedContentItems(contentSourceParams, contextUser) {
|
|
64
|
-
const lastRunDate = await this.engine.getContentSourceLastRunDate(contentSourceParams.contentSourceID, contextUser);
|
|
65
|
-
const lastRunDateISOString = lastRunDate.toISOString();
|
|
66
|
-
const rv = new core_1.RunView();
|
|
67
|
-
const results = await rv.RunView({
|
|
68
|
-
EntityName: this.EntityName,
|
|
69
|
-
Fields: this.EntityFields,
|
|
70
|
-
ExtraFilter: `__mj_UpdatedAt > '${lastRunDateISOString}'`,
|
|
71
|
-
ResultType: 'entity_object'
|
|
72
|
-
}, contextUser);
|
|
73
|
-
const entityResults = results.Results;
|
|
74
|
-
if (results.Results && results.Results.length > 0) {
|
|
75
|
-
const contentItems = await this.setContentItemsFromEntityResults(entityResults, contentSourceParams, lastRunDate);
|
|
76
|
-
return contentItems;
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
return [];
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
async setContentItemsFromEntityResults(results, contentSourceParams, lastRunDate) {
|
|
83
|
-
const contentItems = [];
|
|
84
|
-
for (const result of results) {
|
|
85
|
-
const lastUpdatedAt = result.Get('__mj_UpdatedAt');
|
|
86
|
-
if (lastUpdatedAt > lastRunDate) {
|
|
87
|
-
const contentItem = await this.setNewContentItem(result, contentSourceParams);
|
|
88
|
-
if (contentItem) {
|
|
89
|
-
contentItems.push(contentItem);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return contentItems;
|
|
94
|
-
}
|
|
95
|
-
async setNewContentItem(item, contentSourceParams) {
|
|
96
|
-
const md = new core_1.Metadata();
|
|
97
|
-
const text = this.getTextFromEntityResult(item);
|
|
98
|
-
const contentItem = await md.GetEntityObject('Content Items', this.contextUser);
|
|
99
|
-
contentItem.NewRecord();
|
|
100
|
-
contentItem.ContentSourceID = contentSourceParams.contentSourceID;
|
|
101
|
-
contentItem.Name = contentSourceParams.name;
|
|
102
|
-
contentItem.Description = await this.engine.getContentItemDescription(contentSourceParams, this.contextUser);
|
|
103
|
-
contentItem.ContentTypeID = contentSourceParams.ContentTypeID;
|
|
104
|
-
contentItem.ContentFileTypeID = contentSourceParams.ContentFileTypeID;
|
|
105
|
-
contentItem.ContentSourceTypeID = contentSourceParams.ContentSourceTypeID;
|
|
106
|
-
contentItem.Text = text;
|
|
107
|
-
contentItem.Checksum = await this.engine.getChecksumFromText(text);
|
|
108
|
-
contentItem.URL = contentSourceParams.URL;
|
|
109
|
-
if (await contentItem.Save()) {
|
|
110
|
-
return contentItem;
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
throw new Error('Failed to save content item');
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
getTextFromEntityResult(result) {
|
|
117
|
-
let text = '';
|
|
118
|
-
for (const field of this.EntityFields) {
|
|
119
|
-
const fieldVal = result.Get(field);
|
|
120
|
-
text += `${field}: ${fieldVal}\n`;
|
|
121
|
-
}
|
|
122
|
-
return text;
|
|
123
|
-
}
|
|
124
|
-
};
|
|
125
|
-
exports.AutotagEntity = AutotagEntity;
|
|
126
|
-
exports.AutotagEntity = AutotagEntity = __decorate([
|
|
127
|
-
(0, global_1.RegisterClass)(Core_1.AutotagBase, 'AutotagEntity'),
|
|
128
|
-
__metadata("design:paramtypes", [])
|
|
129
|
-
], AutotagEntity);
|
|
130
|
-
//# sourceMappingURL=AutotagEntity.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AutotagEntity.js","sourceRoot":"","sources":["../../../../src/Entity/generic/AutotagEntity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Entity/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|
package/dist/src/Entity/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
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/AutotagEntity.js"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Entity/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { AutotagBase } from "../../Core/index.js";
|
|
2
|
-
import { ContentSourceParams } from "../../Engine/index.js";
|
|
3
|
-
import { UserInfo } from "@memberjunction/core";
|
|
4
|
-
import { ContentSourceEntity, ContentItemEntity } from "@memberjunction/core-entities";
|
|
5
|
-
import { OpenAI } from "openai";
|
|
6
|
-
export declare class AutotagLocalFileSystem extends AutotagBase {
|
|
7
|
-
private contextUser;
|
|
8
|
-
private engine;
|
|
9
|
-
protected contentSourceTypeID: string;
|
|
10
|
-
static _openAI: OpenAI;
|
|
11
|
-
constructor();
|
|
12
|
-
getContextUser(): UserInfo | null;
|
|
13
|
-
Autotag(contextUser: UserInfo): Promise<void>;
|
|
14
|
-
SetContentItemsToProcess(contentSources: ContentSourceEntity[]): Promise<ContentItemEntity[]>;
|
|
15
|
-
setContentSourceParams(contentSource: ContentSourceEntity): Promise<ContentSourceParams>;
|
|
16
|
-
SetNewAndModifiedContentItems(contentSourceParams: ContentSourceParams, lastRunDate: Date, contextUser: UserInfo): Promise<ContentItemEntity[]>;
|
|
17
|
-
setAddedContentItem(filePath: string, contentSourceParams: ContentSourceParams): Promise<ContentItemEntity>;
|
|
18
|
-
setModifiedContentItem(filePath: string, contentSourceParams: ContentSourceParams): Promise<ContentItemEntity>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=AutotagLocalFileSystem.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AutotagLocalFileSystem.d.ts","sourceRoot":"","sources":["../../../../src/LocalFileSystem/generic/AutotagLocalFileSystem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAqB,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAqB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,qBACa,sBAAuB,SAAQ,WAAW;IACnD,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,MAAM,CAAoB;IAClC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACrC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;;IAOhB,cAAc,IAAI,QAAQ,GAAG,IAAI;IAS3B,OAAO,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAc7C,wBAAwB,CAAC,cAAc,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA+B7F,sBAAsB,CAAC,aAAa,EAAE,mBAAmB;IAgCzD,6BAA6B,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA+B/I,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuB3G,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAgB9H"}
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.AutotagLocalFileSystem = void 0;
|
|
16
|
-
const global_1 = require("@memberjunction/global");
|
|
17
|
-
const fs_1 = __importDefault(require("fs"));
|
|
18
|
-
const Core_1 = require("../../Core/index.js");
|
|
19
|
-
const Engine_1 = require("../../Engine/index.js");
|
|
20
|
-
const core_1 = require("@memberjunction/core");
|
|
21
|
-
const path_1 = __importDefault(require("path"));
|
|
22
|
-
const dotenv_1 = __importDefault(require("dotenv"));
|
|
23
|
-
dotenv_1.default.config();
|
|
24
|
-
let AutotagLocalFileSystem = class AutotagLocalFileSystem extends Core_1.AutotagBase {
|
|
25
|
-
contextUser;
|
|
26
|
-
engine;
|
|
27
|
-
contentSourceTypeID;
|
|
28
|
-
static _openAI;
|
|
29
|
-
constructor() {
|
|
30
|
-
super();
|
|
31
|
-
this.engine = Engine_1.AutotagBaseEngine.Instance;
|
|
32
|
-
}
|
|
33
|
-
getContextUser() {
|
|
34
|
-
return this.contextUser;
|
|
35
|
-
}
|
|
36
|
-
async Autotag(contextUser) {
|
|
37
|
-
this.contextUser = contextUser;
|
|
38
|
-
this.contentSourceTypeID = await this.engine.setSubclassContentSourceType('Local File System', this.contextUser);
|
|
39
|
-
const contentSources = await this.engine.getAllContentSources(this.contextUser, this.contentSourceTypeID) || [];
|
|
40
|
-
const contentItemsToProcess = await this.SetContentItemsToProcess(contentSources);
|
|
41
|
-
await this.engine.ExtractTextAndProcessWithLLM(contentItemsToProcess, this.contextUser);
|
|
42
|
-
}
|
|
43
|
-
async SetContentItemsToProcess(contentSources) {
|
|
44
|
-
const contentItemsToProcess = [];
|
|
45
|
-
for (const contentSource of contentSources) {
|
|
46
|
-
if (fs_1.default.existsSync(contentSource.URL)) {
|
|
47
|
-
const contentSourceParams = await this.setContentSourceParams(contentSource);
|
|
48
|
-
const lastRunDate = await this.engine.getContentSourceLastRunDate(contentSourceParams.contentSourceID, this.contextUser);
|
|
49
|
-
if (lastRunDate) {
|
|
50
|
-
const contentItems = await this.SetNewAndModifiedContentItems(contentSourceParams, lastRunDate, this.contextUser);
|
|
51
|
-
if (contentItems && contentItems.length > 0) {
|
|
52
|
-
contentItemsToProcess.push(...contentItems);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
console.log(`No content items found to process for content source: ${contentSource.Get('Name')}`);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
throw new Error('Invalid last run date');
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
console.log(`Invalid Content Source ${contentSource.Name}`);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return contentItemsToProcess;
|
|
67
|
-
}
|
|
68
|
-
async setContentSourceParams(contentSource) {
|
|
69
|
-
const contentSourceParamsMap = await this.engine.getContentSourceParams(contentSource, this.contextUser);
|
|
70
|
-
if (contentSourceParamsMap) {
|
|
71
|
-
contentSourceParamsMap.forEach((value, key) => {
|
|
72
|
-
if (key in this) {
|
|
73
|
-
this[key] = value;
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
const contentSourceParams = {
|
|
78
|
-
contentSourceID: contentSource.ID,
|
|
79
|
-
name: contentSource.Name,
|
|
80
|
-
ContentTypeID: contentSource.ContentTypeID,
|
|
81
|
-
ContentSourceTypeID: contentSource.ContentSourceTypeID,
|
|
82
|
-
ContentFileTypeID: contentSource.ContentFileTypeID,
|
|
83
|
-
URL: contentSource.URL
|
|
84
|
-
};
|
|
85
|
-
return contentSourceParams;
|
|
86
|
-
}
|
|
87
|
-
async SetNewAndModifiedContentItems(contentSourceParams, lastRunDate, contextUser) {
|
|
88
|
-
const contentItems = [];
|
|
89
|
-
let contentSourcePath = contentSourceParams.URL;
|
|
90
|
-
const filesAndDirs = fs_1.default.readdirSync(contentSourcePath);
|
|
91
|
-
for (const file of filesAndDirs) {
|
|
92
|
-
const filePath = path_1.default.join(contentSourcePath, file);
|
|
93
|
-
const stats = fs_1.default.statSync(filePath);
|
|
94
|
-
if (stats.isDirectory()) {
|
|
95
|
-
contentSourceParams.URL = filePath;
|
|
96
|
-
await this.SetNewAndModifiedContentItems(contentSourceParams, lastRunDate, contextUser);
|
|
97
|
-
}
|
|
98
|
-
else if (stats.isFile()) {
|
|
99
|
-
const modifiedDate = new Date(stats.mtime.toUTCString());
|
|
100
|
-
const changedDate = new Date(stats.ctime.toUTCString());
|
|
101
|
-
if (changedDate > lastRunDate) {
|
|
102
|
-
const contentItem = await this.setAddedContentItem(filePath, contentSourceParams);
|
|
103
|
-
contentItems.push(contentItem);
|
|
104
|
-
}
|
|
105
|
-
else if (modifiedDate > lastRunDate) {
|
|
106
|
-
const contentItem = await this.setModifiedContentItem(filePath, contentSourceParams);
|
|
107
|
-
contentItems.push(contentItem);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return contentItems;
|
|
112
|
-
}
|
|
113
|
-
async setAddedContentItem(filePath, contentSourceParams) {
|
|
114
|
-
const md = new core_1.Metadata();
|
|
115
|
-
const text = await this.engine.parseFileFromPath(filePath);
|
|
116
|
-
const contentItem = await md.GetEntityObject('Content Items', this.contextUser);
|
|
117
|
-
contentItem.NewRecord();
|
|
118
|
-
contentItem.ContentSourceID = contentSourceParams.contentSourceID;
|
|
119
|
-
contentItem.Name = contentSourceParams.name;
|
|
120
|
-
contentItem.Description = await this.engine.getContentItemDescription(contentSourceParams, this.contextUser);
|
|
121
|
-
contentItem.ContentTypeID = contentSourceParams.ContentTypeID;
|
|
122
|
-
contentItem.ContentFileTypeID = contentSourceParams.ContentFileTypeID;
|
|
123
|
-
contentItem.ContentSourceTypeID = contentSourceParams.ContentSourceTypeID;
|
|
124
|
-
contentItem.Checksum = await this.engine.getChecksumFromText(text);
|
|
125
|
-
contentItem.URL = contentSourceParams.URL;
|
|
126
|
-
contentItem.Text = text;
|
|
127
|
-
if (await contentItem.Save()) {
|
|
128
|
-
return contentItem;
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
throw new Error('Failed to save content item');
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
async setModifiedContentItem(filePath, contentSourceParams) {
|
|
135
|
-
const md = new core_1.Metadata();
|
|
136
|
-
const contentItem = await md.GetEntityObject('Content Items', this.contextUser);
|
|
137
|
-
const contentItemID = await this.engine.getContentItemIDFromURL(contentSourceParams, this.contextUser);
|
|
138
|
-
await contentItem.Load(contentItemID);
|
|
139
|
-
const text = await this.engine.parseFileFromPath(filePath);
|
|
140
|
-
contentItem.Text = text;
|
|
141
|
-
contentItem.Checksum = await this.engine.getChecksumFromText(text);
|
|
142
|
-
if (await contentItem.Save()) {
|
|
143
|
-
return contentItem;
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
throw new Error('Failed to save content item');
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
exports.AutotagLocalFileSystem = AutotagLocalFileSystem;
|
|
151
|
-
exports.AutotagLocalFileSystem = AutotagLocalFileSystem = __decorate([
|
|
152
|
-
(0, global_1.RegisterClass)(Core_1.AutotagBase, 'AutotagLocalFileSystem'),
|
|
153
|
-
__metadata("design:paramtypes", [])
|
|
154
|
-
], AutotagLocalFileSystem);
|
|
155
|
-
//# sourceMappingURL=AutotagLocalFileSystem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AutotagLocalFileSystem.js","sourceRoot":"","sources":["../../../../src/LocalFileSystem/generic/AutotagLocalFileSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/LocalFileSystem/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA"}
|
|
@@ -1,18 +0,0 @@
|
|
|
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/AutotagLocalFileSystem.js"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/LocalFileSystem/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mEAAgD"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { UserInfo } from '@memberjunction/core';
|
|
2
|
-
import { AutotagBase } from "../../Core/index.js";
|
|
3
|
-
import { ContentSourceParams } from "../../Engine/index.js";
|
|
4
|
-
import { ContentSourceEntity, ContentItemEntity } from '@memberjunction/core-entities';
|
|
5
|
-
import { RSSItem } from './RSS.types.js';
|
|
6
|
-
export declare class AutotagRSSFeed extends AutotagBase {
|
|
7
|
-
private contextUser;
|
|
8
|
-
private engine;
|
|
9
|
-
protected contentSourceTypeID: string;
|
|
10
|
-
constructor();
|
|
11
|
-
protected getContextUser(): UserInfo;
|
|
12
|
-
Autotag(contextUser: UserInfo): Promise<void>;
|
|
13
|
-
SetContentItemsToProcess(contentSources: ContentSourceEntity[]): Promise<ContentItemEntity[]>;
|
|
14
|
-
SetNewAndModifiedContentItems(allRSSItems: RSSItem[], contentSourceParams: ContentSourceParams): Promise<ContentItemEntity[]>;
|
|
15
|
-
parseRSSFeed(url: string): Promise<RSSItem[]>;
|
|
16
|
-
protected urlIsValid(url: string): Promise<boolean>;
|
|
17
|
-
getChecksumFromRSSItem(RSSContentItem: RSSItem, contextUser: UserInfo): Promise<string>;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=AutotagRSSFeed.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AutotagRSSFeed.d.ts","sourceRoot":"","sources":["../../../../src/RSSFeed/generic/AutotagRSSFeed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAqB,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAqB,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAOtC,qBACa,cAAe,SAAQ,WAAW;IAC3C,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,MAAM,CAAoB;IAClC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAA;;IAOrC,SAAS,CAAC,cAAc,IAAI,QAAQ;IASvB,OAAO,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAc7C,wBAAwB,CAAC,cAAc,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAuC7F,6BAA6B,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAkD7H,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;cAqC1C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW5C,sBAAsB,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;CAIvG"}
|