@blaxel/core 0.2.49-dev.213 → 0.2.49-dev1

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 (243) hide show
  1. package/dist/agents/index.d.ts +15 -0
  2. package/dist/agents/index.js +109 -0
  3. package/dist/authentication/apikey.d.ts +10 -0
  4. package/dist/authentication/apikey.js +24 -0
  5. package/dist/authentication/clientcredentials.d.ts +17 -0
  6. package/dist/authentication/clientcredentials.js +85 -0
  7. package/dist/authentication/credentials.d.ts +6 -0
  8. package/dist/authentication/credentials.js +17 -0
  9. package/dist/authentication/deviceMode.d.ts +15 -0
  10. package/dist/authentication/deviceMode.js +70 -0
  11. package/dist/authentication/index.d.ts +3 -0
  12. package/dist/authentication/index.js +62 -0
  13. package/dist/authentication/types.d.ts +9 -0
  14. package/dist/authentication/types.js +2 -0
  15. package/dist/cache/index.d.ts +1 -0
  16. package/dist/cache/index.js +26 -0
  17. package/dist/cjs/.tsbuildinfo +1 -1
  18. package/dist/cjs/agents/index.js +2 -2
  19. package/dist/cjs/authentication/clientcredentials.js +1 -4
  20. package/dist/cjs/client/responseInterceptor.js +53 -0
  21. package/dist/cjs/client/sdk.gen.js +143 -3
  22. package/dist/cjs/common/autoload.js +7 -0
  23. package/dist/cjs/common/env.js +3 -0
  24. package/dist/cjs/common/internal.js +0 -40
  25. package/dist/cjs/common/settings.js +2 -5
  26. package/dist/cjs/common/version.js +6 -0
  27. package/dist/cjs/common/webhook.js +101 -0
  28. package/dist/cjs/jobs/executions.js +119 -0
  29. package/dist/cjs/jobs/jobs.js +2 -2
  30. package/dist/cjs/sandbox/action.js +2 -1
  31. package/dist/cjs/sandbox/index.js +1 -0
  32. package/dist/cjs/sandbox/interpreter.js +400 -0
  33. package/dist/cjs/sandbox/sandbox.js +10 -67
  34. package/dist/cjs/tools/mcpTool.js +2 -6
  35. package/dist/cjs/types/client/responseInterceptor.d.ts +12 -0
  36. package/dist/cjs/types/client/sdk.gen.d.ts +41 -1
  37. package/dist/cjs/types/client/types.gen.d.ts +599 -16
  38. package/dist/cjs/types/common/internal.d.ts +0 -2
  39. package/dist/cjs/types/common/settings.d.ts +0 -1
  40. package/dist/cjs/types/common/version.d.ts +2 -0
  41. package/dist/cjs/types/common/webhook.d.ts +89 -0
  42. package/dist/cjs/types/jobs/executions.d.ts +42 -0
  43. package/dist/cjs/types/sandbox/client/sdk.gen.d.ts +1 -1
  44. package/dist/cjs/types/sandbox/index.d.ts +1 -0
  45. package/dist/cjs/types/sandbox/interpreter.d.ts +71 -0
  46. package/dist/cjs/types/sandbox/sandbox.d.ts +6 -12
  47. package/dist/cjs/types/sandbox/types.d.ts +0 -3
  48. package/dist/cjs-browser/.tsbuildinfo +1 -1
  49. package/dist/cjs-browser/agents/index.js +2 -2
  50. package/dist/cjs-browser/authentication/clientcredentials.js +1 -4
  51. package/dist/cjs-browser/client/responseInterceptor.js +53 -0
  52. package/dist/cjs-browser/client/sdk.gen.js +143 -3
  53. package/dist/cjs-browser/common/autoload.js +7 -0
  54. package/dist/cjs-browser/common/env.js +3 -0
  55. package/dist/cjs-browser/common/internal.js +0 -40
  56. package/dist/cjs-browser/common/settings.js +2 -5
  57. package/dist/cjs-browser/common/version.js +6 -0
  58. package/dist/cjs-browser/common/webhook.js +101 -0
  59. package/dist/cjs-browser/jobs/executions.js +119 -0
  60. package/dist/cjs-browser/jobs/jobs.js +2 -2
  61. package/dist/cjs-browser/sandbox/action.js +2 -1
  62. package/dist/cjs-browser/sandbox/index.js +1 -0
  63. package/dist/cjs-browser/sandbox/interpreter.js +400 -0
  64. package/dist/cjs-browser/sandbox/sandbox.js +10 -67
  65. package/dist/cjs-browser/tools/mcpTool.js +2 -6
  66. package/dist/cjs-browser/types/client/responseInterceptor.d.ts +12 -0
  67. package/dist/cjs-browser/types/client/sdk.gen.d.ts +41 -1
  68. package/dist/cjs-browser/types/client/types.gen.d.ts +599 -16
  69. package/dist/cjs-browser/types/common/internal.d.ts +0 -2
  70. package/dist/cjs-browser/types/common/settings.d.ts +0 -1
  71. package/dist/cjs-browser/types/common/version.d.ts +2 -0
  72. package/dist/cjs-browser/types/common/webhook.d.ts +89 -0
  73. package/dist/cjs-browser/types/jobs/executions.d.ts +42 -0
  74. package/dist/cjs-browser/types/sandbox/client/sdk.gen.d.ts +1 -1
  75. package/dist/cjs-browser/types/sandbox/index.d.ts +1 -0
  76. package/dist/cjs-browser/types/sandbox/interpreter.d.ts +71 -0
  77. package/dist/cjs-browser/types/sandbox/sandbox.d.ts +6 -12
  78. package/dist/cjs-browser/types/sandbox/types.d.ts +0 -3
  79. package/dist/client/authentication.d.ts +25 -0
  80. package/dist/client/authentication.js +15 -0
  81. package/dist/client/client.d.ts +2 -0
  82. package/dist/client/client.gen.d.ts +12 -0
  83. package/dist/client/client.gen.js +8 -0
  84. package/dist/{cjs/sandbox/websocket/index.js → client/client.js} +1 -1
  85. package/dist/client/index.d.ts +2 -0
  86. package/dist/client/index.js +19 -0
  87. package/dist/client/interceptors.d.ts +3 -0
  88. package/dist/client/interceptors.js +17 -0
  89. package/dist/client/sdk.gen.d.ts +499 -0
  90. package/dist/client/sdk.gen.js +1751 -0
  91. package/dist/client/types.gen.d.ts +4546 -0
  92. package/dist/client/types.gen.js +4 -0
  93. package/dist/common/autoload.d.ts +3 -0
  94. package/dist/common/autoload.js +27 -0
  95. package/dist/common/env.d.ts +5 -0
  96. package/dist/common/env.js +42 -0
  97. package/dist/common/errors.d.ts +1 -0
  98. package/dist/common/errors.js +17 -0
  99. package/dist/common/internal.d.ts +4 -0
  100. package/dist/common/internal.js +188 -0
  101. package/dist/common/internal.test.d.ts +1 -0
  102. package/dist/common/internal.test.js +39 -0
  103. package/dist/common/logger.d.ts +25 -0
  104. package/dist/common/logger.js +69 -0
  105. package/dist/common/node.d.ts +5 -0
  106. package/dist/common/node.js +26 -0
  107. package/dist/common/settings.d.ts +31 -0
  108. package/dist/common/settings.js +170 -0
  109. package/dist/esm/.tsbuildinfo +1 -1
  110. package/dist/esm/agents/index.js +3 -3
  111. package/dist/esm/authentication/clientcredentials.js +1 -4
  112. package/dist/esm/client/responseInterceptor.js +49 -0
  113. package/dist/esm/client/sdk.gen.js +132 -0
  114. package/dist/esm/common/autoload.js +7 -0
  115. package/dist/esm/common/env.js +3 -0
  116. package/dist/esm/common/internal.js +0 -38
  117. package/dist/esm/common/settings.js +2 -5
  118. package/dist/esm/common/version.js +3 -0
  119. package/dist/esm/common/webhook.js +97 -0
  120. package/dist/esm/jobs/executions.js +114 -0
  121. package/dist/esm/jobs/jobs.js +3 -3
  122. package/dist/esm/sandbox/action.js +3 -2
  123. package/dist/esm/sandbox/index.js +1 -0
  124. package/dist/esm/sandbox/interpreter.js +396 -0
  125. package/dist/esm/sandbox/sandbox.js +10 -67
  126. package/dist/esm/tools/mcpTool.js +3 -7
  127. package/dist/esm-browser/.tsbuildinfo +1 -1
  128. package/dist/esm-browser/agents/index.js +3 -3
  129. package/dist/esm-browser/authentication/clientcredentials.js +1 -4
  130. package/dist/esm-browser/client/responseInterceptor.js +49 -0
  131. package/dist/esm-browser/client/sdk.gen.js +132 -0
  132. package/dist/esm-browser/common/autoload.js +7 -0
  133. package/dist/esm-browser/common/env.js +3 -0
  134. package/dist/esm-browser/common/internal.js +0 -38
  135. package/dist/esm-browser/common/settings.js +2 -5
  136. package/dist/esm-browser/common/version.js +3 -0
  137. package/dist/esm-browser/common/webhook.js +97 -0
  138. package/dist/esm-browser/jobs/executions.js +114 -0
  139. package/dist/esm-browser/jobs/jobs.js +3 -3
  140. package/dist/esm-browser/sandbox/action.js +3 -2
  141. package/dist/esm-browser/sandbox/index.js +1 -0
  142. package/dist/esm-browser/sandbox/interpreter.js +396 -0
  143. package/dist/esm-browser/sandbox/sandbox.js +10 -67
  144. package/dist/esm-browser/tools/mcpTool.js +3 -7
  145. package/dist/index.browser.test.d.ts +1 -0
  146. package/dist/index.browser.test.js +45 -0
  147. package/dist/index.d.ts +17 -0
  148. package/dist/index.js +33 -0
  149. package/dist/jobs/index.d.ts +3 -0
  150. package/dist/jobs/index.js +19 -0
  151. package/dist/jobs/jobs.d.ts +13 -0
  152. package/dist/jobs/jobs.js +90 -0
  153. package/dist/jobs/start.d.ts +1 -0
  154. package/dist/jobs/start.js +66 -0
  155. package/dist/jobs/types.d.ts +3 -0
  156. package/dist/jobs/types.js +2 -0
  157. package/dist/mcp/client.d.ts +28 -0
  158. package/dist/mcp/client.js +247 -0
  159. package/dist/{cjs-browser/types/sandbox/websocket → mcp}/index.d.ts +1 -0
  160. package/dist/{cjs-browser/sandbox/websocket → mcp}/index.js +1 -0
  161. package/dist/mcp/server.d.ts +24 -0
  162. package/dist/mcp/server.js +213 -0
  163. package/dist/models/index.d.ts +8 -0
  164. package/dist/models/index.js +31 -0
  165. package/dist/sandbox/action.d.ts +19 -0
  166. package/dist/sandbox/action.js +84 -0
  167. package/dist/sandbox/client/client.gen.d.ts +12 -0
  168. package/dist/sandbox/client/client.gen.js +6 -0
  169. package/dist/sandbox/client/index.d.ts +2 -0
  170. package/dist/sandbox/client/index.js +19 -0
  171. package/dist/sandbox/client/sdk.gen.d.ts +101 -0
  172. package/dist/sandbox/client/sdk.gen.js +289 -0
  173. package/dist/sandbox/client/types.gen.d.ts +578 -0
  174. package/dist/sandbox/client/types.gen.js +3 -0
  175. package/dist/{cjs/types/sandbox/filesystem/filesystem-ws.d.ts → sandbox/filesystem/filesystem.d.ts} +6 -18
  176. package/dist/sandbox/filesystem/filesystem.js +276 -0
  177. package/dist/sandbox/filesystem/index.d.ts +2 -0
  178. package/dist/sandbox/filesystem/index.js +18 -0
  179. package/dist/sandbox/filesystem/types.d.ts +15 -0
  180. package/dist/sandbox/filesystem/types.js +2 -0
  181. package/dist/sandbox/index.d.ts +4 -0
  182. package/dist/sandbox/index.js +36 -0
  183. package/dist/sandbox/network/index.d.ts +1 -0
  184. package/dist/sandbox/network/index.js +17 -0
  185. package/dist/sandbox/network/network.d.ts +5 -0
  186. package/dist/sandbox/network/network.js +10 -0
  187. package/dist/sandbox/preview.d.ts +37 -0
  188. package/dist/sandbox/preview.js +148 -0
  189. package/dist/sandbox/process/index.d.ts +1 -0
  190. package/dist/sandbox/process/index.js +17 -0
  191. package/dist/sandbox/process/process.d.ts +24 -0
  192. package/dist/sandbox/process/process.js +189 -0
  193. package/dist/sandbox/sandbox.d.ts +33 -0
  194. package/dist/sandbox/sandbox.js +178 -0
  195. package/dist/sandbox/session.d.ts +27 -0
  196. package/dist/sandbox/session.js +123 -0
  197. package/dist/sandbox/types.d.ts +51 -0
  198. package/dist/sandbox/types.js +81 -0
  199. package/dist/telemetry/telemetry.d.ts +62 -0
  200. package/dist/telemetry/telemetry.js +80 -0
  201. package/dist/tools/index.d.ts +11 -0
  202. package/dist/tools/index.js +52 -0
  203. package/dist/tools/mcpTool.d.ts +28 -0
  204. package/dist/tools/mcpTool.js +218 -0
  205. package/dist/tools/types.d.ts +8 -0
  206. package/dist/tools/types.js +2 -0
  207. package/dist/tools/zodSchema.d.ts +9 -0
  208. package/dist/tools/zodSchema.js +50 -0
  209. package/dist/volume/index.d.ts +23 -0
  210. package/dist/volume/index.js +113 -0
  211. package/package.json +2 -2
  212. package/dist/cjs/sandbox/codegen/codegen-ws.js +0 -30
  213. package/dist/cjs/sandbox/filesystem/filesystem-ws.js +0 -106
  214. package/dist/cjs/sandbox/network/network-ws.js +0 -12
  215. package/dist/cjs/sandbox/process/process-ws.js +0 -139
  216. package/dist/cjs/sandbox/websocket/client.js +0 -269
  217. package/dist/cjs/types/sandbox/codegen/codegen-ws.d.ts +0 -10
  218. package/dist/cjs/types/sandbox/network/network-ws.d.ts +0 -7
  219. package/dist/cjs/types/sandbox/process/process-ws.d.ts +0 -27
  220. package/dist/cjs/types/sandbox/websocket/client.d.ts +0 -48
  221. package/dist/cjs/types/sandbox/websocket/index.d.ts +0 -1
  222. package/dist/cjs-browser/sandbox/codegen/codegen-ws.js +0 -30
  223. package/dist/cjs-browser/sandbox/filesystem/filesystem-ws.js +0 -106
  224. package/dist/cjs-browser/sandbox/network/network-ws.js +0 -12
  225. package/dist/cjs-browser/sandbox/process/process-ws.js +0 -139
  226. package/dist/cjs-browser/sandbox/websocket/client.js +0 -269
  227. package/dist/cjs-browser/types/sandbox/codegen/codegen-ws.d.ts +0 -10
  228. package/dist/cjs-browser/types/sandbox/filesystem/filesystem-ws.d.ts +0 -35
  229. package/dist/cjs-browser/types/sandbox/network/network-ws.d.ts +0 -7
  230. package/dist/cjs-browser/types/sandbox/process/process-ws.d.ts +0 -27
  231. package/dist/cjs-browser/types/sandbox/websocket/client.d.ts +0 -48
  232. package/dist/esm/sandbox/codegen/codegen-ws.js +0 -26
  233. package/dist/esm/sandbox/filesystem/filesystem-ws.js +0 -102
  234. package/dist/esm/sandbox/network/network-ws.js +0 -8
  235. package/dist/esm/sandbox/process/process-ws.js +0 -135
  236. package/dist/esm/sandbox/websocket/client.js +0 -265
  237. package/dist/esm/sandbox/websocket/index.js +0 -1
  238. package/dist/esm-browser/sandbox/codegen/codegen-ws.js +0 -26
  239. package/dist/esm-browser/sandbox/filesystem/filesystem-ws.js +0 -102
  240. package/dist/esm-browser/sandbox/network/network-ws.js +0 -8
  241. package/dist/esm-browser/sandbox/process/process-ws.js +0 -135
  242. package/dist/esm-browser/sandbox/websocket/client.js +0 -265
  243. package/dist/esm-browser/sandbox/websocket/index.js +0 -1
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ /* eslint-disable */
3
+ // This file is auto-generated by @hey-api/openapi-ts
4
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ import { Config } from "./settings.js";
2
+ export declare function initialize(config: Config): void;
3
+ export declare function authenticate(): Promise<void>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initialize = initialize;
4
+ exports.authenticate = authenticate;
5
+ const client_gen_js_1 = require("../client/client.gen.js");
6
+ const interceptors_js_1 = require("../client/interceptors.js");
7
+ const client_gen_js_2 = require("../sandbox/client/client.gen.js");
8
+ const settings_js_1 = require("./settings.js");
9
+ client_gen_js_1.client.setConfig({
10
+ baseUrl: settings_js_1.settings.baseUrl,
11
+ });
12
+ for (const interceptor of interceptors_js_1.interceptors) {
13
+ // @ts-expect-error - Interceptor is not typed
14
+ client_gen_js_1.client.interceptors.request.use(interceptor);
15
+ // @ts-expect-error - Interceptor is not typed
16
+ client_gen_js_2.client.interceptors.request.use(interceptor);
17
+ }
18
+ // Allow to set custom configuration for browser environment
19
+ function initialize(config) {
20
+ settings_js_1.settings.setConfig(config);
21
+ client_gen_js_1.client.setConfig({
22
+ baseUrl: settings_js_1.settings.baseUrl,
23
+ });
24
+ }
25
+ function authenticate() {
26
+ return settings_js_1.settings.authenticate();
27
+ }
@@ -0,0 +1,5 @@
1
+ type EnvVariables = {
2
+ [key: string]: string | undefined;
3
+ };
4
+ declare const env: EnvVariables;
5
+ export { env };
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.env = void 0;
7
+ /* eslint-disable */
8
+ const toml_1 = __importDefault(require("toml"));
9
+ const node_js_1 = require("./node.js");
10
+ const secretEnv = {};
11
+ const configEnv = {};
12
+ if (node_js_1.fs !== null && node_js_1.dotenv !== null) {
13
+ try {
14
+ const configFile = node_js_1.fs.readFileSync("blaxel.toml", "utf8");
15
+ const configInfos = toml_1.default.parse(configFile);
16
+ for (const key in configInfos.env) {
17
+ configEnv[key] = configInfos.env[key];
18
+ }
19
+ }
20
+ catch (error) { }
21
+ try {
22
+ const secretFile = node_js_1.fs.readFileSync(".env", "utf8");
23
+ const parsed = node_js_1.dotenv.parse(secretFile);
24
+ Object.assign(secretEnv, parsed);
25
+ }
26
+ catch (error) { }
27
+ }
28
+ const env = new Proxy({}, {
29
+ get: (target, prop) => {
30
+ if (secretEnv[prop]) {
31
+ return secretEnv[prop];
32
+ }
33
+ if (configEnv[prop]) {
34
+ return configEnv[prop];
35
+ }
36
+ if (typeof process !== "undefined" && process.env) {
37
+ return process.env[prop];
38
+ }
39
+ return undefined;
40
+ },
41
+ });
42
+ exports.env = env;
@@ -0,0 +1 @@
1
+ export declare function handleDynamicImportError(err: any): void;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleDynamicImportError = handleDynamicImportError;
4
+ function handleDynamicImportError(err) {
5
+ if (err instanceof Error) {
6
+ // We check if it's module import error and retrieve package name from the error message with a regex
7
+ if (err.message.includes("Cannot find module")) {
8
+ const packageName = err.message.match(/Cannot find module '([^']+)'/)?.[1];
9
+ if (packageName) {
10
+ err.message = `Dependency not found. Please run one of the following commands to install it:
11
+ - npm: 'npm install ${packageName}'
12
+ - yarn: 'yarn add ${packageName}'
13
+ - pnpm: 'pnpm add ${packageName}'`;
14
+ }
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,4 @@
1
+ export declare function getAlphanumericLimitedHash(input: string, maxSize?: number): string;
2
+ export declare function getGlobalUniqueHash(workspace: string, type: string, name: string): string;
3
+ export declare function pluralize(type: string): string;
4
+ export declare function getForcedUrl(type: string, name: string): import("url").URL | null;
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ /* eslint-disable */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.getAlphanumericLimitedHash = getAlphanumericLimitedHash;
5
+ exports.getGlobalUniqueHash = getGlobalUniqueHash;
6
+ exports.pluralize = pluralize;
7
+ exports.getForcedUrl = getForcedUrl;
8
+ const core_1 = require("@blaxel/core");
9
+ // Pure JS MD5 implementation that matches standard crypto MD5
10
+ function md5(input) {
11
+ function cmn(q, a, b, x, s, t) {
12
+ a = (((a + q) | 0) + ((x + t) | 0)) | 0;
13
+ return (((a << s) | (a >>> (32 - s))) + b) | 0;
14
+ }
15
+ function ff(a, b, c, d, x, s, t) {
16
+ return cmn((b & c) | (~b & d), a, b, x, s, t);
17
+ }
18
+ function gg(a, b, c, d, x, s, t) {
19
+ return cmn((b & d) | (c & ~d), a, b, x, s, t);
20
+ }
21
+ function hh(a, b, c, d, x, s, t) {
22
+ return cmn(b ^ c ^ d, a, b, x, s, t);
23
+ }
24
+ function ii(a, b, c, d, x, s, t) {
25
+ return cmn(c ^ (b | ~d), a, b, x, s, t);
26
+ }
27
+ function md5cycle(x, k) {
28
+ let [a, b, c, d] = x;
29
+ a = ff(a, b, c, d, k[0], 7, -680876936);
30
+ d = ff(d, a, b, c, k[1], 12, -389564586);
31
+ c = ff(c, d, a, b, k[2], 17, 606105819);
32
+ b = ff(b, c, d, a, k[3], 22, -1044525330);
33
+ a = ff(a, b, c, d, k[4], 7, -176418897);
34
+ d = ff(d, a, b, c, k[5], 12, 1200080426);
35
+ c = ff(c, d, a, b, k[6], 17, -1473231341);
36
+ b = ff(b, c, d, a, k[7], 22, -45705983);
37
+ a = ff(a, b, c, d, k[8], 7, 1770035416);
38
+ d = ff(d, a, b, c, k[9], 12, -1958414417);
39
+ c = ff(c, d, a, b, k[10], 17, -42063);
40
+ b = ff(b, c, d, a, k[11], 22, -1990404162);
41
+ a = ff(a, b, c, d, k[12], 7, 1804603682);
42
+ d = ff(d, a, b, c, k[13], 12, -40341101);
43
+ c = ff(c, d, a, b, k[14], 17, -1502002290);
44
+ b = ff(b, c, d, a, k[15], 22, 1236535329);
45
+ a = gg(a, b, c, d, k[1], 5, -165796510);
46
+ d = gg(d, a, b, c, k[6], 9, -1069501632);
47
+ c = gg(c, d, a, b, k[11], 14, 643717713);
48
+ b = gg(b, c, d, a, k[0], 20, -373897302);
49
+ a = gg(a, b, c, d, k[5], 5, -701558691);
50
+ d = gg(d, a, b, c, k[10], 9, 38016083);
51
+ c = gg(c, d, a, b, k[15], 14, -660478335);
52
+ b = gg(b, c, d, a, k[4], 20, -405537848);
53
+ a = gg(a, b, c, d, k[9], 5, 568446438);
54
+ d = gg(d, a, b, c, k[14], 9, -1019803690);
55
+ c = gg(c, d, a, b, k[3], 14, -187363961);
56
+ b = gg(b, c, d, a, k[8], 20, 1163531501);
57
+ a = gg(a, b, c, d, k[13], 5, -1444681467);
58
+ d = gg(d, a, b, c, k[2], 9, -51403784);
59
+ c = gg(c, d, a, b, k[7], 14, 1735328473);
60
+ b = gg(b, c, d, a, k[12], 20, -1926607734);
61
+ a = hh(a, b, c, d, k[5], 4, -378558);
62
+ d = hh(d, a, b, c, k[8], 11, -2022574463);
63
+ c = hh(c, d, a, b, k[11], 16, 1839030562);
64
+ b = hh(b, c, d, a, k[14], 23, -35309556);
65
+ a = hh(a, b, c, d, k[1], 4, -1530992060);
66
+ d = hh(d, a, b, c, k[4], 11, 1272893353);
67
+ c = hh(c, d, a, b, k[7], 16, -155497632);
68
+ b = hh(b, c, d, a, k[10], 23, -1094730640);
69
+ a = hh(a, b, c, d, k[13], 4, 681279174);
70
+ d = hh(d, a, b, c, k[0], 11, -358537222);
71
+ c = hh(c, d, a, b, k[3], 16, -722521979);
72
+ b = hh(b, c, d, a, k[6], 23, 76029189);
73
+ a = hh(a, b, c, d, k[9], 4, -640364487);
74
+ d = hh(d, a, b, c, k[12], 11, -421815835);
75
+ c = hh(c, d, a, b, k[15], 16, 530742520);
76
+ b = hh(b, c, d, a, k[2], 23, -995338651);
77
+ a = ii(a, b, c, d, k[0], 6, -198630844);
78
+ d = ii(d, a, b, c, k[7], 10, 1126891415);
79
+ c = ii(c, d, a, b, k[14], 15, -1416354905);
80
+ b = ii(b, c, d, a, k[5], 21, -57434055);
81
+ a = ii(a, b, c, d, k[12], 6, 1700485571);
82
+ d = ii(d, a, b, c, k[3], 10, -1894986606);
83
+ c = ii(c, d, a, b, k[10], 15, -1051523);
84
+ b = ii(b, c, d, a, k[1], 21, -2054922799);
85
+ a = ii(a, b, c, d, k[8], 6, 1873313359);
86
+ d = ii(d, a, b, c, k[15], 10, -30611744);
87
+ c = ii(c, d, a, b, k[6], 15, -1560198380);
88
+ b = ii(b, c, d, a, k[13], 21, 1309151649);
89
+ a = ii(a, b, c, d, k[4], 6, -145523070);
90
+ d = ii(d, a, b, c, k[11], 10, -1120210379);
91
+ c = ii(c, d, a, b, k[2], 15, 718787259);
92
+ b = ii(b, c, d, a, k[9], 21, -343485551);
93
+ x[0] = (a + x[0]) | 0;
94
+ x[1] = (b + x[1]) | 0;
95
+ x[2] = (c + x[2]) | 0;
96
+ x[3] = (d + x[3]) | 0;
97
+ }
98
+ function md5blk(s) {
99
+ const md5blks = [];
100
+ for (let i = 0; i < 64; i += 4) {
101
+ md5blks[i >> 2] =
102
+ s.charCodeAt(i) +
103
+ (s.charCodeAt(i + 1) << 8) +
104
+ (s.charCodeAt(i + 2) << 16) +
105
+ (s.charCodeAt(i + 3) << 24);
106
+ }
107
+ return md5blks;
108
+ }
109
+ function md51(s) {
110
+ let n = s.length, state = [1732584193, -271733879, -1732584194, 271733878], i;
111
+ for (i = 64; i <= n; i += 64) {
112
+ md5cycle(state, md5blk(s.substring(i - 64, i)));
113
+ }
114
+ s = s.substring(i - 64);
115
+ const tail = Array(16).fill(0);
116
+ for (i = 0; i < s.length; i++)
117
+ tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);
118
+ tail[i >> 2] |= 0x80 << ((i % 4) << 3);
119
+ if (i > 55) {
120
+ md5cycle(state, tail);
121
+ tail.fill(0);
122
+ }
123
+ tail[14] = n * 8;
124
+ md5cycle(state, tail);
125
+ return state;
126
+ }
127
+ // Fixed hex conversion function
128
+ function rhex(n) {
129
+ let s = '';
130
+ for (let j = 0; j < 4; j++) {
131
+ s += ((n >> (j * 8)) & 0xFF).toString(16).padStart(2, '0');
132
+ }
133
+ return s;
134
+ }
135
+ return md51(input).map(rhex).join('');
136
+ }
137
+ function getAlphanumericLimitedHash(input, maxSize = 48) {
138
+ const hash = md5(input);
139
+ return hash.length > maxSize ? hash.substring(0, maxSize) : hash;
140
+ }
141
+ function getGlobalUniqueHash(workspace, type, name) {
142
+ const globalUniqueName = `${workspace}-${type}-${name}`;
143
+ return getAlphanumericLimitedHash(globalUniqueName, 48);
144
+ }
145
+ function pluralize(type) {
146
+ const word = type.toLowerCase();
147
+ // Words ending in s, ss, sh, ch, x, z - add 'es'
148
+ if (word.endsWith('s') || word.endsWith('ss') || word.endsWith('sh') ||
149
+ word.endsWith('ch') || word.endsWith('x') || word.endsWith('z')) {
150
+ return type + 'es';
151
+ }
152
+ // Words ending in consonant + y - change y to ies
153
+ if (word.endsWith('y') && word.length > 1) {
154
+ const beforeY = word[word.length - 2];
155
+ if (!'aeiou'.includes(beforeY)) {
156
+ return type.slice(0, -1) + 'ies';
157
+ }
158
+ }
159
+ // Words ending in f or fe - change to ves
160
+ if (word.endsWith('f')) {
161
+ return type.slice(0, -1) + 'ves';
162
+ }
163
+ if (word.endsWith('fe')) {
164
+ return type.slice(0, -2) + 'ves';
165
+ }
166
+ // Words ending in consonant + o - add 'es'
167
+ if (word.endsWith('o') && word.length > 1) {
168
+ const beforeO = word[word.length - 2];
169
+ if (!'aeiou'.includes(beforeO)) {
170
+ return type + 'es';
171
+ }
172
+ }
173
+ // Default case - just add 's'
174
+ return type + 's';
175
+ }
176
+ function getForcedUrl(type, name) {
177
+ const pluralType = pluralize(type);
178
+ const envVar = name.replace(/-/g, "_").toUpperCase();
179
+ // BL_FUNCTIONS_NAME_URL
180
+ if (core_1.env[`BL_${pluralType.toUpperCase()}_${envVar}_URL`]) {
181
+ return new URL(core_1.env[`BL_${pluralType.toUpperCase()}_${envVar}_URL`]);
182
+ }
183
+ // BL_FUNCTION_NAME_URL
184
+ if (core_1.env[`BL_${type.toUpperCase()}_${envVar}_URL`]) {
185
+ return new URL(core_1.env[`BL_${type.toUpperCase()}_${envVar}_URL`]);
186
+ }
187
+ return null;
188
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const internal_1 = require("./internal");
5
+ (0, vitest_1.describe)('getAlphanumericLimitedHash', () => {
6
+ (0, vitest_1.it)('returns correct MD5 hash for a known string', () => {
7
+ // MD5 of 'hello' is 5d41402abc4b2a76b9719d911017c592
8
+ (0, vitest_1.expect)((0, internal_1.getAlphanumericLimitedHash)('hello')).toBe('5d41402abc4b2a76b9719d911017c592');
9
+ });
10
+ (0, vitest_1.it)('respects the maxSize parameter', () => {
11
+ const hash = (0, internal_1.getAlphanumericLimitedHash)('hello', 8);
12
+ (0, vitest_1.expect)(hash.length).toBe(8);
13
+ (0, vitest_1.expect)(hash).toBe('5d41402a');
14
+ });
15
+ (0, vitest_1.it)('returns full hash if maxSize is larger than hash', () => {
16
+ const hash = (0, internal_1.getAlphanumericLimitedHash)('hello', 64);
17
+ (0, vitest_1.expect)(hash).toBe('5d41402abc4b2a76b9719d911017c592');
18
+ });
19
+ });
20
+ const testCases = [
21
+ {
22
+ workspace: 'charlou-dev',
23
+ type: 'function',
24
+ name: 'blaxel-search',
25
+ expected: '594d9322779f4a07a55a7bf1050360c6'
26
+ }, {
27
+ workspace: 'charlou-dev',
28
+ type: 'agent',
29
+ name: 'toto',
30
+ expected: '1bb3a151bda194751b062df8edb59eaf',
31
+ }
32
+ ];
33
+ (0, vitest_1.describe)('getGlobalUniqueHash', () => {
34
+ testCases.forEach(({ workspace, type, name, expected }) => {
35
+ (0, vitest_1.it)(`returns ${expected} for ${workspace}-${type}-${name}`, () => {
36
+ (0, vitest_1.expect)((0, internal_1.getGlobalUniqueHash)(workspace, type, name)).toBe(expected);
37
+ });
38
+ });
39
+ });
@@ -0,0 +1,25 @@
1
+ interface LoggerInterface {
2
+ info: (message: string) => void;
3
+ debug: (message: string) => void;
4
+ warn: (message: string) => void;
5
+ error: (message: string) => void;
6
+ }
7
+ /**
8
+ * Stringify an object with a limited depth
9
+ * @param obj The object to stringify
10
+ * @param maxDepth Maximum depth (default: 1)
11
+ * @param depth Current depth (internal use)
12
+ */
13
+ export declare function stringify<T>(obj: T, maxDepth?: number, depth?: number): string;
14
+ declare class Logger {
15
+ private logger;
16
+ constructor();
17
+ setLogger(logger: LoggerInterface): void;
18
+ parseArgs(args: unknown[]): string;
19
+ info(...message: unknown[]): void;
20
+ debug(...message: unknown[]): void;
21
+ warn(...message: unknown[]): void;
22
+ error(...message: unknown[]): void;
23
+ }
24
+ declare const logger: Logger;
25
+ export { logger };
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logger = void 0;
4
+ exports.stringify = stringify;
5
+ /**
6
+ * Stringify an object with a limited depth
7
+ * @param obj The object to stringify
8
+ * @param maxDepth Maximum depth (default: 1)
9
+ * @param depth Current depth (internal use)
10
+ */
11
+ function stringify(obj, maxDepth = 1, depth = 0) {
12
+ if (obj instanceof Error)
13
+ return obj.stack || obj.message;
14
+ if (obj === null)
15
+ return 'null';
16
+ if (obj === undefined)
17
+ return 'undefined';
18
+ // If we've reached max depth or it's not an object
19
+ if (depth >= maxDepth || typeof obj !== 'object') {
20
+ return typeof obj === 'object' ? `[${Array.isArray(obj) ? 'Array' : 'object'}]` :
21
+ typeof obj === 'string' ? `"${obj}"` : String(obj);
22
+ }
23
+ // Handle arrays
24
+ if (Array.isArray(obj)) {
25
+ return `[${obj.map(item => stringify(item, maxDepth, depth + 1)).join(', ')}]`;
26
+ }
27
+ // Handle objects
28
+ const pairs = Object.entries(obj).map(([key, val]) => `"${key}": ${stringify(val, maxDepth, depth + 1)}`);
29
+ return `{${pairs.join(', ')}}`;
30
+ }
31
+ class Logger {
32
+ logger;
33
+ constructor() {
34
+ this.logger = null;
35
+ }
36
+ setLogger(logger) {
37
+ this.logger = logger;
38
+ }
39
+ parseArgs(args) {
40
+ return args.map((arg) => {
41
+ if (arg instanceof Error) {
42
+ return arg.stack ?? arg.message;
43
+ }
44
+ return arg;
45
+ }).join(" ");
46
+ }
47
+ info(...message) {
48
+ if (this.logger) {
49
+ this.logger.info(this.parseArgs(message));
50
+ }
51
+ }
52
+ debug(...message) {
53
+ if (this.logger) {
54
+ this.logger.debug(this.parseArgs(message));
55
+ }
56
+ }
57
+ warn(...message) {
58
+ if (this.logger) {
59
+ this.logger.warn(this.parseArgs(message));
60
+ }
61
+ }
62
+ error(...message) {
63
+ if (this.logger) {
64
+ this.logger.error(this.parseArgs(message));
65
+ }
66
+ }
67
+ }
68
+ const logger = new Logger();
69
+ exports.logger = logger;
@@ -0,0 +1,5 @@
1
+ declare let fs: typeof import("fs") | null;
2
+ declare let os: typeof import("os") | null;
3
+ declare let path: typeof import("path") | null;
4
+ declare let dotenv: typeof import("dotenv") | null;
5
+ export { dotenv, fs, os, path };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.path = exports.os = exports.fs = exports.dotenv = void 0;
4
+ /* eslint-disable */
5
+ const isNode = typeof process !== "undefined" &&
6
+ process.versions != null &&
7
+ process.versions.node != null;
8
+ let fs = null;
9
+ exports.fs = fs;
10
+ let os = null;
11
+ exports.os = os;
12
+ let path = null;
13
+ exports.path = path;
14
+ let dotenv = null;
15
+ exports.dotenv = dotenv;
16
+ if (isNode) {
17
+ try {
18
+ exports.fs = fs = eval("require")("fs");
19
+ exports.os = os = eval("require")("os");
20
+ exports.path = path = eval("require")("path");
21
+ exports.dotenv = dotenv = eval("require")("dotenv");
22
+ }
23
+ catch (e) {
24
+ console.warn("fs and os are not available in this environment");
25
+ }
26
+ }
@@ -0,0 +1,31 @@
1
+ import { Credentials } from "../authentication/credentials.js";
2
+ export type Config = {
3
+ proxy?: string;
4
+ apikey?: string;
5
+ workspace?: string;
6
+ };
7
+ declare class Settings {
8
+ credentials: Credentials;
9
+ config: Config;
10
+ private _version;
11
+ constructor();
12
+ setConfig(config: Config): void;
13
+ get env(): string;
14
+ get baseUrl(): string;
15
+ get runUrl(): string;
16
+ get workspace(): string;
17
+ get authorization(): string;
18
+ get token(): string;
19
+ get version(): string;
20
+ get headers(): Record<string, string>;
21
+ get name(): string;
22
+ get type(): string;
23
+ get runInternalHostname(): string;
24
+ get runInternalProtocol(): string;
25
+ get blCloud(): boolean;
26
+ get generation(): string;
27
+ get loggerType(): string;
28
+ authenticate(): Promise<void>;
29
+ }
30
+ export declare const settings: Settings;
31
+ export {};
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.settings = void 0;
4
+ const index_js_1 = require("../authentication/index.js");
5
+ const env_js_1 = require("../common/env.js");
6
+ // Function to get package version
7
+ function getPackageVersion() {
8
+ try {
9
+ // Try to require package.json (Node.js only, gracefully fails in browser)
10
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
11
+ const packageJson = {"version":"0.2.4-dev4","commit":"19931c18b6608532016e6c3567f4692edeb9e747"};
12
+ return packageJson.version || "unknown";
13
+ }
14
+ catch {
15
+ // Fallback for browser environments or if require fails
16
+ return "unknown";
17
+ }
18
+ }
19
+ // Function to get OS and architecture
20
+ function getOsArch() {
21
+ try {
22
+ // Node.js environment
23
+ if (typeof process !== 'undefined' && process.platform && process.arch) {
24
+ const platform = process.platform === 'win32' ? 'windows' :
25
+ process.platform === 'darwin' ? 'darwin' :
26
+ process.platform === 'linux' ? 'linux' : process.platform;
27
+ return `${platform}/${process.arch}`;
28
+ }
29
+ }
30
+ catch {
31
+ // Fall through to browser detection
32
+ }
33
+ // Browser environment - use fixed detection
34
+ try {
35
+ // @ts-ignore - navigator is available in browser environments
36
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
37
+ if (typeof navigator !== 'undefined' && navigator?.platform) {
38
+ // @ts-ignore - navigator.platform is available in browser environments
39
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
40
+ const navPlatform = navigator.platform.toLowerCase();
41
+ const platform = navPlatform.includes('win') ? 'windows' :
42
+ navPlatform.includes('mac') ? 'darwin' :
43
+ navPlatform.includes('linux') ? 'linux' : 'browser';
44
+ const arch = navPlatform.includes('64') ? 'amd64' : 'unknown';
45
+ return `${platform}/${arch}`;
46
+ }
47
+ }
48
+ catch {
49
+ // Ignore errors
50
+ }
51
+ return "browser/unknown";
52
+ }
53
+ // Function to get commit hash
54
+ function getCommitHash() {
55
+ try {
56
+ // Try to require package.json and look for commit field (set during build)
57
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
58
+ const packageJson = {"version":"0.2.4-dev4","commit":"19931c18b6608532016e6c3567f4692edeb9e747"};
59
+ // Check for commit in various possible locations
60
+ const commit = packageJson.commit || packageJson.buildInfo?.commit;
61
+ if (commit) {
62
+ return commit.length > 7 ? commit.substring(0, 7) : commit;
63
+ }
64
+ }
65
+ catch {
66
+ // Fallback for browser environments or if require fails
67
+ }
68
+ return "unknown";
69
+ }
70
+ class Settings {
71
+ credentials;
72
+ config;
73
+ _version = null;
74
+ constructor() {
75
+ this.credentials = (0, index_js_1.authentication)();
76
+ this.config = {
77
+ proxy: "",
78
+ apikey: "",
79
+ workspace: "",
80
+ };
81
+ }
82
+ setConfig(config) {
83
+ this.config = config;
84
+ }
85
+ get env() {
86
+ return env_js_1.env.BL_ENV || "prod";
87
+ }
88
+ get baseUrl() {
89
+ if (this.config.proxy) {
90
+ return this.config.proxy + "/api";
91
+ }
92
+ if (env_js_1.env.BL_API_URL) {
93
+ return env_js_1.env.BL_API_URL;
94
+ }
95
+ if (this.env === "prod") {
96
+ return "https://api.blaxel.ai/v0";
97
+ }
98
+ return "https://api.blaxel.dev/v0";
99
+ }
100
+ get runUrl() {
101
+ if (this.config.proxy) {
102
+ return this.config.proxy + "/run";
103
+ }
104
+ if (env_js_1.env.BL_RUN_URL) {
105
+ return env_js_1.env.BL_RUN_URL;
106
+ }
107
+ if (this.env === "prod") {
108
+ return "https://run.blaxel.ai";
109
+ }
110
+ return "https://run.blaxel.dev";
111
+ }
112
+ get workspace() {
113
+ return this.config.workspace || this.credentials.workspace || "";
114
+ }
115
+ get authorization() {
116
+ if (this.config.apikey) {
117
+ return 'Bearer ' + this.token;
118
+ }
119
+ return this.credentials.authorization;
120
+ }
121
+ get token() {
122
+ if (this.config.apikey) {
123
+ return this.config.apikey;
124
+ }
125
+ return this.credentials.token;
126
+ }
127
+ get version() {
128
+ if (this._version === null) {
129
+ this._version = getPackageVersion();
130
+ }
131
+ return this._version;
132
+ }
133
+ get headers() {
134
+ const osArch = getOsArch();
135
+ const commitHash = getCommitHash();
136
+ return {
137
+ "x-blaxel-authorization": this.authorization,
138
+ "x-blaxel-workspace": this.workspace || "",
139
+ "User-Agent": `blaxel/sdk/typescript/${this.version} (${osArch}) blaxel/${commitHash}`,
140
+ };
141
+ }
142
+ get name() {
143
+ return env_js_1.env.BL_NAME || "";
144
+ }
145
+ get type() {
146
+ return env_js_1.env.BL_TYPE || "agents";
147
+ }
148
+ get runInternalHostname() {
149
+ if (!this.generation) {
150
+ return "";
151
+ }
152
+ return env_js_1.env.BL_RUN_INTERNAL_HOST || "";
153
+ }
154
+ get runInternalProtocol() {
155
+ return env_js_1.env.BL_RUN_INTERNAL_PROTOCOL || "https";
156
+ }
157
+ get blCloud() {
158
+ return env_js_1.env.BL_CLOUD === "true";
159
+ }
160
+ get generation() {
161
+ return env_js_1.env.BL_GENERATION || "";
162
+ }
163
+ get loggerType() {
164
+ return env_js_1.env.BL_LOGGER || "http";
165
+ }
166
+ async authenticate() {
167
+ await this.credentials.authenticate();
168
+ }
169
+ }
170
+ exports.settings = new Settings();