@encodeagent/platform-helper-util 1.2508.1241505
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/README.md +121 -0
- package/dist/__tests__/core.test.d.ts +5 -0
- package/dist/__tests__/core.test.d.ts.map +1 -0
- package/dist/__tests__/core.test.js +128 -0
- package/dist/__tests__/core.test.js.map +1 -0
- package/dist/__tests__/shortid.test.d.ts +5 -0
- package/dist/__tests__/shortid.test.d.ts.map +1 -0
- package/dist/__tests__/shortid.test.js +72 -0
- package/dist/__tests__/shortid.test.js.map +1 -0
- package/dist/__tests__/slug.test.d.ts +5 -0
- package/dist/__tests__/slug.test.d.ts.map +1 -0
- package/dist/__tests__/slug.test.js +31 -0
- package/dist/__tests__/slug.test.js.map +1 -0
- package/dist/__tests__/token.test.d.ts +5 -0
- package/dist/__tests__/token.test.d.ts.map +1 -0
- package/dist/__tests__/token.test.js +49 -0
- package/dist/__tests__/token.test.js.map +1 -0
- package/dist/__tests__/uuid.test.d.ts +5 -0
- package/dist/__tests__/uuid.test.d.ts.map +1 -0
- package/dist/__tests__/uuid.test.js +42 -0
- package/dist/__tests__/uuid.test.js.map +1 -0
- package/dist/__tests__/value-of-object.test.d.ts +5 -0
- package/dist/__tests__/value-of-object.test.d.ts.map +1 -0
- package/dist/__tests__/value-of-object.test.js +49 -0
- package/dist/__tests__/value-of-object.test.js.map +1 -0
- package/dist/ai/llm.d.ts +90 -0
- package/dist/ai/llm.d.ts.map +1 -0
- package/dist/ai/llm.js +524 -0
- package/dist/ai/llm.js.map +1 -0
- package/dist/ai/model.d.ts +14 -0
- package/dist/ai/model.d.ts.map +1 -0
- package/dist/ai/model.js +120 -0
- package/dist/ai/model.js.map +1 -0
- package/dist/ai/types.d.ts +85 -0
- package/dist/ai/types.d.ts.map +1 -0
- package/dist/ai/types.js +15 -0
- package/dist/ai/types.js.map +1 -0
- package/dist/ai/util.d.ts +28 -0
- package/dist/ai/util.d.ts.map +1 -0
- package/dist/ai/util.js +43 -0
- package/dist/ai/util.js.map +1 -0
- package/dist/auth.d.ts +34 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +568 -0
- package/dist/auth.js.map +1 -0
- package/dist/colors.d.ts +79 -0
- package/dist/colors.d.ts.map +1 -0
- package/dist/colors.js +492 -0
- package/dist/colors.js.map +1 -0
- package/dist/constants.d.ts +86 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +2578 -0
- package/dist/constants.js.map +1 -0
- package/dist/core.d.ts +337 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +1165 -0
- package/dist/core.js.map +1 -0
- package/dist/cost.d.ts +35 -0
- package/dist/cost.d.ts.map +1 -0
- package/dist/cost.js +143 -0
- package/dist/cost.js.map +1 -0
- package/dist/file.d.ts +55 -0
- package/dist/file.d.ts.map +1 -0
- package/dist/file.js +273 -0
- package/dist/file.js.map +1 -0
- package/dist/html.d.ts +44 -0
- package/dist/html.d.ts.map +1 -0
- package/dist/html.js +420 -0
- package/dist/html.js.map +1 -0
- package/dist/index.d.ts +53 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +313 -0
- package/dist/index.js.map +1 -0
- package/dist/markdown.d.ts +20 -0
- package/dist/markdown.d.ts.map +1 -0
- package/dist/markdown.js +38 -0
- package/dist/markdown.js.map +1 -0
- package/dist/metadata.d.ts +39 -0
- package/dist/metadata.d.ts.map +1 -0
- package/dist/metadata.js +110 -0
- package/dist/metadata.js.map +1 -0
- package/dist/record.d.ts +67 -0
- package/dist/record.d.ts.map +1 -0
- package/dist/record.js +404 -0
- package/dist/record.js.map +1 -0
- package/dist/shortid.d.ts +42 -0
- package/dist/shortid.d.ts.map +1 -0
- package/dist/shortid.js +42 -0
- package/dist/shortid.js.map +1 -0
- package/dist/slug.d.ts +24 -0
- package/dist/slug.d.ts.map +1 -0
- package/dist/slug.js +43 -0
- package/dist/slug.js.map +1 -0
- package/dist/token.d.ts +34 -0
- package/dist/token.d.ts.map +1 -0
- package/dist/token.js +20 -0
- package/dist/token.js.map +1 -0
- package/dist/tree.d.ts +27 -0
- package/dist/tree.d.ts.map +1 -0
- package/dist/tree.js +193 -0
- package/dist/tree.js.map +1 -0
- package/dist/types.d.ts +270 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +29 -0
- package/dist/types.js.map +1 -0
- package/dist/uuid.d.ts +25 -0
- package/dist/uuid.d.ts.map +1 -0
- package/dist/uuid.js +32 -0
- package/dist/uuid.js.map +1 -0
- package/dist/value-of-object.d.ts +25 -0
- package/dist/value-of-object.d.ts.map +1 -0
- package/dist/value-of-object.js +123 -0
- package/dist/value-of-object.js.map +1 -0
- package/dist/web-content.d.ts +54 -0
- package/dist/web-content.d.ts.map +1 -0
- package/dist/web-content.js +268 -0
- package/dist/web-content.js.map +1 -0
- package/dist/web.d.ts +36 -0
- package/dist/web.d.ts.map +1 -0
- package/dist/web.js +162 -0
- package/dist/web.js.map +1 -0
- package/package.json +68 -0
package/dist/ai/model.js
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertAIModelRecordsToAIServices = exports.getAIService = exports.getDefaultAIService = exports.getDefaultAIServiceId = exports.getAIServices = exports.getAIModel = exports.getAIModels = exports.getAIPlatform = exports.getAIPlatforms = exports.getAIProvider = exports.getAIProviders = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
5
|
+
const core_1 = require("../core");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
const getAIProviders = (context) => {
|
|
8
|
+
const { solution } = context;
|
|
9
|
+
return solution.ai?.providers ?? [];
|
|
10
|
+
};
|
|
11
|
+
exports.getAIProviders = getAIProviders;
|
|
12
|
+
const getAIProvider = (context, id) => {
|
|
13
|
+
return (0, lodash_1.find)((0, exports.getAIProviders)(context), (m) => m.value == id);
|
|
14
|
+
};
|
|
15
|
+
exports.getAIProvider = getAIProvider;
|
|
16
|
+
const getAIPlatforms = (context) => {
|
|
17
|
+
const { solution } = context;
|
|
18
|
+
return solution.ai?.platforms ?? [];
|
|
19
|
+
};
|
|
20
|
+
exports.getAIPlatforms = getAIPlatforms;
|
|
21
|
+
const getAIPlatform = (context, id) => {
|
|
22
|
+
return (0, lodash_1.find)((0, exports.getAIPlatforms)(context), (m) => m.value == id);
|
|
23
|
+
};
|
|
24
|
+
exports.getAIPlatform = getAIPlatform;
|
|
25
|
+
const getAIModels = (context, type) => {
|
|
26
|
+
const { solution } = context;
|
|
27
|
+
const models = solution.ai?.models ?? [];
|
|
28
|
+
return (0, core_1.isNonEmptyString)(type)
|
|
29
|
+
? (0, lodash_1.filter)(models, (m) => m.type == type)
|
|
30
|
+
: models;
|
|
31
|
+
};
|
|
32
|
+
exports.getAIModels = getAIModels;
|
|
33
|
+
const getAIModel = (context, id, defaultId) => {
|
|
34
|
+
const models = (0, exports.getAIModels)(context);
|
|
35
|
+
let record = (0, lodash_1.find)(models ?? [], (m) => m.value == id);
|
|
36
|
+
if (!record && (0, core_1.isNonEmptyString)(defaultId)) {
|
|
37
|
+
record = (0, lodash_1.find)(models ?? [], (m) => m.value == defaultId);
|
|
38
|
+
}
|
|
39
|
+
return record;
|
|
40
|
+
};
|
|
41
|
+
exports.getAIModel = getAIModel;
|
|
42
|
+
const getAIServices = (context, type) => {
|
|
43
|
+
const services = context.aiServices ?? [];
|
|
44
|
+
return (0, core_1.isNonEmptyString)(type)
|
|
45
|
+
? (0, lodash_1.filter)(services, (m) => m.type == type)
|
|
46
|
+
: services;
|
|
47
|
+
};
|
|
48
|
+
exports.getAIServices = getAIServices;
|
|
49
|
+
const getDefaultAIServiceId = (context, type) => {
|
|
50
|
+
const { user, organization, solution } = context;
|
|
51
|
+
switch (type) {
|
|
52
|
+
case "vision":
|
|
53
|
+
return (user?.visionModelId ??
|
|
54
|
+
organization?.visionModelId ??
|
|
55
|
+
solution.ai?.default?.model?.vision);
|
|
56
|
+
case "embedding":
|
|
57
|
+
return (user?.embeddingModelId ??
|
|
58
|
+
organization?.embeddingModelId ??
|
|
59
|
+
solution.ai?.default?.model?.embedding);
|
|
60
|
+
default:
|
|
61
|
+
return (user?.chatModelId ??
|
|
62
|
+
organization?.chatModelId ??
|
|
63
|
+
solution.ai?.default?.model?.chat);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
exports.getDefaultAIServiceId = getDefaultAIServiceId;
|
|
67
|
+
const getDefaultAIService = (context, type) => {
|
|
68
|
+
return (0, exports.getAIService)(context, (0, exports.getDefaultAIServiceId)(context, type));
|
|
69
|
+
};
|
|
70
|
+
exports.getDefaultAIService = getDefaultAIService;
|
|
71
|
+
const getAIService = (context, id, defaultId) => {
|
|
72
|
+
const services = (0, exports.getAIServices)(context);
|
|
73
|
+
let record = (0, lodash_1.find)(services ?? [], (m) => m.id == id || m.runtime == id || m.refId == id);
|
|
74
|
+
if (!record && (0, core_1.isNonEmptyString)(defaultId)) {
|
|
75
|
+
record = (0, lodash_1.find)(services ?? [], (m) => m.id == defaultId || m.refId == defaultId);
|
|
76
|
+
}
|
|
77
|
+
return record;
|
|
78
|
+
};
|
|
79
|
+
exports.getAIService = getAIService;
|
|
80
|
+
const convertAIModelRecordsToAIServices = (records) => {
|
|
81
|
+
// if we can not find the model, it may be a model that is retired
|
|
82
|
+
return (0, lodash_1.map)(records, (record) => {
|
|
83
|
+
const { id, model, model_data, provider, keyOwner, maxTokensForContext, maxTokensForOutput, name, keyName } = record;
|
|
84
|
+
const platform = record.platform ?? "openrouter";
|
|
85
|
+
const runtime = model_data?.platform[platform] ?? "openrouter";
|
|
86
|
+
const inputCost = record.inputCost ?? 0;
|
|
87
|
+
const outputCost = record.outputCost ?? 0;
|
|
88
|
+
const entityType = record.entityType ?? "Chat";
|
|
89
|
+
const type = entityType.toLowerCase();
|
|
90
|
+
const result = {
|
|
91
|
+
id: model,
|
|
92
|
+
runtime,
|
|
93
|
+
name,
|
|
94
|
+
type,
|
|
95
|
+
platform,
|
|
96
|
+
provider,
|
|
97
|
+
input: {
|
|
98
|
+
price: (constants_1.D100 * inputCost) / constants_1.DM
|
|
99
|
+
},
|
|
100
|
+
output: {
|
|
101
|
+
maxTokens: maxTokensForOutput ?? 16 * constants_1.K,
|
|
102
|
+
price: (constants_1.D100 * outputCost) / constants_1.DM
|
|
103
|
+
},
|
|
104
|
+
context: {
|
|
105
|
+
maxTokens: maxTokensForContext ?? 128 * constants_1.K
|
|
106
|
+
},
|
|
107
|
+
keyOwner: keyOwner ?? "platform",
|
|
108
|
+
keyName: keyName ?? `${platform}-${type}`,
|
|
109
|
+
refId: id,
|
|
110
|
+
functions: {}
|
|
111
|
+
};
|
|
112
|
+
if (entityType == "Vision") {
|
|
113
|
+
const imageCost = record.imageCost ?? 0;
|
|
114
|
+
result.functions = { image: { price: (constants_1.D100 * imageCost) / constants_1.DK } };
|
|
115
|
+
}
|
|
116
|
+
return result;
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
exports.convertAIModelRecordsToAIServices = convertAIModelRecordsToAIServices;
|
|
120
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/ai/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { ChatCompletionMessageParam } from "openai/resources";
|
|
2
|
+
import { IService } from "../types";
|
|
3
|
+
export type TAIContext = {
|
|
4
|
+
solution: Record<string, any>;
|
|
5
|
+
user?: Record<string, any>;
|
|
6
|
+
organization?: Record<string, any>;
|
|
7
|
+
stage?: string;
|
|
8
|
+
userId: string;
|
|
9
|
+
organizationId: string;
|
|
10
|
+
solutionId: string;
|
|
11
|
+
aiServices?: IService[];
|
|
12
|
+
};
|
|
13
|
+
export type IPluginResult = {
|
|
14
|
+
type: "error" | "success";
|
|
15
|
+
data: any;
|
|
16
|
+
};
|
|
17
|
+
export type TPromptMedia = {
|
|
18
|
+
type: "image" | "video" | "audio";
|
|
19
|
+
content: string;
|
|
20
|
+
modelId?: string;
|
|
21
|
+
};
|
|
22
|
+
export type TPromptContent = {
|
|
23
|
+
system?: string;
|
|
24
|
+
user?: string;
|
|
25
|
+
medias?: TPromptMedia[];
|
|
26
|
+
};
|
|
27
|
+
export type TLLMPromptParameter = {
|
|
28
|
+
id?: string;
|
|
29
|
+
default?: string | number | boolean;
|
|
30
|
+
type?: "text" | "boolean" | "content" | "int" | "float" | "list" | "message" | "image" | "array" | "object" | "checkbox";
|
|
31
|
+
name: string;
|
|
32
|
+
value: any;
|
|
33
|
+
label?: string;
|
|
34
|
+
required?: boolean;
|
|
35
|
+
};
|
|
36
|
+
export interface ILLMParameters {
|
|
37
|
+
maxTokens: number;
|
|
38
|
+
frequencyPenalty?: number;
|
|
39
|
+
presencePenalty?: number;
|
|
40
|
+
repetitionPenalty?: number;
|
|
41
|
+
topP?: number;
|
|
42
|
+
topK?: number;
|
|
43
|
+
topA?: number;
|
|
44
|
+
minP?: number;
|
|
45
|
+
temperature: number;
|
|
46
|
+
modelId: string;
|
|
47
|
+
vectorRequired: boolean;
|
|
48
|
+
vectorMinScore: number;
|
|
49
|
+
vectorTop: number;
|
|
50
|
+
}
|
|
51
|
+
export type TLLMParameters = ILLMParameters;
|
|
52
|
+
export type TMessageContent = string | {
|
|
53
|
+
type: string;
|
|
54
|
+
text?: string;
|
|
55
|
+
image_url?: {
|
|
56
|
+
url: string;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
export type TChatCompletionMessage = {
|
|
60
|
+
id: string;
|
|
61
|
+
role: string;
|
|
62
|
+
content: string;
|
|
63
|
+
code?: string;
|
|
64
|
+
detail?: any;
|
|
65
|
+
ts: number;
|
|
66
|
+
uid: string;
|
|
67
|
+
};
|
|
68
|
+
export type TLLMMessage = ChatCompletionMessageParam | TChatCompletionMessage;
|
|
69
|
+
export type TLLMRequest = {
|
|
70
|
+
model: string;
|
|
71
|
+
temperature: number;
|
|
72
|
+
max_tokens?: number;
|
|
73
|
+
frequency_penalty?: number;
|
|
74
|
+
presence_penalty?: number;
|
|
75
|
+
repetition_penalty?: number;
|
|
76
|
+
top_p?: number;
|
|
77
|
+
top_k?: number;
|
|
78
|
+
min_p?: number;
|
|
79
|
+
top_a?: number;
|
|
80
|
+
messages: TLLMMessage[];
|
|
81
|
+
tools?: Record<string, any>[];
|
|
82
|
+
stream?: boolean;
|
|
83
|
+
stream_options?: Record<string, any>;
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/types.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// COPYRIGHT: PrimeObjects Software Inc. (C) 2023 All Right Reserved
|
|
3
|
+
// COMPANY URL: https://www.primeobjects.com/
|
|
4
|
+
// CONTACT: developer@primeobjects.com
|
|
5
|
+
//
|
|
6
|
+
// This source is subject to the PrimeObjects License Agreements.
|
|
7
|
+
//
|
|
8
|
+
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY
|
|
9
|
+
// OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
|
|
10
|
+
// LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
11
|
+
// FITNESS FOR A PARTICULAR PURPOSE.
|
|
12
|
+
//
|
|
13
|
+
// ALL OTHER RIGHTS RESERVED
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":";AAAA,2EAA2E;AAC3E,kDAAkD;AAClD,+CAA+C;AAC/C,EAAE;AACF,kEAAkE;AAClE,EAAE;AACF,kEAAkE;AAClE,+DAA+D;AAC/D,4DAA4D;AAC5D,qCAAqC;AACrC,EAAE;AACF,6BAA6B"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { IContext } from "../types";
|
|
2
|
+
import { TAIContext } from "./types";
|
|
3
|
+
export declare const PLAYGROUND_PROMPT: {
|
|
4
|
+
entityName: string;
|
|
5
|
+
entityNameForRenderRecord: string;
|
|
6
|
+
searchDisplay: string;
|
|
7
|
+
searchContent: null;
|
|
8
|
+
display: string;
|
|
9
|
+
slugs: string[];
|
|
10
|
+
slug: string;
|
|
11
|
+
description: string;
|
|
12
|
+
maxTokens: number;
|
|
13
|
+
temperature: number;
|
|
14
|
+
parameters: never[];
|
|
15
|
+
name: string;
|
|
16
|
+
apiNameAuto: string;
|
|
17
|
+
template: string;
|
|
18
|
+
allowUserUpdateTemplate: boolean;
|
|
19
|
+
allowUserControlLLMModel: boolean;
|
|
20
|
+
allowUserControlTemperature: boolean;
|
|
21
|
+
allowUserControlMaxTokens: boolean;
|
|
22
|
+
allowUserControlOutputFormat: boolean;
|
|
23
|
+
supportMarkdownOutput: boolean;
|
|
24
|
+
supportPlainTextOutput: boolean;
|
|
25
|
+
supportJSONOutput: boolean;
|
|
26
|
+
};
|
|
27
|
+
export declare const getAIContext: (context: IContext | Record<string, any>) => TAIContext;
|
|
28
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/ai/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;CAuB7B,CAAC;AAEF,eAAO,MAAM,YAAY,GACrB,SAAS,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACxC,UAgCF,CAAC"}
|
package/dist/ai/util.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAIContext = exports.PLAYGROUND_PROMPT = void 0;
|
|
4
|
+
exports.PLAYGROUND_PROMPT = {
|
|
5
|
+
entityName: "Prompt",
|
|
6
|
+
entityNameForRenderRecord: "PromptInstance",
|
|
7
|
+
searchDisplay: "Playground",
|
|
8
|
+
searchContent: null,
|
|
9
|
+
display: "Playground",
|
|
10
|
+
slugs: ["playground"],
|
|
11
|
+
slug: "playground",
|
|
12
|
+
description: "",
|
|
13
|
+
maxTokens: 4096,
|
|
14
|
+
temperature: 0,
|
|
15
|
+
parameters: [],
|
|
16
|
+
name: "Playground",
|
|
17
|
+
apiNameAuto: "playground",
|
|
18
|
+
template: "",
|
|
19
|
+
allowUserUpdateTemplate: true,
|
|
20
|
+
allowUserControlLLMModel: true,
|
|
21
|
+
allowUserControlTemperature: true,
|
|
22
|
+
allowUserControlMaxTokens: true,
|
|
23
|
+
allowUserControlOutputFormat: true,
|
|
24
|
+
supportMarkdownOutput: true,
|
|
25
|
+
supportPlainTextOutput: true,
|
|
26
|
+
supportJSONOutput: true
|
|
27
|
+
};
|
|
28
|
+
const getAIContext = (context) => {
|
|
29
|
+
const { user, organization, aiServices, stage, userId, organizationId, solutionId } = context;
|
|
30
|
+
const { entities, app, subscriptions, cloudFront, description, searchDisplay, searchContent, ...solution } = context.solution ?? {};
|
|
31
|
+
return {
|
|
32
|
+
solution,
|
|
33
|
+
user,
|
|
34
|
+
organization,
|
|
35
|
+
aiServices,
|
|
36
|
+
stage,
|
|
37
|
+
userId,
|
|
38
|
+
organizationId,
|
|
39
|
+
solutionId
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
exports.getAIContext = getAIContext;
|
|
43
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/ai/util.ts"],"names":[],"mappings":";;;AAGa,QAAA,iBAAiB,GAAG;IAC7B,UAAU,EAAE,QAAQ;IACpB,yBAAyB,EAAE,gBAAgB;IAC3C,aAAa,EAAE,YAAY;IAC3B,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,CAAC,YAAY,CAAC;IACrB,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,EAAE;IACd,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,YAAY;IACzB,QAAQ,EAAE,EAAE;IACZ,uBAAuB,EAAE,IAAI;IAC7B,wBAAwB,EAAE,IAAI;IAC9B,2BAA2B,EAAE,IAAI;IACjC,yBAAyB,EAAE,IAAI;IAC/B,4BAA4B,EAAE,IAAI;IAClC,qBAAqB,EAAE,IAAI;IAC3B,sBAAsB,EAAE,IAAI;IAC5B,iBAAiB,EAAE,IAAI;CAC1B,CAAC;AAEK,MAAM,YAAY,GAAG,CACxB,OAAuC,EAC7B,EAAE;IACZ,MAAM,EACF,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,KAAK,EACL,MAAM,EACN,cAAc,EACd,UAAU,EACb,GAAG,OAAO,CAAC;IAEZ,MAAM,EACF,QAAQ,EACR,GAAG,EACH,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,GAAG,QAAQ,EACd,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAE3B,OAAO;QACH,QAAQ;QACR,IAAI;QACJ,YAAY;QACZ,UAAU;QACV,KAAK;QACL,MAAM;QACN,cAAc;QACd,UAAU;KACb,CAAC;AACN,CAAC,CAAC;AAlCW,QAAA,YAAY,gBAkCvB"}
|
package/dist/auth.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Authentication and authorization utilities including password validation, token verification, and security functions
|
|
3
|
+
* @copyright PrimeObjects Software Inc. (C) 2024 All Rights Reserved
|
|
4
|
+
* @author EncodeAgent Team.
|
|
5
|
+
* @copyright © 2024 PrimeObjects Software Inc. All rights reserved.
|
|
6
|
+
* @license Proprietary - Subject to PrimeObjects License Agreements
|
|
7
|
+
* @contact encode.agent@primeobjects.com
|
|
8
|
+
* @website https://www.encodeagent.com/
|
|
9
|
+
*
|
|
10
|
+
* This software contains proprietary and confidential information of
|
|
11
|
+
* PrimeObjects Software Inc. Any reproduction or distribution of this
|
|
12
|
+
* software, in whole or in part, without written permission of
|
|
13
|
+
* PrimeObjects Software Inc. is strictly prohibited.
|
|
14
|
+
*
|
|
15
|
+
* Unauthorized copying of this file, via any medium, is strictly prohibited.
|
|
16
|
+
* This file is proprietary and confidential.
|
|
17
|
+
*/
|
|
18
|
+
export declare const checkRecordPrivilege: (context: Record<string, any>, record: Record<string, any>, prType: string) => boolean;
|
|
19
|
+
export declare const recordOwnedByOrganization: (user: Record<string, any>, record?: Record<string, any>) => boolean;
|
|
20
|
+
export declare const checkLicenses: (context: Record<string, any>, featureOrEntityName: string) => boolean;
|
|
21
|
+
export declare const hasLicense: (context: Record<string, any>, name: string) => boolean;
|
|
22
|
+
export declare const checkPrivileges: (context: Record<string, any>, privileges: Array<string>, op: string, checkEntityExistFunc: any) => boolean;
|
|
23
|
+
export declare const checkEntityPrivilege: (context: Record<string, any>, entityName: string, entityType?: string, prType?: string) => boolean;
|
|
24
|
+
export declare const checkPrivilege: (context: Record<string, any>, entityName?: string, entityType?: string, record?: Record<string, any>, prType?: string) => boolean;
|
|
25
|
+
export declare const isReader: (context: Record<string, any>, security: string[]) => boolean;
|
|
26
|
+
export declare const isAuthor: (context: Record<string, any>, security: string[]) => boolean;
|
|
27
|
+
export declare const hasPrivilege: (context: Record<string, any>, privilege: string) => boolean;
|
|
28
|
+
export declare const isMember: (user: Record<string, any>, regarding: Record<string, any>) => boolean;
|
|
29
|
+
export declare const isOwner: (user: Record<string, any>, regarding: Record<string, any>) => boolean;
|
|
30
|
+
export declare const hasMemberRole: (user: Record<string, any>, regarding: Record<string, any>, roleName: string) => boolean;
|
|
31
|
+
export declare const hasAnyRole: (context: Record<string, any>, roleNames: string[], record?: Record<string, any>) => string | undefined;
|
|
32
|
+
export declare const hasAllRoles: (context: Record<string, any>, roleNames: string[], record?: Record<string, any>) => boolean;
|
|
33
|
+
export declare const hasRole: (context: Record<string, any>, roleName: string, record?: Record<string, any>) => string | undefined;
|
|
34
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAaH,eAAO,MAAM,oBAAoB,GAC7B,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,QAAQ,MAAM,KACf,OAOF,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAClC,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC7B,OAQF,CAAC;AAEF,eAAO,MAAM,aAAa,GACtB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,qBAAqB,MAAM,KAC5B,OA4EF,CAAC;AAEF,eAAO,MAAM,UAAU,GACnB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,MAAM,MAAM,KACb,OAmCF,CAAC;AAEF,eAAO,MAAM,eAAe,GACxB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,YAAY,KAAK,CAAC,MAAM,CAAC,EACzB,IAAI,MAAM,EACV,sBAAsB,GAAG,KAC1B,OAiFF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC7B,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,YAAY,MAAM,EAClB,aAAa,MAAM,EACnB,SAAS,MAAM,KAChB,OA8BF,CAAC;AAEF,eAAO,MAAM,cAAc,GACvB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,aAAa,MAAM,EACnB,aAAa,MAAM,EACnB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,SAAS,MAAM,KAChB,OA0NF,CAAC;AAEF,eAAO,MAAM,QAAQ,GACjB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,UAAU,MAAM,EAAE,KACnB,OAmBF,CAAC;AAEF,eAAO,MAAM,QAAQ,GACjB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,UAAU,MAAM,EAAE,KACnB,OAcF,CAAC;AAGF,eAAO,MAAM,YAAY,GACrB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,WAAW,MAAM,KAClB,OAuCF,CAAC;AAEF,eAAO,MAAM,QAAQ,GACjB,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,WAAW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC/B,OAkBF,CAAC;AAEF,eAAO,MAAM,OAAO,GAChB,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,WAAW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC/B,OAiBF,CAAC;AAEF,eAAO,MAAM,aAAa,GACtB,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,WAAW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,UAAU,MAAM,KACjB,OAKF,CAAC;AAEF,eAAO,MAAM,UAAU,GACnB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,WAAW,MAAM,EAAE,EACnB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC7B,MAAM,GAAG,SAMX,CAAC;AAEF,eAAO,MAAM,WAAW,GACpB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,WAAW,MAAM,EAAE,EACnB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC7B,OASF,CAAC;AAGF,eAAO,MAAM,OAAO,GAChB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,UAAU,MAAM,EAChB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC7B,MAAM,GAAG,SA6CX,CAAC"}
|