@iola_adm/iola-cli 0.1.96 → 0.1.98

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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/cli.js +13 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iola_adm/iola-cli",
3
- "version": "0.1.96",
3
+ "version": "0.1.98",
4
4
  "description": "CLI и AI-агент городского округа Йошкар-Ола.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/adm-iola/iola-cli#readme",
package/src/cli.js CHANGED
@@ -900,6 +900,7 @@ async function startAgentRawInput() {
900
900
  } finally {
901
901
  clearAgentInputArea(state);
902
902
  clearAgentStatusBar(state);
903
+ finishAgentTerminalLine();
903
904
  if (!wasRaw) input.setRawMode(false);
904
905
  input.pause();
905
906
  }
@@ -1424,6 +1425,11 @@ function clearAgentStatusBar(state) {
1424
1425
  state.statusRows = 0;
1425
1426
  }
1426
1427
 
1428
+ function finishAgentTerminalLine() {
1429
+ if (!output.isTTY) return;
1430
+ output.write("\r\x1b[0K\n");
1431
+ }
1432
+
1427
1433
  function startActivityIndicator(label = "работаю") {
1428
1434
  const doneLabel = "готово";
1429
1435
  if (!output.isTTY || process.env.NO_COLOR === "1") {
@@ -6499,6 +6505,13 @@ function buildCasualDirectAnswer(question) {
6499
6505
  if (/^(кто ты|что ты|какая ты модель|что ты за модель|что за модель|какая модель|назови модель|ты какая модель|ты кто)([?.!\s]*)$/iu.test(normalized)) {
6500
6506
  return "Я IOLA, первая городская модель искусственного интеллекта Йошкар-Олы. Работаю локально в CLI и отвечаю по открытым городским данным через проверяемые слои и API.";
6501
6507
  }
6508
+ if (/^(что ты умеешь|что умеешь|что можешь|чем можешь помочь|какие у тебя возможности|твои возможности)([?.!\s]*)$/iu.test(normalized)) {
6509
+ return [
6510
+ "Я помогаю работать с открытыми городскими данными Йошкар-Олы.",
6511
+ "Умею искать школы и детские сады, находить адреса, телефоны, сайты, email и ИНН, проверять сведения через слои данных и API, а также готовить простые списки и выгрузки.",
6512
+ "Если данных нет в открытом слое, я скажу об этом прямо.",
6513
+ ].join("\n");
6514
+ }
6502
6515
  if (/^(привет|здравствуй|здравствуйте|добрый день|доброе утро|добрый вечер|hi|hello|hey)([!.?\s]+(как дела|как ты|что нового)[?.!\s]*)?$/iu.test(normalized)) {
6503
6516
  return "Привет. Работаю нормально. Могу помочь с открытыми данными Йошкар-Олы: школами, детскими садами, адресами, телефонами, сайтами и ИНН.";
6504
6517
  }