@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.
Files changed (122) hide show
  1. package/README.md +121 -0
  2. package/dist/__tests__/core.test.d.ts +5 -0
  3. package/dist/__tests__/core.test.d.ts.map +1 -0
  4. package/dist/__tests__/core.test.js +128 -0
  5. package/dist/__tests__/core.test.js.map +1 -0
  6. package/dist/__tests__/shortid.test.d.ts +5 -0
  7. package/dist/__tests__/shortid.test.d.ts.map +1 -0
  8. package/dist/__tests__/shortid.test.js +72 -0
  9. package/dist/__tests__/shortid.test.js.map +1 -0
  10. package/dist/__tests__/slug.test.d.ts +5 -0
  11. package/dist/__tests__/slug.test.d.ts.map +1 -0
  12. package/dist/__tests__/slug.test.js +31 -0
  13. package/dist/__tests__/slug.test.js.map +1 -0
  14. package/dist/__tests__/token.test.d.ts +5 -0
  15. package/dist/__tests__/token.test.d.ts.map +1 -0
  16. package/dist/__tests__/token.test.js +49 -0
  17. package/dist/__tests__/token.test.js.map +1 -0
  18. package/dist/__tests__/uuid.test.d.ts +5 -0
  19. package/dist/__tests__/uuid.test.d.ts.map +1 -0
  20. package/dist/__tests__/uuid.test.js +42 -0
  21. package/dist/__tests__/uuid.test.js.map +1 -0
  22. package/dist/__tests__/value-of-object.test.d.ts +5 -0
  23. package/dist/__tests__/value-of-object.test.d.ts.map +1 -0
  24. package/dist/__tests__/value-of-object.test.js +49 -0
  25. package/dist/__tests__/value-of-object.test.js.map +1 -0
  26. package/dist/ai/llm.d.ts +90 -0
  27. package/dist/ai/llm.d.ts.map +1 -0
  28. package/dist/ai/llm.js +524 -0
  29. package/dist/ai/llm.js.map +1 -0
  30. package/dist/ai/model.d.ts +14 -0
  31. package/dist/ai/model.d.ts.map +1 -0
  32. package/dist/ai/model.js +120 -0
  33. package/dist/ai/model.js.map +1 -0
  34. package/dist/ai/types.d.ts +85 -0
  35. package/dist/ai/types.d.ts.map +1 -0
  36. package/dist/ai/types.js +15 -0
  37. package/dist/ai/types.js.map +1 -0
  38. package/dist/ai/util.d.ts +28 -0
  39. package/dist/ai/util.d.ts.map +1 -0
  40. package/dist/ai/util.js +43 -0
  41. package/dist/ai/util.js.map +1 -0
  42. package/dist/auth.d.ts +34 -0
  43. package/dist/auth.d.ts.map +1 -0
  44. package/dist/auth.js +568 -0
  45. package/dist/auth.js.map +1 -0
  46. package/dist/colors.d.ts +79 -0
  47. package/dist/colors.d.ts.map +1 -0
  48. package/dist/colors.js +492 -0
  49. package/dist/colors.js.map +1 -0
  50. package/dist/constants.d.ts +86 -0
  51. package/dist/constants.d.ts.map +1 -0
  52. package/dist/constants.js +2578 -0
  53. package/dist/constants.js.map +1 -0
  54. package/dist/core.d.ts +337 -0
  55. package/dist/core.d.ts.map +1 -0
  56. package/dist/core.js +1165 -0
  57. package/dist/core.js.map +1 -0
  58. package/dist/cost.d.ts +35 -0
  59. package/dist/cost.d.ts.map +1 -0
  60. package/dist/cost.js +143 -0
  61. package/dist/cost.js.map +1 -0
  62. package/dist/file.d.ts +55 -0
  63. package/dist/file.d.ts.map +1 -0
  64. package/dist/file.js +273 -0
  65. package/dist/file.js.map +1 -0
  66. package/dist/html.d.ts +44 -0
  67. package/dist/html.d.ts.map +1 -0
  68. package/dist/html.js +420 -0
  69. package/dist/html.js.map +1 -0
  70. package/dist/index.d.ts +53 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +313 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/markdown.d.ts +20 -0
  75. package/dist/markdown.d.ts.map +1 -0
  76. package/dist/markdown.js +38 -0
  77. package/dist/markdown.js.map +1 -0
  78. package/dist/metadata.d.ts +39 -0
  79. package/dist/metadata.d.ts.map +1 -0
  80. package/dist/metadata.js +110 -0
  81. package/dist/metadata.js.map +1 -0
  82. package/dist/record.d.ts +67 -0
  83. package/dist/record.d.ts.map +1 -0
  84. package/dist/record.js +404 -0
  85. package/dist/record.js.map +1 -0
  86. package/dist/shortid.d.ts +42 -0
  87. package/dist/shortid.d.ts.map +1 -0
  88. package/dist/shortid.js +42 -0
  89. package/dist/shortid.js.map +1 -0
  90. package/dist/slug.d.ts +24 -0
  91. package/dist/slug.d.ts.map +1 -0
  92. package/dist/slug.js +43 -0
  93. package/dist/slug.js.map +1 -0
  94. package/dist/token.d.ts +34 -0
  95. package/dist/token.d.ts.map +1 -0
  96. package/dist/token.js +20 -0
  97. package/dist/token.js.map +1 -0
  98. package/dist/tree.d.ts +27 -0
  99. package/dist/tree.d.ts.map +1 -0
  100. package/dist/tree.js +193 -0
  101. package/dist/tree.js.map +1 -0
  102. package/dist/types.d.ts +270 -0
  103. package/dist/types.d.ts.map +1 -0
  104. package/dist/types.js +29 -0
  105. package/dist/types.js.map +1 -0
  106. package/dist/uuid.d.ts +25 -0
  107. package/dist/uuid.d.ts.map +1 -0
  108. package/dist/uuid.js +32 -0
  109. package/dist/uuid.js.map +1 -0
  110. package/dist/value-of-object.d.ts +25 -0
  111. package/dist/value-of-object.d.ts.map +1 -0
  112. package/dist/value-of-object.js +123 -0
  113. package/dist/value-of-object.js.map +1 -0
  114. package/dist/web-content.d.ts +54 -0
  115. package/dist/web-content.d.ts.map +1 -0
  116. package/dist/web-content.js +268 -0
  117. package/dist/web-content.js.map +1 -0
  118. package/dist/web.d.ts +36 -0
  119. package/dist/web.d.ts.map +1 -0
  120. package/dist/web.js +162 -0
  121. package/dist/web.js.map +1 -0
  122. package/package.json +68 -0
@@ -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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"}
@@ -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"}
@@ -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"}