@iola_adm/iola-cli 0.1.34 → 0.1.35

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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # iola-cli
4
4
 
5
- CLI и AI-агент для работы с открытыми данными городского округа "Город Йошкар-Ола".
5
+ CLI и AI-агент городского округа "Город Йошкар-Ола".
6
6
 
7
7
  Подробная документация: [GitHub Wiki](https://github.com/adm-iola/iola-cli/wiki).
8
8
 
@@ -37,6 +37,15 @@ npx -y @iola_adm/iola-cli
37
37
 
38
38
  При первом запуске `iola` открывает мастер настройки, затем запускает интерактивный агент. Короткая справка: `iola help`, полный список команд: `iola commands`.
39
39
 
40
+ Повторный запуск мастера:
41
+
42
+ ```bash
43
+ iola wizard
44
+ iola setup wizard
45
+ ```
46
+
47
+ Мастер обновляет только выбранные разделы и не сбрасывает остальные настройки.
48
+
40
49
  Основные команды:
41
50
 
42
51
  ```bash
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@iola_adm/iola-cli",
3
- "version": "0.1.34",
4
- "description": "CLI и AI-агент для работы с открытыми данными городского округа Йошкар-Ола.",
3
+ "version": "0.1.35",
4
+ "description": "CLI и AI-агент городского округа Йошкар-Ола.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/adm-iola/iola-cli#readme",
7
7
  "repository": {
package/src/cli.js CHANGED
@@ -271,7 +271,7 @@ const BANNER = `\x1b[38;5;45m┌────────────────
271
271
  │\x1b[38;5;51m | |___| |___ | |_____| __/| _ <| |_| | |___| . \\ | | \x1b[38;5;45m│
272
272
  │\x1b[38;5;51m \\____|_____|___| |_| |_| \\_\\\\___/|_____|_|\\_\\ |_| \x1b[38;5;45m│
273
273
  │ │
274
- │\x1b[38;5;213m Й О Ш К А Р - О Л Ы \x1b[38;5;45m│
274
+ │\x1b[38;5;213m C L I - Й О Ш К А Р - О Л А \x1b[38;5;45m│
275
275
  │ │
276
276
  │\x1b[38;5;250m открытые данные • MCP • локальный AI \x1b[38;5;45m│
277
277
  │ │
@@ -353,6 +353,7 @@ const COMMANDS = new Map([
353
353
  ["mcp-info", showMcpInfo],
354
354
  ["setup", setupClient],
355
355
  ["onboard", onboard],
356
+ ["wizard", onboard],
356
357
  ]);
357
358
 
358
359
  export async function main(argv) {
@@ -405,11 +406,11 @@ export async function main(argv) {
405
406
 
406
407
  async function showHelp() {
407
408
  showBanner();
408
- console.log(`iola - локальный CLI и AI-агент для данных городского округа "Город Йошкар-Ола"
409
+ console.log(`iola - CLI и AI-агент городского округа "Город Йошкар-Ола"
409
410
 
410
411
  Запуск:
411
412
  iola открыть интерактивный агент
412
- iola onboard мастер настройки
413
+ iola wizard мастер настройки
413
414
  iola ask "найди школу 29" задать вопрос
414
415
  iola search "Петрова" поиск по открытым данным
415
416
 
@@ -533,6 +534,7 @@ Usage:
533
534
  iola mcp-info [--json]
534
535
  iola setup codex
535
536
  iola onboard
537
+ iola wizard
536
538
  iola version
537
539
 
538
540
  Environment:
@@ -960,6 +962,8 @@ async function handleAgentLine(line, state) {
960
962
  search: ["search", args],
961
963
  "mcp-info": ["mcp-info", args],
962
964
  setup: ["setup", args],
965
+ wizard: ["wizard", args],
966
+ onboard: ["onboard", args],
963
967
  }[command];
964
968
 
965
969
  if (!mapped) {
@@ -978,6 +982,7 @@ function printAgentHelp() {
978
982
  /help
979
983
  /health
980
984
  /doctor
985
+ /wizard
981
986
  /db status
982
987
  /sessions
983
988
  /resume SESSION_ID
@@ -1097,12 +1102,13 @@ function safePrompt(rl, closed = false) {
1097
1102
  }
1098
1103
 
1099
1104
  function showBanner() {
1105
+ const version = getPackageVersion();
1100
1106
  if (process.stdout.isTTY && process.env.NO_COLOR !== "1") {
1101
- console.log(BANNER);
1107
+ console.log(BANNER.replace("> iola help", `v${version} • iola help`));
1102
1108
  return;
1103
1109
  }
1104
1110
 
1105
- console.log("CLI-ПРОЕКТ ЙОШКАР-ОЛЫ");
1111
+ console.log(`CLI-ЙОШКАР-ОЛА v${version}`);
1106
1112
  console.log("открытые данные • MCP • локальный AI");
1107
1113
  }
1108
1114
 
@@ -6314,10 +6320,15 @@ async function searchAll(args) {
6314
6320
  }
6315
6321
 
6316
6322
  async function setupClient(args) {
6317
- const [client] = args;
6323
+ const [client, ...rest] = args;
6324
+
6325
+ if (client === "wizard" || client === "onboard") {
6326
+ await onboard(rest);
6327
+ return;
6328
+ }
6318
6329
 
6319
6330
  if (client !== "codex") {
6320
- throw new Error('Only "iola setup codex" is available in this first release.');
6331
+ throw new Error('Доступно: iola setup codex, iola setup wizard.');
6321
6332
  }
6322
6333
 
6323
6334
  await runCommand("codex", ["mcp", "add", "yoshkarOlaPublicData", "--url", `${await getMcpBaseUrl()}/mcp`], { inherit: true });
@@ -6328,6 +6339,9 @@ async function setupClient(args) {
6328
6339
  async function onboard(args = []) {
6329
6340
  const options = parseOptions(args);
6330
6341
  showBanner();
6342
+ console.log("Мастер настройки iola-cli.");
6343
+ console.log("Повторный запуск обновляет только выбранные разделы и не сбрасывает остальные настройки.");
6344
+ console.log("");
6331
6345
  initDatabase();
6332
6346
  await handleConfig(["validate"]);
6333
6347
  await doctor(["--summary"]);
@@ -6360,6 +6374,16 @@ async function onboard(args = []) {
6360
6374
  await aiSetup(["codex"]);
6361
6375
  }
6362
6376
  if (components.includes("codex-mcp")) await setupClient(["codex"]);
6377
+ if (components.includes("browser")) {
6378
+ const status = await getBrowserStatus();
6379
+ if (status.installed === "yes") console.log("Browser runtime уже установлен.");
6380
+ else await installBrowserRuntime();
6381
+ }
6382
+ if (components.includes("gosuslugi")) {
6383
+ await handleGosuslugi(["terms"]);
6384
+ if (process.stdin.isTTY) await handleGosuslugi(["consent"]);
6385
+ console.log("Параметры подключения можно указать командой: iola gosuslugi configure --auth-url URL --token-url URL --client-id ID --scope openid");
6386
+ }
6363
6387
  if (components.includes("index")) {
6364
6388
  await setFilesMode("read-only", await loadConfig());
6365
6389
  console.log("Индекс документов можно запустить командой: iola index folder ./docs");
@@ -6380,6 +6404,8 @@ async function chooseOnboardComponents() {
6380
6404
  console.log("6. Codex CLI");
6381
6405
  console.log("7. MCP для Codex");
6382
6406
  console.log("8. Индекс локальных документов");
6407
+ console.log("9. Browser runtime");
6408
+ console.log("10. Личное подключение Госуслуг");
6383
6409
  console.log("");
6384
6410
  const rl = readline.createInterface({ input, output });
6385
6411
  try {
@@ -6394,6 +6420,8 @@ async function chooseOnboardComponents() {
6394
6420
  6: "codex",
6395
6421
  7: "codex-mcp",
6396
6422
  8: "index",
6423
+ 9: "browser",
6424
+ 10: "gosuslugi",
6397
6425
  };
6398
6426
  return [...selected].map((item) => map[item] || item).filter(Boolean);
6399
6427
  } finally {
package/wiki/Home.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # iola-cli
2
2
 
3
- `iola-cli` - терминальный инструмент и AI-агент для работы с открытыми данными городского округа "Город Йошкар-Ола".
3
+ `iola-cli` - CLI и AI-агент городского округа "Город Йошкар-Ола".
4
4
 
5
5
  Основные сценарии:
6
6
 
@@ -31,6 +31,15 @@ iola help
31
31
  iola commands
32
32
  ```
33
33
 
34
+ Повторный запуск мастера:
35
+
36
+ ```bash
37
+ iola wizard
38
+ iola setup wizard
39
+ ```
40
+
41
+ Мастер обновляет только выбранные разделы и не сбрасывает остальные настройки.
42
+
34
43
  Диагностика:
35
44
 
36
45
  ```bash
@@ -1,6 +1,6 @@
1
1
  # Платформа агента
2
2
 
3
- `iola-cli` можно использовать не только как набор команд, но и как локальную платформу агента для работы с открытыми данными городского округа "Город Йошкар-Ола".
3
+ `iola-cli` можно использовать не только как набор команд, но и как локальную платформу AI-агента городского округа "Город Йошкар-Ола".
4
4
 
5
5
  ## MCP server
6
6
 
@@ -101,4 +101,3 @@ iola review data
101
101
  iola review docs ./docs
102
102
  iola review report report.docx
103
103
  ```
104
-