layero 0.11.13 → 0.11.14

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.
@@ -438,12 +438,12 @@ export async function dataGrantCmd(object, opts) {
438
438
  console.log(planLines(done).join("\n"));
439
439
  console.log(`\n${chalk.green("✓")} доступ изменён`);
440
440
  }
441
- // Что снимает переприменение (сверено с агентом узла 25.10.2026,
442
- // `runtime/userdb-agent/agent.py`, `api_enable`): права на таблицы и USAGE на
443
- // `public` у существующих ролей СОХРАНЯЮТСЯ (с T-20260914-3 снимается только у
444
- // роли, созданной этим же включением; USAGE на `public` выдаётся с 25.10).
445
- // Снимаются только умолчания, которые сами открывали ролям НОВЫЕ таблицы.
446
- const REPAIR_LOSS = "умолчания, которые сами открывали ролям Data API новые таблицы, будут сняты; уже выданные права на таблицы сохранятся";
441
+ // Что делает переприменение (сверено с агентом узла 26.10.2026,
442
+ // `runtime/userdb-agent/agent.py`, `api_enable` и `supabase_parity`): роли
443
+ // Data API и их пароли заводятся заново, права по умолчанию на `public` — как у
444
+ // Supabase (T-20261025-32). Выданные и закрытые владельцем права на таблицы
445
+ // СОХРАНЯЮТСЯ: разовые шаги перехода повторно не выполняются.
446
+ const REPAIR_LOSS = "роли Data API и права по умолчанию будут переприменены (как в Supabase); выданные и закрытые вами права на таблицы сохранятся";
447
447
  /**
448
448
  * Включение Data API.
449
449
  *
@@ -495,6 +495,8 @@ export async function dataEnableCmd(opts) {
495
495
  public_key: publicKey,
496
496
  secret_key: secretKey,
497
497
  reapplied,
498
+ // Итог включения словами: какие таблицы открыты, какие без RLS закрыты.
499
+ warnings: res.warnings ?? [],
498
500
  ...(publicKey || secretKey
499
501
  ? { next_action: "ключи показаны один раз — сохраните их сейчас. Публичный потом: layero data env " +
500
502
  `(у подключённого проекта) или новый: layero data keys issue --db ${shellArg(ref)}; ` +
@@ -507,9 +509,10 @@ export async function dataEnableCmd(opts) {
507
509
  // агент снимает права только в `public`, уровни в `api` и `app` остаются.
508
510
  console.log(reapplied
509
511
  ? `${chalk.green("✓")} Data API переприменён у базы «${db.name}»\n` +
510
- chalk.yellow(" Выданные права на таблицы сохранились. Сняты только умолчания, которые сами открывали " +
511
- "новые таблицы ролям Data API: новые таблицы открывайте явно — layero data grant")
512
+ chalk.yellow(" Выданные права на таблицы сохранились, права по умолчанию — как в Supabase")
512
513
  : `${chalk.green("✓")} Data API включён у базы «${db.name}»`);
514
+ for (const w of res.warnings ?? [])
515
+ console.log(chalk.yellow(`\n ⚠ ${w}`));
513
516
  if (publicKey)
514
517
  console.log(`\n публичный ключ: ${publicKey}`);
515
518
  if (secretKey) {
@@ -519,7 +522,8 @@ export async function dataEnableCmd(opts) {
519
522
  if (!publicKey && !secretKey)
520
523
  console.log(chalk.dim(` ключи уже были — список: layero data keys list --db ${ref}`));
521
524
  if (!reapplied) {
522
- console.log(chalk.dim("\n Все методы закрыты, пока вы их не откроете: layero data methods, затем layero data grant"));
525
+ console.log(chalk.dim("\n Как в Supabase: новые таблицы public открыты ролям, строки решает RLS — включайте его у " +
526
+ "каждой таблицы. Что открыто: layero data methods"));
523
527
  }
524
528
  }
525
529
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "layero",
3
- "version": "0.11.13",
3
+ "version": "0.11.14",
4
4
  "description": "Layero CLI — deploy a directory or a repo to hosting with build servers in Russia. JSON events and exit codes for AI agents and CI.",
5
5
  "license": "MIT",
6
6
  "type": "module",