@aalis/plugin-tool-code-runner 0.9.3 → 0.10.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.
- package/dist/index.d.ts +9 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +153 -157
- package/dist/index.js.map +1 -1
- package/package.json +14 -11
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export declare const configSchema: ConfigSchema;
|
|
11
|
-
export declare function apply(ctx: Context, config: Record<string, unknown>): void;
|
|
1
|
+
declare const _default: import("@aalis/core").PluginDefinition<{
|
|
2
|
+
tools: import("@aalis/core").OptionalUse<import("@aalis/api-tools").ToolService, import("@aalis/api-tools").BoundTools>;
|
|
3
|
+
storage: import("@aalis/core").ServiceDescriptor<import("@aalis/api-storage").StorageService, import("@aalis/core").ServiceRef<import("@aalis/api-storage").StorageService>>;
|
|
4
|
+
proc: import("@aalis/core").ServiceDescriptor<import("@aalis/api-process").ProcessService, import("@aalis/core").ServiceRef<import("@aalis/api-process").ProcessService>>;
|
|
5
|
+
codeSandbox: import("@aalis/core").OptionalUse<import("@aalis/api-code-sandbox").CodeSandboxService, import("@aalis/core").ServiceRef<import("@aalis/api-code-sandbox").CodeSandboxService>>;
|
|
6
|
+
logger: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Logger, import("@aalis/core").Logger>;
|
|
7
|
+
config: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Readonly<Record<string, unknown>>, Readonly<Record<string, unknown>>>;
|
|
8
|
+
}>;
|
|
9
|
+
export default _default;
|
|
12
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;AAmJA,wBA2JG"}
|
package/dist/index.js
CHANGED
|
@@ -1,26 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { createProcessGateway } from '@aalis/api-process';
|
|
3
|
-
import { createStorageGateway, resolveAgainstCwd } from '@aalis/api-storage';
|
|
4
|
-
import {
|
|
1
|
+
import { codeSandbox } from '@aalis/api-code-sandbox';
|
|
2
|
+
import { createProcessGateway, processService } from '@aalis/api-process';
|
|
3
|
+
import { createStorageGateway, resolveAgainstCwd, storage } from '@aalis/api-storage';
|
|
4
|
+
import { tools, withToolGroups } from '@aalis/api-tools';
|
|
5
|
+
import { config, definePlugin, logger, optional } from '@aalis/core';
|
|
6
|
+
import { defineConfig, parseConfig } from '@aalis/schema-config';
|
|
5
7
|
import { runCode } from './runner.js';
|
|
6
|
-
|
|
7
|
-
export const name = '@aalis/plugin-tool-code-runner';
|
|
8
|
-
export const displayName = '代码执行器';
|
|
9
|
-
export const subsystem = 'tools';
|
|
10
|
-
export const inject = {
|
|
11
|
-
// storage 仅按名等待;local-path 由 createRunnerConfig 运行时探测 resolveLocalPath 守卫。
|
|
12
|
-
required: ['storage', 'process'],
|
|
13
|
-
optional: ['code-sandbox'],
|
|
14
|
-
};
|
|
15
|
-
export const configSchema = {
|
|
8
|
+
const configSchema = defineConfig({
|
|
16
9
|
python: {
|
|
17
10
|
label: 'Python',
|
|
18
11
|
fields: {
|
|
19
|
-
enabled: { type: 'boolean', label: '启用 run_python', default: true },
|
|
12
|
+
enabled: { type: 'boolean', label: '启用 run_python', default: true, onInvalid: 'error' },
|
|
20
13
|
interpreter: {
|
|
21
14
|
type: 'string',
|
|
22
15
|
label: '解释器路径',
|
|
23
16
|
default: 'python3',
|
|
17
|
+
required: true,
|
|
18
|
+
onInvalid: 'error',
|
|
24
19
|
description: 'Python 解释器路径或命令名,如 python3、/usr/bin/python3',
|
|
25
20
|
},
|
|
26
21
|
},
|
|
@@ -28,11 +23,13 @@ export const configSchema = {
|
|
|
28
23
|
javascript: {
|
|
29
24
|
label: 'JavaScript (Node.js)',
|
|
30
25
|
fields: {
|
|
31
|
-
enabled: { type: 'boolean', label: '启用 run_javascript', default: true },
|
|
26
|
+
enabled: { type: 'boolean', label: '启用 run_javascript', default: true, onInvalid: 'error' },
|
|
32
27
|
interpreter: {
|
|
33
28
|
type: 'string',
|
|
34
29
|
label: '解释器路径',
|
|
35
30
|
default: 'node',
|
|
31
|
+
required: true,
|
|
32
|
+
onInvalid: 'error',
|
|
36
33
|
description: 'Node.js 解释器路径或命令名',
|
|
37
34
|
},
|
|
38
35
|
},
|
|
@@ -59,6 +56,7 @@ export const configSchema = {
|
|
|
59
56
|
type: 'string',
|
|
60
57
|
label: '逻辑工作目录',
|
|
61
58
|
default: 'workspace:/',
|
|
59
|
+
onInvalid: 'error',
|
|
62
60
|
description: '脚本执行时的 storage URI 工作目录,如 workspace:/ 或 tmp:/run;相对路径会解释为 workspace:/ 下路径。',
|
|
63
61
|
},
|
|
64
62
|
sandbox: {
|
|
@@ -68,6 +66,7 @@ export const configSchema = {
|
|
|
68
66
|
type: 'select',
|
|
69
67
|
label: '隔离模式',
|
|
70
68
|
default: 'auto',
|
|
69
|
+
onInvalid: 'error',
|
|
71
70
|
options: [
|
|
72
71
|
{ label: '自动(有沙箱则强制隔离,无则拒绝运行)', value: 'auto' },
|
|
73
72
|
{ label: '无隔离(裸进程,危险,仅信任环境)', value: 'none' },
|
|
@@ -80,6 +79,7 @@ export const configSchema = {
|
|
|
80
79
|
type: 'select',
|
|
81
80
|
label: '子进程网络',
|
|
82
81
|
default: 'deny',
|
|
82
|
+
onInvalid: 'error',
|
|
83
83
|
options: [
|
|
84
84
|
{ label: '断网(推荐)', value: 'deny' },
|
|
85
85
|
{ label: '放开(粗粒度,无法按域名过滤)', value: 'allow' },
|
|
@@ -88,30 +88,7 @@ export const configSchema = {
|
|
|
88
88
|
},
|
|
89
89
|
},
|
|
90
90
|
},
|
|
91
|
-
};
|
|
92
|
-
function resolveConfig(config) {
|
|
93
|
-
const py = config.python;
|
|
94
|
-
const js = config.javascript;
|
|
95
|
-
const sb = config.sandbox;
|
|
96
|
-
return {
|
|
97
|
-
python: {
|
|
98
|
-
enabled: py?.enabled ?? true,
|
|
99
|
-
interpreter: py?.interpreter || 'python3',
|
|
100
|
-
},
|
|
101
|
-
javascript: {
|
|
102
|
-
enabled: js?.enabled ?? true,
|
|
103
|
-
interpreter: js?.interpreter || 'node',
|
|
104
|
-
},
|
|
105
|
-
defaultTimeout: config.defaultTimeout ?? 60000,
|
|
106
|
-
maxTimeout: config.maxTimeout ?? 300000,
|
|
107
|
-
maxOutputSize: config.maxOutputSize ?? 131072,
|
|
108
|
-
workingDirectory: config.workingDirectory ?? 'workspace:/',
|
|
109
|
-
sandbox: {
|
|
110
|
-
mode: sb?.mode === 'none' ? 'none' : 'auto',
|
|
111
|
-
network: sb?.network === 'allow' ? 'allow' : 'deny',
|
|
112
|
-
},
|
|
113
|
-
};
|
|
114
|
-
}
|
|
91
|
+
});
|
|
115
92
|
function toRunnerCwdUri(input) {
|
|
116
93
|
return resolveAgainstCwd(input, 'workspace:/');
|
|
117
94
|
}
|
|
@@ -124,141 +101,160 @@ function safeEnv() {
|
|
|
124
101
|
}
|
|
125
102
|
return env;
|
|
126
103
|
}
|
|
127
|
-
|
|
128
|
-
|
|
104
|
+
// ===== 插件入口 =====
|
|
105
|
+
// storage 仅按名等待;local-path 由 createRunnerConfig 运行时探测 resolveLocalPath 守卫。
|
|
106
|
+
// tools 只被登记、不被读,缺席时登记在账上等提供者到场,因此不设激活闸。
|
|
107
|
+
const uses = {
|
|
108
|
+
tools: optional(tools),
|
|
109
|
+
storage,
|
|
110
|
+
proc: processService,
|
|
111
|
+
codeSandbox: optional(codeSandbox),
|
|
112
|
+
logger,
|
|
113
|
+
config,
|
|
114
|
+
};
|
|
115
|
+
async function createRunnerConfig(caps, cfg) {
|
|
116
|
+
if (!caps.storage.all().some(e => typeof e.instance.resolveLocalPath === 'function')) {
|
|
129
117
|
throw new Error('代码执行器需要至少一个支持 local-path 的 storage entry');
|
|
130
118
|
}
|
|
131
|
-
const
|
|
119
|
+
const gateway = createStorageGateway(caps.storage);
|
|
132
120
|
const cwdUri = toRunnerCwdUri(cfg.workingDirectory);
|
|
133
121
|
return {
|
|
134
122
|
defaultTimeout: cfg.defaultTimeout,
|
|
135
123
|
maxTimeout: cfg.maxTimeout,
|
|
136
124
|
maxOutputSize: cfg.maxOutputSize,
|
|
137
|
-
cwd: await
|
|
125
|
+
cwd: await gateway.resolveLocalPath(cwdUri, 'read'),
|
|
138
126
|
env: safeEnv(),
|
|
139
127
|
// mode='none' → 不带 sandbox(裸跑);mode='auto' → 带策略,runCode 经 code-sandbox 强制隔离或 fail-closed
|
|
140
128
|
sandbox: cfg.sandbox.mode === 'none' ? undefined : { network: cfg.sandbox.network },
|
|
141
|
-
codeSandbox:
|
|
129
|
+
codeSandbox: caps.codeSandbox.current,
|
|
142
130
|
};
|
|
143
131
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
132
|
+
export default definePlugin({
|
|
133
|
+
name: '@aalis/plugin-tool-code-runner',
|
|
134
|
+
displayName: '代码执行器',
|
|
135
|
+
subsystem: 'tools',
|
|
136
|
+
configSchema,
|
|
137
|
+
uses,
|
|
138
|
+
apply(caps) {
|
|
139
|
+
const { tools, proc, storage, codeSandbox, logger } = caps;
|
|
140
|
+
const cfg = parseConfig(configSchema, caps.config, logger);
|
|
141
|
+
if (cfg.sandbox.mode === 'none') {
|
|
142
|
+
logger.warn('⚠️ code-runner 运行在【无隔离】模式(sandbox.mode=none):代码以宿主用户全权限裸跑,仅在完全可信环境使用。');
|
|
143
|
+
}
|
|
144
|
+
const cwdUri = toRunnerCwdUri(cfg.workingDirectory);
|
|
145
|
+
const processGateway = createProcessGateway(proc);
|
|
146
|
+
const storageGateway = createStorageGateway(storage);
|
|
147
|
+
// 每次调用现取:cwd 要按当时的 storage 实况解析,沙箱后端也可能中途上下线
|
|
148
|
+
const runnerDeps = { storage, codeSandbox };
|
|
149
|
+
// 创建带分组标记的工具视图
|
|
150
|
+
const groupTools = withToolGroups(tools, ['code-runner']);
|
|
151
|
+
// 注册工具分组
|
|
152
|
+
tools.registerGroup({
|
|
153
|
+
name: 'code-runner',
|
|
154
|
+
label: '代码执行',
|
|
155
|
+
description: '编写并运行 Python / JavaScript 代码来解决计算、分析、文件处理等问题',
|
|
156
|
+
});
|
|
157
|
+
const osName = process.platform === 'darwin' ? 'macOS' : process.platform === 'win32' ? 'Windows' : 'Linux';
|
|
158
|
+
// ==================== run_python ====================
|
|
159
|
+
if (cfg.python.enabled) {
|
|
160
|
+
groupTools.register({
|
|
161
|
+
definition: {
|
|
162
|
+
type: 'function',
|
|
163
|
+
function: {
|
|
164
|
+
name: 'run_python',
|
|
165
|
+
description: `在本机 ${osName} 系统上编写并执行一段 Python 脚本,返回 stdout 和 stderr。` +
|
|
166
|
+
'代码会保存到临时文件后执行,无需担心转义问题,可以编写任意多行代码。\n\n' +
|
|
167
|
+
'**适用场景(请在合适时主动使用):**\n' +
|
|
168
|
+
'- 复杂数学计算、方程求解、符号推导(math / sympy / numpy / scipy)\n' +
|
|
169
|
+
'- 数据统计分析、CSV/JSON 数据处理(pandas / json / csv)\n' +
|
|
170
|
+
'- 批量文件解析与文本处理(正则匹配、格式转换、批量重命名)\n' +
|
|
171
|
+
'- 编码转换、加解密、哈希计算(base64 / hashlib)\n' +
|
|
172
|
+
'- 日期 / 时间计算(datetime / calendar)\n' +
|
|
173
|
+
'- 需要精确结果而非近似回答的任何计算问题\n' +
|
|
174
|
+
'- 生成结构化输出(表格、Markdown、LaTeX)\n\n' +
|
|
175
|
+
'**使用技巧:**\n' +
|
|
176
|
+
'- 将最终结果通过 print() 输出,该输出会作为工具返回值\n' +
|
|
177
|
+
'- 可使用标准库和已安装的第三方库(如 numpy, sympy, pandas 等)\n' +
|
|
178
|
+
'- 处理多个文件时,在一个脚本内循环处理并汇总输出,效率远高于多次调用\n' +
|
|
179
|
+
'- 若需读写文件,请优先使用相对于逻辑工作目录的路径;不要依赖宿主机绝对路径',
|
|
180
|
+
parameters: {
|
|
181
|
+
type: 'object',
|
|
182
|
+
properties: {
|
|
183
|
+
code: {
|
|
184
|
+
type: 'string',
|
|
185
|
+
description: '完整的 Python 脚本源代码',
|
|
186
|
+
},
|
|
187
|
+
timeout: {
|
|
188
|
+
type: 'number',
|
|
189
|
+
description: `超时毫秒数(可选,默认 ${cfg.defaultTimeout},最大 ${cfg.maxTimeout})`,
|
|
190
|
+
},
|
|
195
191
|
},
|
|
192
|
+
required: ['code'],
|
|
193
|
+
additionalProperties: false,
|
|
196
194
|
},
|
|
197
|
-
required: ['code'],
|
|
198
|
-
additionalProperties: false,
|
|
199
195
|
},
|
|
200
196
|
},
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
197
|
+
visibility: 'restricted',
|
|
198
|
+
handler: async (args) => {
|
|
199
|
+
const code = args.code;
|
|
200
|
+
const timeout = args.timeout;
|
|
201
|
+
logger.debug(`run_python: ${code.length} 字符`);
|
|
202
|
+
const runnerConfig = await createRunnerConfig(runnerDeps, cfg);
|
|
203
|
+
const result = await runCode(processGateway, storageGateway, cfg.python.interpreter, code, '.py', runnerConfig, timeout);
|
|
204
|
+
return JSON.stringify(result);
|
|
205
|
+
},
|
|
206
|
+
});
|
|
207
|
+
logger.info(`Python 代码执行工具已启用 (解释器: ${cfg.python.interpreter})`);
|
|
208
|
+
}
|
|
209
|
+
// ==================== run_javascript ====================
|
|
210
|
+
if (cfg.javascript.enabled) {
|
|
211
|
+
groupTools.register({
|
|
212
|
+
definition: {
|
|
213
|
+
type: 'function',
|
|
214
|
+
function: {
|
|
215
|
+
name: 'run_javascript',
|
|
216
|
+
description: `在本机 ${osName} 系统上编写并执行一段 JavaScript (Node.js) 脚本,返回 stdout 和 stderr。` +
|
|
217
|
+
'代码会保存为 .mjs 文件(ESM 模块)后执行,支持 top-level await。\n\n' +
|
|
218
|
+
'**适用场景(请在合适时主动使用):**\n' +
|
|
219
|
+
'- JSON 数据处理与转换\n' +
|
|
220
|
+
'- 正则表达式测试与文本处理\n' +
|
|
221
|
+
'- Node.js API 调用、文件系统操作\n' +
|
|
222
|
+
'- HTTP 请求与 API 测试(fetch)\n' +
|
|
223
|
+
'- 需要 JavaScript 运行时特性的验证和计算\n\n' +
|
|
224
|
+
'**使用技巧:**\n' +
|
|
225
|
+
'- 通过 console.log() 输出结果\n' +
|
|
226
|
+
'- 使用 ESM import 语法导入模块\n' +
|
|
227
|
+
'- 支持 top-level await,可直接使用 await fetch(...) 等',
|
|
228
|
+
parameters: {
|
|
229
|
+
type: 'object',
|
|
230
|
+
properties: {
|
|
231
|
+
code: {
|
|
232
|
+
type: 'string',
|
|
233
|
+
description: '完整的 JavaScript (Node.js ESM) 脚本源代码',
|
|
234
|
+
},
|
|
235
|
+
timeout: {
|
|
236
|
+
type: 'number',
|
|
237
|
+
description: `超时毫秒数(可选,默认 ${cfg.defaultTimeout},最大 ${cfg.maxTimeout})`,
|
|
238
|
+
},
|
|
243
239
|
},
|
|
240
|
+
required: ['code'],
|
|
241
|
+
additionalProperties: false,
|
|
244
242
|
},
|
|
245
|
-
required: ['code'],
|
|
246
|
-
additionalProperties: false,
|
|
247
243
|
},
|
|
248
244
|
},
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
}
|
|
245
|
+
visibility: 'restricted',
|
|
246
|
+
handler: async (args) => {
|
|
247
|
+
const code = args.code;
|
|
248
|
+
const timeout = args.timeout;
|
|
249
|
+
logger.debug(`run_javascript: ${code.length} 字符`);
|
|
250
|
+
const runnerConfig = await createRunnerConfig(runnerDeps, cfg);
|
|
251
|
+
const result = await runCode(processGateway, storageGateway, cfg.javascript.interpreter, code, '.mjs', runnerConfig, timeout);
|
|
252
|
+
return JSON.stringify(result);
|
|
253
|
+
},
|
|
254
|
+
});
|
|
255
|
+
logger.info(`JavaScript 代码执行工具已启用 (解释器: ${cfg.javascript.interpreter})`);
|
|
256
|
+
}
|
|
257
|
+
logger.info(`代码执行器插件已启动 (工作目录: ${cwdUri})`);
|
|
258
|
+
},
|
|
259
|
+
});
|
|
264
260
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/plugin-tool-code-runner",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,28 +24,31 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@aalis/api-code-sandbox": ">=0.
|
|
28
|
-
"@aalis/schema-config": ">=0.
|
|
29
|
-
"@aalis/api-process": ">=0.
|
|
30
|
-
"@aalis/api-storage": ">=0.
|
|
31
|
-
"@aalis/api-tools": ">=0.
|
|
27
|
+
"@aalis/api-code-sandbox": ">=0.6.0 <1.0.0",
|
|
28
|
+
"@aalis/schema-config": ">=0.14.0 <1.0.0",
|
|
29
|
+
"@aalis/api-process": ">=0.7.0 <1.0.0",
|
|
30
|
+
"@aalis/api-storage": ">=0.6.0 <1.0.0",
|
|
31
|
+
"@aalis/api-tools": ">=0.9.0 <1.0.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@types/node": "^22.0.0",
|
|
35
35
|
"typescript": "^5.7.0",
|
|
36
|
-
"@aalis/core": "0.
|
|
36
|
+
"@aalis/core": "0.19.1"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"@aalis/core": ">=0.
|
|
39
|
+
"@aalis/core": ">=0.17.0 <1.0.0"
|
|
40
40
|
},
|
|
41
41
|
"aalis": {
|
|
42
42
|
"service": {
|
|
43
43
|
"required": [
|
|
44
|
-
"
|
|
45
|
-
"
|
|
44
|
+
"config",
|
|
45
|
+
"logger",
|
|
46
|
+
"process",
|
|
47
|
+
"storage"
|
|
46
48
|
],
|
|
47
49
|
"optional": [
|
|
48
|
-
"code-sandbox"
|
|
50
|
+
"code-sandbox",
|
|
51
|
+
"tools"
|
|
49
52
|
]
|
|
50
53
|
}
|
|
51
54
|
},
|