@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.
- package/dist/cjs/.tsbuildinfo +1 -1
- package/dist/cjs/authentication/index.js +4 -30
- package/dist/cjs/cache/index.js +3 -16
- package/dist/cjs/common/browser.js +22 -0
- package/dist/cjs/common/env.js +12 -24
- package/dist/cjs/common/node.js +13 -25
- package/dist/cjs/common/settings.js +2 -2
- package/dist/cjs/sandbox/filesystem/filesystem.js +12 -13
- package/dist/cjs/sandbox/sandbox.js +2 -2
- package/dist/cjs/types/common/browser.d.ts +5 -0
- package/dist/cjs/types/common/node.d.ts +1 -2
- package/dist/cjs/types/sandbox/filesystem/filesystem.d.ts +6 -2
- package/dist/cjs-browser/.tsbuildinfo +1 -0
- package/dist/cjs-browser/agents/index.js +109 -0
- package/dist/cjs-browser/authentication/apikey.js +24 -0
- package/dist/cjs-browser/authentication/clientcredentials.js +85 -0
- package/dist/cjs-browser/authentication/credentials.js +17 -0
- package/dist/cjs-browser/authentication/deviceMode.js +70 -0
- package/dist/cjs-browser/authentication/index.js +62 -0
- package/dist/cjs-browser/authentication/types.js +2 -0
- package/dist/cjs-browser/cache/index.js +26 -0
- package/dist/cjs-browser/client/authentication.js +15 -0
- package/dist/cjs-browser/client/client.gen.js +8 -0
- package/dist/cjs-browser/client/client.js +17 -0
- package/dist/cjs-browser/client/index.js +19 -0
- package/dist/cjs-browser/client/interceptors.js +17 -0
- package/dist/cjs-browser/client/sdk.gen.js +1824 -0
- package/dist/cjs-browser/client/types.gen.js +4 -0
- package/dist/cjs-browser/common/autoload.js +27 -0
- package/dist/cjs-browser/common/env.js +57 -0
- package/dist/cjs-browser/common/errors.js +17 -0
- package/dist/cjs-browser/common/internal.js +228 -0
- package/dist/cjs-browser/common/internal.test.js +39 -0
- package/dist/cjs-browser/common/logger.js +69 -0
- package/dist/cjs-browser/common/node.js +22 -0
- package/dist/cjs-browser/common/settings.js +181 -0
- package/dist/cjs-browser/index.browser.test.js +45 -0
- package/dist/cjs-browser/index.js +34 -0
- package/dist/cjs-browser/jobs/index.js +19 -0
- package/dist/cjs-browser/jobs/jobs.js +90 -0
- package/dist/cjs-browser/jobs/start.js +66 -0
- package/dist/cjs-browser/jobs/types.js +2 -0
- package/dist/cjs-browser/mcp/client.js +235 -0
- package/dist/cjs-browser/mcp/index.js +18 -0
- package/dist/cjs-browser/mcp/server.js +213 -0
- package/dist/cjs-browser/models/index.js +31 -0
- package/dist/cjs-browser/sandbox/action.js +83 -0
- package/dist/cjs-browser/sandbox/client/client.gen.js +6 -0
- package/dist/cjs-browser/sandbox/client/index.js +19 -0
- package/dist/cjs-browser/sandbox/client/sdk.gen.js +289 -0
- package/dist/cjs-browser/sandbox/client/types.gen.js +3 -0
- package/dist/cjs-browser/sandbox/filesystem/filesystem.js +240 -0
- package/dist/cjs-browser/sandbox/filesystem/index.js +18 -0
- package/dist/cjs-browser/sandbox/filesystem/types.js +2 -0
- package/dist/cjs-browser/sandbox/index.js +36 -0
- package/dist/cjs-browser/sandbox/network/index.js +17 -0
- package/dist/cjs-browser/sandbox/network/network.js +10 -0
- package/dist/cjs-browser/sandbox/preview.js +148 -0
- package/dist/cjs-browser/sandbox/process/index.js +17 -0
- package/dist/cjs-browser/sandbox/process/process.js +189 -0
- package/dist/cjs-browser/sandbox/sandbox.js +180 -0
- package/dist/cjs-browser/sandbox/session.js +123 -0
- package/dist/cjs-browser/sandbox/types.js +81 -0
- package/dist/cjs-browser/telemetry/telemetry.js +80 -0
- package/dist/cjs-browser/tools/index.js +52 -0
- package/dist/cjs-browser/tools/mcpTool.js +254 -0
- package/dist/cjs-browser/tools/types.js +2 -0
- package/dist/cjs-browser/tools/zodSchema.js +50 -0
- package/dist/cjs-browser/types/agents/index.d.ts +15 -0
- package/dist/cjs-browser/types/authentication/apikey.d.ts +10 -0
- package/dist/cjs-browser/types/authentication/clientcredentials.d.ts +17 -0
- package/dist/cjs-browser/types/authentication/credentials.d.ts +6 -0
- package/dist/cjs-browser/types/authentication/deviceMode.d.ts +15 -0
- package/dist/cjs-browser/types/authentication/index.d.ts +3 -0
- package/dist/cjs-browser/types/authentication/types.d.ts +9 -0
- package/dist/cjs-browser/types/cache/index.d.ts +1 -0
- package/dist/cjs-browser/types/client/authentication.d.ts +25 -0
- package/dist/cjs-browser/types/client/client.d.ts +2 -0
- package/dist/cjs-browser/types/client/client.gen.d.ts +12 -0
- package/dist/cjs-browser/types/client/index.d.ts +2 -0
- package/dist/cjs-browser/types/client/interceptors.d.ts +3 -0
- package/dist/cjs-browser/types/client/sdk.gen.d.ts +519 -0
- package/dist/cjs-browser/types/client/types.gen.d.ts +4950 -0
- package/dist/cjs-browser/types/common/autoload.d.ts +3 -0
- package/dist/cjs-browser/types/common/browser.d.ts +5 -0
- package/dist/cjs-browser/types/common/env.d.ts +5 -0
- package/dist/cjs-browser/types/common/errors.d.ts +1 -0
- package/dist/cjs-browser/types/common/internal.d.ts +6 -0
- package/dist/cjs-browser/types/common/internal.test.d.ts +1 -0
- package/dist/cjs-browser/types/common/logger.d.ts +25 -0
- package/dist/cjs-browser/types/common/node.d.ts +6 -0
- package/dist/cjs-browser/types/common/settings.d.ts +32 -0
- package/dist/cjs-browser/types/index.browser.test.d.ts +1 -0
- package/dist/cjs-browser/types/index.d.ts +18 -0
- package/dist/cjs-browser/types/jobs/index.d.ts +3 -0
- package/dist/cjs-browser/types/jobs/jobs.d.ts +13 -0
- package/dist/cjs-browser/types/jobs/start.d.ts +1 -0
- package/dist/cjs-browser/types/jobs/types.d.ts +3 -0
- package/dist/cjs-browser/types/mcp/client.d.ts +28 -0
- package/dist/cjs-browser/types/mcp/index.d.ts +2 -0
- package/dist/cjs-browser/types/mcp/server.d.ts +24 -0
- package/dist/cjs-browser/types/models/index.d.ts +8 -0
- package/dist/cjs-browser/types/sandbox/action.d.ts +19 -0
- package/dist/cjs-browser/types/sandbox/client/client.gen.d.ts +12 -0
- package/dist/cjs-browser/types/sandbox/client/index.d.ts +2 -0
- package/dist/cjs-browser/types/sandbox/client/sdk.gen.d.ts +101 -0
- package/dist/cjs-browser/types/sandbox/client/types.gen.d.ts +578 -0
- package/dist/cjs-browser/types/sandbox/filesystem/filesystem.d.ts +27 -0
- package/dist/cjs-browser/types/sandbox/filesystem/index.d.ts +2 -0
- package/dist/cjs-browser/types/sandbox/filesystem/types.d.ts +15 -0
- package/dist/cjs-browser/types/sandbox/index.d.ts +4 -0
- package/dist/cjs-browser/types/sandbox/network/index.d.ts +1 -0
- package/dist/cjs-browser/types/sandbox/network/network.d.ts +5 -0
- package/dist/cjs-browser/types/sandbox/preview.d.ts +37 -0
- package/dist/cjs-browser/types/sandbox/process/index.d.ts +1 -0
- package/dist/cjs-browser/types/sandbox/process/process.d.ts +24 -0
- package/dist/cjs-browser/types/sandbox/sandbox.d.ts +33 -0
- package/dist/cjs-browser/types/sandbox/session.d.ts +27 -0
- package/dist/cjs-browser/types/sandbox/types.d.ts +52 -0
- package/dist/cjs-browser/types/telemetry/telemetry.d.ts +62 -0
- package/dist/cjs-browser/types/tools/index.d.ts +12 -0
- package/dist/cjs-browser/types/tools/mcpTool.d.ts +33 -0
- package/dist/cjs-browser/types/tools/types.d.ts +8 -0
- package/dist/cjs-browser/types/tools/zodSchema.d.ts +82 -0
- package/dist/cjs-browser/types/volume/index.d.ts +23 -0
- package/dist/cjs-browser/volume/index.js +113 -0
- package/dist/esm/.tsbuildinfo +1 -1
- package/dist/esm/authentication/index.js +1 -27
- package/dist/esm/cache/index.js +2 -15
- package/dist/esm/common/browser.js +18 -0
- package/dist/esm/common/env.js +7 -19
- package/dist/esm/common/node.js +10 -21
- package/dist/esm/common/settings.js +2 -2
- package/dist/esm/sandbox/filesystem/filesystem.js +13 -14
- package/dist/esm/sandbox/sandbox.js +2 -2
- package/dist/esm-browser/.tsbuildinfo +1 -0
- package/dist/esm-browser/agents/index.js +104 -0
- package/dist/esm-browser/authentication/apikey.js +20 -0
- package/dist/esm-browser/authentication/clientcredentials.js +81 -0
- package/dist/esm-browser/authentication/credentials.js +13 -0
- package/dist/esm-browser/authentication/deviceMode.js +66 -0
- package/dist/esm-browser/authentication/index.js +56 -0
- package/dist/esm-browser/authentication/types.js +1 -0
- package/dist/esm-browser/cache/index.js +20 -0
- package/dist/esm-browser/client/authentication.js +11 -0
- package/dist/esm-browser/client/client.gen.js +5 -0
- package/dist/esm-browser/client/client.js +1 -0
- package/dist/esm-browser/client/index.js +3 -0
- package/dist/esm-browser/client/interceptors.js +14 -0
- package/dist/esm-browser/client/sdk.gen.js +1717 -0
- package/dist/esm-browser/client/types.gen.js +3 -0
- package/dist/esm-browser/common/autoload.js +23 -0
- package/dist/esm-browser/common/env.js +51 -0
- package/dist/esm-browser/common/errors.js +14 -0
- package/dist/esm-browser/common/internal.js +220 -0
- package/dist/esm-browser/common/internal.test.js +37 -0
- package/dist/esm-browser/common/logger.js +65 -0
- package/dist/esm-browser/common/node.js +18 -0
- package/dist/esm-browser/common/settings.js +178 -0
- package/dist/esm-browser/index.browser.test.js +10 -0
- package/dist/esm-browser/index.js +18 -0
- package/dist/esm-browser/jobs/index.js +3 -0
- package/dist/esm-browser/jobs/jobs.js +86 -0
- package/dist/esm-browser/jobs/start.js +62 -0
- package/dist/esm-browser/jobs/types.js +1 -0
- package/dist/esm-browser/mcp/client.js +231 -0
- package/dist/esm-browser/mcp/index.js +2 -0
- package/dist/esm-browser/mcp/server.js +176 -0
- package/dist/esm-browser/models/index.js +25 -0
- package/dist/esm-browser/package.json +1 -0
- package/dist/esm-browser/sandbox/action.js +78 -0
- package/dist/esm-browser/sandbox/client/client.gen.js +3 -0
- package/dist/esm-browser/sandbox/client/index.js +3 -0
- package/dist/esm-browser/sandbox/client/sdk.gen.js +270 -0
- package/dist/esm-browser/sandbox/client/types.gen.js +2 -0
- package/dist/esm-browser/sandbox/filesystem/filesystem.js +236 -0
- package/dist/esm-browser/sandbox/filesystem/index.js +2 -0
- package/dist/esm-browser/sandbox/filesystem/types.js +1 -0
- package/dist/esm-browser/sandbox/index.js +7 -0
- package/dist/esm-browser/sandbox/network/index.js +1 -0
- package/dist/esm-browser/sandbox/network/network.js +6 -0
- package/dist/esm-browser/sandbox/preview.js +141 -0
- package/dist/esm-browser/sandbox/process/index.js +1 -0
- package/dist/esm-browser/sandbox/process/process.js +185 -0
- package/dist/esm-browser/sandbox/sandbox.js +176 -0
- package/dist/esm-browser/sandbox/session.js +119 -0
- package/dist/esm-browser/sandbox/types.js +76 -0
- package/dist/esm-browser/telemetry/telemetry.js +74 -0
- package/dist/esm-browser/tools/index.js +44 -0
- package/dist/esm-browser/tools/mcpTool.js +249 -0
- package/dist/esm-browser/tools/types.js +1 -0
- package/dist/esm-browser/tools/zodSchema.js +43 -0
- package/dist/esm-browser/volume/index.js +109 -0
- package/package.json +16 -4
|
@@ -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 @@
|
|
|
1
|
+
export * from './index.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
|
+
];
|