cerevox 0.4.12 → 1.0.0

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 +5 -9
  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 +2 -2
  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 +19 -0
  29. package/dist/core/sandbox.d.ts.map +1 -0
  30. package/dist/core/sandbox.js +114 -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 +8 -71
  49. package/dist/mcp/servers/zerocut.js.map +1 -1
  50. package/package.json +6 -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
@@ -13,7 +13,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.Session = exports.sessions = void 0;
16
- const e2b_1 = __importDefault(require("e2b"));
17
16
  const base_1 = require("./base");
18
17
  const terminal_1 = require("./terminal");
19
18
  const code_runner_1 = require("./code-runner");
@@ -22,27 +21,43 @@ const ws_1 = __importDefault(require("ws"));
22
21
  const browser_1 = require("./browser");
23
22
  const ai_1 = require("./ai");
24
23
  const constants_1 = require("../utils/constants");
24
+ const sandbox_1 = require("./sandbox");
25
25
  exports.sessions = {};
26
26
  let Session = class Session extends base_1.BaseClass {
27
27
  constructor(sandbox, options = {}) {
28
- super(sandbox, options.logLevel);
29
- this.process = null;
30
- this.connectionMetaData = {};
28
+ super(options.logLevel);
29
+ this.sandbox = sandbox;
31
30
  this.ws = null;
32
- this.isClosed = false;
33
31
  this.keepAliveTimer = null;
32
+ this.isClosed = false;
34
33
  this.workspace = options.workspace || 'unknown';
35
- this.terminal = new terminal_1.Terminal(sandbox, options);
36
- this.files = new file_system_1.FileSystem(sandbox, {
37
- logLevel: options.logLevel,
38
- });
34
+ this.terminal = new terminal_1.Terminal(this, options);
35
+ this.files = new file_system_1.FileSystem(this);
39
36
  this.browser = new browser_1.Browser(this);
40
37
  this.ai = new ai_1.AI(this);
41
38
  this.codeRunner = new code_runner_1.CodeRunner(this);
42
39
  exports.sessions[sandbox.sandboxId] = this;
43
40
  }
44
- getSandbox() {
45
- return this.sandbox;
41
+ async connect() {
42
+ const wsUrl = await this.browser.getCDPEndpoint();
43
+ return new Promise(resolve => {
44
+ this.ws = new ws_1.default(wsUrl);
45
+ this.ws.on('open', () => {
46
+ if (!this.isClosed) {
47
+ this.keepAliveTimer = setTimeout(() => {
48
+ this.keepAlive();
49
+ }, 10000);
50
+ }
51
+ else {
52
+ this.ws.close();
53
+ }
54
+ resolve(this.ws);
55
+ });
56
+ this.ws.on('close', async () => {
57
+ this.logger.debug('WebSocket disconnected');
58
+ clearInterval(this.keepAliveTimer);
59
+ });
60
+ });
46
61
  }
47
62
  keepAlive() {
48
63
  // 因为走的是 cloudflare,还不能用空的 ping/pong
@@ -58,38 +73,6 @@ let Session = class Session extends base_1.BaseClass {
58
73
  }, 10000);
59
74
  });
60
75
  }
61
- _setConnectionMetaData(metaData) {
62
- this.connectionMetaData = metaData;
63
- this.browser._setReady(metaData);
64
- const wsUrl = this.connectionMetaData.wsUrl;
65
- this.ws = new ws_1.default(wsUrl);
66
- this.ws.on('open', () => {
67
- if (!this.isClosed) {
68
- this.keepAliveTimer = setTimeout(() => {
69
- this.keepAlive();
70
- }, 10000);
71
- }
72
- else {
73
- this.ws.close();
74
- }
75
- });
76
- this.ws.on('close', async () => {
77
- this.logger.debug('WebSocket disconnected');
78
- clearInterval(this.keepAliveTimer);
79
- if (this.process) {
80
- // 主进程,关掉 sandbox
81
- try {
82
- this.process.kill();
83
- if (await this.sandbox.isRunning()) {
84
- await this.sandbox.kill();
85
- }
86
- }
87
- catch (error) {
88
- /* empty */
89
- }
90
- }
91
- });
92
- }
93
76
  async isRunning() {
94
77
  return this.sandbox.isRunning();
95
78
  }
@@ -99,19 +82,13 @@ let Session = class Session extends base_1.BaseClass {
99
82
  getLogger() {
100
83
  return this.logger;
101
84
  }
102
- getHost(port = 9223) {
103
- return this.sandbox
104
- .getHost(port)
105
- .replace('sandbox.novita.ai', 'cerevox.io');
106
- }
107
85
  track(event, context) {
108
86
  context = {
109
87
  ...context,
110
88
  distinct_id: this.workspace,
111
89
  };
112
- const host = this.getHost();
113
- const logUrl = `https://${host}/api/track?event=${event}&context=${encodeURIComponent(JSON.stringify(context))}`;
114
- return fetch(logUrl, {
90
+ const logUrl = `/api/track?event=${event}&context=${encodeURIComponent(JSON.stringify(context))}`;
91
+ return this.sandbox.request(logUrl, {
115
92
  method: 'GET',
116
93
  headers: {
117
94
  'Content-Type': 'application/json',
@@ -125,18 +102,6 @@ let Session = class Session extends base_1.BaseClass {
125
102
  if (this.ws?.readyState === ws_1.default.OPEN) {
126
103
  this.ws?.close();
127
104
  clearInterval(this.keepAliveTimer);
128
- if (this.process) {
129
- // 主进程,关掉 sandbox
130
- try {
131
- this.process.kill();
132
- if (await this.sandbox.isRunning()) {
133
- await this.sandbox.kill();
134
- }
135
- }
136
- catch (error) {
137
- /* empty */
138
- }
139
- }
140
105
  }
141
106
  this.isClosed = true;
142
107
  if (forceToKill) {
@@ -158,6 +123,6 @@ let Session = class Session extends base_1.BaseClass {
158
123
  exports.Session = Session;
159
124
  exports.Session = Session = __decorate([
160
125
  (0, base_1.Logger)({ VERSION: constants_1.VERSION }),
161
- __metadata("design:paramtypes", [e2b_1.default, Object])
126
+ __metadata("design:paramtypes", [sandbox_1.Sandbox, Object])
162
127
  ], Session);
163
128
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iCAA2C;AAC3C,yCAAsC;AACtC,+CAA2C;AAC3C,+CAA2C;AAC3C,4CAA2B;AAC3B,uCAAoC;AACpC,6BAA0B;AAC1B,kDAA6C;AAC7C,uCAAoC;AAEvB,QAAA,QAAQ,GAA4B,EAAE,CAAC;AAG7C,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,gBAAS;IAWpC,YACW,OAAgB,EACzB,UAII,EAAE;QAEN,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAPf,YAAO,GAAP,OAAO,CAAS;QAPnB,OAAE,GAAqB,IAAI,CAAC;QAC5B,mBAAc,GAA0B,IAAI,CAAC;QAE7C,aAAQ,GAAG,KAAK,CAAC;QAYvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,wBAAU,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE,GAAG,IAAI,OAAE,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAAC,IAAI,CAAC,CAAC;QACvC,gBAAQ,CAAC,OAAO,CAAC,SAAU,CAAC,GAAG,IAAI,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAElD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,IAAI,CAAC,EAAE,GAAG,IAAI,YAAS,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACnB,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;wBACpC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,CAAC,EAAE,KAAK,CAAC,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,EAAG,CAAC,KAAK,EAAE,CAAC;gBACnB,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;gBAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAC5C,aAAa,CAAC,IAAI,CAAC,cAAe,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,SAAS;QACf,oCAAoC;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAG,CAAC;QACpB,IAAI,EAAE,CAAC,UAAU,KAAK,YAAS,CAAC,IAAI,EAAE,CAAC;YACrC,aAAa;YACb,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE;YACxB,wCAAwC;YACxC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,CAAC,EAAE,KAAK,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,SAAU,CAAC;IACjC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,KAAa,EAAE,OAA+B;QAClD,OAAO,GAAG;YACR,GAAG,OAAO;YACV,WAAW,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC;QACF,MAAM,MAAM,GAAG,oBAAoB,KAAK,YAAY,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAClG,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE;YAClC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK;QAC7B,IAAI,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,YAAS,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;YACjB,aAAa,CAAC,IAAI,CAAC,cAAe,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM;YACN,8BAA8B;YAC9B,IAAI,CAAC;gBACH,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;oBACnC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC5B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,WAAW;YACb,CAAC;QACH,CAAC;QACD,OAAO,gBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AArHY,0BAAO;kBAAP,OAAO;IADnB,IAAA,aAAM,EAAC,EAAE,OAAO,EAAP,mBAAO,EAAE,CAAC;qCAaE,iBAAO;GAZhB,OAAO,CAqHnB"}
@@ -1,6 +1,7 @@
1
- import Sandbox, { CommandResult } from 'e2b';
1
+ import { CommandResult } from 'e2b';
2
2
  import { BaseClass } from './base';
3
3
  import { Readable } from 'node:stream';
4
+ import { Session } from './session';
4
5
  /**
5
6
  * 流式命令响应接口
6
7
  * 提供命令执行的标准输出、错误输出和控制方法
@@ -57,6 +58,7 @@ type CommandOpts = {
57
58
  * ```
58
59
  */
59
60
  export declare class Terminal extends BaseClass {
61
+ private session;
60
62
  /** 当前工作目录 */
61
63
  private cwd;
62
64
  /** 环境变量 */
@@ -70,10 +72,9 @@ export declare class Terminal extends BaseClass {
70
72
  * @param id - 终端唯一标识符
71
73
  * @param logLevel - 日志级别
72
74
  */
73
- constructor(sandbox: Sandbox, options?: {
75
+ constructor(session: Session, options?: {
74
76
  envs?: Record<string, string>;
75
77
  id?: string;
76
- logLevel?: 'debug' | 'info' | 'warn' | 'error' | 'fatal';
77
78
  });
78
79
  /**
79
80
  * 获取当前工作目录
@@ -92,10 +93,10 @@ export declare class Terminal extends BaseClass {
92
93
  */
93
94
  create(): Terminal;
94
95
  /**
95
- * 在沙箱中执行命令
96
+ * 通过 API 执行命令
96
97
  * @param command - 要执行的命令
97
98
  * @param opts - 命令执行选项
98
- * @returns 流式命令响应对象
99
+ * @returns 命令响应对象
99
100
  */
100
101
  run(command: string, opts?: CommandOpts): Promise<StreamableCommandResponse>;
101
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/core/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAU,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,YAAY;IACZ,MAAM,EAAE,QAAQ,CAAC;IACjB,YAAY;IACZ,MAAM,EAAE,QAAQ,CAAC;IACjB,eAAe;IACf,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,aAAa;IACb,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,wBAAwB;IACxB,IAAI,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CACpC,CAAC;AAEF;;GAEG;AACH,KAAK,WAAW,GAAG;IACjB,WAAW;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,eAAe;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBACa,QAAS,SAAQ,SAAS;IACrC,aAAa;IACb,OAAO,CAAC,GAAG,CAAc;IACzB,WAAW;IACX,OAAO,CAAC,IAAI,CAA8B;IAC1C,cAAc;IACd,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;gBAED,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;KACrD;IAWR;;;OAGG;IACG,MAAM;IAMZ;;;;OAIG;YACW,SAAS;IAcvB;;;OAGG;IACH,MAAM;IAeN;;;;;OAKG;IACG,GAAG,CACP,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,yBAAyB,CAAC;CA+FtC"}
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/core/terminal.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAU,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,YAAY;IACZ,MAAM,EAAE,QAAQ,CAAC;IACjB,YAAY;IACZ,MAAM,EAAE,QAAQ,CAAC;IACjB,eAAe;IACf,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,aAAa;IACb,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,wBAAwB;IACxB,IAAI,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CACpC,CAAC;AAEF;;GAEG;AACH,KAAK,WAAW,GAAG;IACjB,WAAW;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,eAAe;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBACa,QAAS,SAAQ,SAAS;IAgBnC,OAAO,CAAC,OAAO;IAfjB,aAAa;IACb,OAAO,CAAC,GAAG,CAAc;IACzB,WAAW;IACX,OAAO,CAAC,IAAI,CAA8B;IAC1C,cAAc;IACd,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;gBAEO,OAAO,EAAE,OAAO,EACxB,OAAO,GAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;KACR;IAaR;;;OAGG;IACG,MAAM;IAMZ;;;;OAIG;YACW,SAAS;IAgBvB;;;OAGG;IACH,MAAM;IASN;;;;;OAKG;IACG,GAAG,CACP,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,yBAAyB,CAAC;CAoOtC"}
@@ -8,17 +8,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  var Terminal_1;
15
12
  Object.defineProperty(exports, "__esModule", { value: true });
16
13
  exports.Terminal = void 0;
17
- const e2b_1 = __importDefault(require("e2b"));
18
14
  const base_1 = require("./base");
19
15
  const constants_1 = require("../utils/constants");
20
16
  const node_stream_1 = require("node:stream");
21
17
  const uuid_1 = require("uuid");
18
+ const session_1 = require("./session");
22
19
  /**
23
20
  * Terminal 类 - 提供沙箱环境中的终端命令执行功能
24
21
  *
@@ -55,8 +52,9 @@ let Terminal = Terminal_1 = class Terminal extends base_1.BaseClass {
55
52
  * @param id - 终端唯一标识符
56
53
  * @param logLevel - 日志级别
57
54
  */
58
- constructor(sandbox, options = {}) {
59
- super(sandbox, options.logLevel);
55
+ constructor(session, options = {}) {
56
+ super(session.getLogger().level);
57
+ this.session = session;
60
58
  /** 当前工作目录 */
61
59
  this.cwd = '';
62
60
  /** 环境变量 */
@@ -84,7 +82,7 @@ let Terminal = Terminal_1 = class Terminal extends base_1.BaseClass {
84
82
  */
85
83
  async updateCwd() {
86
84
  try {
87
- this.cwd = (await this.sandbox.files.read(`~/.pwd.${this.id}`)).trim();
85
+ this.cwd = (await this.session.files.read(`/home/user/.pwd.${this.id}`)).trim();
88
86
  this.logger.debug('工作目录已更新', { cwd: this.cwd, id: this.id });
89
87
  }
90
88
  catch (ex) {
@@ -103,30 +101,24 @@ let Terminal = Terminal_1 = class Terminal extends base_1.BaseClass {
103
101
  create() {
104
102
  const newId = (0, uuid_1.v4)();
105
103
  this.logger.debug('创建新的 Terminal 实例', { newId, parentId: this.id });
106
- return new Terminal_1(this.sandbox, {
104
+ return new Terminal_1(this.session, {
107
105
  envs: this.envs,
108
106
  id: newId,
109
- logLevel: this.logger.level,
110
107
  });
111
108
  }
112
109
  /**
113
- * 在沙箱中执行命令
110
+ * 通过 API 执行命令
114
111
  * @param command - 要执行的命令
115
112
  * @param opts - 命令执行选项
116
- * @returns 流式命令响应对象
113
+ * @returns 命令响应对象
117
114
  */
118
115
  async run(command, opts) {
119
- const envs = {
120
- ...this.envs,
121
- ...opts?.envs,
122
- };
123
116
  try {
124
- this.logger.debug('开始执行命令', {
117
+ this.logger.debug('通过 API 执行命令', {
125
118
  command,
126
119
  terminalId: this.id,
127
120
  options: opts,
128
121
  });
129
- command = `${command} && pwd > ~/.pwd.${this.id}`;
130
122
  const cwd = await this.getCwd();
131
123
  const stdoutStream = new node_stream_1.Readable({
132
124
  read() { },
@@ -134,66 +126,191 @@ let Terminal = Terminal_1 = class Terminal extends base_1.BaseClass {
134
126
  const stderrStream = new node_stream_1.Readable({
135
127
  read() { },
136
128
  });
137
- // stdout 处理
138
- const onStdout = (chunk) => {
139
- stdoutStream.push(chunk);
140
- };
141
- // stderr 处理
142
- const onStderr = (chunk) => {
143
- stderrStream.push(chunk);
144
- };
145
- const res = await this.sandbox.commands.run(command, {
146
- cwd,
147
- ...opts,
148
- timeoutMs: opts?.timeoutMs || 0,
149
- envs,
150
- background: true,
151
- onStderr,
152
- onStdout,
129
+ let commandResult = null;
130
+ let isFinished = false;
131
+ let isKilled = false;
132
+ let finishResolve = null;
133
+ let error = '';
134
+ const finishPromise = new Promise(resolve => {
135
+ finishResolve = resolve;
153
136
  });
154
- // console.log({
155
- // cwd,
156
- // ...opts,
157
- // timeoutMs: opts?.timeoutMs || 0,
158
- // envs,
159
- // background: true,
160
- // });
161
- this.logger.debug(`命令已启动: ${command.split(' && pwd')[0]}`, {
162
- command: command.split(' && pwd')[0], // 只记录原始命令
163
- terminalId: this.id,
164
- cwd,
137
+ // 用于终止请求的 AbortController
138
+ const abortController = new AbortController();
139
+ // 先发送 POST 请求启动命令
140
+ const response = await this.session.sandbox.request(`/api/terminal/run`, {
141
+ method: 'POST',
142
+ headers: {
143
+ 'Content-Type': 'application/json',
144
+ },
145
+ body: JSON.stringify({
146
+ command: `${command} && pwd > ~/.pwd.${this.id}`,
147
+ cwd: opts?.cwd || cwd,
148
+ timeout: opts?.timeoutMs,
149
+ }),
150
+ signal: abortController.signal,
165
151
  });
152
+ if (!response.ok) {
153
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
154
+ }
155
+ // 处理 SSE 流
156
+ if (!response.body) {
157
+ throw new Error('无法获取响应流');
158
+ }
159
+ const processStream = async () => {
160
+ try {
161
+ let buffer = '';
162
+ const reader = response.body.getReader();
163
+ const decoder = new TextDecoder();
164
+ while (true) {
165
+ const { done, value } = await reader.read();
166
+ if (done)
167
+ break;
168
+ const chunk = decoder.decode(value, { stream: true });
169
+ buffer += chunk;
170
+ const messages = buffer.split('\n\n');
171
+ // 保留最后一个消息(可能不完整)
172
+ buffer = messages.pop() || '';
173
+ for (const message of messages) {
174
+ if (!message.trim())
175
+ continue;
176
+ const lines = message.split('\n');
177
+ let eventType = '';
178
+ let eventData = '';
179
+ for (const line of lines) {
180
+ const trimmedLine = line.trim();
181
+ if (trimmedLine.startsWith('event:')) {
182
+ eventType = trimmedLine.substring(6).trim();
183
+ }
184
+ else if (trimmedLine.startsWith('data:')) {
185
+ eventData = trimmedLine.substring(5).trim();
186
+ }
187
+ }
188
+ if (eventType && eventData) {
189
+ try {
190
+ const data = JSON.parse(eventData);
191
+ switch (eventType) {
192
+ case 'start':
193
+ this.logger.debug('命令开始执行', {
194
+ terminalId: this.id,
195
+ data,
196
+ });
197
+ break;
198
+ case 'stdout':
199
+ stdoutStream.push(data.output);
200
+ break;
201
+ case 'stderr':
202
+ stderrStream.push(data.output);
203
+ break;
204
+ case 'finish':
205
+ commandResult = {
206
+ exitCode: data.exitCode,
207
+ stdout: data.stdout,
208
+ stderr: data.stderr,
209
+ error,
210
+ };
211
+ isFinished = true;
212
+ stdoutStream.push(null);
213
+ stderrStream.push(null);
214
+ if (finishResolve) {
215
+ finishResolve();
216
+ }
217
+ this.logger.debug('命令执行完成', {
218
+ terminalId: this.id,
219
+ exitCode: data.exitCode,
220
+ success: data.success,
221
+ });
222
+ return; // 结束流处理
223
+ case 'timeout':
224
+ this.logger.warn('命令执行超时', {
225
+ terminalId: this.id,
226
+ data,
227
+ });
228
+ error = 'timeout';
229
+ break;
230
+ case 'error':
231
+ this.logger.error('命令执行错误', {
232
+ terminalId: this.id,
233
+ error: data.error,
234
+ });
235
+ error = data.error;
236
+ break;
237
+ }
238
+ }
239
+ catch (parseError) {
240
+ this.logger.error('解析 SSE 数据失败', {
241
+ terminalId: this.id,
242
+ error: parseError,
243
+ rawData: eventData,
244
+ });
245
+ }
246
+ }
247
+ }
248
+ }
249
+ // 流结束处理
250
+ if (!isFinished && !isKilled) {
251
+ stdoutStream.push(null);
252
+ stderrStream.push(null);
253
+ if (finishResolve) {
254
+ finishResolve();
255
+ }
256
+ }
257
+ }
258
+ catch (error) {
259
+ if (!isKilled) {
260
+ this.logger.error('SSE 流处理错误', {
261
+ terminalId: this.id,
262
+ error,
263
+ });
264
+ }
265
+ if (!isFinished && !isKilled) {
266
+ stdoutStream.push(null);
267
+ stderrStream.push(null);
268
+ if (finishResolve) {
269
+ finishResolve();
270
+ }
271
+ }
272
+ }
273
+ };
274
+ // 开始处理流
275
+ processStream();
166
276
  return {
167
277
  stdout: stdoutStream,
168
278
  stderr: stderrStream,
169
279
  end: async () => {
170
280
  this.logger.debug('等待命令完成', { terminalId: this.id });
171
- await res.wait().catch(ex => ex.result);
281
+ await finishPromise;
172
282
  await this.updateCwd();
173
283
  this.logger.debug('命令执行完成', { terminalId: this.id });
174
284
  },
285
+ kill: async () => {
286
+ this.logger.debug('终止命令执行', { terminalId: this.id });
287
+ isKilled = true;
288
+ abortController.abort();
289
+ stdoutStream.push(null);
290
+ stderrStream.push(null);
291
+ if (finishResolve) {
292
+ finishResolve();
293
+ }
294
+ this.logger.debug('命令已被终止', { terminalId: this.id });
295
+ },
175
296
  json: async () => {
176
297
  this.logger.debug('获取命令执行结果', { terminalId: this.id });
177
- const ret = await res.wait().catch(ex => ex.result);
298
+ await finishPromise;
178
299
  await this.updateCwd();
300
+ if (!commandResult) {
301
+ throw new Error('命令执行结果不可用');
302
+ }
179
303
  this.logger.debug('命令执行结果', {
180
304
  terminalId: this.id,
181
- exitCode: ret.exitCode,
182
- success: ret.exitCode === 0,
305
+ exitCode: commandResult.exitCode,
306
+ success: commandResult.exitCode === 0,
183
307
  });
184
- return ret;
185
- },
186
- kill: async () => {
187
- this.logger.debug('终止命令执行', { terminalId: this.id });
188
- await res.kill().catch(ex => ex.result);
189
- stdoutStream.push(null);
190
- stderrStream.push(null);
191
- this.logger.debug('命令已被终止', { terminalId: this.id });
308
+ return commandResult;
192
309
  },
193
310
  };
194
311
  }
195
312
  catch (ex) {
196
- this.logger.error('命令执行失败', {
313
+ this.logger.error('exec 方法执行失败', {
197
314
  command,
198
315
  terminalId: this.id,
199
316
  error: ex,
@@ -205,6 +322,6 @@ let Terminal = Terminal_1 = class Terminal extends base_1.BaseClass {
205
322
  exports.Terminal = Terminal;
206
323
  exports.Terminal = Terminal = Terminal_1 = __decorate([
207
324
  (0, base_1.Logger)({ VERSION: constants_1.VERSION }),
208
- __metadata("design:paramtypes", [e2b_1.default, Object])
325
+ __metadata("design:paramtypes", [session_1.Session, Object])
209
326
  ], Terminal);
210
327
  //# sourceMappingURL=terminal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/core/terminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/core/terminal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Command execution result.
3
+ */
4
+ export interface CommandResult {
5
+ /**
6
+ * Command execution exit code.
7
+ * `0` if the command finished successfully.
8
+ */
9
+ exitCode: number;
10
+ /**
11
+ * Error message from command execution if it failed.
12
+ */
13
+ error?: string;
14
+ /**
15
+ * Command stdout output.
16
+ */
17
+ stdout: string;
18
+ /**
19
+ * Command stderr output.
20
+ */
21
+ stderr: string;
22
+ }
23
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"browser-use.d.ts","sourceRoot":"","sources":["../../../src/mcp/servers/browser-use.ts"],"names":[],"mappings":";AAgbA,wBAAsB,GAAG,kBAKxB"}
1
+ {"version":3,"file":"browser-use.d.ts","sourceRoot":"","sources":["../../../src/mcp/servers/browser-use.ts"],"names":[],"mappings":";AA+aA,wBAAsB,GAAG,kBAKxB"}