@nocobase/plugin-ai 2.2.0-alpha.11 → 2.2.0-alpha.12
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/dist/ai/docs/nocobase/ai-employees/block/ai-chat-box.md +133 -0
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/documents.md +1 -1
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/index.md +11 -7
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/settings.md +12 -8
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-database.md +3 -3
- package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/create-document.md +1 -1
- package/dist/ai/docs/nocobase/ops-management/migration-manager/built-in-tables.md +1 -2
- package/dist/ai/docs/nocobase/runjs/context/ai.md +194 -4
- package/dist/ai/tools/getSkill.js +1 -1
- package/dist/client/244.8631eb5cf3f05e21.js +10 -0
- package/dist/client/681.6ffbc9329b9ac242.js +10 -0
- package/dist/client/index.d.ts +1 -3
- package/dist/client/index.js +8 -8
- package/dist/client-v2/244.c428e645ecb94414.js +10 -0
- package/dist/client-v2/420.b2aedb1ff71fca0e.js +10 -0
- package/dist/client-v2/681.6890caa389564ff7.js +10 -0
- package/dist/client-v2/ai-employees/AIEmployeeShortcut.d.ts +2 -0
- package/dist/client-v2/ai-employees/AddContextButton.d.ts +2 -0
- package/dist/client-v2/ai-employees/chatbox/components/AIEmployeeSwitcher.d.ts +1 -0
- package/dist/client-v2/ai-employees/chatbox/components/ChatBoxUnreadBadge.d.ts +17 -0
- package/dist/client-v2/ai-employees/chatbox/components/Conversations.d.ts +9 -1
- package/dist/client-v2/ai-employees/chatbox/components/MessageRenderers.d.ts +1 -1
- package/dist/client-v2/ai-employees/chatbox/components/Messages.d.ts +5 -1
- package/dist/client-v2/ai-employees/chatbox/components/ModelSwitcher.d.ts +4 -0
- package/dist/client-v2/ai-employees/chatbox/components/Sender.d.ts +33 -1
- package/dist/client-v2/ai-employees/chatbox/components/index.d.ts +1 -0
- package/dist/client-v2/ai-employees/chatbox/hooks/useChat.d.ts +8 -5
- package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +3 -2
- package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxEffect.d.ts +2 -1
- package/dist/client-v2/ai-employees/chatbox/hooks/useChatConversationActions.d.ts +3 -2
- package/dist/client-v2/ai-employees/chatbox/hooks/useChatMessageActions.d.ts +4 -2
- package/dist/client-v2/ai-employees/chatbox/hooks/useToolCallActions.d.ts +3 -1
- package/dist/client-v2/ai-employees/chatbox/hooks/useUploadFiles.d.ts +13 -3
- package/dist/client-v2/ai-employees/chatbox/hooks/useWorkflowTasks.d.ts +3 -2
- package/dist/client-v2/ai-employees/chatbox/index.d.ts +17 -0
- package/dist/client-v2/ai-employees/chatbox/roles.d.ts +2 -153
- package/dist/client-v2/ai-employees/chatbox/stores/chat-box.d.ts +46 -31
- package/dist/client-v2/ai-employees/chatbox/stores/chat-conversations.d.ts +7 -7
- package/dist/client-v2/ai-employees/chatbox/stores/chat-messages.d.ts +23 -18
- package/dist/client-v2/ai-employees/chatbox/stores/chat-sender.d.ts +43 -0
- package/dist/client-v2/ai-employees/chatbox/stores/chat-tool-call.d.ts +6 -5
- package/dist/client-v2/ai-employees/chatbox/stores/chat-tools.d.ts +11 -5
- package/dist/client-v2/ai-employees/chatbox/stores/mounted-chat-boxes.d.ts +20 -0
- package/dist/client-v2/ai-employees/chatbox/stores/runtime.d.ts +43 -0
- package/dist/client-v2/ai-employees/chatbox/stores/workflow-tasks.d.ts +22 -10
- package/dist/client-v2/ai-employees/chatbox/upload.d.ts +19 -0
- package/dist/client-v2/ai-employees/chatbox/utils.d.ts +28 -4
- package/dist/client-v2/ai-employees/tools/SuggestionsOptionsCard.d.ts +1 -1
- package/dist/client-v2/ai-employees/tools/WorkflowTaskOutputCard.d.ts +1 -1
- package/dist/client-v2/ai-employees/types.d.ts +27 -0
- package/dist/client-v2/block/ai-chat-box/AIChatBoxBlockModel.d.ts +21 -0
- package/dist/client-v2/block/ai-chat-box/AIChatBoxCoreModel.d.ts +13 -0
- package/dist/client-v2/block/ai-chat-box/components/AIChatBoxCoreView.d.ts +10 -0
- package/dist/client-v2/block/ai-chat-box/components/AIChatBoxView.d.ts +12 -0
- package/dist/client-v2/block/ai-chat-box/index.d.ts +14 -0
- package/dist/client-v2/block/ai-chat-box/settings.d.ts +12 -0
- package/dist/client-v2/block/ai-chat-box/sub-models.d.ts +26 -0
- package/dist/client-v2/block/ai-chat-box/types.d.ts +38 -0
- package/dist/client-v2/block/ai-chat-box/utils.d.ts +26 -0
- package/dist/client-v2/index.d.ts +3 -5
- package/dist/client-v2/index.js +3 -3
- package/dist/client-v2/llm-services/model-select.d.ts +33 -0
- package/dist/client-v2/llm-services/utils.d.ts +1 -0
- package/dist/client-v2/manager/ai-manager.d.ts +8 -3
- package/dist/client-v2/models/ai-employees/AIEmployeeActionModel.d.ts +4 -1
- package/dist/client-v2/models/ai-employees/AIEmployeeShortcutModel.d.ts +5 -0
- package/dist/client-v2/pages/EmployeesPage.d.ts +1 -0
- package/dist/client-v2/runjs/registerAIEmployeeRunJSFacade.d.ts +1 -0
- package/dist/common/ai-employee-validation.d.ts +15 -0
- package/dist/common/ai-employee-validation.js +61 -0
- package/dist/common/error-codes.d.ts +13 -0
- package/dist/common/error-codes.js +48 -0
- package/dist/common/llm-service-models.d.ts +16 -0
- package/dist/common/llm-service-models.js +84 -0
- package/dist/externalVersion.js +15 -15
- package/dist/locale/en-US.json +62 -0
- package/dist/locale/zh-CN.json +62 -0
- package/dist/node_modules/@langchain/mistralai/package.json +1 -1
- package/dist/node_modules/@langchain/xai/package.json +1 -1
- package/dist/node_modules/fs-extra/package.json +1 -1
- package/dist/node_modules/jsonrepair/package.json +1 -1
- package/dist/node_modules/just-bash/package.json +1 -1
- package/dist/node_modules/nodejs-snowflake/package.json +1 -1
- package/dist/node_modules/openai/package.json +1 -1
- package/dist/node_modules/zod/package.json +1 -1
- package/dist/server/ai-employees/ai-conversations.d.ts +2 -1
- package/dist/server/ai-employees/ai-conversations.js +2 -0
- package/dist/server/ai-employees/ai-employee.d.ts +1 -0
- package/dist/server/ai-employees/ai-employee.js +6 -0
- package/dist/server/ai-employees/middleware/conversation.js +9 -2
- package/dist/server/collections/ai-conversations.js +5 -0
- package/dist/server/document-loader/constants.js +0 -1
- package/dist/server/plugin.d.ts +1 -0
- package/dist/server/plugin.js +25 -0
- package/dist/server/resource/aiConversations.js +6 -2
- package/dist/server/resource/aiEmployees.d.ts +2 -0
- package/dist/server/resource/aiEmployees.js +62 -0
- package/dist/server/resource/aiWorkflowTasks.js +9 -1
- package/dist/server/resource/llmServices.d.ts +11 -0
- package/dist/server/resource/llmServices.js +85 -0
- package/dist/server/types/knowledge-base.type.d.ts +6 -2
- package/dist/swagger/common.d.ts +143 -0
- package/dist/swagger/common.js +144 -0
- package/dist/swagger/employees.d.ts +301 -0
- package/dist/swagger/employees.js +131 -0
- package/dist/swagger/index.d.ts +1588 -0
- package/dist/swagger/index.js +62 -0
- package/dist/swagger/llm.d.ts +555 -0
- package/dist/swagger/llm.js +247 -0
- package/dist/swagger/schemas.d.ts +736 -0
- package/dist/swagger/schemas.js +381 -0
- package/package.json +2 -2
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-store.md +0 -24
- package/dist/client/372.49163fac65cef81c.js +0 -10
- package/dist/client/681.399948c18d753667.js +0 -10
- package/dist/client-v2/372.387161cdeb106987.js +0 -10
- package/dist/client-v2/406.341be51205c674e0.js +0 -10
- package/dist/client-v2/681.082f4f1c7b841983.js +0 -10
- package/dist/client-v2/ai-employees/chatbox/stores/create-selectors.d.ts +0 -46
- package/dist/client-v2/ai-employees/chatbox/utils/normalizeTriggerTaskOptions.d.ts +0 -19
|
@@ -36,16 +36,76 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
36
36
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
37
37
|
var aiEmployees_exports = {};
|
|
38
38
|
__export(aiEmployees_exports, {
|
|
39
|
+
create: () => create,
|
|
39
40
|
getTemplates: () => getTemplates,
|
|
40
41
|
list: () => list,
|
|
41
42
|
listByUser: () => listByUser,
|
|
43
|
+
update: () => update,
|
|
42
44
|
updateUserPrompt: () => updateUserPrompt
|
|
43
45
|
});
|
|
44
46
|
module.exports = __toCommonJS(aiEmployees_exports);
|
|
45
47
|
var import_actions = __toESM(require("@nocobase/actions"));
|
|
48
|
+
var import_database = require("@nocobase/database");
|
|
46
49
|
var templates = __toESM(require("../ai-employees/templates"));
|
|
47
50
|
var import_lodash = __toESM(require("lodash"));
|
|
48
51
|
var import_ai_feature_manager = require("../manager/ai-feature-manager");
|
|
52
|
+
var import_error_codes = require("../../common/error-codes");
|
|
53
|
+
var import_ai_employee_validation = require("../../common/ai-employee-validation");
|
|
54
|
+
const isUniqueConstraintError = (error) => error instanceof import_database.UniqueConstraintError || typeof error === "object" && error !== null && "name" in error && error.name === "SequelizeUniqueConstraintError";
|
|
55
|
+
const throwUsernameConflict = (ctx) => ctx.throw(409, {
|
|
56
|
+
code: import_error_codes.AI_EMPLOYEE_USERNAME_CONFLICT,
|
|
57
|
+
message: ctx.t("Username already exists")
|
|
58
|
+
});
|
|
59
|
+
const isRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
|
|
60
|
+
const validateAndNormalizeProfileValues = (ctx) => {
|
|
61
|
+
const values = ctx.action.params.values;
|
|
62
|
+
if (!isRecord(values)) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
if ("username" in values) {
|
|
66
|
+
if (typeof values.username !== "string" || !(0, import_ai_employee_validation.isValidAIEmployeeUsername)(values.username)) {
|
|
67
|
+
ctx.throw(400, {
|
|
68
|
+
code: import_error_codes.AI_EMPLOYEE_USERNAME_INVALID,
|
|
69
|
+
message: ctx.t("Use 1-64 letters, numbers, underscores, or hyphens.")
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
values.username = (0, import_ai_employee_validation.normalizeAIEmployeeName)(values.username);
|
|
73
|
+
}
|
|
74
|
+
if ("nickname" in values) {
|
|
75
|
+
if (typeof values.nickname !== "string" || !(0, import_ai_employee_validation.isValidAIEmployeeNickname)(values.nickname)) {
|
|
76
|
+
ctx.throw(400, {
|
|
77
|
+
code: import_error_codes.AI_EMPLOYEE_NICKNAME_INVALID,
|
|
78
|
+
message: ctx.t("Use 1-64 letters, numbers, spaces, or . _ - ' ( ) & \xB7.")
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
values.nickname = (0, import_ai_employee_validation.normalizeAIEmployeeName)(values.nickname);
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
const create = async (ctx, next) => {
|
|
85
|
+
var _a;
|
|
86
|
+
validateAndNormalizeProfileValues(ctx);
|
|
87
|
+
const username = (_a = ctx.action.params.values) == null ? void 0 : _a.username;
|
|
88
|
+
if (typeof username === "string") {
|
|
89
|
+
const existingEmployee = await ctx.db.getRepository("aiEmployees").findOne({
|
|
90
|
+
filter: { username }
|
|
91
|
+
});
|
|
92
|
+
if (existingEmployee) {
|
|
93
|
+
throwUsernameConflict(ctx);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
try {
|
|
97
|
+
await import_actions.default.create(ctx, next);
|
|
98
|
+
} catch (error) {
|
|
99
|
+
if (isUniqueConstraintError(error)) {
|
|
100
|
+
throwUsernameConflict(ctx);
|
|
101
|
+
}
|
|
102
|
+
throw error;
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
const update = async (ctx, next) => {
|
|
106
|
+
validateAndNormalizeProfileValues(ctx);
|
|
107
|
+
await import_actions.default.update(ctx, next);
|
|
108
|
+
};
|
|
49
109
|
const list = async (ctx, next) => {
|
|
50
110
|
var _a, _b;
|
|
51
111
|
const { paginate } = ctx.action.params || {};
|
|
@@ -227,8 +287,10 @@ const getTemplates = async (ctx, next) => {
|
|
|
227
287
|
};
|
|
228
288
|
// Annotate the CommonJS export names for ESM import in node:
|
|
229
289
|
0 && (module.exports = {
|
|
290
|
+
create,
|
|
230
291
|
getTemplates,
|
|
231
292
|
list,
|
|
232
293
|
listByUser,
|
|
294
|
+
update,
|
|
233
295
|
updateUserPrompt
|
|
234
296
|
});
|
|
@@ -129,7 +129,7 @@ const aiWorkflowTasks = {
|
|
|
129
129
|
await next();
|
|
130
130
|
},
|
|
131
131
|
getBySession: async (ctx, next) => {
|
|
132
|
-
var _a, _b, _c, _d, _e;
|
|
132
|
+
var _a, _b, _c, _d, _e, _f;
|
|
133
133
|
const userId = (_a = ctx.auth) == null ? void 0 : _a.user.id;
|
|
134
134
|
if (!userId) {
|
|
135
135
|
return ctx.throw(403);
|
|
@@ -158,12 +158,20 @@ const aiWorkflowTasks = {
|
|
|
158
158
|
id: task.nodeId
|
|
159
159
|
}
|
|
160
160
|
});
|
|
161
|
+
const conversation = await ctx.db.getRepository("aiConversations").findOne({
|
|
162
|
+
filter: {
|
|
163
|
+
sessionId
|
|
164
|
+
},
|
|
165
|
+
appends: ["aiEmployee"]
|
|
166
|
+
});
|
|
167
|
+
const aiEmployee = conversation == null ? void 0 : conversation.aiEmployee;
|
|
161
168
|
const readonly = task.status !== "pending_approval" || task.acceptedUserId !== userId;
|
|
162
169
|
ctx.body = {
|
|
163
170
|
...((_c = task == null ? void 0 : task.toJSON) == null ? void 0 : _c.call(task)) ?? task,
|
|
164
171
|
read: (usersAiWorkflowTasks == null ? void 0 : usersAiWorkflowTasks.read) ?? true,
|
|
165
172
|
config: (node == null ? void 0 : node.config) ?? null,
|
|
166
173
|
structuredOutputSchema: ((_e = (_d = node == null ? void 0 : node.config) == null ? void 0 : _d.structuredOutput) == null ? void 0 : _e.schema) ?? null,
|
|
174
|
+
aiEmployee: ((_f = aiEmployee == null ? void 0 : aiEmployee.toJSON) == null ? void 0 : _f.call(aiEmployee)) ?? aiEmployee ?? null,
|
|
167
175
|
readonly
|
|
168
176
|
};
|
|
169
177
|
await next();
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import { Context, Next } from '@nocobase/actions';
|
|
10
|
+
export declare const create: (ctx: Context, next: Next) => Promise<void>;
|
|
11
|
+
export declare const update: (ctx: Context, next: Next) => Promise<void>;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var __create = Object.create;
|
|
11
|
+
var __defProp = Object.defineProperty;
|
|
12
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
13
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
14
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
15
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
16
|
+
var __export = (target, all) => {
|
|
17
|
+
for (var name in all)
|
|
18
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
19
|
+
};
|
|
20
|
+
var __copyProps = (to, from, except, desc) => {
|
|
21
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
22
|
+
for (let key of __getOwnPropNames(from))
|
|
23
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
24
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
25
|
+
}
|
|
26
|
+
return to;
|
|
27
|
+
};
|
|
28
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
29
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
30
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
31
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
32
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
33
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
34
|
+
mod
|
|
35
|
+
));
|
|
36
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
37
|
+
var llmServices_exports = {};
|
|
38
|
+
__export(llmServices_exports, {
|
|
39
|
+
create: () => create,
|
|
40
|
+
update: () => update
|
|
41
|
+
});
|
|
42
|
+
module.exports = __toCommonJS(llmServices_exports);
|
|
43
|
+
var import_actions = __toESM(require("@nocobase/actions"));
|
|
44
|
+
var import_package = require("../../../package.json");
|
|
45
|
+
var import_error_codes = require("../../common/error-codes");
|
|
46
|
+
var import_llm_service_models = require("../../common/llm-service-models");
|
|
47
|
+
const isRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
|
|
48
|
+
const validateAndNormalizeEnabledModels = (ctx) => {
|
|
49
|
+
const values = ctx.action.params.values;
|
|
50
|
+
if (!isRecord(values) || !("enabledModels" in values)) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const enabledModels = (0, import_llm_service_models.normalizeCustomModelIds)(values.enabledModels);
|
|
54
|
+
const issue = (0, import_llm_service_models.getCustomModelIdIssues)(enabledModels)[0];
|
|
55
|
+
if (issue) {
|
|
56
|
+
const required = issue.type === "required";
|
|
57
|
+
ctx.throw(400, {
|
|
58
|
+
code: required ? import_error_codes.LLM_SERVICE_MODEL_ID_REQUIRED : import_error_codes.LLM_SERVICE_MODEL_ID_DUPLICATE,
|
|
59
|
+
message: ctx.t(required ? "Model ID is required" : "Model ID already exists", { ns: import_package.name }),
|
|
60
|
+
data: { index: issue.index }
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
ctx.action.mergeParams(
|
|
64
|
+
{
|
|
65
|
+
values: {
|
|
66
|
+
...values,
|
|
67
|
+
enabledModels
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
{ values: "overwrite" }
|
|
71
|
+
);
|
|
72
|
+
};
|
|
73
|
+
const create = async (ctx, next) => {
|
|
74
|
+
validateAndNormalizeEnabledModels(ctx);
|
|
75
|
+
await import_actions.default.create(ctx, next);
|
|
76
|
+
};
|
|
77
|
+
const update = async (ctx, next) => {
|
|
78
|
+
validateAndNormalizeEnabledModels(ctx);
|
|
79
|
+
await import_actions.default.update(ctx, next);
|
|
80
|
+
};
|
|
81
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
82
|
+
0 && (module.exports = {
|
|
83
|
+
create,
|
|
84
|
+
update
|
|
85
|
+
});
|
|
@@ -19,13 +19,17 @@ export type KnowledgeBase = {
|
|
|
19
19
|
name: string;
|
|
20
20
|
description: string;
|
|
21
21
|
vectorStoreProvider: string;
|
|
22
|
-
|
|
22
|
+
vectorDatabaseKey?: string;
|
|
23
|
+
llmService?: string;
|
|
24
|
+
embeddingModel?: string;
|
|
23
25
|
vectorStoreProps?: VectorStoreProp[];
|
|
24
26
|
enabled: boolean;
|
|
25
27
|
};
|
|
26
28
|
export type VectorStoreConfig = {
|
|
27
29
|
vectorStoreProvider: string;
|
|
28
|
-
|
|
30
|
+
vectorDatabaseKey?: string;
|
|
31
|
+
llmService?: string;
|
|
32
|
+
embeddingModel?: string;
|
|
29
33
|
};
|
|
30
34
|
export type KnowledgeBaseGroup = {
|
|
31
35
|
vectorStoreConfig: VectorStoreConfig;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
export declare const jsonContent: (schema: Record<string, unknown>) => {
|
|
10
|
+
'application/json': {
|
|
11
|
+
schema: Record<string, unknown>;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export declare const okResponse: (schema?: Record<string, unknown>) => {
|
|
15
|
+
200: {
|
|
16
|
+
content?: {
|
|
17
|
+
'application/json': {
|
|
18
|
+
schema: Record<string, unknown>;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
description: string;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export declare const errorResponses: {
|
|
25
|
+
400: {
|
|
26
|
+
description: string;
|
|
27
|
+
content: {
|
|
28
|
+
'application/json': {
|
|
29
|
+
schema: Record<string, unknown>;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
401: {
|
|
34
|
+
description: string;
|
|
35
|
+
content: {
|
|
36
|
+
'application/json': {
|
|
37
|
+
schema: Record<string, unknown>;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
403: {
|
|
42
|
+
description: string;
|
|
43
|
+
content: {
|
|
44
|
+
'application/json': {
|
|
45
|
+
schema: Record<string, unknown>;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
404: {
|
|
50
|
+
description: string;
|
|
51
|
+
content: {
|
|
52
|
+
'application/json': {
|
|
53
|
+
schema: Record<string, unknown>;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
export declare const withErrorResponses: (responses: Record<string | number, unknown>) => {
|
|
59
|
+
400: {
|
|
60
|
+
description: string;
|
|
61
|
+
content: {
|
|
62
|
+
'application/json': {
|
|
63
|
+
schema: Record<string, unknown>;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
401: {
|
|
68
|
+
description: string;
|
|
69
|
+
content: {
|
|
70
|
+
'application/json': {
|
|
71
|
+
schema: Record<string, unknown>;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
403: {
|
|
76
|
+
description: string;
|
|
77
|
+
content: {
|
|
78
|
+
'application/json': {
|
|
79
|
+
schema: Record<string, unknown>;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
404: {
|
|
84
|
+
description: string;
|
|
85
|
+
content: {
|
|
86
|
+
'application/json': {
|
|
87
|
+
schema: Record<string, unknown>;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
export declare const filterByTkParameter: {
|
|
93
|
+
name: string;
|
|
94
|
+
in: string;
|
|
95
|
+
required: boolean;
|
|
96
|
+
description: string;
|
|
97
|
+
schema: {
|
|
98
|
+
type: string;
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
export declare const listParameters: ({
|
|
102
|
+
name: string;
|
|
103
|
+
in: string;
|
|
104
|
+
description: string;
|
|
105
|
+
schema: {
|
|
106
|
+
type: string;
|
|
107
|
+
additionalProperties: boolean;
|
|
108
|
+
items?: undefined;
|
|
109
|
+
minimum?: undefined;
|
|
110
|
+
};
|
|
111
|
+
} | {
|
|
112
|
+
name: string;
|
|
113
|
+
in: string;
|
|
114
|
+
description: string;
|
|
115
|
+
schema: {
|
|
116
|
+
type: string;
|
|
117
|
+
items: {
|
|
118
|
+
type: string;
|
|
119
|
+
};
|
|
120
|
+
additionalProperties?: undefined;
|
|
121
|
+
minimum?: undefined;
|
|
122
|
+
};
|
|
123
|
+
} | {
|
|
124
|
+
name: string;
|
|
125
|
+
in: string;
|
|
126
|
+
schema: {
|
|
127
|
+
type: string;
|
|
128
|
+
minimum: number;
|
|
129
|
+
additionalProperties?: undefined;
|
|
130
|
+
items?: undefined;
|
|
131
|
+
};
|
|
132
|
+
description?: undefined;
|
|
133
|
+
} | {
|
|
134
|
+
name: string;
|
|
135
|
+
in: string;
|
|
136
|
+
description: string;
|
|
137
|
+
schema: {
|
|
138
|
+
type: string;
|
|
139
|
+
additionalProperties?: undefined;
|
|
140
|
+
items?: undefined;
|
|
141
|
+
minimum?: undefined;
|
|
142
|
+
};
|
|
143
|
+
})[];
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
12
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __export = (target, all) => {
|
|
15
|
+
for (var name in all)
|
|
16
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
17
|
+
};
|
|
18
|
+
var __copyProps = (to, from, except, desc) => {
|
|
19
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
20
|
+
for (let key of __getOwnPropNames(from))
|
|
21
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
22
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
23
|
+
}
|
|
24
|
+
return to;
|
|
25
|
+
};
|
|
26
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
27
|
+
var common_exports = {};
|
|
28
|
+
__export(common_exports, {
|
|
29
|
+
errorResponses: () => errorResponses,
|
|
30
|
+
filterByTkParameter: () => filterByTkParameter,
|
|
31
|
+
jsonContent: () => jsonContent,
|
|
32
|
+
listParameters: () => listParameters,
|
|
33
|
+
okResponse: () => okResponse,
|
|
34
|
+
withErrorResponses: () => withErrorResponses
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(common_exports);
|
|
37
|
+
const jsonContent = (schema) => ({
|
|
38
|
+
"application/json": {
|
|
39
|
+
schema
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
const okResponse = (schema) => ({
|
|
43
|
+
200: {
|
|
44
|
+
description: "OK",
|
|
45
|
+
...schema ? { content: jsonContent(schema) } : {}
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
const errorResponses = {
|
|
49
|
+
400: {
|
|
50
|
+
description: "Bad request",
|
|
51
|
+
content: jsonContent({ $ref: "#/components/schemas/ErrorResponse" })
|
|
52
|
+
},
|
|
53
|
+
401: {
|
|
54
|
+
description: "Unauthorized",
|
|
55
|
+
content: jsonContent({ $ref: "#/components/schemas/ErrorResponse" })
|
|
56
|
+
},
|
|
57
|
+
403: {
|
|
58
|
+
description: "Forbidden",
|
|
59
|
+
content: jsonContent({ $ref: "#/components/schemas/ErrorResponse" })
|
|
60
|
+
},
|
|
61
|
+
404: {
|
|
62
|
+
description: "Not found",
|
|
63
|
+
content: jsonContent({ $ref: "#/components/schemas/ErrorResponse" })
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
const withErrorResponses = (responses) => ({
|
|
67
|
+
...responses,
|
|
68
|
+
...errorResponses
|
|
69
|
+
});
|
|
70
|
+
const filterByTkParameter = {
|
|
71
|
+
name: "filterByTk",
|
|
72
|
+
in: "query",
|
|
73
|
+
required: true,
|
|
74
|
+
description: "Primary key of the target record.",
|
|
75
|
+
schema: {
|
|
76
|
+
type: "string"
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
const listParameters = [
|
|
80
|
+
{
|
|
81
|
+
name: "filter",
|
|
82
|
+
in: "query",
|
|
83
|
+
description: "NocoBase filter object encoded as JSON.",
|
|
84
|
+
schema: {
|
|
85
|
+
type: "object",
|
|
86
|
+
additionalProperties: true
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: "fields",
|
|
91
|
+
in: "query",
|
|
92
|
+
description: "Fields to include in the response.",
|
|
93
|
+
schema: {
|
|
94
|
+
type: "array",
|
|
95
|
+
items: {
|
|
96
|
+
type: "string"
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
name: "sort",
|
|
102
|
+
in: "query",
|
|
103
|
+
description: "Sort fields. Prefix a field with - for descending order.",
|
|
104
|
+
schema: {
|
|
105
|
+
type: "array",
|
|
106
|
+
items: {
|
|
107
|
+
type: "string"
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
name: "page",
|
|
113
|
+
in: "query",
|
|
114
|
+
schema: {
|
|
115
|
+
type: "integer",
|
|
116
|
+
minimum: 1
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
name: "pageSize",
|
|
121
|
+
in: "query",
|
|
122
|
+
schema: {
|
|
123
|
+
type: "integer",
|
|
124
|
+
minimum: 1
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name: "paginate",
|
|
129
|
+
in: "query",
|
|
130
|
+
description: "Set to false to return an unpaginated array.",
|
|
131
|
+
schema: {
|
|
132
|
+
type: "boolean"
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
];
|
|
136
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
137
|
+
0 && (module.exports = {
|
|
138
|
+
errorResponses,
|
|
139
|
+
filterByTkParameter,
|
|
140
|
+
jsonContent,
|
|
141
|
+
listParameters,
|
|
142
|
+
okResponse,
|
|
143
|
+
withErrorResponses
|
|
144
|
+
});
|