cerevox 0.4.12 → 1.0.1

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 (54) hide show
  1. package/dist/cli/cerevox-run.d.ts.map +1 -1
  2. package/dist/cli/cerevox-run.js +6 -25
  3. package/dist/cli/cerevox-run.js.map +1 -1
  4. package/dist/core/ai.d.ts +0 -1
  5. package/dist/core/ai.d.ts.map +1 -1
  6. package/dist/core/ai.js +14 -18
  7. package/dist/core/ai.js.map +1 -1
  8. package/dist/core/base.d.ts +1 -3
  9. package/dist/core/base.d.ts.map +1 -1
  10. package/dist/core/base.js +1 -2
  11. package/dist/core/base.js.map +1 -1
  12. package/dist/core/browser.d.ts +1 -6
  13. package/dist/core/browser.d.ts.map +1 -1
  14. package/dist/core/browser.js +34 -50
  15. package/dist/core/browser.js.map +1 -1
  16. package/dist/core/cerevox.d.ts +3 -11
  17. package/dist/core/cerevox.d.ts.map +1 -1
  18. package/dist/core/cerevox.js +10 -155
  19. package/dist/core/cerevox.js.map +1 -1
  20. package/dist/core/code-runner.d.ts +1 -1
  21. package/dist/core/code-runner.d.ts.map +1 -1
  22. package/dist/core/code-runner.js +4 -4
  23. package/dist/core/code-runner.js.map +1 -1
  24. package/dist/core/file-system.d.ts +12 -33
  25. package/dist/core/file-system.d.ts.map +1 -1
  26. package/dist/core/file-system.js +111 -93
  27. package/dist/core/file-system.js.map +1 -1
  28. package/dist/core/sandbox.d.ts +20 -0
  29. package/dist/core/sandbox.d.ts.map +1 -0
  30. package/dist/core/sandbox.js +120 -0
  31. package/dist/core/sandbox.js.map +1 -0
  32. package/dist/core/session.d.ts +5 -8
  33. package/dist/core/session.d.ts.map +1 -1
  34. package/dist/core/session.js +29 -64
  35. package/dist/core/session.js.map +1 -1
  36. package/dist/core/terminal.d.ts +6 -5
  37. package/dist/core/terminal.d.ts.map +1 -1
  38. package/dist/core/terminal.js +175 -58
  39. package/dist/core/terminal.js.map +1 -1
  40. package/dist/core/types.d.ts +23 -0
  41. package/dist/core/types.d.ts.map +1 -0
  42. package/dist/core/types.js +3 -0
  43. package/dist/core/types.js.map +1 -0
  44. package/dist/mcp/servers/browser-use.d.ts.map +1 -1
  45. package/dist/mcp/servers/browser-use.js +3 -7
  46. package/dist/mcp/servers/browser-use.js.map +1 -1
  47. package/dist/mcp/servers/zerocut.d.ts.map +1 -1
  48. package/dist/mcp/servers/zerocut.js +12 -71
  49. package/dist/mcp/servers/zerocut.js.map +1 -1
  50. package/package.json +7 -3
  51. package/dist/utils/auth.d.ts +0 -4
  52. package/dist/utils/auth.d.ts.map +0 -1
  53. package/dist/utils/auth.js +0 -14
  54. package/dist/utils/auth.js.map +0 -1
@@ -1,22 +1,12 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.Cerevox = void 0;
7
- const e2b_1 = __importDefault(require("e2b"));
8
4
  const session_1 = require("./session");
9
- const node_fs_1 = require("node:fs");
10
- const node_path_1 = __importDefault(require("node:path"));
11
- const promises_1 = require("node:timers/promises");
12
- const session_2 = require("./session");
13
5
  require("dotenv/config");
14
- const auth_1 = require("../utils/auth");
15
6
  const logger_1 = require("../utils/logger");
7
+ const sandbox_1 = require("./sandbox");
16
8
  class Cerevox {
17
9
  constructor(options = {}) {
18
- this.token = '';
19
- this.domain = 'sandbox.novita.ai';
20
10
  this.debug = false;
21
11
  this.apiKey = options.apiKey || process.env.CEREVOX_API_KEY || '';
22
12
  this.debug = !!options.debug;
@@ -24,153 +14,20 @@ class Cerevox {
24
14
  this.logLevel = options.logLevel || (this.debug ? 'debug' : 'error');
25
15
  this.logger = (0, logger_1.createClassLogger)('Cerevox', {}, this.logLevel);
26
16
  }
27
- async getToken() {
28
- if (this.token) {
29
- return this.token;
30
- }
31
- const res = await (0, auth_1.verify)({ key: this.apiKey });
32
- if (!res.success) {
33
- throw new Error('Invalid Cerevox key');
34
- }
35
- this.token = res.data.token;
36
- return this.token;
37
- }
38
- async createSession(session, headless = true) {
39
- let remoteScript = '/home/user/http-proxy.js';
40
- const localPath = node_path_1.default.resolve(__dirname, `../../sandbox/http-proxy.js`);
41
- const logger = session.getLogger();
42
- if ((0, node_fs_1.existsSync)(localPath)) {
43
- remoteScript = '/home/user/http-proxy.local.js';
44
- logger.debug(`🗂️ Load local file: ${localPath}`);
45
- await session.files.upload(localPath, remoteScript);
46
- }
47
- const command = headless
48
- ? `node ${remoteScript}`
49
- : `xvfb-run -a node ${remoteScript}`;
50
- session.process = await session.terminal.run(command);
51
- if (this.debug) {
52
- const serverLogger = logger.child({ class: 'Server' });
53
- session.process.stdout.on('data', msg => {
54
- serverLogger.debug(msg.toString('utf-8').trim());
55
- });
56
- session.process.stderr.on('data', msg => {
57
- serverLogger.warn(msg.toString('utf-8').trim());
58
- });
59
- }
60
- }
61
- async waitForHttpServerReady(session) {
62
- const host = session.getHost();
63
- const interval = 50;
64
- const maxTries = 1000;
65
- let tries = 0;
66
- while (tries++ < maxTries) {
67
- await (0, promises_1.setTimeout)(interval);
68
- try {
69
- const response = await fetch(`https://${host}/health`);
70
- if (response.ok) {
71
- return;
72
- }
73
- }
74
- catch (error) {
75
- /* empty */
76
- }
77
- }
78
- }
79
- async waitForBrowserReady(session) {
80
- const host = session.getHost();
81
- const interval = 50;
82
- const maxTries = 1000;
83
- let tries = 0;
84
- const logger = session.getLogger();
85
- while (tries++ < maxTries) {
86
- try {
87
- const response = await fetch(`https://${host}/json/version`);
88
- if (response.ok) {
89
- const responseText = await response.text();
90
- if (responseText.includes('Browser')) {
91
- const metaData = JSON.parse(responseText);
92
- metaData.wsUrl = metaData.webSocketDebuggerUrl;
93
- metaData.httpUrl = `https://${host}`;
94
- delete metaData.webSocketDebuggerUrl;
95
- logger.debug('CDP server is ready', metaData);
96
- session._setConnectionMetaData(metaData);
97
- return metaData;
98
- }
99
- }
100
- }
101
- catch (error) {
102
- logger.debug(`CDP check failed (attempt ${tries}):`, error);
103
- }
104
- await (0, promises_1.setTimeout)(interval);
105
- }
106
- throw new Error('CDP server failed to become ready within timeout');
17
+ get workspace() {
18
+ return this.apiKey.slice(3, 19);
107
19
  }
108
20
  getLogger() {
109
21
  return this.logger;
110
22
  }
111
- get workspace() {
112
- return this.apiKey.slice(3, 19);
113
- }
114
- async connect(sandboxId) {
115
- if (session_2.sessions[sandboxId]) {
116
- return session_2.sessions[sandboxId];
117
- }
118
- const token = await this.getToken();
119
- const sandbox = await e2b_1.default.connect(sandboxId, {
120
- apiKey: token,
121
- });
122
- const session = new session_1.Session(sandbox, {
123
- envs: {
124
- SANDBOX_ID: sandbox.sandboxId,
125
- },
126
- logLevel: this.logLevel,
127
- workspace: this.workspace,
128
- });
129
- await this.waitForHttpServerReady(session);
130
- this.waitForBrowserReady(session); // 不需要 await
131
- return session;
23
+ async createSandbox(timeout = 60, metadata) {
24
+ const logger = this.logger;
25
+ const sandbox = await (0, sandbox_1.createSandbox)(this.apiKey, logger, timeout, metadata);
26
+ return sandbox;
132
27
  }
133
28
  async launch(config = {}) {
134
- const { browser, ...options } = config;
135
- const browserConfig = {
136
- type: 'chromium',
137
- args: [],
138
- headless: true,
139
- liveview: false,
140
- adblock: false,
141
- webgl: false,
142
- ...browser,
143
- };
144
- const launchConfig = {
145
- timeoutMS: config.timeoutMS || 300000,
146
- keepAliveMS: config.keepAliveMS || 5000,
147
- ...options,
148
- };
149
- const token = await this.getToken();
150
- const sandbox = await e2b_1.default.create(`cerevox-${browserConfig.type}`, {
151
- timeoutMs: launchConfig.timeoutMS,
152
- apiKey: token,
153
- domain: this.domain,
154
- metadata: launchConfig.metadata,
155
- envs: {
156
- NODE_ENV: this.debug ? 'development' : 'production',
157
- PLAYWRIGHT_BROWSERS_PATH: '0',
158
- CDP_PORT: '9222',
159
- HEADLESS: browserConfig.headless.toString(),
160
- ADBLOCK: browserConfig.adblock.toString(),
161
- SANDBOX_TIMEOUT: launchConfig.timeoutMS.toString(),
162
- ENABLE_LIVEVIEW: browserConfig.liveview.toString(),
163
- KEEP_ALIVE_MS: launchConfig.keepAliveMS.toString(),
164
- APIKEY: token,
165
- WORKSPACE: this.workspace,
166
- SANDBOX_DOMAIN: this.domain,
167
- BROWSER_TYPE: browserConfig.type,
168
- ENABLE_WEBGL: browserConfig.webgl.toString(),
169
- BROWSER_ARGS: JSON.stringify(browserConfig.args),
170
- CEREVOX_DOMAIN: 'cerevox.io',
171
- PW_TEST_SCREENSHOT_NO_FONTS_READY: '1', // 避免 page.screenshot 崩溃
172
- },
173
- });
29
+ const { timeout, metadata } = config;
30
+ const sandbox = await this.createSandbox(timeout, metadata);
174
31
  const session = new session_1.Session(sandbox, {
175
32
  envs: {
176
33
  SANDBOX_ID: sandbox.sandboxId,
@@ -178,9 +35,7 @@ class Cerevox {
178
35
  logLevel: this.logLevel,
179
36
  workspace: this.workspace,
180
37
  });
181
- await this.createSession(session, browserConfig.headless);
182
- await this.waitForHttpServerReady(session);
183
- this.waitForBrowserReady(session); // 不需要 await
38
+ await session.connect();
184
39
  return session;
185
40
  }
186
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cerevox.js","sourceRoot":"","sources":["../../src/core/cerevox.ts"],"names":[],"mappings":";;;;;;AAAA,8CAA0B;AAC1B,uCAAoC;AACpC,qCAAqC;AACrC,0DAA6B;AAC7B,mDAAkD;AAClD,uCAAqC;AACrC,yBAAuB;AACvB,wCAAuC;AACvC,4CAAoD;AAmBpD,MAAa,OAAO;IAQlB,YACE,UAII,EAAE;QAXA,UAAK,GAAW,EAAE,CAAC;QACnB,WAAM,GAAW,mBAAmB,CAAC;QACrC,UAAK,GAAY,KAAK,CAAC;QAW7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;QAClE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7B,0CAA0C;QAC1C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,GAAG,IAAA,0BAAiB,EAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAA,aAAM,EAAC,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,OAAgB,EAAE,WAAoB,IAAI;QACpE,IAAI,YAAY,GAAG,0BAA0B,CAAC;QAC9C,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,YAAY,GAAG,gCAAgC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;YAClD,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ;YACtB,CAAC,CAAC,QAAQ,YAAY,EAAE;YACxB,CAAC,CAAC,oBAAoB,YAAY,EAAE,CAAC;QACvC,OAAO,CAAC,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;gBACtC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;gBACtC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,OAAgB;QACnD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC;QACtB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,OAAO,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAA,qBAAU,EAAC,QAAQ,CAAC,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;gBACvD,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAChB,OAAO;gBACT,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,WAAW;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,OAAgB;QAChD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC;QACtB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QAEnC,OAAO,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,IAAI,eAAe,CAAC,CAAC;gBAC7D,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAChB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC3C,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;wBACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;wBAC1C,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,oBAAoB,CAAC;wBAC/C,QAAQ,CAAC,OAAO,GAAG,WAAW,IAAI,EAAE,CAAC;wBACrC,OAAO,QAAQ,CAAC,oBAAoB,CAAC;wBACrC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;wBAC9C,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;wBACzC,OAAO,QAAQ,CAAC;oBAClB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,6BAA6B,KAAK,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,IAAA,qBAAU,EAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB;QAC7B,IAAI,kBAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACxB,OAAO,kBAAQ,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,aAAO,CAAC,OAAO,CAAC,SAAS,EAAE;YAC/C,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,OAAO,EAAE;YACnC,IAAI,EAAE;gBACJ,UAAU,EAAE,OAAO,CAAC,SAAS;aAC9B;YACD,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY;QAC/C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAwB,EAAE;QACrC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;QAEvC,MAAM,aAAa,GAAmB;YACpC,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK;YACZ,GAAG,OAAO;SACX,CAAC;QAEF,MAAM,YAAY,GAAG;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM;YACrC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;YACvC,GAAG,OAAO;SACX,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,aAAO,CAAC,MAAM,CAAC,WAAW,aAAa,CAAC,IAAI,EAAE,EAAE;YACpE,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,IAAI,EAAE;gBACJ,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY;gBACnD,wBAAwB,EAAE,GAAG;gBAC7B,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,aAAa,CAAC,QAAS,CAAC,QAAQ,EAAE;gBAC5C,OAAO,EAAE,aAAa,CAAC,OAAQ,CAAC,QAAQ,EAAE;gBAC1C,eAAe,EAAE,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAClD,eAAe,EAAE,aAAa,CAAC,QAAS,CAAC,QAAQ,EAAE;gBACnD,aAAa,EAAE,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE;gBAClD,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,cAAc,EAAE,IAAI,CAAC,MAAM;gBAC3B,YAAY,EAAE,aAAa,CAAC,IAAK;gBACjC,YAAY,EAAE,aAAa,CAAC,KAAM,CAAC,QAAQ,EAAE;gBAC7C,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAK,CAAC;gBACjD,cAAc,EAAE,YAAY;gBAC5B,iCAAiC,EAAE,GAAG,EAAE,wBAAwB;aACjE;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,OAAO,EAAE;YACnC,IAAI,EAAE;gBACJ,UAAU,EAAE,OAAO,CAAC,SAAS;aAC9B;YACD,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY;QAC/C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAlMD,0BAkMC"}
1
+ {"version":3,"file":"cerevox.js","sourceRoot":"","sources":["../../src/core/cerevox.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AACpC,yBAAuB;AACvB,4CAAoD;AAEpD,uCAA0C;AAgB1C,MAAa,OAAO;IAMlB,YACE,UAII,EAAE;QATA,UAAK,GAAY,KAAK,CAAC;QAW7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;QAClE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7B,0CAA0C;QAC1C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,GAAG,IAAA,0BAAiB,EAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,EAAE,QAAiC;QACzE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAA,uBAAa,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5E,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAwB,EAAE;QACrC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAErC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE5D,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,OAAO,EAAE;YACnC,IAAI,EAAE;gBACJ,UAAU,EAAE,OAAO,CAAC,SAAU;aAC/B;YACD,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAjDD,0BAiDC"}
@@ -1,4 +1,4 @@
1
- import { CommandResult } from 'e2b';
1
+ import { CommandResult } from './types';
2
2
  import { BaseClass } from './base';
3
3
  import { Session } from './session';
4
4
  export declare class CodeRunner extends BaseClass {
@@ -1 +1 @@
1
- {"version":3,"file":"code-runner.d.ts","sourceRoot":"","sources":["../../src/core/code-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,SAAS,EAAU,MAAM,QAAQ,CAAC;AAI3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,qBACa,UAAW,SAAQ,SAAS;IACvC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,OAAO,CAAU;IAEzB;;;;;OAKG;gBACS,OAAO,EAAE,OAAO;YASd,UAAU;IAuGlB,GAAG,CACP,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GACrE,OAAO,CAAC,aAAa,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAmChD"}
1
+ {"version":3,"file":"code-runner.d.ts","sourceRoot":"","sources":["../../src/core/code-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,SAAS,EAAU,MAAM,QAAQ,CAAC;AAI3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,qBACa,UAAW,SAAQ,SAAS;IACvC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,OAAO,CAAU;IAEzB;;;;;OAKG;gBACS,OAAO,EAAE,OAAO;YAQd,UAAU;IAuGlB,GAAG,CACP,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GACrE,OAAO,CAAC,aAAa,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAmChD"}
@@ -27,12 +27,12 @@ let CodeRunner = class CodeRunner extends base_1.BaseClass {
27
27
  * @param logLevel - 日志级别
28
28
  */
29
29
  constructor(session) {
30
- super(session.getSandbox(), session.getLogger().level);
30
+ super(session.getLogger().level);
31
31
  this.terminal = session.terminal.create();
32
32
  this.session = session;
33
33
  }
34
34
  async injectCode(code, type) {
35
- const wsUrl = await this.session.browser.getEndpoint();
35
+ const wsUrl = await this.session.browser.getCDPEndpoint();
36
36
  if (type === 'py') {
37
37
  // 替换 python 调用
38
38
  code = code.replace(/\.launch\s*\(/gm, `.connect_over_cdp('${wsUrl}',`);
@@ -105,7 +105,7 @@ let CodeRunner = class CodeRunner extends base_1.BaseClass {
105
105
  const scriptFile = `/home/user/scripts/script-${scriptId}.${type === 'esm' ? 'mjs' : type}`;
106
106
  await this.session.files.write(scriptFile, code);
107
107
  const terminal = this.terminal;
108
- const timeout = options.timeout || 300000;
108
+ const timeout = options.timeout || 300;
109
109
  const syncDir = options.syncDir || './cerevox-output';
110
110
  let cmd;
111
111
  if (type === 'sh') {
@@ -114,7 +114,7 @@ let CodeRunner = class CodeRunner extends base_1.BaseClass {
114
114
  else {
115
115
  cmd = `cd ${workDir} && ${type === 'py' ? 'python3' : 'node'} ${scriptFile}`;
116
116
  }
117
- const ret = await terminal.run(cmd, { timeoutMs: timeout });
117
+ const ret = await terminal.run(cmd, { timeoutMs: timeout * 1000 });
118
118
  ret.stdout.pipe(process.stdout);
119
119
  ret.stderr.pipe(process.stderr);
120
120
  return ret.json().then(async (result) => {
@@ -1 +1 @@
1
- {"version":3,"file":"code-runner.js","sourceRoot":"","sources":["../../src/core/code-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-runner.js","sourceRoot":"","sources":["../../src/core/code-runner.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import Sandbox from 'e2b';
2
1
  import { BaseClass } from './base';
2
+ import { Session } from './session';
3
3
  /**
4
4
  * FileSystem 类 - 提供沙箱环境中的文件系统操作功能
5
5
  *
@@ -25,21 +25,14 @@ import { BaseClass } from './base';
25
25
  * ```
26
26
  */
27
27
  export declare class FileSystem extends BaseClass {
28
+ private session;
28
29
  /**
29
30
  * 创建 FileSystem 实例
30
31
  * @param sandbox - E2B 沙箱实例
32
+ * @param session - Session 实例(用于获取 API 主机地址)
31
33
  * @param options - 可选配置参数
32
34
  */
33
- constructor(sandbox: Sandbox, options?: {
34
- logLevel?: 'debug' | 'info' | 'warn' | 'error' | 'fatal';
35
- });
36
- /**
37
- * 检查文件是否为二进制文件(基于文件扩展名)
38
- * @param filePath - 要检查的文件路径
39
- * @returns 如果是二进制文件返回 true,否则返回 false
40
- * @private
41
- */
42
- private isBinaryFile;
35
+ constructor(session: Session);
43
36
  /**
44
37
  * 验证路径是否安全,只允许同步 /home/user 目录下的子目录
45
38
  * @param path - 要验证的路径
@@ -47,14 +40,6 @@ export declare class FileSystem extends BaseClass {
47
40
  * @private
48
41
  */
49
42
  private validateSafePathToDownload;
50
- /**
51
- * 根据指定编码格式转换数据
52
- * @param data - 要转换的数据(Buffer 或 Uint8Array)
53
- * @param encoding - 目标编码格式
54
- * @returns 转换后的数据
55
- * @private
56
- */
57
- private encodeContent;
58
43
  /**
59
44
  * 列出沙箱目录中的文件
60
45
  * @param path - 沙箱中的目录路径
@@ -79,31 +64,25 @@ export declare class FileSystem extends BaseClass {
79
64
  */
80
65
  private syncDirectoryRecursive;
81
66
  /**
82
- * 向沙箱中写入文件
67
+ * 向沙箱中写入文件(通过 API 接口)
83
68
  * @param path - 沙箱中的文件路径
84
- * @param content - 要写入的内容
69
+ * @param content - 要写入的文本内容(仅支持字符串)
85
70
  */
86
- write(path: string, content: string | ArrayBuffer): Promise<void>;
71
+ write(path: string, content: string): Promise<void>;
87
72
  /**
88
- * 从沙箱中读取文件
73
+ * 从沙箱中读取文件(通过 API 接口,仅支持 UTF-8 编码)
89
74
  * @param remotePath - 沙箱中的文件路径
90
- * @param options - 读取选项,包含编码格式
91
- * @returns 文件内容
75
+ * @returns 文件的文本内容
92
76
  */
93
- read(remotePath: string, options?: {
94
- encoding: 'utf8' | 'base64';
95
- }): Promise<string>;
96
- read(remotePath: string, options?: {
97
- encoding: 'binary';
98
- }): Promise<Buffer>;
77
+ read(remotePath: string): Promise<string>;
99
78
  /**
100
- * 上传本地文件到沙箱
79
+ * 上传本地文件到沙箱(通过 API 接口)
101
80
  * @param localPath - 本地文件路径
102
81
  * @param remotePath - 沙箱中的目标路径
103
82
  */
104
83
  upload(localPath: string, remotePath: string): Promise<void>;
105
84
  /**
106
- * 从沙箱下载文件到本地
85
+ * 从沙箱下载文件到本地(通过 API 接口)
107
86
  * @param remotePath - 沙箱中的文件路径
108
87
  * @param localPath - 本地目标路径
109
88
  */
@@ -1 +1 @@
1
- {"version":3,"file":"file-system.d.ts","sourceRoot":"","sources":["../../src/core/file-system.ts"],"names":[],"mappings":"AAEA,OAAO,OAA0B,MAAM,KAAK,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAU,MAAM,QAAQ,CAAC;AAG3C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBACa,UAAW,SAAQ,SAAS;IACvC;;;;OAIG;gBAED,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;KAC1D;IAMH;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAoCpB;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAgClC;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAYrB;;;;;OAKG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkChD;;;;;OAKG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBjD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxC;;;;;;OAMG;YACW,sBAAsB;IAsEpC;;;;OAIG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvE;;;;;OAKG;IACG,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,GACxC,OAAO,CAAC,MAAM,CAAC;IACZ,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE,GAC/B,OAAO,CAAC,MAAM,CAAC;IA6BlB;;;;OAIG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBlE;;;;OAIG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYpE;;;;;;OAMG;IACU,sBAAsB,CACjC,IAAI,GAAE,MAAiC,EACvC,GAAG,GAAE,MAA+B,EACpC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAC3E,OAAO,CAAC,MAAM,CAAC;CAyDnB"}
1
+ {"version":3,"file":"file-system.d.ts","sourceRoot":"","sources":["../../src/core/file-system.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAU,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBACa,UAAW,SAAQ,SAAS;IAO3B,OAAO,CAAC,OAAO;IAN3B;;;;;OAKG;gBACiB,OAAO,EAAE,OAAO;IAOpC;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAgClC;;;;;OAKG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkChD;;;;;OAKG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBjD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxC;;;;;;OAMG;YACW,sBAAsB;IAsEpC;;;;OAIG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCzD;;;;OAIG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkC/C;;;;OAIG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+ClE;;;;OAIG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CpE;;;;;;OAMG;IACU,sBAAsB,CACjC,IAAI,GAAE,MAAiC,EACvC,GAAG,GAAE,MAA+B,EACpC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAC3E,OAAO,CAAC,MAAM,CAAC;CAyDnB"}