cerevox 0.1.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/README.md +388 -0
  2. package/dist/cli/cerevox-run.d.ts +3 -0
  3. package/dist/cli/cerevox-run.d.ts.map +1 -0
  4. package/dist/cli/cerevox-run.js +275 -0
  5. package/dist/cli/cerevox-run.js.map +1 -0
  6. package/dist/core/base.d.ts +57 -0
  7. package/dist/core/base.d.ts.map +1 -0
  8. package/dist/core/base.js +77 -0
  9. package/dist/core/base.js.map +1 -0
  10. package/dist/core/browser.d.ts +30 -0
  11. package/dist/core/browser.d.ts.map +1 -0
  12. package/dist/core/browser.js +107 -0
  13. package/dist/core/browser.js.map +1 -0
  14. package/dist/core/cerevox.d.ts +34 -0
  15. package/dist/core/cerevox.d.ts.map +1 -0
  16. package/dist/core/cerevox.js +153 -0
  17. package/dist/core/cerevox.js.map +1 -0
  18. package/dist/core/code-runner.d.ts +22 -0
  19. package/dist/core/code-runner.d.ts.map +1 -0
  20. package/dist/core/code-runner.js +56 -0
  21. package/dist/core/code-runner.js.map +1 -0
  22. package/dist/core/file-system.d.ts +116 -0
  23. package/dist/core/file-system.d.ts.map +1 -0
  24. package/dist/core/file-system.js +383 -0
  25. package/dist/core/file-system.js.map +1 -0
  26. package/dist/core/session.d.ts +32 -0
  27. package/dist/core/session.d.ts.map +1 -0
  28. package/dist/core/session.js +113 -0
  29. package/dist/core/session.js.map +1 -0
  30. package/dist/core/terminal.d.ts +104 -0
  31. package/dist/core/terminal.d.ts.map +1 -0
  32. package/dist/core/terminal.js +202 -0
  33. package/dist/core/terminal.js.map +1 -0
  34. package/dist/index.d.ts +9 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +29 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/utils/auth.d.ts +4 -0
  39. package/dist/utils/auth.d.ts.map +1 -0
  40. package/dist/utils/auth.js +14 -0
  41. package/dist/utils/auth.js.map +1 -0
  42. package/dist/utils/constants.d.ts +2 -0
  43. package/dist/utils/constants.d.ts.map +1 -0
  44. package/dist/utils/constants.js +5 -0
  45. package/dist/utils/constants.js.map +1 -0
  46. package/dist/utils/detect-code.d.ts +30 -0
  47. package/dist/utils/detect-code.d.ts.map +1 -0
  48. package/dist/utils/detect-code.js +95 -0
  49. package/dist/utils/detect-code.js.map +1 -0
  50. package/dist/utils/logger.d.ts +15 -0
  51. package/dist/utils/logger.d.ts.map +1 -0
  52. package/dist/utils/logger.js +127 -0
  53. package/dist/utils/logger.js.map +1 -0
  54. package/package.json +86 -0
@@ -0,0 +1,104 @@
1
+ import Sandbox, { CommandResult } from 'e2b';
2
+ import { BaseClass } from './base';
3
+ import { Readable } from 'node:stream';
4
+ /**
5
+ * 流式命令响应接口
6
+ * 提供命令执行的标准输出、错误输出和控制方法
7
+ */
8
+ export type StreamableCommandResponse = {
9
+ /** 标准输出流 */
10
+ stdout: Readable;
11
+ /** 错误输出流 */
12
+ stderr: Readable;
13
+ /** 等待命令执行完成 */
14
+ end: () => Promise<void>;
15
+ /** 终止命令执行 */
16
+ kill: () => Promise<void>;
17
+ /** 获取命令执行结果的 JSON 格式 */
18
+ json: () => Promise<CommandResult>;
19
+ };
20
+ /**
21
+ * 命令执行选项
22
+ */
23
+ type CommandOpts = {
24
+ /** 工作目录 */
25
+ cwd?: string;
26
+ /** 环境变量 */
27
+ envs?: Record<string, string>;
28
+ /** 超时时间(毫秒) */
29
+ timeoutMs?: number;
30
+ };
31
+ /**
32
+ * Terminal 类 - 提供沙箱环境中的终端命令执行功能
33
+ *
34
+ * 主要功能:
35
+ * - 在沙箱环境中执行命令
36
+ * - 管理工作目录状态
37
+ * - 提供流式输出处理
38
+ * - 支持命令终止和控制
39
+ * - 环境变量管理
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * import Sandbox from 'e2b';
44
+ * import { Terminal } from './terminal';
45
+ *
46
+ * const sandbox = new Sandbox();
47
+ * const terminal = new Terminal(sandbox);
48
+ *
49
+ * // 执行命令
50
+ * const result = await terminal.run('ls -la');
51
+ * result.stdout.on('data', (chunk) => {
52
+ * console.log(chunk.toString());
53
+ * });
54
+ *
55
+ * // 等待命令完成
56
+ * await result.end();
57
+ * ```
58
+ */
59
+ export declare class Terminal extends BaseClass {
60
+ protected sandbox: Sandbox;
61
+ /** 当前工作目录 */
62
+ private cwd;
63
+ /** 环境变量 */
64
+ private envs;
65
+ /** 终端唯一标识符 */
66
+ readonly id: string;
67
+ /**
68
+ * 创建 Terminal 实例
69
+ * @param sandbox - E2B 沙箱实例
70
+ * @param envs - 环境变量配置
71
+ * @param id - 终端唯一标识符
72
+ * @param logLevel - 日志级别
73
+ */
74
+ constructor(sandbox: Sandbox, options?: {
75
+ envs?: Record<string, string>;
76
+ id?: string;
77
+ logLevel?: 'debug' | 'info' | 'warn' | 'error' | 'fatal';
78
+ });
79
+ /**
80
+ * 获取当前工作目录
81
+ * @returns 当前工作目录路径
82
+ */
83
+ getCwd(): Promise<string>;
84
+ /**
85
+ * 更新当前工作目录
86
+ * @private
87
+ * @returns 更新后的工作目录路径
88
+ */
89
+ private updateCwd;
90
+ /**
91
+ * 创建新的 Terminal 实例
92
+ * @returns 新的 Terminal 实例,具有唯一的 ID
93
+ */
94
+ create(): Terminal;
95
+ /**
96
+ * 在沙箱中执行命令
97
+ * @param command - 要执行的命令
98
+ * @param opts - 命令执行选项
99
+ * @returns 流式命令响应对象
100
+ */
101
+ run(command: string, opts?: CommandOpts): Promise<StreamableCommandResponse>;
102
+ }
103
+ export {};
104
+ //# sourceMappingURL=terminal.d.ts.map
@@ -0,0 +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;AAC3C,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,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,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;IAYR;;;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;CAsFtC"}
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ var Terminal_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.Terminal = void 0;
17
+ const e2b_1 = __importDefault(require("e2b"));
18
+ const base_1 = require("./base");
19
+ const node_stream_1 = require("node:stream");
20
+ const uuid_1 = require("uuid");
21
+ /**
22
+ * Terminal 类 - 提供沙箱环境中的终端命令执行功能
23
+ *
24
+ * 主要功能:
25
+ * - 在沙箱环境中执行命令
26
+ * - 管理工作目录状态
27
+ * - 提供流式输出处理
28
+ * - 支持命令终止和控制
29
+ * - 环境变量管理
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * import Sandbox from 'e2b';
34
+ * import { Terminal } from './terminal';
35
+ *
36
+ * const sandbox = new Sandbox();
37
+ * const terminal = new Terminal(sandbox);
38
+ *
39
+ * // 执行命令
40
+ * const result = await terminal.run('ls -la');
41
+ * result.stdout.on('data', (chunk) => {
42
+ * console.log(chunk.toString());
43
+ * });
44
+ *
45
+ * // 等待命令完成
46
+ * await result.end();
47
+ * ```
48
+ */
49
+ let Terminal = Terminal_1 = class Terminal extends base_1.BaseClass {
50
+ /**
51
+ * 创建 Terminal 实例
52
+ * @param sandbox - E2B 沙箱实例
53
+ * @param envs - 环境变量配置
54
+ * @param id - 终端唯一标识符
55
+ * @param logLevel - 日志级别
56
+ */
57
+ constructor(sandbox, options = {}) {
58
+ super(sandbox, options.logLevel);
59
+ /** 当前工作目录 */
60
+ this.cwd = '';
61
+ /** 环境变量 */
62
+ this.envs = {};
63
+ this.sandbox = sandbox;
64
+ this.id = options.id || 'default0';
65
+ this.envs = options.envs || {};
66
+ this.logger.debug('Terminal 实例已创建', {
67
+ id: this.id,
68
+ envCount: Object.keys(this.envs).length,
69
+ });
70
+ }
71
+ /**
72
+ * 获取当前工作目录
73
+ * @returns 当前工作目录路径
74
+ */
75
+ async getCwd() {
76
+ const cwd = this.cwd || (await this.updateCwd());
77
+ this.logger.debug('获取当前工作目录', { cwd });
78
+ return cwd;
79
+ }
80
+ /**
81
+ * 更新当前工作目录
82
+ * @private
83
+ * @returns 更新后的工作目录路径
84
+ */
85
+ async updateCwd() {
86
+ try {
87
+ this.cwd = (await this.sandbox.files.read(`~/.pwd.${this.id}`)).trim();
88
+ this.logger.debug('工作目录已更新', { cwd: this.cwd, id: this.id });
89
+ }
90
+ catch (ex) {
91
+ this.cwd = '/home/user';
92
+ this.logger.debug('使用默认工作目录', {
93
+ cwd: this.cwd,
94
+ reason: '无法读取保存的路径',
95
+ });
96
+ }
97
+ return this.cwd;
98
+ }
99
+ /**
100
+ * 创建新的 Terminal 实例
101
+ * @returns 新的 Terminal 实例,具有唯一的 ID
102
+ */
103
+ create() {
104
+ const newId = (0, uuid_1.v4)();
105
+ this.logger.debug('创建新的 Terminal 实例', { newId, parentId: this.id });
106
+ return new Terminal_1(this.sandbox, {
107
+ envs: this.envs,
108
+ id: newId,
109
+ logLevel: this.logger.level,
110
+ });
111
+ }
112
+ /**
113
+ * 在沙箱中执行命令
114
+ * @param command - 要执行的命令
115
+ * @param opts - 命令执行选项
116
+ * @returns 流式命令响应对象
117
+ */
118
+ async run(command, opts) {
119
+ const envs = {
120
+ ...this.envs,
121
+ ...opts?.envs,
122
+ };
123
+ try {
124
+ this.logger.debug('开始执行命令', {
125
+ command,
126
+ terminalId: this.id,
127
+ options: opts,
128
+ });
129
+ command = `${command} && pwd > ~/.pwd.${this.id}`;
130
+ const cwd = await this.getCwd();
131
+ const stdoutStream = new node_stream_1.Readable({
132
+ read() { },
133
+ });
134
+ const stderrStream = new node_stream_1.Readable({
135
+ read() { },
136
+ });
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
+ envs,
149
+ background: true,
150
+ onStderr,
151
+ onStdout,
152
+ });
153
+ this.logger.debug('命令已启动', {
154
+ command: command.split(' && pwd')[0], // 只记录原始命令
155
+ terminalId: this.id,
156
+ cwd,
157
+ });
158
+ return {
159
+ stdout: stdoutStream,
160
+ stderr: stderrStream,
161
+ end: async () => {
162
+ this.logger.debug('等待命令完成', { terminalId: this.id });
163
+ await res.wait();
164
+ await this.updateCwd();
165
+ this.logger.debug('命令执行完成', { terminalId: this.id });
166
+ },
167
+ json: async () => {
168
+ this.logger.debug('获取命令执行结果', { terminalId: this.id });
169
+ const ret = await res.wait();
170
+ await this.updateCwd();
171
+ this.logger.debug('命令执行结果', {
172
+ terminalId: this.id,
173
+ exitCode: ret.exitCode,
174
+ success: ret.exitCode === 0,
175
+ });
176
+ return ret;
177
+ },
178
+ kill: async () => {
179
+ this.logger.debug('终止命令执行', { terminalId: this.id });
180
+ await res.kill();
181
+ stdoutStream.push(null);
182
+ stderrStream.push(null);
183
+ this.logger.debug('命令已被终止', { terminalId: this.id });
184
+ },
185
+ };
186
+ }
187
+ catch (ex) {
188
+ this.logger.error('命令执行失败', {
189
+ command,
190
+ terminalId: this.id,
191
+ error: ex,
192
+ });
193
+ throw ex;
194
+ }
195
+ }
196
+ };
197
+ exports.Terminal = Terminal;
198
+ exports.Terminal = Terminal = Terminal_1 = __decorate([
199
+ (0, base_1.Logger)({ version: '0.1.0' }),
200
+ __metadata("design:paramtypes", [e2b_1.default, Object])
201
+ ], Terminal);
202
+ //# sourceMappingURL=terminal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/core/terminal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Cerevox } from './core/cerevox';
2
+ export { Cerevox };
3
+ export default Cerevox;
4
+ export { Session } from './core/session';
5
+ export { Browser } from './core/browser';
6
+ export { CodeRunner } from './core/code-runner';
7
+ export { FileSystem } from './core/file-system';
8
+ export { Terminal } from './core/terminal';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGzC,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,eAAe,OAAO,CAAC;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Terminal = exports.FileSystem = exports.CodeRunner = exports.Browser = exports.Session = exports.Cerevox = void 0;
4
+ const cerevox_1 = require("./core/cerevox");
5
+ Object.defineProperty(exports, "Cerevox", { enumerable: true, get: function () { return cerevox_1.Cerevox; } });
6
+ const session_1 = require("./core/session");
7
+ exports.default = cerevox_1.Cerevox;
8
+ var session_2 = require("./core/session");
9
+ Object.defineProperty(exports, "Session", { enumerable: true, get: function () { return session_2.Session; } });
10
+ var browser_1 = require("./core/browser");
11
+ Object.defineProperty(exports, "Browser", { enumerable: true, get: function () { return browser_1.Browser; } });
12
+ var code_runner_1 = require("./core/code-runner");
13
+ Object.defineProperty(exports, "CodeRunner", { enumerable: true, get: function () { return code_runner_1.CodeRunner; } });
14
+ var file_system_1 = require("./core/file-system");
15
+ Object.defineProperty(exports, "FileSystem", { enumerable: true, get: function () { return file_system_1.FileSystem; } });
16
+ var terminal_1 = require("./core/terminal");
17
+ Object.defineProperty(exports, "Terminal", { enumerable: true, get: function () { return terminal_1.Terminal; } });
18
+ async function gracefulShutdown(signal) {
19
+ console.log(`Received ${signal} signal. Closing all sessions...`);
20
+ return Promise.all(Object.values(session_1.sessions).map(async (session) => {
21
+ await session.close(true);
22
+ }));
23
+ }
24
+ // 监听进程信号
25
+ process.on('SIGINT', async () => {
26
+ await gracefulShutdown('SIGINT');
27
+ process.exit(1);
28
+ }); // Ctrl+C
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AAGhC,wFAHA,iBAAO,OAGA;AAFhB,4CAA0C;AAG1C,kBAAe,iBAAO,CAAC;AAEvB,0CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAChB,0CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAChB,kDAAgD;AAAvC,yGAAA,UAAU,OAAA;AACnB,kDAAgD;AAAvC,yGAAA,UAAU,OAAA;AACnB,4CAA2C;AAAlC,oGAAA,QAAQ,OAAA;AAEjB,KAAK,UAAU,gBAAgB,CAAC,MAAsB;IACpD,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,kCAAkC,CAAC,CAAC;IAClE,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,MAAM,CAAC,kBAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;QAC1C,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS;AACT,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IAC9B,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,SAAS"}
@@ -0,0 +1,4 @@
1
+ export declare function verify(config: {
2
+ key: string;
3
+ }): Promise<any>;
4
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/utils/auth.ts"],"names":[],"mappings":"AAOA,wBAAgB,MAAM,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,gBAK7C"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verify = verify;
4
+ async function login(token) {
5
+ const response = await fetch(`https://auth.cerevox.run/verify?token=${encodeURIComponent(token)}`);
6
+ return await response.json();
7
+ }
8
+ function verify(config) {
9
+ if (!config.key) {
10
+ throw new Error('Cerevox key are required');
11
+ }
12
+ return login(config.key);
13
+ }
14
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/utils/auth.ts"],"names":[],"mappings":";;AAOA,wBAKC;AAZD,KAAK,UAAU,KAAK,CAAC,KAAa;IAChC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,yCAAyC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CACrE,CAAC;IACF,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,SAAgB,MAAM,CAAC,MAAuB;IAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const DEFAULT_PORT = 9223;
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,OAAO,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_PORT = void 0;
4
+ exports.DEFAULT_PORT = 9223;
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,IAAI,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * 代码类型检测工具
3
+ * 用于检测 JavaScript/TypeScript/Python 代码类型
4
+ * 支持识别 ES 模块、CommonJS 模块和 Python 代码
5
+ */
6
+ /**
7
+ * 检测代码类型(ES模块 vs CommonJS vs Python)
8
+ * @param code - 要检测的代码字符串
9
+ * @returns 'esm' 表示ES模块,'cjs' 表示CommonJS,'py' 表示Python
10
+ */
11
+ export declare function detectCodeType(code: string): 'esm' | 'cjs' | 'py';
12
+ /**
13
+ * 检查代码是否为 ES 模块
14
+ * @param code - 要检测的代码字符串
15
+ * @returns 是否为 ES 模块
16
+ */
17
+ export declare function isESModule(code: string): boolean;
18
+ /**
19
+ * 检查代码是否为 CommonJS 模块
20
+ * @param code - 要检测的代码字符串
21
+ * @returns 是否为 CommonJS 模块
22
+ */
23
+ export declare function isCommonJS(code: string): boolean;
24
+ /**
25
+ * 检查代码是否为 Python
26
+ * @param code - 要检测的代码字符串
27
+ * @returns 是否为 Python 代码
28
+ */
29
+ export declare function isPython(code: string): boolean;
30
+ //# sourceMappingURL=detect-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-code.d.ts","sourceRoot":"","sources":["../../src/utils/detect-code.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CA6EjE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9C"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ /**
3
+ * 代码类型检测工具
4
+ * 用于检测 JavaScript/TypeScript/Python 代码类型
5
+ * 支持识别 ES 模块、CommonJS 模块和 Python 代码
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.detectCodeType = detectCodeType;
9
+ exports.isESModule = isESModule;
10
+ exports.isCommonJS = isCommonJS;
11
+ exports.isPython = isPython;
12
+ /**
13
+ * 检测代码类型(ES模块 vs CommonJS vs Python)
14
+ * @param code - 要检测的代码字符串
15
+ * @returns 'esm' 表示ES模块,'cjs' 表示CommonJS,'py' 表示Python
16
+ */
17
+ function detectCodeType(code) {
18
+ // 移除注释和字符串字面量,避免误判
19
+ const cleanCode = code
20
+ .replace(/\/\*[\s\S]*?\*\//g, '') // 移除块注释
21
+ .replace(/\/\/.*$/gm, '') // 移除行注释
22
+ .replace(/#.*$/gm, ''); // 移除Python行注释
23
+ // .replace(/['"``][^'"``]*['"``]/g, ''); // 移除字符串字面量
24
+ // 检查是否包含 ES 模块特征(优先检查,避免与Python import混淆)
25
+ const hasJSImport = /\bimport\s+[\w{},\s*]+\s+from\s+['"]/.test(cleanCode);
26
+ const hasJSExport = /\bexport\s+(default\s+|const\s+|function\s+|class\s+|\{)/.test(cleanCode);
27
+ const hasImportMeta = /\bimport\.meta\b/.test(cleanCode);
28
+ const hasTopLevelAwait = /^\s*.*\bawait\s+/m.test(cleanCode);
29
+ // console.log(cleanCode, hasJSImport);
30
+ // 检查是否包含 CommonJS 特征
31
+ const hasRequire = /\brequire\s*\(/.test(cleanCode);
32
+ const hasModuleExports = /\bmodule\.exports\s*=/.test(cleanCode);
33
+ const hasExportsAssignment = /\bexports\.[\w$]+\s*=/.test(cleanCode);
34
+ // 检查是否包含 Python 特征
35
+ const hasPythonImport = /\bfrom\s+\w+\s+import\b|\bimport\s+\w+(?!\s+from)/.test(cleanCode);
36
+ const hasPythonDef = /\bdef\s+\w+\s*\(/.test(cleanCode);
37
+ const hasPythonClass = /\bclass\s+\w+\s*[(:]/.test(cleanCode);
38
+ const hasPythonPrint = /\bprint\s*\(/.test(cleanCode);
39
+ const hasPythonIfMain = /\bif\s+__name__\s*==\s*['"]__main__['"]/.test(cleanCode);
40
+ const hasPythonIndentation = /^\s{4,}\S/m.test(cleanCode); // 检查4个或更多空格的缩进
41
+ const hasPythonKeywords = /\b(elif|except|finally|with|as|yield|lambda|pass|break|continue|global|nonlocal)\b/.test(cleanCode);
42
+ // 如果包含 ES 模块特征(import/export/import.meta),识别为 ES 模块
43
+ if (hasJSImport || hasJSExport || hasImportMeta) {
44
+ return 'esm';
45
+ }
46
+ // 如果包含 CommonJS 特征,即使有顶级 await 也保持为 CommonJS
47
+ // 这样可以避免 require() 在 ES 模块中的兼容性问题
48
+ if (hasRequire || hasModuleExports || hasExportsAssignment) {
49
+ return 'cjs';
50
+ }
51
+ // 如果包含明显的 Python 特征,识别为 Python
52
+ if (hasPythonImport ||
53
+ hasPythonDef ||
54
+ hasPythonClass ||
55
+ hasPythonIfMain ||
56
+ hasPythonKeywords) {
57
+ return 'py';
58
+ }
59
+ // 只有在没有 CommonJS 特征时,才将顶级 await 识别为 ES 模块
60
+ if (hasTopLevelAwait) {
61
+ return 'esm';
62
+ }
63
+ // 如果只有 print() 和缩进,但没有 JavaScript 特征,也可能是 Python
64
+ if ((hasPythonPrint || hasPythonIndentation) &&
65
+ !/\bfunction\s+\w+\s*\(|\bconst\s+\w+|\blet\s+\w+|\bvar\s+\w+/.test(cleanCode)) {
66
+ return 'py';
67
+ }
68
+ // 默认为 CommonJS(更兼容)
69
+ return 'cjs';
70
+ }
71
+ /**
72
+ * 检查代码是否为 ES 模块
73
+ * @param code - 要检测的代码字符串
74
+ * @returns 是否为 ES 模块
75
+ */
76
+ function isESModule(code) {
77
+ return detectCodeType(code) === 'esm';
78
+ }
79
+ /**
80
+ * 检查代码是否为 CommonJS 模块
81
+ * @param code - 要检测的代码字符串
82
+ * @returns 是否为 CommonJS 模块
83
+ */
84
+ function isCommonJS(code) {
85
+ return detectCodeType(code) === 'cjs';
86
+ }
87
+ /**
88
+ * 检查代码是否为 Python
89
+ * @param code - 要检测的代码字符串
90
+ * @returns 是否为 Python 代码
91
+ */
92
+ function isPython(code) {
93
+ return detectCodeType(code) === 'py';
94
+ }
95
+ //# sourceMappingURL=detect-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-code.js","sourceRoot":"","sources":["../../src/utils/detect-code.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import pino from 'pino';
2
+ export declare const logger: import("pino").Logger<never, boolean>;
3
+ export declare const log: {
4
+ debug: (message: string, ...args: any[]) => void;
5
+ info: (message: string, ...args: any[]) => void;
6
+ warn: (message: string, ...args: any[]) => void;
7
+ error: (message: string | Error, ...args: any[]) => void;
8
+ fatal: (message: string | Error, ...args: any[]) => void;
9
+ };
10
+ export declare const createChildLogger: (bindings: Record<string, any>) => pino.Logger<never, boolean>;
11
+ export declare const createClassLogger: (className: string, additionalBindings?: Record<string, any>, logLevel?: "debug" | "info" | "warn" | "error" | "fatal") => pino.Logger<never, boolean>;
12
+ export type Logger = typeof logger;
13
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal';
14
+ export default logger;
15
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AA0FxB,eAAO,MAAM,MAAM,uCAAiB,CAAC;AAGrC,eAAO,MAAM,GAAG;qBACG,MAAM,WAAW,GAAG,EAAE;oBACvB,MAAM,WAAW,GAAG,EAAE;oBACtB,MAAM,WAAW,GAAG,EAAE;qBACrB,MAAM,GAAG,KAAK,WAAW,GAAG,EAAE;qBAO9B,MAAM,GAAG,KAAK,WAAW,GAAG,EAAE;CAOhD,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,gCAE9D,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAC5B,WAAW,MAAM,EACjB,qBAAqB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxC,WAAW,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,gCAezD,CAAC;AAGF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AACnC,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAGrE,eAAe,MAAM,CAAC"}