@iola_adm/iola-cli 0.1.79 → 0.1.80
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 +1 -1
- package/package.json +1 -1
- package/src/cli.js +2 -10
package/README.md
CHANGED
|
@@ -151,6 +151,7 @@ iola version --check
|
|
|
151
151
|
|
|
152
152
|
## Возможности
|
|
153
153
|
|
|
154
|
+
- интеграция с публичным MCP-сервером Йошкар-Олы;
|
|
154
155
|
- поиск и выгрузка открытых данных;
|
|
155
156
|
- локальная SQLite-БД, история, сессии и FTS-поиск;
|
|
156
157
|
- AI-профили для Ollama, OpenAI, OpenRouter и Codex CLI;
|
|
@@ -171,4 +172,3 @@ iola version --check
|
|
|
171
172
|
- расширенный `iola onboard` с установкой 7-Zip, браузерного runtime, Ollama, Codex CLI и настройкой выбранных компонентов;
|
|
172
173
|
- cron-задачи, локальный daemon, web dashboard и RPC для автоматизаций;
|
|
173
174
|
- контекстные файлы `IOLA.md` и `.iola/context.md`;
|
|
174
|
-
- интеграция с публичным MCP-сервером Йошкар-Олы.
|
package/package.json
CHANGED
package/src/cli.js
CHANGED
|
@@ -774,7 +774,7 @@ async function startAgentReadline() {
|
|
|
774
774
|
}
|
|
775
775
|
|
|
776
776
|
async function startAgentRawInput() {
|
|
777
|
-
const state = { history: [], buffer: "", selected: 0, slashOffset: 0, slashOpen: false, running: false, renderedInputLines: 0, renderedLines: 0,
|
|
777
|
+
const state = { history: [], buffer: "", selected: 0, slashOffset: 0, slashOpen: false, running: false, renderedInputLines: 0, renderedLines: 0, rawMode: true, pendingOutput: "", aiStatus: null };
|
|
778
778
|
const wasRaw = input.isRaw;
|
|
779
779
|
activateRawInput(input);
|
|
780
780
|
|
|
@@ -1328,32 +1328,24 @@ function renderAgentInput(state) {
|
|
|
1328
1328
|
}
|
|
1329
1329
|
}
|
|
1330
1330
|
|
|
1331
|
-
const renderedLines = [
|
|
1331
|
+
const renderedLines = [cwdLine, ...menuLines, ...inputLines];
|
|
1332
1332
|
output.write(renderedLines.join("\n"));
|
|
1333
|
-
if (output.isTTY) {
|
|
1334
|
-
state.cursorRowsBelow = 2 + menuLines.length;
|
|
1335
|
-
output.write(`\x1b[${state.cursorRowsBelow}A`);
|
|
1336
|
-
}
|
|
1337
1333
|
if (output.isTTY) {
|
|
1338
1334
|
const cursorColumn = visibleLength(inputLines[inputLines.length - 1]);
|
|
1339
1335
|
output.write(`\x1b[${cursorColumn + 1}G`);
|
|
1340
1336
|
}
|
|
1341
1337
|
state.renderedInputLines = inputLines.length;
|
|
1342
1338
|
state.renderedLines = renderedLines.length;
|
|
1343
|
-
if (!output.isTTY) state.cursorRowsBelow = 0;
|
|
1344
1339
|
}
|
|
1345
1340
|
|
|
1346
1341
|
function clearAgentInputArea(state = null) {
|
|
1347
1342
|
if (!output.isTTY) return;
|
|
1348
1343
|
const renderedLines = Math.max(1, Number(state?.renderedLines || state?.renderedInputLines || 1));
|
|
1349
|
-
const cursorRowsBelow = Math.max(0, Number(state?.cursorRowsBelow || 0));
|
|
1350
|
-
if (cursorRowsBelow > 0) output.write(`\x1b[${cursorRowsBelow}B`);
|
|
1351
1344
|
if (renderedLines > 1) output.write(`\x1b[${renderedLines - 1}A`);
|
|
1352
1345
|
output.write("\r\x1b[0J");
|
|
1353
1346
|
if (state) {
|
|
1354
1347
|
state.renderedInputLines = 0;
|
|
1355
1348
|
state.renderedLines = 0;
|
|
1356
|
-
state.cursorRowsBelow = 0;
|
|
1357
1349
|
}
|
|
1358
1350
|
}
|
|
1359
1351
|
|