@nocobase/plugin-ai 2.2.18 → 2.2.20
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/tools/knowledge-base-retrieve.js +13 -2
- package/dist/ai/tools/subAgentWebSearch.js +10 -6
- package/dist/client/index.js +1 -1
- package/dist/client-v2/index.js +1 -1
- package/dist/externalVersion.js +16 -16
- package/dist/node_modules/@langchain/mistralai/dist/index.cjs +2 -2
- package/dist/node_modules/@langchain/mistralai/package.json +1 -1
- package/dist/node_modules/@langchain/xai/dist/index.cjs +2 -2
- 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/dist/bundle/index.cjs +239 -239
- package/dist/node_modules/just-bash/node_modules/sprintf-js/dist/.gitattributes +4 -0
- package/dist/node_modules/just-bash/node_modules/sprintf-js/dist/angular-sprintf.min.js +3 -0
- package/dist/node_modules/just-bash/node_modules/sprintf-js/dist/sprintf.min.js +3 -0
- package/dist/node_modules/just-bash/node_modules/sprintf-js/package.json +35 -0
- package/dist/node_modules/just-bash/node_modules/sprintf-js/src/angular-sprintf.js +24 -0
- package/dist/node_modules/just-bash/node_modules/sprintf-js/src/sprintf.js +231 -0
- 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-employee.d.ts +15 -1
- package/dist/server/ai-employees/ai-employee.js +125 -47
- package/dist/server/ai-employees/ai-knowledge-base.d.ts +7 -1
- package/dist/server/ai-employees/ai-knowledge-base.js +30 -7
- package/dist/server/features/knowledge-base.d.ts +2 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +2 -0
- package/dist/server/llm-providers/anthropic.js +4 -0
- package/dist/server/llm-providers/dashscope.js +2 -1
- package/dist/server/llm-providers/deepseek/provider.d.ts +2 -1
- package/dist/server/llm-providers/deepseek/provider.js +16 -6
- package/dist/server/llm-providers/deepseek/reasoning.d.ts +36 -1
- package/dist/server/llm-providers/deepseek/reasoning.js +41 -4
- package/dist/server/llm-providers/google-genai.js +4 -2
- package/dist/server/llm-providers/kimi/provider.js +2 -1
- package/dist/server/llm-providers/mimo.js +2 -1
- package/dist/server/llm-providers/mistral.d.ts +1 -0
- package/dist/server/llm-providers/mistral.js +17 -1
- package/dist/server/llm-providers/ollama.js +3 -1
- package/dist/server/llm-providers/openai/completions.js +2 -1
- package/dist/server/llm-providers/openai/responses.js +2 -1
- package/dist/server/llm-providers/orcarouter.js +2 -2
- package/dist/server/llm-providers/provider.d.ts +10 -0
- package/dist/server/llm-providers/provider.js +34 -1
- package/dist/server/llm-providers/shengsuanyun.js +5 -1
- package/dist/server/llm-providers/xai.js +6 -1
- package/dist/server/manager/ai-manager.d.ts +2 -2
- package/dist/server/manager/ai-manager.js +3 -2
- package/dist/server/resource/ai.js +4 -0
- package/dist/server/types/knowledge-base.type.d.ts +6 -0
- package/dist/server/workflow/nodes/llm/index.d.ts +2 -2
- package/dist/server/workflow/nodes/llm/index.js +10 -3
- package/package.json +2 -2
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/bin/uuid +0 -2
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/index.js +0 -104
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/max.js +0 -7
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/md5.js +0 -200
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/native.js +0 -10
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/nil.js +0 -7
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/parse.js +0 -44
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/regex.js +0 -7
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/rng.js +0 -23
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/sha1.js +0 -82
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/stringify.js +0 -38
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v1.js +0 -131
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v1ToV6.js +0 -26
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v3.js +0 -11
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v35.js +0 -63
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v4.js +0 -32
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v5.js +0 -11
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v6.js +0 -42
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v6ToV1.js +0 -26
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v7.js +0 -152
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/validate.js +0 -12
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/version.js +0 -15
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/index.js +0 -14
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/max.js +0 -1
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/md5.js +0 -194
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/native.js +0 -4
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/nil.js +0 -1
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/parse.js +0 -37
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/regex.js +0 -1
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/rng.js +0 -17
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/sha1.js +0 -76
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/stringify.js +0 -31
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v1.js +0 -125
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v1ToV6.js +0 -20
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v3.js +0 -4
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v35.js +0 -55
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v4.js +0 -25
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v5.js +0 -4
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v6.js +0 -36
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v6ToV1.js +0 -20
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v7.js +0 -146
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/validate.js +0 -5
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/version.js +0 -8
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/index.js +0 -14
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/max.js +0 -1
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/md5.js +0 -10
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/native.js +0 -4
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/nil.js +0 -1
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/parse.js +0 -37
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/regex.js +0 -1
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/rng.js +0 -10
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/sha1.js +0 -10
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/stringify.js +0 -31
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v1.js +0 -125
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v1ToV6.js +0 -20
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v3.js +0 -4
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v35.js +0 -55
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v4.js +0 -25
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v5.js +0 -4
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v6.js +0 -32
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v6ToV1.js +0 -20
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v7.js +0 -146
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/validate.js +0 -5
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/version.js +0 -8
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/index.js +0 -104
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/max.js +0 -7
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/md5-browser.js +0 -200
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/md5.js +0 -17
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/native-browser.js +0 -10
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/native.js +0 -11
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/nil.js +0 -7
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/parse.js +0 -44
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/regex.js +0 -7
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/rng-browser.js +0 -23
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/rng.js +0 -17
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/sha1-browser.js +0 -82
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/sha1.js +0 -17
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/stringify.js +0 -38
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/uuid-bin.js +0 -75
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v1.js +0 -131
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v1ToV6.js +0 -26
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v3.js +0 -11
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v35.js +0 -63
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v4.js +0 -32
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v5.js +0 -11
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v6.js +0 -38
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v6ToV1.js +0 -26
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v7.js +0 -152
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/validate.js +0 -12
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/version.js +0 -15
- package/dist/node_modules/@langchain/mistralai/node_modules/uuid/package.json +0 -142
|
@@ -42,6 +42,17 @@ const V4_EFFORTS = /* @__PURE__ */ new Set(["low", "high", "max"]);
|
|
|
42
42
|
const THINKING_UNSUPPORTED_FIELDS = /* @__PURE__ */ new Set(["temperature", "top_p", "presence_penalty", "frequency_penalty"]);
|
|
43
43
|
const NO_UNSUPPORTED_FIELDS = /* @__PURE__ */ new Set();
|
|
44
44
|
const DEEPSEEK_MODEL_CAPABILITIES = {
|
|
45
|
+
"deepseek-flash": {
|
|
46
|
+
protocol: "responses",
|
|
47
|
+
reasoning: "switchable",
|
|
48
|
+
defaultThinking: "enabled",
|
|
49
|
+
efforts: V4_EFFORTS,
|
|
50
|
+
supportsFunctionTools: true,
|
|
51
|
+
supportsStructuredOutput: true,
|
|
52
|
+
supportsWebSearch: false,
|
|
53
|
+
supportsImageInput: true
|
|
54
|
+
},
|
|
55
|
+
// Legacy name, now served by the same DeepSeek-V4.1-Flash model as `deepseek-flash`
|
|
45
56
|
"deepseek-v4-flash": {
|
|
46
57
|
protocol: "responses",
|
|
47
58
|
reasoning: "switchable",
|
|
@@ -49,7 +60,30 @@ const DEEPSEEK_MODEL_CAPABILITIES = {
|
|
|
49
60
|
efforts: V4_EFFORTS,
|
|
50
61
|
supportsFunctionTools: true,
|
|
51
62
|
supportsStructuredOutput: true,
|
|
52
|
-
supportsWebSearch:
|
|
63
|
+
supportsWebSearch: false,
|
|
64
|
+
supportsImageInput: true
|
|
65
|
+
},
|
|
66
|
+
// Legacy vision name, also routed to DeepSeek-V4.1-Flash
|
|
67
|
+
"deepseek-v4-flash-vision-exp": {
|
|
68
|
+
protocol: "responses",
|
|
69
|
+
reasoning: "switchable",
|
|
70
|
+
defaultThinking: "enabled",
|
|
71
|
+
efforts: V4_EFFORTS,
|
|
72
|
+
supportsFunctionTools: true,
|
|
73
|
+
supportsStructuredOutput: true,
|
|
74
|
+
supportsWebSearch: false,
|
|
75
|
+
supportsImageInput: true
|
|
76
|
+
},
|
|
77
|
+
// OpenCode Go alias of DeepSeek-V4.1-Flash; DeepSeek's own API does not expose this name
|
|
78
|
+
"deepseek-v4.1-flash": {
|
|
79
|
+
protocol: "responses",
|
|
80
|
+
reasoning: "switchable",
|
|
81
|
+
defaultThinking: "enabled",
|
|
82
|
+
efforts: V4_EFFORTS,
|
|
83
|
+
supportsFunctionTools: true,
|
|
84
|
+
supportsStructuredOutput: true,
|
|
85
|
+
supportsWebSearch: false,
|
|
86
|
+
supportsImageInput: true
|
|
53
87
|
},
|
|
54
88
|
"deepseek-v4-pro": {
|
|
55
89
|
protocol: "responses",
|
|
@@ -58,7 +92,8 @@ const DEEPSEEK_MODEL_CAPABILITIES = {
|
|
|
58
92
|
efforts: V4_EFFORTS,
|
|
59
93
|
supportsFunctionTools: true,
|
|
60
94
|
supportsStructuredOutput: true,
|
|
61
|
-
supportsWebSearch: true
|
|
95
|
+
supportsWebSearch: true,
|
|
96
|
+
supportsImageInput: false
|
|
62
97
|
},
|
|
63
98
|
"deepseek-chat": {
|
|
64
99
|
protocol: "chat-completions",
|
|
@@ -67,7 +102,8 @@ const DEEPSEEK_MODEL_CAPABILITIES = {
|
|
|
67
102
|
efforts: NO_EFFORTS,
|
|
68
103
|
supportsFunctionTools: true,
|
|
69
104
|
supportsStructuredOutput: true,
|
|
70
|
-
supportsWebSearch: false
|
|
105
|
+
supportsWebSearch: false,
|
|
106
|
+
supportsImageInput: false
|
|
71
107
|
},
|
|
72
108
|
"deepseek-reasoner": {
|
|
73
109
|
protocol: "chat-completions",
|
|
@@ -76,7 +112,8 @@ const DEEPSEEK_MODEL_CAPABILITIES = {
|
|
|
76
112
|
efforts: NO_EFFORTS,
|
|
77
113
|
supportsFunctionTools: true,
|
|
78
114
|
supportsStructuredOutput: true,
|
|
79
|
-
supportsWebSearch: false
|
|
115
|
+
supportsWebSearch: false,
|
|
116
|
+
supportsImageInput: false
|
|
80
117
|
}
|
|
81
118
|
};
|
|
82
119
|
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
@@ -48,7 +48,8 @@ class GoogleGenAIProvider extends import_provider.LLMProvider {
|
|
|
48
48
|
...this.modelOptions,
|
|
49
49
|
model,
|
|
50
50
|
json: responseFormat === "json",
|
|
51
|
-
baseUrl: this.getResolvedBaseURL()
|
|
51
|
+
baseUrl: this.getResolvedBaseURL(),
|
|
52
|
+
customHeaders: this.getDefaultHeaders()
|
|
52
53
|
});
|
|
53
54
|
}
|
|
54
55
|
async listModels() {
|
|
@@ -70,7 +71,8 @@ class GoogleGenAIProvider extends import_provider.LLMProvider {
|
|
|
70
71
|
try {
|
|
71
72
|
const res = await (0, import_utils.serverRequest)({
|
|
72
73
|
method: "GET",
|
|
73
|
-
url
|
|
74
|
+
url,
|
|
75
|
+
headers: this.getDefaultHeaders()
|
|
74
76
|
});
|
|
75
77
|
return {
|
|
76
78
|
models: (_a = res == null ? void 0 : res.data) == null ? void 0 : _a.models.map((model) => ({
|
|
@@ -72,7 +72,8 @@ class KimiProvider extends import_provider.LLMProvider {
|
|
|
72
72
|
},
|
|
73
73
|
...reasoningOptions.modelRequestParams || {},
|
|
74
74
|
configuration: {
|
|
75
|
-
baseURL: this.getResolvedBaseURL()
|
|
75
|
+
baseURL: this.getResolvedBaseURL(),
|
|
76
|
+
defaultHeaders: this.getDefaultHeaders()
|
|
76
77
|
}
|
|
77
78
|
});
|
|
78
79
|
}
|
|
@@ -67,7 +67,8 @@ class MiMoProvider extends import_provider.LLMProvider {
|
|
|
67
67
|
response_format: responseFormatOptions
|
|
68
68
|
},
|
|
69
69
|
configuration: {
|
|
70
|
-
baseURL: this.getResolvedBaseURL()
|
|
70
|
+
baseURL: this.getResolvedBaseURL(),
|
|
71
|
+
defaultHeaders: this.getDefaultHeaders()
|
|
71
72
|
},
|
|
72
73
|
verbose: true
|
|
73
74
|
});
|
|
@@ -24,6 +24,7 @@ type MistralBeforeRequestHook = (request: Request) => Request | void | Promise<R
|
|
|
24
24
|
type ReasoningChatMistralAIFields = ConstructorParameters<typeof ChatMistralAI>[0] & {
|
|
25
25
|
[MISTRAL_REASONING_MODE_KEY]?: ReasoningMode;
|
|
26
26
|
};
|
|
27
|
+
export declare const createMistralHeadersHook: (defaultHeaders: Record<string, string>) => MistralBeforeRequestHook;
|
|
27
28
|
export declare const injectMistralReasoningEffort: MistralBeforeRequestHook;
|
|
28
29
|
declare class ReasoningChatMistralAI extends ChatMistralAI {
|
|
29
30
|
private readonly reasoningMode?;
|
|
@@ -28,6 +28,7 @@ var mistral_exports = {};
|
|
|
28
28
|
__export(mistral_exports, {
|
|
29
29
|
MistralEmbeddingProvider: () => MistralEmbeddingProvider,
|
|
30
30
|
MistralProvider: () => MistralProvider,
|
|
31
|
+
createMistralHeadersHook: () => createMistralHeadersHook,
|
|
31
32
|
injectMistralReasoningEffort: () => injectMistralReasoningEffort,
|
|
32
33
|
mistralProviderOptions: () => mistralProviderOptions
|
|
33
34
|
});
|
|
@@ -63,6 +64,18 @@ function extractThinkingChunks(content) {
|
|
|
63
64
|
}
|
|
64
65
|
return content.filter((chunk) => chunk && typeof chunk === "object").filter((chunk) => chunk.type === "thinking" && Array.isArray(chunk.thinking)).map((chunk) => extractTextChunks(chunk.thinking)).join("");
|
|
65
66
|
}
|
|
67
|
+
const createMistralHeadersHook = (defaultHeaders) => {
|
|
68
|
+
return (request) => {
|
|
69
|
+
if (!Object.keys(defaultHeaders).length) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const headers = new Headers(request.headers);
|
|
73
|
+
for (const [key, value] of Object.entries(defaultHeaders)) {
|
|
74
|
+
headers.set(key, value);
|
|
75
|
+
}
|
|
76
|
+
return new Request(request, { headers });
|
|
77
|
+
};
|
|
78
|
+
};
|
|
66
79
|
const injectMistralReasoningEffort = async (request) => {
|
|
67
80
|
if (request.method !== "POST") {
|
|
68
81
|
return;
|
|
@@ -139,7 +152,8 @@ class MistralProvider extends import_provider.LLMProvider {
|
|
|
139
152
|
const { apiKey } = this.serviceOptions || {};
|
|
140
153
|
const { responseFormat, structuredOutput, ...modelOptions } = this.modelOptions || {};
|
|
141
154
|
omitDisabledNumberOptions(modelOptions);
|
|
142
|
-
const
|
|
155
|
+
const defaultHooks = [createMistralHeadersHook(this.getDefaultHeaders()), injectMistralReasoningEffort];
|
|
156
|
+
const beforeRequestHooks = Array.isArray(modelOptions.beforeRequestHooks) ? [...defaultHooks, ...modelOptions.beforeRequestHooks] : defaultHooks;
|
|
143
157
|
const reasoningOptions = this.resolveReasoningOptions(this.modelReasoningOptions);
|
|
144
158
|
return new ReasoningChatMistralAI({
|
|
145
159
|
apiKey,
|
|
@@ -187,6 +201,7 @@ class MistralProvider extends import_provider.LLMProvider {
|
|
|
187
201
|
method: "GET",
|
|
188
202
|
url,
|
|
189
203
|
headers: {
|
|
204
|
+
...this.getDefaultHeaders(),
|
|
190
205
|
Authorization: `Bearer ${apiKey}`
|
|
191
206
|
}
|
|
192
207
|
});
|
|
@@ -320,6 +335,7 @@ const mistralProviderOptions = {
|
|
|
320
335
|
0 && (module.exports = {
|
|
321
336
|
MistralEmbeddingProvider,
|
|
322
337
|
MistralProvider,
|
|
338
|
+
createMistralHeadersHook,
|
|
323
339
|
injectMistralReasoningEffort,
|
|
324
340
|
mistralProviderOptions
|
|
325
341
|
});
|
|
@@ -50,6 +50,7 @@ class OllamaProvider extends import_provider.LLMProvider {
|
|
|
50
50
|
topK,
|
|
51
51
|
numPredict,
|
|
52
52
|
...rest,
|
|
53
|
+
headers: this.getDefaultHeaders(),
|
|
53
54
|
verbose: false,
|
|
54
55
|
format: void 0,
|
|
55
56
|
keepAlive: "5m"
|
|
@@ -69,7 +70,8 @@ class OllamaProvider extends import_provider.LLMProvider {
|
|
|
69
70
|
try {
|
|
70
71
|
const res = await (0, import_utils.serverRequest)({
|
|
71
72
|
method: "GET",
|
|
72
|
-
url
|
|
73
|
+
url,
|
|
74
|
+
headers: this.getDefaultHeaders()
|
|
73
75
|
});
|
|
74
76
|
const models = ((_a = res == null ? void 0 : res.data) == null ? void 0 : _a.models) || [];
|
|
75
77
|
return {
|
|
@@ -55,7 +55,8 @@ class OpenAICompletionsProvider extends import_provider.LLMProvider {
|
|
|
55
55
|
...reasoningOptions.modelKwargs || {}
|
|
56
56
|
},
|
|
57
57
|
configuration: {
|
|
58
|
-
baseURL: this.getResolvedBaseURL()
|
|
58
|
+
baseURL: this.getResolvedBaseURL(),
|
|
59
|
+
defaultHeaders: this.getDefaultHeaders()
|
|
59
60
|
}
|
|
60
61
|
});
|
|
61
62
|
}
|
|
@@ -63,7 +63,8 @@ class OpenAIResponsesProvider extends import_provider.LLMProvider {
|
|
|
63
63
|
...reasoningOptions.modelKwargs || {}
|
|
64
64
|
},
|
|
65
65
|
configuration: {
|
|
66
|
-
baseURL: this.getResolvedBaseURL()
|
|
66
|
+
baseURL: this.getResolvedBaseURL(),
|
|
67
|
+
defaultHeaders: this.getDefaultHeaders()
|
|
67
68
|
},
|
|
68
69
|
verbose: false,
|
|
69
70
|
useResponsesApi: true
|
|
@@ -60,7 +60,7 @@ class OrcaRouterProvider extends import_provider.LLMProvider {
|
|
|
60
60
|
if (responseFormat === "json_schema" && schema) {
|
|
61
61
|
responseFormatOptions["json_schema"] = { schema, name: name ?? "schema" };
|
|
62
62
|
}
|
|
63
|
-
const defaultHeaders =
|
|
63
|
+
const defaultHeaders = this.getDefaultHeaders();
|
|
64
64
|
if (httpReferer) {
|
|
65
65
|
defaultHeaders["HTTP-Referer"] = httpReferer;
|
|
66
66
|
}
|
|
@@ -75,7 +75,7 @@ class OrcaRouterProvider extends import_provider.LLMProvider {
|
|
|
75
75
|
},
|
|
76
76
|
configuration: {
|
|
77
77
|
baseURL: this.getResolvedBaseURL(),
|
|
78
|
-
|
|
78
|
+
defaultHeaders
|
|
79
79
|
}
|
|
80
80
|
});
|
|
81
81
|
}
|
|
@@ -40,10 +40,14 @@ export type LLMModelRequestBuilder = (input: {
|
|
|
40
40
|
context: AIChatContext;
|
|
41
41
|
options?: LLMProviderInvokeOptions;
|
|
42
42
|
}) => LLMModelRequestBuilderResult;
|
|
43
|
+
export type LLMProviderRequestContext = {
|
|
44
|
+
sessionId?: string;
|
|
45
|
+
};
|
|
43
46
|
export interface LLMProviderOptions {
|
|
44
47
|
app: Application;
|
|
45
48
|
serviceOptions?: Record<string, any>;
|
|
46
49
|
modelOptions?: Record<string, any>;
|
|
50
|
+
requestContext?: LLMProviderRequestContext;
|
|
47
51
|
}
|
|
48
52
|
export declare abstract class LLMProvider {
|
|
49
53
|
app: Application;
|
|
@@ -51,6 +55,7 @@ export declare abstract class LLMProvider {
|
|
|
51
55
|
modelOptions: Record<string, any> | undefined;
|
|
52
56
|
chatModel: any;
|
|
53
57
|
protected modelReasoningOptions: ReasoningOptions | undefined;
|
|
58
|
+
protected requestContext: LLMProviderRequestContext;
|
|
54
59
|
abstract createModel(): BaseChatModel | any;
|
|
55
60
|
get baseURL(): string | null;
|
|
56
61
|
constructor(opts: LLMProviderOptions);
|
|
@@ -105,6 +110,11 @@ export declare abstract class LLMProvider {
|
|
|
105
110
|
}): void;
|
|
106
111
|
protected get documentLoader(): CachedDocumentLoader;
|
|
107
112
|
protected getResolvedBaseURL(): string;
|
|
113
|
+
/**
|
|
114
|
+
* Headers every provider must merge into its model client. Decided by the resolved baseURL; returns an empty object
|
|
115
|
+
* when the target service needs no extra headers.
|
|
116
|
+
*/
|
|
117
|
+
protected getDefaultHeaders(): Record<string, string>;
|
|
108
118
|
protected buildRequestURL(pathname: string): string;
|
|
109
119
|
protected get aiPlugin(): PluginAIServer;
|
|
110
120
|
}
|
|
@@ -46,6 +46,14 @@ var import_stream = require("@langchain/core/utils/stream");
|
|
|
46
46
|
var import_document_loader = require("../document-loader");
|
|
47
47
|
var import_node_path = __toESM(require("node:path"));
|
|
48
48
|
var import_reasoning = require("./common/reasoning");
|
|
49
|
+
function isOpenCodeBaseURL(baseURL) {
|
|
50
|
+
try {
|
|
51
|
+
const { hostname } = new URL(baseURL);
|
|
52
|
+
return hostname === "opencode.ai" || hostname.endsWith(".opencode.ai");
|
|
53
|
+
} catch {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
49
57
|
function assertBaseURLString(baseURL) {
|
|
50
58
|
if (typeof baseURL !== "string") {
|
|
51
59
|
throw new Error("baseURL must be a string");
|
|
@@ -85,13 +93,15 @@ class LLMProvider {
|
|
|
85
93
|
modelOptions;
|
|
86
94
|
chatModel;
|
|
87
95
|
modelReasoningOptions;
|
|
96
|
+
requestContext;
|
|
88
97
|
get baseURL() {
|
|
89
98
|
return null;
|
|
90
99
|
}
|
|
91
100
|
constructor(opts) {
|
|
92
|
-
const { app, serviceOptions, modelOptions } = opts;
|
|
101
|
+
const { app, serviceOptions, modelOptions, requestContext } = opts;
|
|
93
102
|
this.app = app;
|
|
94
103
|
this.serviceOptions = resolveServiceOptions(serviceOptions, app);
|
|
104
|
+
this.requestContext = requestContext ?? {};
|
|
95
105
|
if (modelOptions) {
|
|
96
106
|
const { _reasoning, ...restModelOptions } = modelOptions;
|
|
97
107
|
this.modelReasoningOptions = _reasoning;
|
|
@@ -171,6 +181,7 @@ class LLMProvider {
|
|
|
171
181
|
method: "GET",
|
|
172
182
|
url,
|
|
173
183
|
headers: {
|
|
184
|
+
...this.getDefaultHeaders(),
|
|
174
185
|
Authorization: `Bearer ${apiKey}`
|
|
175
186
|
}
|
|
176
187
|
});
|
|
@@ -382,6 +393,28 @@ ${parsed.text}
|
|
|
382
393
|
}
|
|
383
394
|
return normalizeBaseURL(baseURL);
|
|
384
395
|
}
|
|
396
|
+
/**
|
|
397
|
+
* Headers every provider must merge into its model client. Decided by the resolved baseURL; returns an empty object
|
|
398
|
+
* when the target service needs no extra headers.
|
|
399
|
+
*/
|
|
400
|
+
getDefaultHeaders() {
|
|
401
|
+
let baseURL;
|
|
402
|
+
try {
|
|
403
|
+
baseURL = this.getResolvedBaseURL();
|
|
404
|
+
} catch {
|
|
405
|
+
return {};
|
|
406
|
+
}
|
|
407
|
+
if (!isOpenCodeBaseURL(baseURL)) {
|
|
408
|
+
return {};
|
|
409
|
+
}
|
|
410
|
+
const headers = {
|
|
411
|
+
"User-Agent": `NocoBase/${this.app.getVersion()}`
|
|
412
|
+
};
|
|
413
|
+
if (this.requestContext.sessionId) {
|
|
414
|
+
headers["x-opencode-session"] = this.requestContext.sessionId;
|
|
415
|
+
}
|
|
416
|
+
return headers;
|
|
417
|
+
}
|
|
385
418
|
buildRequestURL(pathname) {
|
|
386
419
|
const url = new URL(pathname.replace(/^\/+/, ""), `${this.getResolvedBaseURL()}/`).toString();
|
|
387
420
|
(0, import_utils.checkUrlAgainstWhitelist)(url);
|
|
@@ -64,7 +64,10 @@ class ShengSuanYunProvider extends import_provider.LLMProvider {
|
|
|
64
64
|
},
|
|
65
65
|
configuration: {
|
|
66
66
|
baseURL: this.getResolvedBaseURL(),
|
|
67
|
-
|
|
67
|
+
defaultHeaders: {
|
|
68
|
+
...this.getDefaultHeaders(),
|
|
69
|
+
...xTitle ? { "X-Title": xTitle } : {}
|
|
70
|
+
}
|
|
68
71
|
}
|
|
69
72
|
});
|
|
70
73
|
}
|
|
@@ -85,6 +88,7 @@ class ShengSuanYunProvider extends import_provider.LLMProvider {
|
|
|
85
88
|
method: "GET",
|
|
86
89
|
url,
|
|
87
90
|
headers: {
|
|
91
|
+
...this.getDefaultHeaders(),
|
|
88
92
|
Authorization: `Bearer ${apiKey}`,
|
|
89
93
|
...xTitle ? { "X-Title": xTitle } : {}
|
|
90
94
|
}
|
|
@@ -47,7 +47,7 @@ class XAIProvider extends import_provider.LLMProvider {
|
|
|
47
47
|
if (responseFormat === "json_schema" && schema) {
|
|
48
48
|
responseFormatOptions["json_schema"] = schema;
|
|
49
49
|
}
|
|
50
|
-
|
|
50
|
+
const model = new import_xai.ChatXAI({
|
|
51
51
|
apiKey,
|
|
52
52
|
...restModelOptions,
|
|
53
53
|
baseURL: this.getResolvedBaseURL(),
|
|
@@ -55,6 +55,11 @@ class XAIProvider extends import_provider.LLMProvider {
|
|
|
55
55
|
response_format: responseFormatOptions
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
|
+
model.clientConfig = {
|
|
59
|
+
...model.clientConfig,
|
|
60
|
+
defaultHeaders: this.getDefaultHeaders()
|
|
61
|
+
};
|
|
62
|
+
return model;
|
|
58
63
|
}
|
|
59
64
|
}
|
|
60
65
|
const xaiProviderOptions = {
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
|
-
import { LLMProvider, LLMProviderOptions, EmbeddingProvider, EmbeddingProviderOptions, ReasoningOptions } from '../llm-providers/provider';
|
|
9
|
+
import { LLMProvider, LLMProviderOptions, LLMProviderRequestContext, EmbeddingProvider, EmbeddingProviderOptions, ReasoningOptions } from '../llm-providers/provider';
|
|
10
10
|
import PluginAIServer from '../plugin';
|
|
11
11
|
import { ToolManager } from './tool-manager';
|
|
12
12
|
export type LLMProviderMeta = {
|
|
@@ -60,7 +60,7 @@ export declare class AIManager {
|
|
|
60
60
|
resolveModel(model?: LLMModelOptions | null): Promise<LLMModelOptions>;
|
|
61
61
|
private toEnabledLLMService;
|
|
62
62
|
private getEnabledModels;
|
|
63
|
-
getLLMService(options: LLMModelOptions): Promise<{
|
|
63
|
+
getLLMService(options: LLMModelOptions, requestContext?: LLMProviderRequestContext): Promise<{
|
|
64
64
|
provider: LLMProvider;
|
|
65
65
|
model: string;
|
|
66
66
|
service: any;
|
|
@@ -124,7 +124,7 @@ class AIManager {
|
|
|
124
124
|
}
|
|
125
125
|
return (0, import_recommended_models.getRecommendedModels)(provider);
|
|
126
126
|
}
|
|
127
|
-
async getLLMService(options) {
|
|
127
|
+
async getLLMService(options, requestContext) {
|
|
128
128
|
const { llmService, model, webSearch, reasoning } = options ?? {};
|
|
129
129
|
if (!llmService || !model) {
|
|
130
130
|
throw new Error("LLM service not configured");
|
|
@@ -158,7 +158,8 @@ class AIManager {
|
|
|
158
158
|
const provider = new Provider({
|
|
159
159
|
app: this.plugin.app,
|
|
160
160
|
serviceOptions: service.options,
|
|
161
|
-
modelOptions
|
|
161
|
+
modelOptions,
|
|
162
|
+
requestContext
|
|
162
163
|
});
|
|
163
164
|
return { provider, model, service };
|
|
164
165
|
}
|
|
@@ -41,6 +41,7 @@ __export(ai_exports, {
|
|
|
41
41
|
module.exports = __toCommonJS(ai_exports);
|
|
42
42
|
var import_package = require("../../../package.json");
|
|
43
43
|
var import_lodash = __toESM(require("lodash"));
|
|
44
|
+
var import_node_crypto = require("node:crypto");
|
|
44
45
|
const getModelsListFailedMessage = "Get models list failed, you can enter a model name manually.";
|
|
45
46
|
const testFlightFailedMessage = "LLM service test failed. Please check the service configuration.";
|
|
46
47
|
const aiResource = {
|
|
@@ -146,6 +147,9 @@ const aiResource = {
|
|
|
146
147
|
modelOptions: {
|
|
147
148
|
model,
|
|
148
149
|
responseFormat: "text"
|
|
150
|
+
},
|
|
151
|
+
requestContext: {
|
|
152
|
+
sessionId: `test-flight-${(0, import_node_crypto.randomUUID)()}`
|
|
149
153
|
}
|
|
150
154
|
});
|
|
151
155
|
const result = await providerClient.testFlight();
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
import { FlowNodeModel, Instruction, Processor } from '@nocobase/plugin-workflow';
|
|
10
|
-
import { LLMProvider } from '../../../llm-providers/provider';
|
|
10
|
+
import { LLMProvider, LLMProviderRequestContext } from '../../../llm-providers/provider';
|
|
11
11
|
export declare class LLMInstruction extends Instruction {
|
|
12
|
-
getLLMProvider(llmService: string, modelOptions: any): Promise<LLMProvider>;
|
|
12
|
+
getLLMProvider(llmService: string, modelOptions: any, requestContext?: LLMProviderRequestContext): Promise<LLMProvider>;
|
|
13
13
|
run(node: FlowNodeModel, input: any, processor: Processor): Promise<any>;
|
|
14
14
|
resume(node: FlowNodeModel, job: any, processor: Processor): any;
|
|
15
15
|
}
|
|
@@ -43,7 +43,7 @@ var import_plugin_workflow = require("@nocobase/plugin-workflow");
|
|
|
43
43
|
var import_lodash = __toESM(require("lodash"));
|
|
44
44
|
var import_parse_messages = require("./parse-messages");
|
|
45
45
|
class LLMInstruction extends import_plugin_workflow.Instruction {
|
|
46
|
-
async getLLMProvider(llmService, modelOptions) {
|
|
46
|
+
async getLLMProvider(llmService, modelOptions, requestContext) {
|
|
47
47
|
const service = await this.workflow.db.getRepository("llmServices").findOne({
|
|
48
48
|
filter: {
|
|
49
49
|
name: llmService
|
|
@@ -58,7 +58,12 @@ class LLMInstruction extends import_plugin_workflow.Instruction {
|
|
|
58
58
|
throw new Error("invalid llm provider");
|
|
59
59
|
}
|
|
60
60
|
const Provider = providerOptions.provider;
|
|
61
|
-
const provider = new Provider({
|
|
61
|
+
const provider = new Provider({
|
|
62
|
+
app: this.workflow.app,
|
|
63
|
+
serviceOptions: service.options,
|
|
64
|
+
modelOptions,
|
|
65
|
+
requestContext
|
|
66
|
+
});
|
|
62
67
|
return provider;
|
|
63
68
|
}
|
|
64
69
|
async run(node, input, processor) {
|
|
@@ -69,7 +74,9 @@ class LLMInstruction extends import_plugin_workflow.Instruction {
|
|
|
69
74
|
}
|
|
70
75
|
let provider;
|
|
71
76
|
try {
|
|
72
|
-
provider = await this.getLLMProvider(llmService, modelOptions
|
|
77
|
+
provider = await this.getLLMProvider(llmService, modelOptions, {
|
|
78
|
+
sessionId: `workflow-${processor.execution.id}-${node.id}`
|
|
79
|
+
});
|
|
73
80
|
} catch (e) {
|
|
74
81
|
return {
|
|
75
82
|
status: import_plugin_workflow.JOB_STATUS.ERROR,
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"description": "Create AI employees with diverse skills to collaborate with humans, build systems, and handle business operations.",
|
|
7
7
|
"description.ru-RU": "Поддержка интеграции с AI-сервисами: предоставляются AI-узлы для рабочих процессов, расширяя возможности бизнес-обработки.",
|
|
8
8
|
"description.zh-CN": "创建各种技能的 AI 员工,与人类协同,搭建系统,处理业务。",
|
|
9
|
-
"version": "2.2.
|
|
9
|
+
"version": "2.2.20",
|
|
10
10
|
"main": "dist/server/index.js",
|
|
11
11
|
"homepage": "https://docs.nocobase.com/handbook/action-ai",
|
|
12
12
|
"homepage.ru-RU": "https://docs-ru.nocobase.com/handbook/action-ai",
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
"keywords": [
|
|
67
67
|
"AI"
|
|
68
68
|
],
|
|
69
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "d9c3d45cdca9571f6cef8781e0a2d86566dce11b"
|
|
70
70
|
}
|
package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/index.js
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "MAX", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _max.default;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "NIL", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function get() {
|
|
15
|
-
return _nil.default;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(exports, "parse", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function get() {
|
|
21
|
-
return _parse.default;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
Object.defineProperty(exports, "stringify", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function get() {
|
|
27
|
-
return _stringify.default;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(exports, "v1", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function get() {
|
|
33
|
-
return _v.default;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(exports, "v1ToV6", {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
get: function get() {
|
|
39
|
-
return _v1ToV.default;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
Object.defineProperty(exports, "v3", {
|
|
43
|
-
enumerable: true,
|
|
44
|
-
get: function get() {
|
|
45
|
-
return _v2.default;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
Object.defineProperty(exports, "v4", {
|
|
49
|
-
enumerable: true,
|
|
50
|
-
get: function get() {
|
|
51
|
-
return _v3.default;
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
Object.defineProperty(exports, "v5", {
|
|
55
|
-
enumerable: true,
|
|
56
|
-
get: function get() {
|
|
57
|
-
return _v4.default;
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
Object.defineProperty(exports, "v6", {
|
|
61
|
-
enumerable: true,
|
|
62
|
-
get: function get() {
|
|
63
|
-
return _v5.default;
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
Object.defineProperty(exports, "v6ToV1", {
|
|
67
|
-
enumerable: true,
|
|
68
|
-
get: function get() {
|
|
69
|
-
return _v6ToV.default;
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
Object.defineProperty(exports, "v7", {
|
|
73
|
-
enumerable: true,
|
|
74
|
-
get: function get() {
|
|
75
|
-
return _v6.default;
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
Object.defineProperty(exports, "validate", {
|
|
79
|
-
enumerable: true,
|
|
80
|
-
get: function get() {
|
|
81
|
-
return _validate.default;
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
Object.defineProperty(exports, "version", {
|
|
85
|
-
enumerable: true,
|
|
86
|
-
get: function get() {
|
|
87
|
-
return _version.default;
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
var _max = _interopRequireDefault(require("./max.js"));
|
|
91
|
-
var _nil = _interopRequireDefault(require("./nil.js"));
|
|
92
|
-
var _parse = _interopRequireDefault(require("./parse.js"));
|
|
93
|
-
var _stringify = _interopRequireDefault(require("./stringify.js"));
|
|
94
|
-
var _v = _interopRequireDefault(require("./v1.js"));
|
|
95
|
-
var _v1ToV = _interopRequireDefault(require("./v1ToV6.js"));
|
|
96
|
-
var _v2 = _interopRequireDefault(require("./v3.js"));
|
|
97
|
-
var _v3 = _interopRequireDefault(require("./v4.js"));
|
|
98
|
-
var _v4 = _interopRequireDefault(require("./v5.js"));
|
|
99
|
-
var _v5 = _interopRequireDefault(require("./v6.js"));
|
|
100
|
-
var _v6ToV = _interopRequireDefault(require("./v6ToV1.js"));
|
|
101
|
-
var _v6 = _interopRequireDefault(require("./v7.js"));
|
|
102
|
-
var _validate = _interopRequireDefault(require("./validate.js"));
|
|
103
|
-
var _version = _interopRequireDefault(require("./version.js"));
|
|
104
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|