@budibase/backend-core 3.23.47 → 3.23.48
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/index.js +15 -15
- package/dist/index.js.map +2 -2
- package/dist/package.json +2 -2
- package/dist/src/docIds/ids.d.ts +2 -1
- package/dist/src/docIds/ids.js +8 -4
- package/dist/src/docIds/ids.js.map +1 -1
- package/dist/src/utils/fetch.d.ts +10 -10
- package/dist/src/utils/fetch.js +117 -42
- package/dist/src/utils/fetch.js.map +1 -1
- package/package.json +2 -2
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/backend-core",
|
|
3
|
-
"version": "3.23.
|
|
3
|
+
"version": "3.23.48",
|
|
4
4
|
"description": "Budibase backend core libraries used in server and worker",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -113,5 +113,5 @@
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
},
|
|
116
|
-
"gitHead": "
|
|
116
|
+
"gitHead": "0a78faa2adbb8fb3b81de2b9b00352e60178f12f"
|
|
117
117
|
}
|
package/dist/src/docIds/ids.d.ts
CHANGED
|
@@ -58,7 +58,8 @@ export declare const generateDevInfoID: (userId: string) => string;
|
|
|
58
58
|
export declare const generatePluginID: (name: string) => string;
|
|
59
59
|
export declare const generateOAuth2LogID: (id: string) => string;
|
|
60
60
|
export declare const generateAgentID: () => string;
|
|
61
|
-
export declare const
|
|
61
|
+
export declare const generateChatAppID: () => string;
|
|
62
|
+
export declare const generateChatConversationID: () => string;
|
|
62
63
|
export declare const generateAgentToolSourceID: () => string;
|
|
63
64
|
export declare const generateAIConfigID: () => string;
|
|
64
65
|
export declare const generateWorkspaceAppID: () => string;
|
package/dist/src/docIds/ids.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateWorkspaceFavouriteID = exports.generateWorkspaceAppID = exports.generateAIConfigID = exports.generateAgentToolSourceID = exports.
|
|
3
|
+
exports.generateWorkspaceFavouriteID = exports.generateWorkspaceAppID = exports.generateAIConfigID = exports.generateAgentToolSourceID = exports.generateChatConversationID = exports.generateChatAppID = exports.generateAgentID = exports.generateOAuth2LogID = exports.generatePluginID = exports.generateDevInfoID = exports.generateWorkspaceID = void 0;
|
|
4
4
|
exports.generateTableID = generateTableID;
|
|
5
5
|
exports.generateRowID = generateRowID;
|
|
6
6
|
exports.generateGlobalUserID = generateGlobalUserID;
|
|
@@ -122,10 +122,14 @@ const generateAgentID = () => {
|
|
|
122
122
|
return `${constants_1.DocumentType.AGENT}${constants_1.SEPARATOR}${(0, newid_1.newid)()}`;
|
|
123
123
|
};
|
|
124
124
|
exports.generateAgentID = generateAgentID;
|
|
125
|
-
const
|
|
126
|
-
return `${constants_1.DocumentType.
|
|
125
|
+
const generateChatAppID = () => {
|
|
126
|
+
return `${constants_1.DocumentType.CHAT_APP}${constants_1.SEPARATOR}${(0, newid_1.newid)()}`;
|
|
127
127
|
};
|
|
128
|
-
exports.
|
|
128
|
+
exports.generateChatAppID = generateChatAppID;
|
|
129
|
+
const generateChatConversationID = () => {
|
|
130
|
+
return `${constants_1.DocumentType.CHAT_CONVERSATION}${constants_1.SEPARATOR}${(0, newid_1.newid)()}`;
|
|
131
|
+
};
|
|
132
|
+
exports.generateChatConversationID = generateChatConversationID;
|
|
129
133
|
const generateAgentToolSourceID = () => {
|
|
130
134
|
return `${constants_1.DocumentType.AGENT_TOOL_SOURCE}${constants_1.SEPARATOR}${(0, newid_1.newid)()}`;
|
|
131
135
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../../src/docIds/ids.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../../src/docIds/ids.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Dispatcher } from "undici";
|
|
2
2
|
/**
|
|
3
|
-
* Get
|
|
4
|
-
*
|
|
3
|
+
* Get a dispatcher for fetch requests.
|
|
4
|
+
* Always returns a usable Dispatcher - either a ProxyAgent or a direct Agent.
|
|
5
|
+
* The dispatcher respects GLOBAL_AGENT_HTTP_PROXY, GLOBAL_AGENT_HTTPS_PROXY,
|
|
6
|
+
* GLOBAL_AGENT_NO_PROXY, and their standard equivalents.
|
|
5
7
|
*
|
|
6
|
-
* @param options
|
|
8
|
+
* @param options Configuration for the dispatcher
|
|
9
|
+
* @returns A Dispatcher ready to use with fetch
|
|
7
10
|
*/
|
|
8
|
-
export declare function
|
|
11
|
+
export declare function getDispatcher(options: {
|
|
9
12
|
rejectUnauthorized?: boolean;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
* Reset the cached proxy dispatcher. Used for testing.
|
|
13
|
-
*/
|
|
14
|
-
export declare function resetProxyDispatcherCache(): void;
|
|
13
|
+
url: string;
|
|
14
|
+
}): Dispatcher;
|
package/dist/src/utils/fetch.js
CHANGED
|
@@ -1,80 +1,155 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.resetProxyDispatcherCache = resetProxyDispatcherCache;
|
|
3
|
+
exports.getDispatcher = getDispatcher;
|
|
5
4
|
const undici_1 = require("undici");
|
|
6
5
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* the global-agent proxy configuration.
|
|
6
|
+
* Check if a URL matches any pattern in the NO_PROXY list.
|
|
7
|
+
* Supports patterns like: *.foo.com, baz.com, .example.com
|
|
10
8
|
*
|
|
11
|
-
* @param
|
|
12
|
-
* @
|
|
9
|
+
* @param url The URL to check
|
|
10
|
+
* @param noProxy Comma or space separated list of NO_PROXY patterns
|
|
11
|
+
* @returns true if the URL should bypass the proxy
|
|
13
12
|
*/
|
|
14
|
-
function
|
|
13
|
+
function isUrlMatchingNoProxy(url, noProxy) {
|
|
14
|
+
let hostname;
|
|
15
|
+
let port = null;
|
|
16
|
+
try {
|
|
17
|
+
const parsed = new URL(url);
|
|
18
|
+
hostname = parsed.hostname;
|
|
19
|
+
port = parsed.port || null;
|
|
20
|
+
}
|
|
21
|
+
catch (_a) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
const rules = noProxy.split(/[\s,]+/).filter(r => r.length > 0);
|
|
25
|
+
for (const rule of rules) {
|
|
26
|
+
// Handle leading dot (e.g., .foo.com) by converting to wildcard
|
|
27
|
+
const normalizedRule = rule.replace(/^\./, "*");
|
|
28
|
+
// Parse rule into hostname and optional port
|
|
29
|
+
// Match: hostname optionally followed by :port
|
|
30
|
+
const ruleMatch = normalizedRule.match(/^(.+?)(?::(\d+))?$/);
|
|
31
|
+
if (!ruleMatch || !ruleMatch[1]) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
const ruleHostname = ruleMatch[1].toLowerCase();
|
|
35
|
+
const rulePort = ruleMatch[2] || null;
|
|
36
|
+
// Check hostname match (supports wildcards like *.foo.com)
|
|
37
|
+
let hostnameMatches = false;
|
|
38
|
+
if (ruleHostname === "*") {
|
|
39
|
+
hostnameMatches = true;
|
|
40
|
+
}
|
|
41
|
+
else if (ruleHostname.startsWith("*")) {
|
|
42
|
+
// Wildcard pattern like *.foo.com
|
|
43
|
+
const suffix = ruleHostname.slice(1); // .foo.com
|
|
44
|
+
hostnameMatches =
|
|
45
|
+
hostname === suffix.slice(1) || hostname.endsWith(suffix);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
hostnameMatches = hostname === ruleHostname;
|
|
49
|
+
}
|
|
50
|
+
// Check port match (if rule specifies a port)
|
|
51
|
+
const portMatches = !rulePort || port === rulePort;
|
|
52
|
+
if (hostnameMatches && portMatches) {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Determines if the request should bypass the proxy.
|
|
60
|
+
*
|
|
61
|
+
* @param url The target URL
|
|
62
|
+
* @returns true if the request should go direct (no proxy)
|
|
63
|
+
*/
|
|
64
|
+
function shouldBypassProxy(url) {
|
|
15
65
|
const httpProxy = process.env.GLOBAL_AGENT_HTTP_PROXY || process.env.HTTP_PROXY;
|
|
16
66
|
const httpsProxy = process.env.GLOBAL_AGENT_HTTPS_PROXY || process.env.HTTPS_PROXY;
|
|
17
67
|
const proxyUrl = httpsProxy || httpProxy;
|
|
68
|
+
// No proxy configured
|
|
18
69
|
if (!proxyUrl || !proxyUrl.trim()) {
|
|
19
|
-
return
|
|
70
|
+
return true;
|
|
20
71
|
}
|
|
21
|
-
|
|
22
|
-
// Validate URL format
|
|
72
|
+
// Validate proxy URL format
|
|
23
73
|
try {
|
|
24
|
-
new URL(
|
|
74
|
+
new URL(proxyUrl.trim());
|
|
25
75
|
}
|
|
26
|
-
catch (
|
|
76
|
+
catch (_a) {
|
|
27
77
|
console.log("[fetch] Invalid proxy URL format:", proxyUrl);
|
|
28
|
-
return
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
// Check NO_PROXY patterns
|
|
81
|
+
if (url) {
|
|
82
|
+
const noProxy = process.env.GLOBAL_AGENT_NO_PROXY || process.env.NO_PROXY || "";
|
|
83
|
+
if (noProxy && isUrlMatchingNoProxy(url, noProxy)) {
|
|
84
|
+
console.log("[fetch] URL matches NO_PROXY pattern, bypassing proxy", {
|
|
85
|
+
url,
|
|
86
|
+
noProxy,
|
|
87
|
+
});
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
29
90
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Creates a direct Agent (no proxy).
|
|
95
|
+
*/
|
|
96
|
+
function createDirectAgent(rejectUnauthorized) {
|
|
97
|
+
return new undici_1.Agent({
|
|
98
|
+
connect: {
|
|
99
|
+
rejectUnauthorized,
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Creates a ProxyAgent for proxied requests.
|
|
105
|
+
*/
|
|
106
|
+
function createProxyAgent(rejectUnauthorized) {
|
|
107
|
+
const httpProxy = process.env.GLOBAL_AGENT_HTTP_PROXY || process.env.HTTP_PROXY;
|
|
108
|
+
const httpsProxy = process.env.GLOBAL_AGENT_HTTPS_PROXY || process.env.HTTPS_PROXY;
|
|
109
|
+
const proxyUrl = (httpsProxy || httpProxy).trim();
|
|
33
110
|
console.log("[fetch] Creating ProxyAgent", {
|
|
34
|
-
proxyUrl
|
|
111
|
+
proxyUrl,
|
|
35
112
|
rejectUnauthorized,
|
|
36
113
|
});
|
|
37
114
|
const proxyConfig = {
|
|
38
|
-
uri:
|
|
115
|
+
uri: proxyUrl,
|
|
39
116
|
requestTls: {
|
|
40
117
|
rejectUnauthorized,
|
|
41
118
|
},
|
|
42
119
|
};
|
|
43
120
|
// Only configure proxyTls if the proxy itself uses HTTPS
|
|
44
|
-
if (
|
|
121
|
+
if (proxyUrl.startsWith("https://")) {
|
|
45
122
|
proxyConfig.proxyTls = {
|
|
46
123
|
rejectUnauthorized,
|
|
47
124
|
};
|
|
48
125
|
}
|
|
49
|
-
|
|
50
|
-
return new undici_1.ProxyAgent(proxyConfig);
|
|
51
|
-
}
|
|
52
|
-
catch (error) {
|
|
53
|
-
console.log("[fetch] Failed to create ProxyAgent:", error);
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
126
|
+
return new undici_1.ProxyAgent(proxyConfig);
|
|
56
127
|
}
|
|
57
|
-
let cachedDispatcher = null;
|
|
58
128
|
/**
|
|
59
|
-
*
|
|
60
|
-
*
|
|
129
|
+
* Creates a fetch dispatcher that respects global-agent environment variables.
|
|
130
|
+
* Always returns a usable Dispatcher - either a ProxyAgent or a direct Agent.
|
|
61
131
|
*
|
|
62
|
-
* @param options
|
|
132
|
+
* @param options Configuration for the dispatcher
|
|
133
|
+
* @returns A Dispatcher (ProxyAgent for proxied requests, Agent for direct requests)
|
|
63
134
|
*/
|
|
64
|
-
function
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
if (cachedDispatcher === null) {
|
|
70
|
-
cachedDispatcher = createProxyDispatcher();
|
|
135
|
+
function createDispatcher(options) {
|
|
136
|
+
var _a;
|
|
137
|
+
const rejectUnauthorized = (_a = options === null || options === void 0 ? void 0 : options.rejectUnauthorized) !== null && _a !== void 0 ? _a : true;
|
|
138
|
+
if (shouldBypassProxy(options === null || options === void 0 ? void 0 : options.url)) {
|
|
139
|
+
return createDirectAgent(rejectUnauthorized);
|
|
71
140
|
}
|
|
72
|
-
return
|
|
141
|
+
return createProxyAgent(rejectUnauthorized);
|
|
73
142
|
}
|
|
74
143
|
/**
|
|
75
|
-
*
|
|
144
|
+
* Get a dispatcher for fetch requests.
|
|
145
|
+
* Always returns a usable Dispatcher - either a ProxyAgent or a direct Agent.
|
|
146
|
+
* The dispatcher respects GLOBAL_AGENT_HTTP_PROXY, GLOBAL_AGENT_HTTPS_PROXY,
|
|
147
|
+
* GLOBAL_AGENT_NO_PROXY, and their standard equivalents.
|
|
148
|
+
*
|
|
149
|
+
* @param options Configuration for the dispatcher
|
|
150
|
+
* @returns A Dispatcher ready to use with fetch
|
|
76
151
|
*/
|
|
77
|
-
function
|
|
78
|
-
|
|
152
|
+
function getDispatcher(options) {
|
|
153
|
+
return createDispatcher(options);
|
|
79
154
|
}
|
|
80
155
|
//# sourceMappingURL=fetch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/utils/fetch.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/utils/fetch.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/backend-core",
|
|
3
|
-
"version": "3.23.
|
|
3
|
+
"version": "3.23.48",
|
|
4
4
|
"description": "Budibase backend core libraries used in server and worker",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -113,5 +113,5 @@
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
},
|
|
116
|
-
"gitHead": "
|
|
116
|
+
"gitHead": "0a78faa2adbb8fb3b81de2b9b00352e60178f12f"
|
|
117
117
|
}
|