atomix-cli 0.1.0 → 1.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.
- package/README.md +66 -4
- package/dist/cli.js +63655 -52935
- package/dist/session.d.ts +360 -0
- package/dist/session.js +126107 -0
- package/dist/session.mjs +126084 -0
- package/dist/tui.mjs +60812 -50657
- package/package.json +17 -4
- package/dist/bootstrap.js +0 -52
- package/dist/bootstrap.js.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/modelWizard.js +0 -143
- package/dist/modelWizard.js.map +0 -1
- package/dist/oneshot.js +0 -75
- package/dist/oneshot.js.map +0 -1
- package/dist/paths.js +0 -53
- package/dist/paths.js.map +0 -1
- package/dist/quiet.js +0 -81
- package/dist/quiet.js.map +0 -1
- package/dist/repl.js +0 -385
- package/dist/repl.js.map +0 -1
- package/dist/tools.js +0 -28
- package/dist/tools.js.map +0 -1
- package/dist/ui.js +0 -83
- package/dist/ui.js.map +0 -1
package/dist/repl.js
DELETED
|
@@ -1,385 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.startRepl = startRepl;
|
|
37
|
-
/**
|
|
38
|
-
* atomix 交互 REPL(M0:readline 版;M1 迁移 React Ink)
|
|
39
|
-
*
|
|
40
|
-
* SemaCore 单目录模式:agentDataDir 缺省 = workingDir = cwd,
|
|
41
|
-
* 人设即项目的 AGENT.md / CLAUDE.md(dev-plan §1.1)。
|
|
42
|
-
*
|
|
43
|
-
* 事件 → 渲染映射见 dev-plan §4。
|
|
44
|
-
*/
|
|
45
|
-
const readline = __importStar(require("readline"));
|
|
46
|
-
const sema_core_1 = require("sema-core");
|
|
47
|
-
const tools_1 = require("./tools");
|
|
48
|
-
const paths_1 = require("./paths");
|
|
49
|
-
const quiet_1 = require("./quiet");
|
|
50
|
-
const modelWizard_1 = require("./modelWizard");
|
|
51
|
-
const ui_1 = require("./ui");
|
|
52
|
-
const MAIN = 'main';
|
|
53
|
-
const VERSION = '0.1.0';
|
|
54
|
-
async function startRepl(cwd) {
|
|
55
|
-
const core = new sema_core_1.SemaCore({
|
|
56
|
-
workingDir: cwd,
|
|
57
|
-
logLevel: (0, quiet_1.atomixLogLevel)(),
|
|
58
|
-
stream: true,
|
|
59
|
-
useTools: tools_1.ATOMIX_TOOLS,
|
|
60
|
-
skipFileEditPermission: false, // 交互模式下文件编辑必须过权限卡
|
|
61
|
-
systemPrompt: 'You are Atomix, a CLI coding agent bound to the current working directory.',
|
|
62
|
-
});
|
|
63
|
-
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
64
|
-
let rlClosed = false;
|
|
65
|
-
let shuttingDown = false;
|
|
66
|
-
// stdin EOF(管道输入耗尽 / Ctrl+D)→ 优雅退出;已关闭后 ask 挂起等待 shutdown 收尾
|
|
67
|
-
rl.on('close', () => {
|
|
68
|
-
rlClosed = true;
|
|
69
|
-
if (!shuttingDown)
|
|
70
|
-
void shutdown();
|
|
71
|
-
});
|
|
72
|
-
// type-ahead 缓冲:没有 pending question 时(会话初始化/处理中)用户敲的行
|
|
73
|
-
// 会走 'line' 事件而非 question 回调,缓冲起来供下一次 ask 消费,避免静默丢失
|
|
74
|
-
const typeAhead = [];
|
|
75
|
-
rl.on('line', (l) => typeAhead.push(l));
|
|
76
|
-
const ask = (q) => new Promise((resolve) => {
|
|
77
|
-
if (rlClosed)
|
|
78
|
-
return; // 永不 resolve,进程随 shutdown 退出
|
|
79
|
-
const buffered = typeAhead.shift();
|
|
80
|
-
if (buffered !== undefined) {
|
|
81
|
-
process.stdout.write(q + buffered + '\n');
|
|
82
|
-
resolve(buffered);
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
rl.question(q, resolve);
|
|
86
|
-
});
|
|
87
|
-
// ===== 会话状态 =====
|
|
88
|
-
let processing = false;
|
|
89
|
-
let prompting = false;
|
|
90
|
-
let thinkingShown = false;
|
|
91
|
-
let thinkingEnabled = false;
|
|
92
|
-
let mode = 'Agent';
|
|
93
|
-
let sessionId = '';
|
|
94
|
-
let lastUsage = null;
|
|
95
|
-
// ===== 中断:Esc 中断当前轮,Ctrl+C 处理中=中断 / 空闲=退出 =====
|
|
96
|
-
readline.emitKeypressEvents(process.stdin);
|
|
97
|
-
if (process.stdin.isTTY)
|
|
98
|
-
process.stdin.setRawMode(true);
|
|
99
|
-
process.stdin.on('keypress', (_str, key) => {
|
|
100
|
-
if (key?.name === 'escape' && processing)
|
|
101
|
-
core.interruptSession();
|
|
102
|
-
});
|
|
103
|
-
rl.on('SIGINT', () => {
|
|
104
|
-
if (processing)
|
|
105
|
-
core.interruptSession();
|
|
106
|
-
else
|
|
107
|
-
void shutdown();
|
|
108
|
-
});
|
|
109
|
-
async function shutdown() {
|
|
110
|
-
shuttingDown = true;
|
|
111
|
-
console.log((0, ui_1.gray)('\nbye'));
|
|
112
|
-
if (!rlClosed)
|
|
113
|
-
rl.close();
|
|
114
|
-
try {
|
|
115
|
-
await core.dispose();
|
|
116
|
-
}
|
|
117
|
-
catch {
|
|
118
|
-
// 一次性资源,失败可忽略
|
|
119
|
-
}
|
|
120
|
-
process.exit(0);
|
|
121
|
-
}
|
|
122
|
-
// ===== 事件 → 渲染 =====
|
|
123
|
-
core.on('state:update', ({ state }) => {
|
|
124
|
-
processing = state === 'processing';
|
|
125
|
-
if (state === 'idle')
|
|
126
|
-
setTimeout(() => void promptLoop(), 50);
|
|
127
|
-
});
|
|
128
|
-
core.on('message:thinking:chunk', ({ delta }) => {
|
|
129
|
-
if (!thinkingShown) {
|
|
130
|
-
process.stdout.write((0, ui_1.gray)('\n✻ thinking '));
|
|
131
|
-
thinkingShown = true;
|
|
132
|
-
}
|
|
133
|
-
process.stdout.write((0, ui_1.dim)((0, ui_1.gray)(delta || '')));
|
|
134
|
-
});
|
|
135
|
-
core.on('message:text:chunk', ({ delta }) => {
|
|
136
|
-
if (thinkingShown) {
|
|
137
|
-
process.stdout.write('\n');
|
|
138
|
-
thinkingShown = false;
|
|
139
|
-
}
|
|
140
|
-
process.stdout.write(delta || '');
|
|
141
|
-
});
|
|
142
|
-
core.on('message:complete', (d) => {
|
|
143
|
-
if (d.agentId !== MAIN)
|
|
144
|
-
return;
|
|
145
|
-
thinkingShown = false;
|
|
146
|
-
process.stdout.write('\n');
|
|
147
|
-
});
|
|
148
|
-
core.on('tool:execution:complete', (d) => {
|
|
149
|
-
const sub = d.agentId !== MAIN ? `[${d.agentId.slice(0, 6)}] ` : '';
|
|
150
|
-
console.log((0, ui_1.gray)((0, ui_1.truncate)(` ✓ ${sub}${d.title}${d.summary ? ' — ' + d.summary : ''}`, 160)));
|
|
151
|
-
});
|
|
152
|
-
core.on('tool:execution:error', (d) => {
|
|
153
|
-
console.log((0, ui_1.red)((0, ui_1.truncate)(` ✗ ${d.toolName}: ${d.content}`, 300)));
|
|
154
|
-
});
|
|
155
|
-
// 权限卡:Edit/Write 的 content 是结构化 patch,按 diff 着色渲染
|
|
156
|
-
core.on('tool:permission:request', async (d) => {
|
|
157
|
-
console.log('\n' + (0, ui_1.yellow)(`⚠ 权限请求 · ${d.toolName}`) + (d.title ? ` ${(0, ui_1.bold)(d.title)}` : ''));
|
|
158
|
-
console.log((0, ui_1.renderPermissionContent)(d.content));
|
|
159
|
-
const ans = (await ask((0, ui_1.yellow)(' [y=同意一次 / a=项目内始终允许 / n=拒绝 / 其他文本=反馈]: '))).trim();
|
|
160
|
-
const map = { '': 'agree', y: 'agree', yes: 'agree', a: 'allow', n: 'refuse', no: 'refuse' };
|
|
161
|
-
core.respondToToolPermission({ toolName: d.toolName, selected: map[ans.toLowerCase()] ?? ans });
|
|
162
|
-
});
|
|
163
|
-
// AskUser:单/多选选择器 + 自由文本
|
|
164
|
-
core.on('ask:question:request', async (d) => {
|
|
165
|
-
const answers = {};
|
|
166
|
-
for (const q of d.questions) {
|
|
167
|
-
console.log('\n' + (0, ui_1.cyan)(`? ${q.header ? `[${q.header}] ` : ''}${q.question}`));
|
|
168
|
-
q.options.forEach((o, i) => console.log(` ${i + 1}. ${o.label}` + (o.description ? (0, ui_1.gray)(' — ' + o.description) : '')));
|
|
169
|
-
const hint = q.multiSelect ? '序号(逗号多选)或自由文本' : '序号或自由文本';
|
|
170
|
-
const raw = (await ask((0, ui_1.cyan)(` 回答 [${hint}]: `))).trim();
|
|
171
|
-
const picks = raw
|
|
172
|
-
.split(',')
|
|
173
|
-
.map((s) => s.trim())
|
|
174
|
-
.filter(Boolean)
|
|
175
|
-
.map((p) => {
|
|
176
|
-
const n = Number(p);
|
|
177
|
-
return Number.isInteger(n) && n >= 1 && n <= q.options.length ? q.options[n - 1].label : p;
|
|
178
|
-
});
|
|
179
|
-
answers[q.question] = picks.join(',') || raw;
|
|
180
|
-
}
|
|
181
|
-
core.respondToAskQuestion({ agentId: d.agentId, answers });
|
|
182
|
-
});
|
|
183
|
-
// FormUI:逐字段问答式降级渲染(editable_table 保留默认行)
|
|
184
|
-
core.on('form:request', async (d) => {
|
|
185
|
-
console.log('\n' + (0, ui_1.cyan)(`▤ 表单 · ${d.title}`));
|
|
186
|
-
const values = {};
|
|
187
|
-
for (const f of d.fields) {
|
|
188
|
-
if (f.type === 'static_text') {
|
|
189
|
-
console.log((0, ui_1.gray)(' ' + f.text));
|
|
190
|
-
continue;
|
|
191
|
-
}
|
|
192
|
-
const label = `${f.label}${f.required ? '*' : ''}`;
|
|
193
|
-
switch (f.type) {
|
|
194
|
-
case 'select':
|
|
195
|
-
case 'radio': {
|
|
196
|
-
f.options.forEach((o, i) => console.log(` ${i + 1}. ${o.label}`));
|
|
197
|
-
const raw = (await ask((0, ui_1.cyan)(` ${label} [序号]: `))).trim();
|
|
198
|
-
const n = Number(raw);
|
|
199
|
-
values[f.key] =
|
|
200
|
-
Number.isInteger(n) && n >= 1 && n <= f.options.length ? f.options[n - 1].value : (f.default ?? raw);
|
|
201
|
-
break;
|
|
202
|
-
}
|
|
203
|
-
case 'multiselect': {
|
|
204
|
-
f.options.forEach((o, i) => console.log(` ${i + 1}. ${o.label}`));
|
|
205
|
-
const raw = (await ask((0, ui_1.cyan)(` ${label} [序号,逗号多选]: `))).trim();
|
|
206
|
-
values[f.key] = raw
|
|
207
|
-
.split(',')
|
|
208
|
-
.map((s) => Number(s.trim()))
|
|
209
|
-
.filter((n) => Number.isInteger(n) && n >= 1 && n <= f.options.length)
|
|
210
|
-
.map((n) => f.options[n - 1].value);
|
|
211
|
-
break;
|
|
212
|
-
}
|
|
213
|
-
case 'checkbox': {
|
|
214
|
-
const raw = (await ask((0, ui_1.cyan)(` ${label} [y/n,默认 ${f.default ? 'y' : 'n'}]: `))).trim().toLowerCase();
|
|
215
|
-
values[f.key] = raw ? raw === 'y' || raw === 'yes' : !!f.default;
|
|
216
|
-
break;
|
|
217
|
-
}
|
|
218
|
-
case 'number':
|
|
219
|
-
case 'slider': {
|
|
220
|
-
const raw = (await ask((0, ui_1.cyan)(` ${label} [数字${f.default !== undefined ? `,默认 ${f.default}` : ''}]: `))).trim();
|
|
221
|
-
values[f.key] = raw === '' ? f.default : Number(raw);
|
|
222
|
-
break;
|
|
223
|
-
}
|
|
224
|
-
case 'editable_table': {
|
|
225
|
-
console.log((0, ui_1.gray)(' (终端暂不支持表格编辑,保留默认行)'));
|
|
226
|
-
values[f.key] = f.rows ?? [];
|
|
227
|
-
break;
|
|
228
|
-
}
|
|
229
|
-
default: {
|
|
230
|
-
// text / textarea / date
|
|
231
|
-
const def = f.default;
|
|
232
|
-
const raw = await ask((0, ui_1.cyan)(` ${label}${def ? ` [默认 ${def}]` : ''}: `));
|
|
233
|
-
values[f.key] = raw.trim() === '' ? (def ?? '') : raw;
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
core.respondToForm({ agentId: d.agentId, values, submitted: true });
|
|
238
|
-
});
|
|
239
|
-
// Plan 退出确认
|
|
240
|
-
core.on('plan:exit:request', async (d) => {
|
|
241
|
-
console.log('\n' + (0, ui_1.magenta)(`▣ 计划就绪 · ${d.planFilePath}`));
|
|
242
|
-
console.log((0, ui_1.gray)((0, ui_1.truncate)(d.planContent, 3000)));
|
|
243
|
-
console.log(` 1. ${d.options.startEditing}\n 2. ${d.options.clearContextAndStart}`);
|
|
244
|
-
const raw = (await ask((0, ui_1.magenta)(' 选择 [1/2]: '))).trim();
|
|
245
|
-
core.respondToPlanExit({ agentId: d.agentId, selected: raw === '2' ? 'clearContextAndStart' : 'startEditing' });
|
|
246
|
-
mode = 'Agent';
|
|
247
|
-
});
|
|
248
|
-
core.on('todos:update', (todos) => {
|
|
249
|
-
if (!todos?.length)
|
|
250
|
-
return;
|
|
251
|
-
console.log((0, ui_1.gray)(' ┄ todos'));
|
|
252
|
-
for (const t of todos) {
|
|
253
|
-
const mark = t.status === 'completed' ? (0, ui_1.green)('☑') : t.status === 'in_progress' ? (0, ui_1.yellow)('◐') : (0, ui_1.gray)('☐');
|
|
254
|
-
console.log(` ${mark} ${t.status === 'in_progress' ? t.activeForm : t.content}`);
|
|
255
|
-
}
|
|
256
|
-
});
|
|
257
|
-
core.on('conversation:usage', (d) => {
|
|
258
|
-
lastUsage = d.usage;
|
|
259
|
-
});
|
|
260
|
-
core.on('compact:start', (d) => {
|
|
261
|
-
console.log((0, ui_1.gray)(`\n⟳ 上下文压缩中…(${d.messageCount} 条消息)`));
|
|
262
|
-
});
|
|
263
|
-
core.on('compact:exec', (d) => {
|
|
264
|
-
if (d.errMsg)
|
|
265
|
-
console.log((0, ui_1.red)(`⟳ 压缩失败:${d.errMsg}`));
|
|
266
|
-
else
|
|
267
|
-
console.log((0, ui_1.gray)(`⟳ 压缩完成 ${d.tokenBefore} → ${d.tokenCompact} tokens(压缩至 ${Math.round(d.compactRate * 100)}%)`));
|
|
268
|
-
});
|
|
269
|
-
core.on('task:agent:start', (d) => {
|
|
270
|
-
console.log((0, ui_1.gray)(` ⧉ 子代理 ${d.subagent_type} 启动 — ${d.description}`));
|
|
271
|
-
});
|
|
272
|
-
core.on('task:agent:end', (d) => {
|
|
273
|
-
console.log((0, ui_1.gray)(` ⧉ 子代理结束 [${d.status}] ${d.content}`));
|
|
274
|
-
});
|
|
275
|
-
core.on('session:interrupted', (d) => {
|
|
276
|
-
if (d.agentId === MAIN)
|
|
277
|
-
console.log((0, ui_1.yellow)('\n⏹ 已中断'));
|
|
278
|
-
});
|
|
279
|
-
core.on('session:error', (d) => {
|
|
280
|
-
console.log((0, ui_1.red)(`\n✗ 会话错误 [${d.type}] ${d.error?.message ?? d.error?.code ?? ''}`));
|
|
281
|
-
});
|
|
282
|
-
// ===== 输入循环 =====
|
|
283
|
-
function promptStr() {
|
|
284
|
-
const usage = (0, ui_1.usageIndicator)(lastUsage);
|
|
285
|
-
const planTag = mode === 'Plan' ? (0, ui_1.magenta)(' [plan]') : '';
|
|
286
|
-
return `\n${(0, ui_1.cyan)('atomix')}${usage ? ' ' + usage : ''}${planTag} ${(0, ui_1.gray)('❯')} `;
|
|
287
|
-
}
|
|
288
|
-
async function promptLoop() {
|
|
289
|
-
if (prompting || processing)
|
|
290
|
-
return;
|
|
291
|
-
prompting = true;
|
|
292
|
-
const input = (await ask(promptStr())).trim();
|
|
293
|
-
prompting = false;
|
|
294
|
-
await handleInput(input);
|
|
295
|
-
}
|
|
296
|
-
function printHelp() {
|
|
297
|
-
console.log((0, ui_1.gray)([
|
|
298
|
-
' /help 本帮助',
|
|
299
|
-
' /model [子命令] 模型配置(list | add | use | quick | del)',
|
|
300
|
-
' /status 会话状态(模型 / context 用量 / 模式)',
|
|
301
|
-
' /tools 工具列表',
|
|
302
|
-
' /thinking [on|off] 思考模式开关',
|
|
303
|
-
' /plan /agent 切换 Plan / Agent 模式',
|
|
304
|
-
' /clear /compact 清空 / 压缩上下文(core 系统命令)',
|
|
305
|
-
' /exit 退出',
|
|
306
|
-
' @文件路径 引用文件;其余输入直接发给 agent;Esc 中断当前轮',
|
|
307
|
-
].join('\n')));
|
|
308
|
-
}
|
|
309
|
-
async function handleInput(input) {
|
|
310
|
-
if (!input)
|
|
311
|
-
return void promptLoop();
|
|
312
|
-
const [cmd, ...rest] = input.split(/\s+/);
|
|
313
|
-
switch (cmd) {
|
|
314
|
-
case '/exit':
|
|
315
|
-
case '/quit':
|
|
316
|
-
case '/q':
|
|
317
|
-
return shutdown();
|
|
318
|
-
case '/help':
|
|
319
|
-
printHelp();
|
|
320
|
-
return void promptLoop();
|
|
321
|
-
case '/model':
|
|
322
|
-
await (0, modelWizard_1.modelCommand)(core, rest, ask);
|
|
323
|
-
return void promptLoop();
|
|
324
|
-
case '/status': {
|
|
325
|
-
const md = await core.getModelData().catch(() => null);
|
|
326
|
-
console.log((0, ui_1.gray)(` session ${sessionId}`));
|
|
327
|
-
console.log((0, ui_1.gray)(` cwd ${cwd}`));
|
|
328
|
-
console.log((0, ui_1.gray)(` model main=${md?.taskConfig.main ?? '-'} quick=${md?.taskConfig.quick ?? '-'}`));
|
|
329
|
-
console.log((0, ui_1.gray)(` context ${lastUsage ? `${lastUsage.useTokens} / ${lastUsage.maxTokens} tokens` : '-'}`));
|
|
330
|
-
console.log((0, ui_1.gray)(` mode ${mode} thinking=${thinkingEnabled ? 'on' : 'off'}`));
|
|
331
|
-
return void promptLoop();
|
|
332
|
-
}
|
|
333
|
-
case '/tools': {
|
|
334
|
-
core.getToolInfos().forEach((t) => console.log((0, ui_1.gray)(` ${t.status === 'enable' ? '●' : '○'} ${t.name}`)));
|
|
335
|
-
return void promptLoop();
|
|
336
|
-
}
|
|
337
|
-
case '/thinking': {
|
|
338
|
-
thinkingEnabled = rest[0] ? rest[0] === 'on' : !thinkingEnabled;
|
|
339
|
-
core.updateThinking(thinkingEnabled);
|
|
340
|
-
console.log((0, ui_1.gray)(` thinking ${thinkingEnabled ? 'on' : 'off'}`));
|
|
341
|
-
return void promptLoop();
|
|
342
|
-
}
|
|
343
|
-
case '/plan':
|
|
344
|
-
mode = 'Plan';
|
|
345
|
-
core.updateAgentMode('Plan');
|
|
346
|
-
console.log((0, ui_1.magenta)(' 已切换 Plan 模式(只读规划,完成后确认进入编辑)'));
|
|
347
|
-
return void promptLoop();
|
|
348
|
-
case '/agent':
|
|
349
|
-
mode = 'Agent';
|
|
350
|
-
core.updateAgentMode('Agent');
|
|
351
|
-
console.log((0, ui_1.gray)(' 已切换 Agent 模式'));
|
|
352
|
-
return void promptLoop();
|
|
353
|
-
default:
|
|
354
|
-
// 含 /clear /compact(core 系统命令)与 ~/.atomix/commands、<cwd>/.sema/commands 自定义命令
|
|
355
|
-
core.processUserInput(input);
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
// ===== 启动 =====
|
|
359
|
-
console.log((0, ui_1.bold)('◆ atomix') + (0, ui_1.gray)(` v${VERSION}`));
|
|
360
|
-
console.log((0, ui_1.gray)(` cwd ${cwd}`));
|
|
361
|
-
console.log((0, ui_1.gray)(` root ${(0, paths_1.getAtomixRoot)()}`));
|
|
362
|
-
const ok = await (0, modelWizard_1.ensureModelConfigured)(core, ask);
|
|
363
|
-
if (!ok) {
|
|
364
|
-
console.log((0, ui_1.red)('未完成模型配置,退出。'));
|
|
365
|
-
rl.close();
|
|
366
|
-
process.exit(1);
|
|
367
|
-
}
|
|
368
|
-
const md = await core.getModelData();
|
|
369
|
-
console.log((0, ui_1.gray)(` model ${md.taskConfig.main}`));
|
|
370
|
-
await new Promise((resolve) => {
|
|
371
|
-
core.once('session:ready', (d) => {
|
|
372
|
-
sessionId = d.sessionId;
|
|
373
|
-
lastUsage = d.usage;
|
|
374
|
-
if (d.projectInputHistory?.length) {
|
|
375
|
-
// readline history:最近的在前
|
|
376
|
-
rl.history = [...d.projectInputHistory].reverse();
|
|
377
|
-
}
|
|
378
|
-
resolve();
|
|
379
|
-
});
|
|
380
|
-
void core.createSession();
|
|
381
|
-
});
|
|
382
|
-
console.log((0, ui_1.gray)(` session ${sessionId} 就绪,/help 查看命令,Esc 中断,Ctrl+C 退出`));
|
|
383
|
-
void promptLoop();
|
|
384
|
-
}
|
|
385
|
-
//# sourceMappingURL=repl.js.map
|
package/dist/repl.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDA,8BAmWC;AAxZD;;;;;;;GAOG;AACH,mDAAqC;AACrC,yCAAqC;AAuBrC,mCAAuC;AACvC,mCAAwC;AACxC,mCAAyC;AACzC,+CAAoE;AACpE,6BAYc;AAEd,MAAM,IAAI,GAAG,MAAM,CAAC;AACpB,MAAM,OAAO,GAAG,OAAO,CAAC;AAEjB,KAAK,UAAU,SAAS,CAAC,GAAW;IACzC,MAAM,IAAI,GAAG,IAAI,oBAAQ,CAAC;QACxB,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,IAAA,sBAAc,GAAE;QAC1B,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,oBAAY;QACtB,sBAAsB,EAAE,KAAK,EAAE,kBAAkB;QACjD,YAAY,EAAE,4EAA4E;KAC3F,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,6DAA6D;IAC7D,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAClB,QAAQ,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,YAAY;YAAE,KAAK,QAAQ,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,sDAAsD;IACtD,oDAAoD;IACpD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CACxB,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QAC9B,IAAI,QAAQ;YAAE,OAAO,CAAC,6BAA6B;QACnD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC;YAC1C,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEL,mBAAmB;IACnB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,IAAI,GAAqB,OAAO,CAAC;IACrC,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,SAAS,GAAiB,IAAI,CAAC;IAEnC,iDAAiD;IACjD,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACzC,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,IAAI,UAAU;YAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACnB,IAAI,UAAU;YAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;;YACnC,KAAK,QAAQ,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,QAAQ;QACrB,YAAY,GAAG,IAAI,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,OAAO,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ;YAAE,EAAE,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sBAAsB;IAEtB,IAAI,CAAC,EAAE,CAAkB,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACrD,UAAU,GAAG,KAAK,KAAK,YAAY,CAAC;QACpC,IAAI,KAAK,KAAK,MAAM;YAAE,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAoB,wBAAwB,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACjE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,SAAI,EAAC,eAAe,CAAC,CAAC,CAAC;YAC5C,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,QAAG,EAAC,IAAA,SAAI,EAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAgB,oBAAoB,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACzD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,aAAa,GAAG,KAAK,CAAC;QACxB,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAsB,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE;QACrD,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO;QAC/B,aAAa,GAAG,KAAK,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAA4B,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE;QAClE,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,IAAA,aAAQ,EAAC,OAAO,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAyB,sBAAsB,EAAE,CAAC,CAAC,EAAE,EAAE;QAC5D,OAAO,CAAC,GAAG,CAAC,IAAA,QAAG,EAAC,IAAA,aAAQ,EAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,kDAAkD;IAClD,IAAI,CAAC,EAAE,CAA4B,yBAAyB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACxE,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,WAAM,EAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAA,SAAI,EAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5F,OAAO,CAAC,GAAG,CAAC,IAAA,4BAAuB,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAA,WAAM,EAAC,2CAA2C,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpF,MAAM,GAAG,GAA2B,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;QACrH,IAAI,CAAC,uBAAuB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,IAAI,CAAC,EAAE,CAAyB,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAClE,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,SAAI,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC/E,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACzB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,SAAI,EAAC,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC7F,CAAC;YACF,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YACzD,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAA,SAAI,EAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,GAAG;iBACd,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,OAAO,CAAC;iBACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACpB,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,CAAC,CAAC,CAAC;YACL,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,IAAI,CAAC,EAAE,CAAkB,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACnD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,SAAI,EAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjC,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACnD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,QAAQ,CAAC;gBACd,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACrE,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAA,SAAI,EAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC1D,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBACtB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;wBACX,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;oBACvG,MAAM;gBACR,CAAC;gBACD,KAAK,aAAa,CAAC,CAAC,CAAC;oBACnB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACrE,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAA,SAAI,EAAC,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC/D,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG;yBAChB,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;yBAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;yBACrE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACtC,MAAM;gBACR,CAAC;gBACD,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAA,SAAI,EAAC,KAAK,KAAK,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBACrG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBACjE,MAAM;gBACR,CAAC;gBACD,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAA,SAAI,EAAC,KAAK,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC9G,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACrD,MAAM;gBACR,CAAC;gBACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,sBAAsB,CAAC,CAAC,CAAC;oBAC1C,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC7B,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,yBAAyB;oBACzB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC;oBACtB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAA,SAAI,EAAC,KAAK,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;oBACxE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,YAAY;IACZ,IAAI,CAAC,EAAE,CAAsB,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5D,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,YAAO,EAAC,YAAY,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,IAAA,aAAQ,EAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,YAAY,YAAY,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC1F,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAA,YAAO,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;QAChH,IAAI,GAAG,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAkB,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE;QACjD,IAAI,CAAC,KAAK,EAAE,MAAM;YAAE,OAAO;QAC3B,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,WAAW,CAAC,CAAC,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAA,UAAK,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,IAAA,WAAM,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,SAAI,EAAC,GAAG,CAAC,CAAC;YAC1G,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAwB,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE;QACzD,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAmB,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;QAC/C,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,eAAe,CAAC,CAAC,YAAY,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAkB,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE;QAC7C,IAAI,CAAC,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,IAAA,QAAG,EAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;;YAEnD,OAAO,CAAC,GAAG,CACT,IAAA,SAAI,EAAC,UAAU,CAAC,CAAC,WAAW,MAAM,CAAC,CAAC,YAAY,eAAe,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CACpG,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAqB,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE;QACpD,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,WAAW,CAAC,CAAC,aAAa,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAmB,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE;QAChD,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAyB,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE;QAC3D,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAA,WAAM,EAAC,SAAS,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAmB,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;QAC/C,OAAO,CAAC,GAAG,CAAC,IAAA,QAAG,EAAC,aAAa,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,mBAAmB;IAEnB,SAAS,SAAS;QAChB,MAAM,KAAK,GAAG,IAAA,mBAAc,EAAC,SAAS,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,YAAO,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,IAAA,SAAI,EAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,IAAI,IAAA,SAAI,EAAC,GAAG,CAAC,GAAG,CAAC;IAClF,CAAC;IAED,KAAK,UAAU,UAAU;QACvB,IAAI,SAAS,IAAI,UAAU;YAAE,OAAO;QACpC,SAAS,GAAG,IAAI,CAAC;QACjB,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,SAAS,GAAG,KAAK,CAAC;QAClB,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,SAAS,SAAS;QAChB,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EACd;YACE,4BAA4B;YAC5B,0DAA0D;YAC1D,mDAAmD;YACnD,6BAA6B;YAC7B,+BAA+B;YAC/B,2CAA2C;YAC3C,8CAA8C;YAC9C,2BAA2B;YAC3B,uCAAuC;SACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,WAAW,CAAC,KAAa;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,UAAU,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,IAAI;gBACP,OAAO,QAAQ,EAAE,CAAC;YACpB,KAAK,OAAO;gBACV,SAAS,EAAE,CAAC;gBACZ,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,KAAK,QAAQ;gBACX,MAAM,IAAA,0BAAY,EAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBACpC,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,cAAc,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,mBAAmB,EAAE,EAAE,UAAU,CAAC,IAAI,IAAI,GAAG,WAAW,EAAE,EAAE,UAAU,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;gBACzG,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,cAAc,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,MAAM,SAAS,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC9G,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,cAAc,IAAI,cAAc,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACpF,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,KAAK,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1G,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;gBAChE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,cAAc,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAClE,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,CAAC;YACD,KAAK,OAAO;gBACV,IAAI,GAAG,MAAM,CAAC;gBACd,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,IAAA,YAAO,EAAC,+BAA+B,CAAC,CAAC,CAAC;gBACtD,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,KAAK,QAAQ;gBACX,IAAI,GAAG,OAAO,CAAC;gBACf,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,gBAAgB,CAAC,CAAC,CAAC;gBACpC,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B;gBACE,8EAA8E;gBAC9E,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,iBAAiB;IAEjB,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,UAAU,CAAC,GAAG,IAAA,SAAI,EAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,UAAU,IAAA,qBAAa,GAAE,EAAE,CAAC,CAAC,CAAC;IAE/C,MAAM,EAAE,GAAG,MAAM,IAAA,mCAAqB,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,IAAA,QAAG,EAAC,aAAa,CAAC,CAAC,CAAC;QAChC,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEnD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,IAAI,CAAC,IAAI,CAAmB,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;YACjD,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;YACxB,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;YACpB,IAAI,CAAC,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC;gBAClC,yBAAyB;gBACxB,EAAuC,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1F,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,IAAA,SAAI,EAAC,aAAa,SAAS,iCAAiC,CAAC,CAAC,CAAC;IAC3E,KAAK,UAAU,EAAE,CAAC;AACpB,CAAC"}
|
package/dist/tools.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ATOMIX_TOOLS = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* atomix 工具白名单 = sema-core 全部内置工具去掉 LaunchUI。
|
|
6
|
-
*
|
|
7
|
-
* LaunchUI 是面向 web 工作台(workbench 面板)的展示型工具,终端没有渲染面,
|
|
8
|
-
* 直接从白名单排除(dev-plan §4)。FormUI 保留——终端可渲染其大部分字段类型。
|
|
9
|
-
*
|
|
10
|
-
* 注意:sema-core 无运行时工具注册 API,此列表需与其 getBuiltinTools() 保持同步
|
|
11
|
-
* (src/tools/base/tools.ts),升级 vendor 包时检查。
|
|
12
|
-
*/
|
|
13
|
-
exports.ATOMIX_TOOLS = [
|
|
14
|
-
'Bash',
|
|
15
|
-
'Glob',
|
|
16
|
-
'Grep',
|
|
17
|
-
'Read',
|
|
18
|
-
'Write',
|
|
19
|
-
'Edit',
|
|
20
|
-
'TodoWrite',
|
|
21
|
-
'Skill',
|
|
22
|
-
'Task',
|
|
23
|
-
'NotebookEdit',
|
|
24
|
-
'AskUser',
|
|
25
|
-
'FormUI',
|
|
26
|
-
'ToolSearch',
|
|
27
|
-
];
|
|
28
|
-
//# sourceMappingURL=tools.js.map
|
package/dist/tools.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACU,QAAA,YAAY,GAAG;IAC1B,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,WAAW;IACX,OAAO;IACP,MAAM;IACN,cAAc;IACd,SAAS;IACT,QAAQ;IACR,YAAY;CACb,CAAC"}
|
package/dist/ui.js
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.dim = exports.bold = exports.cyan = exports.magenta = exports.blue = exports.yellow = exports.green = exports.red = exports.gray = void 0;
|
|
4
|
-
exports.truncate = truncate;
|
|
5
|
-
exports.colorizeDiff = colorizeDiff;
|
|
6
|
-
exports.formatContent = formatContent;
|
|
7
|
-
exports.renderPermissionContent = renderPermissionContent;
|
|
8
|
-
exports.usageIndicator = usageIndicator;
|
|
9
|
-
const wrap = (code) => (s) => `\x1b[${code}m${s}\x1b[0m`;
|
|
10
|
-
exports.gray = wrap('90');
|
|
11
|
-
exports.red = wrap('31');
|
|
12
|
-
exports.green = wrap('32');
|
|
13
|
-
exports.yellow = wrap('33');
|
|
14
|
-
exports.blue = wrap('34');
|
|
15
|
-
exports.magenta = wrap('35');
|
|
16
|
-
exports.cyan = wrap('36');
|
|
17
|
-
exports.bold = wrap('1');
|
|
18
|
-
exports.dim = wrap('2');
|
|
19
|
-
function truncate(s, n) {
|
|
20
|
-
if (s.length <= n)
|
|
21
|
-
return s;
|
|
22
|
-
return s.slice(0, n) + (0, exports.gray)(` …(+${s.length - n} chars)`);
|
|
23
|
-
}
|
|
24
|
-
/** 对 diff 风格文本按行着色(+ 绿 / - 红),并统一缩进 */
|
|
25
|
-
function colorizeDiff(text, indent = ' ') {
|
|
26
|
-
return text
|
|
27
|
-
.split('\n')
|
|
28
|
-
.map((line) => {
|
|
29
|
-
if (line.startsWith('+'))
|
|
30
|
-
return indent + (0, exports.green)(line);
|
|
31
|
-
if (line.startsWith('-'))
|
|
32
|
-
return indent + (0, exports.red)(line);
|
|
33
|
-
return indent + (0, exports.gray)(line);
|
|
34
|
-
})
|
|
35
|
-
.join('\n');
|
|
36
|
-
}
|
|
37
|
-
/** 权限/工具内容通用格式化:对象转 JSON,超长截断 */
|
|
38
|
-
function formatContent(content, maxLen = 3000) {
|
|
39
|
-
const text = typeof content === 'string' ? content : JSON.stringify(content, null, 2);
|
|
40
|
-
return truncate(text, maxLen);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* 权限卡内容渲染:
|
|
44
|
-
* - Edit/Write 的 content 是 { type, patch: [{lines}], diffText } 结构 → 按 diff 着色渲染
|
|
45
|
-
* - 其他字符串(如 Bash 命令说明,可能含 diff 行)→ 整体 diff 着色
|
|
46
|
-
* - 兜底:JSON 展示
|
|
47
|
-
*/
|
|
48
|
-
function renderPermissionContent(content, maxLen = 4000) {
|
|
49
|
-
if (typeof content === 'string')
|
|
50
|
-
return colorizeDiff(truncate(content, maxLen));
|
|
51
|
-
const patch = content.patch;
|
|
52
|
-
if (Array.isArray(patch) && patch.length) {
|
|
53
|
-
const rendered = patch
|
|
54
|
-
.map((hunk) => {
|
|
55
|
-
const header = (0, exports.gray)(` @@ ${hunk.oldStart ?? ''} → ${hunk.newStart ?? ''} @@`);
|
|
56
|
-
const body = colorizeDiff((hunk.lines ?? []).filter((l) => !l.startsWith('\\')).join('\n'), ' ');
|
|
57
|
-
return `${header}\n${body}`;
|
|
58
|
-
})
|
|
59
|
-
.join('\n');
|
|
60
|
-
return truncate(rendered, maxLen);
|
|
61
|
-
}
|
|
62
|
-
const diffText = content.diffText;
|
|
63
|
-
if (typeof diffText === 'string' && diffText.trim())
|
|
64
|
-
return colorizeDiff(truncate(diffText, maxLen));
|
|
65
|
-
return (0, exports.gray)(' ' + formatContent(content, maxLen).split('\n').join('\n '));
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* context 用量指示:百分比 + 颜色分档。
|
|
69
|
-
* sema-core 自动压缩阈值为 contextLength 的 75%(compact.ts),
|
|
70
|
-
* >=70% 红色预警(接近触发压缩),>=45% 黄色,其余灰色。
|
|
71
|
-
*/
|
|
72
|
-
function usageIndicator(usage) {
|
|
73
|
-
if (!usage || !usage.maxTokens)
|
|
74
|
-
return '';
|
|
75
|
-
const pct = Math.min(100, Math.round((usage.useTokens / usage.maxTokens) * 100));
|
|
76
|
-
const text = `ctx ${pct}%`;
|
|
77
|
-
if (pct >= 70)
|
|
78
|
-
return (0, exports.red)(text);
|
|
79
|
-
if (pct >= 45)
|
|
80
|
-
return (0, exports.yellow)(text);
|
|
81
|
-
return (0, exports.gray)(text);
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=ui.js.map
|
package/dist/ui.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|