@blaxel/core 0.2.43-dev.196 → 0.2.43-dev.199

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 (194) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/authentication/index.js +4 -30
  3. package/dist/cjs/cache/index.js +3 -16
  4. package/dist/cjs/common/browser.js +22 -0
  5. package/dist/cjs/common/env.js +12 -24
  6. package/dist/cjs/common/node.js +13 -25
  7. package/dist/cjs/common/settings.js +2 -2
  8. package/dist/cjs/sandbox/filesystem/filesystem.js +12 -13
  9. package/dist/cjs/sandbox/sandbox.js +2 -2
  10. package/dist/cjs/types/common/browser.d.ts +5 -0
  11. package/dist/cjs/types/common/node.d.ts +1 -2
  12. package/dist/cjs/types/sandbox/filesystem/filesystem.d.ts +6 -2
  13. package/dist/cjs-browser/.tsbuildinfo +1 -0
  14. package/dist/cjs-browser/agents/index.js +109 -0
  15. package/dist/cjs-browser/authentication/apikey.js +24 -0
  16. package/dist/cjs-browser/authentication/clientcredentials.js +85 -0
  17. package/dist/cjs-browser/authentication/credentials.js +17 -0
  18. package/dist/cjs-browser/authentication/deviceMode.js +70 -0
  19. package/dist/cjs-browser/authentication/index.js +62 -0
  20. package/dist/cjs-browser/authentication/types.js +2 -0
  21. package/dist/cjs-browser/cache/index.js +26 -0
  22. package/dist/cjs-browser/client/authentication.js +15 -0
  23. package/dist/cjs-browser/client/client.gen.js +8 -0
  24. package/dist/cjs-browser/client/client.js +17 -0
  25. package/dist/cjs-browser/client/index.js +19 -0
  26. package/dist/cjs-browser/client/interceptors.js +17 -0
  27. package/dist/cjs-browser/client/sdk.gen.js +1824 -0
  28. package/dist/cjs-browser/client/types.gen.js +4 -0
  29. package/dist/cjs-browser/common/autoload.js +27 -0
  30. package/dist/cjs-browser/common/env.js +57 -0
  31. package/dist/cjs-browser/common/errors.js +17 -0
  32. package/dist/cjs-browser/common/internal.js +228 -0
  33. package/dist/cjs-browser/common/internal.test.js +39 -0
  34. package/dist/cjs-browser/common/logger.js +69 -0
  35. package/dist/cjs-browser/common/node.js +22 -0
  36. package/dist/cjs-browser/common/settings.js +181 -0
  37. package/dist/cjs-browser/index.browser.test.js +45 -0
  38. package/dist/cjs-browser/index.js +34 -0
  39. package/dist/cjs-browser/jobs/index.js +19 -0
  40. package/dist/cjs-browser/jobs/jobs.js +90 -0
  41. package/dist/cjs-browser/jobs/start.js +66 -0
  42. package/dist/cjs-browser/jobs/types.js +2 -0
  43. package/dist/cjs-browser/mcp/client.js +235 -0
  44. package/dist/cjs-browser/mcp/index.js +18 -0
  45. package/dist/cjs-browser/mcp/server.js +213 -0
  46. package/dist/cjs-browser/models/index.js +31 -0
  47. package/dist/cjs-browser/sandbox/action.js +83 -0
  48. package/dist/cjs-browser/sandbox/client/client.gen.js +6 -0
  49. package/dist/cjs-browser/sandbox/client/index.js +19 -0
  50. package/dist/cjs-browser/sandbox/client/sdk.gen.js +289 -0
  51. package/dist/cjs-browser/sandbox/client/types.gen.js +3 -0
  52. package/dist/cjs-browser/sandbox/filesystem/filesystem.js +240 -0
  53. package/dist/cjs-browser/sandbox/filesystem/index.js +18 -0
  54. package/dist/cjs-browser/sandbox/filesystem/types.js +2 -0
  55. package/dist/cjs-browser/sandbox/index.js +36 -0
  56. package/dist/cjs-browser/sandbox/network/index.js +17 -0
  57. package/dist/cjs-browser/sandbox/network/network.js +10 -0
  58. package/dist/cjs-browser/sandbox/preview.js +148 -0
  59. package/dist/cjs-browser/sandbox/process/index.js +17 -0
  60. package/dist/cjs-browser/sandbox/process/process.js +189 -0
  61. package/dist/cjs-browser/sandbox/sandbox.js +180 -0
  62. package/dist/cjs-browser/sandbox/session.js +123 -0
  63. package/dist/cjs-browser/sandbox/types.js +81 -0
  64. package/dist/cjs-browser/telemetry/telemetry.js +80 -0
  65. package/dist/cjs-browser/tools/index.js +52 -0
  66. package/dist/cjs-browser/tools/mcpTool.js +254 -0
  67. package/dist/cjs-browser/tools/types.js +2 -0
  68. package/dist/cjs-browser/tools/zodSchema.js +50 -0
  69. package/dist/cjs-browser/types/agents/index.d.ts +15 -0
  70. package/dist/cjs-browser/types/authentication/apikey.d.ts +10 -0
  71. package/dist/cjs-browser/types/authentication/clientcredentials.d.ts +17 -0
  72. package/dist/cjs-browser/types/authentication/credentials.d.ts +6 -0
  73. package/dist/cjs-browser/types/authentication/deviceMode.d.ts +15 -0
  74. package/dist/cjs-browser/types/authentication/index.d.ts +3 -0
  75. package/dist/cjs-browser/types/authentication/types.d.ts +9 -0
  76. package/dist/cjs-browser/types/cache/index.d.ts +1 -0
  77. package/dist/cjs-browser/types/client/authentication.d.ts +25 -0
  78. package/dist/cjs-browser/types/client/client.d.ts +2 -0
  79. package/dist/cjs-browser/types/client/client.gen.d.ts +12 -0
  80. package/dist/cjs-browser/types/client/index.d.ts +2 -0
  81. package/dist/cjs-browser/types/client/interceptors.d.ts +3 -0
  82. package/dist/cjs-browser/types/client/sdk.gen.d.ts +519 -0
  83. package/dist/cjs-browser/types/client/types.gen.d.ts +4950 -0
  84. package/dist/cjs-browser/types/common/autoload.d.ts +3 -0
  85. package/dist/cjs-browser/types/common/browser.d.ts +5 -0
  86. package/dist/cjs-browser/types/common/env.d.ts +5 -0
  87. package/dist/cjs-browser/types/common/errors.d.ts +1 -0
  88. package/dist/cjs-browser/types/common/internal.d.ts +6 -0
  89. package/dist/cjs-browser/types/common/internal.test.d.ts +1 -0
  90. package/dist/cjs-browser/types/common/logger.d.ts +25 -0
  91. package/dist/cjs-browser/types/common/node.d.ts +6 -0
  92. package/dist/cjs-browser/types/common/settings.d.ts +32 -0
  93. package/dist/cjs-browser/types/index.browser.test.d.ts +1 -0
  94. package/dist/cjs-browser/types/index.d.ts +18 -0
  95. package/dist/cjs-browser/types/jobs/index.d.ts +3 -0
  96. package/dist/cjs-browser/types/jobs/jobs.d.ts +13 -0
  97. package/dist/cjs-browser/types/jobs/start.d.ts +1 -0
  98. package/dist/cjs-browser/types/jobs/types.d.ts +3 -0
  99. package/dist/cjs-browser/types/mcp/client.d.ts +28 -0
  100. package/dist/cjs-browser/types/mcp/index.d.ts +2 -0
  101. package/dist/cjs-browser/types/mcp/server.d.ts +24 -0
  102. package/dist/cjs-browser/types/models/index.d.ts +8 -0
  103. package/dist/cjs-browser/types/sandbox/action.d.ts +19 -0
  104. package/dist/cjs-browser/types/sandbox/client/client.gen.d.ts +12 -0
  105. package/dist/cjs-browser/types/sandbox/client/index.d.ts +2 -0
  106. package/dist/cjs-browser/types/sandbox/client/sdk.gen.d.ts +101 -0
  107. package/dist/cjs-browser/types/sandbox/client/types.gen.d.ts +578 -0
  108. package/dist/cjs-browser/types/sandbox/filesystem/filesystem.d.ts +27 -0
  109. package/dist/cjs-browser/types/sandbox/filesystem/index.d.ts +2 -0
  110. package/dist/cjs-browser/types/sandbox/filesystem/types.d.ts +15 -0
  111. package/dist/cjs-browser/types/sandbox/index.d.ts +4 -0
  112. package/dist/cjs-browser/types/sandbox/network/index.d.ts +1 -0
  113. package/dist/cjs-browser/types/sandbox/network/network.d.ts +5 -0
  114. package/dist/cjs-browser/types/sandbox/preview.d.ts +37 -0
  115. package/dist/cjs-browser/types/sandbox/process/index.d.ts +1 -0
  116. package/dist/cjs-browser/types/sandbox/process/process.d.ts +24 -0
  117. package/dist/cjs-browser/types/sandbox/sandbox.d.ts +33 -0
  118. package/dist/cjs-browser/types/sandbox/session.d.ts +27 -0
  119. package/dist/cjs-browser/types/sandbox/types.d.ts +52 -0
  120. package/dist/cjs-browser/types/telemetry/telemetry.d.ts +62 -0
  121. package/dist/cjs-browser/types/tools/index.d.ts +12 -0
  122. package/dist/cjs-browser/types/tools/mcpTool.d.ts +33 -0
  123. package/dist/cjs-browser/types/tools/types.d.ts +8 -0
  124. package/dist/cjs-browser/types/tools/zodSchema.d.ts +82 -0
  125. package/dist/cjs-browser/types/volume/index.d.ts +23 -0
  126. package/dist/cjs-browser/volume/index.js +113 -0
  127. package/dist/esm/.tsbuildinfo +1 -1
  128. package/dist/esm/authentication/index.js +1 -27
  129. package/dist/esm/cache/index.js +2 -15
  130. package/dist/esm/common/browser.js +18 -0
  131. package/dist/esm/common/env.js +7 -19
  132. package/dist/esm/common/node.js +10 -21
  133. package/dist/esm/common/settings.js +2 -2
  134. package/dist/esm/sandbox/filesystem/filesystem.js +13 -14
  135. package/dist/esm/sandbox/sandbox.js +2 -2
  136. package/dist/esm-browser/.tsbuildinfo +1 -0
  137. package/dist/esm-browser/agents/index.js +104 -0
  138. package/dist/esm-browser/authentication/apikey.js +20 -0
  139. package/dist/esm-browser/authentication/clientcredentials.js +81 -0
  140. package/dist/esm-browser/authentication/credentials.js +13 -0
  141. package/dist/esm-browser/authentication/deviceMode.js +66 -0
  142. package/dist/esm-browser/authentication/index.js +56 -0
  143. package/dist/esm-browser/authentication/types.js +1 -0
  144. package/dist/esm-browser/cache/index.js +20 -0
  145. package/dist/esm-browser/client/authentication.js +11 -0
  146. package/dist/esm-browser/client/client.gen.js +5 -0
  147. package/dist/esm-browser/client/client.js +1 -0
  148. package/dist/esm-browser/client/index.js +3 -0
  149. package/dist/esm-browser/client/interceptors.js +14 -0
  150. package/dist/esm-browser/client/sdk.gen.js +1717 -0
  151. package/dist/esm-browser/client/types.gen.js +3 -0
  152. package/dist/esm-browser/common/autoload.js +23 -0
  153. package/dist/esm-browser/common/env.js +51 -0
  154. package/dist/esm-browser/common/errors.js +14 -0
  155. package/dist/esm-browser/common/internal.js +220 -0
  156. package/dist/esm-browser/common/internal.test.js +37 -0
  157. package/dist/esm-browser/common/logger.js +65 -0
  158. package/dist/esm-browser/common/node.js +18 -0
  159. package/dist/esm-browser/common/settings.js +178 -0
  160. package/dist/esm-browser/index.browser.test.js +10 -0
  161. package/dist/esm-browser/index.js +18 -0
  162. package/dist/esm-browser/jobs/index.js +3 -0
  163. package/dist/esm-browser/jobs/jobs.js +86 -0
  164. package/dist/esm-browser/jobs/start.js +62 -0
  165. package/dist/esm-browser/jobs/types.js +1 -0
  166. package/dist/esm-browser/mcp/client.js +231 -0
  167. package/dist/esm-browser/mcp/index.js +2 -0
  168. package/dist/esm-browser/mcp/server.js +176 -0
  169. package/dist/esm-browser/models/index.js +25 -0
  170. package/dist/esm-browser/package.json +1 -0
  171. package/dist/esm-browser/sandbox/action.js +78 -0
  172. package/dist/esm-browser/sandbox/client/client.gen.js +3 -0
  173. package/dist/esm-browser/sandbox/client/index.js +3 -0
  174. package/dist/esm-browser/sandbox/client/sdk.gen.js +270 -0
  175. package/dist/esm-browser/sandbox/client/types.gen.js +2 -0
  176. package/dist/esm-browser/sandbox/filesystem/filesystem.js +236 -0
  177. package/dist/esm-browser/sandbox/filesystem/index.js +2 -0
  178. package/dist/esm-browser/sandbox/filesystem/types.js +1 -0
  179. package/dist/esm-browser/sandbox/index.js +7 -0
  180. package/dist/esm-browser/sandbox/network/index.js +1 -0
  181. package/dist/esm-browser/sandbox/network/network.js +6 -0
  182. package/dist/esm-browser/sandbox/preview.js +141 -0
  183. package/dist/esm-browser/sandbox/process/index.js +1 -0
  184. package/dist/esm-browser/sandbox/process/process.js +185 -0
  185. package/dist/esm-browser/sandbox/sandbox.js +176 -0
  186. package/dist/esm-browser/sandbox/session.js +119 -0
  187. package/dist/esm-browser/sandbox/types.js +76 -0
  188. package/dist/esm-browser/telemetry/telemetry.js +74 -0
  189. package/dist/esm-browser/tools/index.js +44 -0
  190. package/dist/esm-browser/tools/mcpTool.js +249 -0
  191. package/dist/esm-browser/tools/types.js +1 -0
  192. package/dist/esm-browser/tools/zodSchema.js +43 -0
  193. package/dist/esm-browser/volume/index.js +109 -0
  194. package/package.json +16 -4
@@ -0,0 +1,13 @@
1
+ import { env } from "../common/env.js";
2
+ export class Credentials {
3
+ async authenticate() { }
4
+ get workspace() {
5
+ return env.BL_WORKSPACE || "";
6
+ }
7
+ get authorization() {
8
+ return "";
9
+ }
10
+ get token() {
11
+ return "";
12
+ }
13
+ }
@@ -0,0 +1,66 @@
1
+ import { jwtDecode } from "jwt-decode";
2
+ import { oauthToken } from "../client/authentication.js";
3
+ import { env } from "../common/env.js";
4
+ export class DeviceMode {
5
+ refreshToken;
6
+ deviceCode;
7
+ accessToken;
8
+ credentials;
9
+ currentPromise;
10
+ // private expireIn: number;
11
+ constructor(credentials) {
12
+ this.refreshToken = credentials.refresh_token || "";
13
+ this.deviceCode = credentials.device_code || "";
14
+ this.accessToken = credentials.access_token || "";
15
+ this.credentials = credentials;
16
+ this.currentPromise = null;
17
+ }
18
+ get workspace() {
19
+ return this.credentials.workspace || env.BL_WORKSPACE || "";
20
+ }
21
+ needRefresh() {
22
+ if (this.currentPromise)
23
+ return false;
24
+ if (this.accessToken) {
25
+ const decoded = jwtDecode(this.accessToken);
26
+ const { exp, iat } = decoded;
27
+ if (!exp || !iat)
28
+ return true;
29
+ const expDate = new Date(exp * 1000);
30
+ const iatDate = new Date(iat * 1000);
31
+ const nowDate = new Date();
32
+ const diff = expDate.getTime() - nowDate.getTime();
33
+ const iatDiff = expDate.getTime() - iatDate.getTime();
34
+ const ratio = diff / iatDiff;
35
+ return ratio < 0.5;
36
+ }
37
+ return true;
38
+ }
39
+ async authenticate() {
40
+ if (!this.needRefresh()) {
41
+ return this.currentPromise || Promise.resolve();
42
+ }
43
+ this.currentPromise = this.process();
44
+ return this.currentPromise;
45
+ }
46
+ async process() {
47
+ const response = await oauthToken({
48
+ body: {
49
+ grant_type: "refresh_token",
50
+ device_code: this.deviceCode,
51
+ refresh_token: this.refreshToken,
52
+ },
53
+ });
54
+ if (response.error) {
55
+ throw new Error(response.error.error);
56
+ }
57
+ this.accessToken = response.data?.access_token || "";
58
+ this.currentPromise = null;
59
+ }
60
+ get authorization() {
61
+ return `Bearer ${this.accessToken}`;
62
+ }
63
+ get token() {
64
+ return this.accessToken;
65
+ }
66
+ }
@@ -0,0 +1,56 @@
1
+ import yaml from 'yaml';
2
+ import { env } from "../common/env.js";
3
+ import { fs, os, path } from "../common/node.js";
4
+ import { ApiKey } from "./apikey.js";
5
+ import { ClientCredentials } from "./clientcredentials.js";
6
+ import { Credentials } from "./credentials.js";
7
+ import { DeviceMode } from "./deviceMode.js";
8
+ function getCredentials() {
9
+ if (env.BL_API_KEY) {
10
+ return {
11
+ apiKey: env.BL_API_KEY,
12
+ workspace: env.BL_WORKSPACE,
13
+ };
14
+ }
15
+ if (env.BL_CLIENT_CREDENTIALS) {
16
+ return {
17
+ clientCredentials: env.BL_CLIENT_CREDENTIALS,
18
+ workspace: env.BL_WORKSPACE,
19
+ };
20
+ }
21
+ if (os === null || fs === null || path === null) {
22
+ return null;
23
+ }
24
+ try {
25
+ const homeDir = os.homedir();
26
+ const config = fs.readFileSync(path.join(homeDir, ".blaxel/config.yaml"), "utf8");
27
+ const configJson = yaml.parse(config);
28
+ const workspaceName = env.BL_WORKSPACE || configJson.context.workspace;
29
+ const credentials = configJson.workspaces.find((wk) => wk.name === workspaceName)?.credentials;
30
+ if (!credentials) {
31
+ return null;
32
+ }
33
+ credentials.workspace = workspaceName;
34
+ return credentials;
35
+ }
36
+ catch {
37
+ // If any error (e.g., running in browser), just return null
38
+ return null;
39
+ }
40
+ }
41
+ export function authentication() {
42
+ const credentials = getCredentials();
43
+ if (!credentials) {
44
+ return new Credentials();
45
+ }
46
+ if (credentials.apiKey) {
47
+ return new ApiKey(credentials);
48
+ }
49
+ if (credentials.clientCredentials) {
50
+ return new ClientCredentials(credentials);
51
+ }
52
+ if (credentials.device_code) {
53
+ return new DeviceMode(credentials);
54
+ }
55
+ return new Credentials();
56
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ import yaml from "yaml";
2
+ import { fs } from "../common/node.js";
3
+ const cache = new Map();
4
+ try {
5
+ if (fs) {
6
+ const cacheString = fs.readFileSync(".cache.yaml", "utf8");
7
+ const cacheData = yaml.parseAllDocuments(cacheString);
8
+ for (const doc of cacheData) {
9
+ const jsonDoc = doc.toJSON();
10
+ const cacheKey = `${jsonDoc.kind}/${jsonDoc.metadata.name}`;
11
+ cache.set(cacheKey, jsonDoc);
12
+ }
13
+ }
14
+ /* eslint-disable */
15
+ }
16
+ catch (error) { }
17
+ export async function findFromCache(resource, name) {
18
+ const cacheKey = `${resource}/${name}`;
19
+ return cache.get(cacheKey);
20
+ }
@@ -0,0 +1,11 @@
1
+ import { client } from "./client.gen.js";
2
+ /**
3
+ * Get a new oauth token
4
+ */
5
+ export const oauthToken = (options) => {
6
+ options.authenticated = false;
7
+ return client.post({
8
+ ...options,
9
+ url: '/oauth/token',
10
+ });
11
+ };
@@ -0,0 +1,5 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+ import { createClient, createConfig } from '@hey-api/client-fetch';
3
+ export const client = createClient(createConfig({
4
+ baseUrl: 'https://api.blaxel.ai/v0'
5
+ }));
@@ -0,0 +1 @@
1
+ export * from './index.js';
@@ -0,0 +1,3 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+ export * from './types.gen.js';
3
+ export * from './sdk.gen.js';
@@ -0,0 +1,14 @@
1
+ import { settings } from "../common/settings.js";
2
+ export const interceptors = [
3
+ // Authentication interceptor
4
+ async (request, options) => {
5
+ if (options.authenticated === false) {
6
+ return request;
7
+ }
8
+ await settings.authenticate();
9
+ for (const header in settings.headers) {
10
+ request.headers.set(header, settings.headers[header]);
11
+ }
12
+ return request;
13
+ },
14
+ ];