@lunora/studio 1.0.0-alpha.47 → 1.0.0-alpha.49

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 (67) hide show
  1. package/dist/index.d.ts +3 -3
  2. package/dist/index.js +2 -2
  3. package/dist/mount.d.ts +1 -1
  4. package/dist/mount.js +1 -1
  5. package/dist/packem_chunks/agents-panel.js +326 -0
  6. package/dist/packem_chunks/kv-browser.js +1 -1
  7. package/dist/packem_shared/{Studio-sfBFghzO.js → Studio-MB2VTLwI.js} +1 -1
  8. package/dist/packem_shared/{StudioApp-Ism1gXfJ.js → StudioApp-Ds6u0iY5.js} +1 -1
  9. package/dist/packem_shared/{app.d-CNLRTrWw.d.ts → app.d-Bly6zmWK.d.ts} +1 -1
  10. package/dist/packem_shared/{studio-CFC_pv0f.js → studio-Bv27fj7n.js} +602 -575
  11. package/dist/standalone/{chunk-JQ4WOPMF.js → chunk-2CCWLKQW.js} +1 -1
  12. package/dist/standalone/{chunk-EYSL7KEQ.js → chunk-2JUOJEKE.js} +1 -1
  13. package/dist/standalone/{chunk-FNQQ3B5G.js → chunk-2O4BHAHA.js} +1 -1
  14. package/dist/standalone/{chunk-7YXOPTWI.js → chunk-3GXGLNKW.js} +1 -1
  15. package/dist/standalone/{chunk-4KSX53SI.js → chunk-3JXKA6BH.js} +1 -1
  16. package/dist/standalone/chunk-4TV6S6AO.js +3 -0
  17. package/dist/standalone/{chunk-CTPCJNOP.js → chunk-5OZQHQ26.js} +1 -1
  18. package/dist/standalone/{chunk-ADP5UEHQ.js → chunk-5YPIP3G7.js} +1 -1
  19. package/dist/standalone/{chunk-Y2GJJVS5.js → chunk-6U45TJXA.js} +1 -1
  20. package/dist/standalone/{chunk-37HPVOYP.js → chunk-7LDYSHOU.js} +1 -1
  21. package/dist/standalone/{chunk-2CQ2YNER.js → chunk-A3ZJACVT.js} +1 -1
  22. package/dist/standalone/{chunk-CGGZAYGG.js → chunk-AHDVD4KF.js} +1 -1
  23. package/dist/standalone/{chunk-PL2KY6IG.js → chunk-ALTQC4S5.js} +1 -1
  24. package/dist/standalone/{chunk-QBAT52GB.js → chunk-APSSZB6Z.js} +1 -1
  25. package/dist/standalone/{chunk-HROXYAZT.js → chunk-BGG56IF5.js} +1 -1
  26. package/dist/standalone/{chunk-GSCV2N3F.js → chunk-BTODL6SI.js} +1 -1
  27. package/dist/standalone/{chunk-K2CB2CHL.js → chunk-CCRVGYTN.js} +1 -1
  28. package/dist/standalone/{chunk-CJTT4TBP.js → chunk-CDHEMVIY.js} +1 -1
  29. package/dist/standalone/{chunk-V4ECZI2R.js → chunk-CTOOUWO4.js} +1 -1
  30. package/dist/standalone/{chunk-DDE62TRL.js → chunk-ECJPFPHR.js} +1 -1
  31. package/dist/standalone/{chunk-YAECF5LW.js → chunk-EOE5NDMK.js} +1 -1
  32. package/dist/standalone/{chunk-SHK6RAFG.js → chunk-FFCUV3TZ.js} +1 -1
  33. package/dist/standalone/{chunk-SEQ43UW2.js → chunk-GA6K5WS5.js} +1 -1
  34. package/dist/standalone/{chunk-WD2LBHJZ.js → chunk-JUDPYSJZ.js} +1 -1
  35. package/dist/standalone/{chunk-CLMGPTAI.js → chunk-L4UCG6XZ.js} +1 -1
  36. package/dist/standalone/{chunk-DH4K2OLM.js → chunk-LUP4YTBS.js} +1 -1
  37. package/dist/standalone/{chunk-YSPZSTDI.js → chunk-N4TGVH2R.js} +1 -1
  38. package/dist/standalone/{chunk-YFA7NUCL.js → chunk-NH4FSHFO.js} +1 -1
  39. package/dist/standalone/{chunk-3HS3ZXFB.js → chunk-NS23QR4W.js} +1 -1
  40. package/dist/standalone/{chunk-3OZDR3RM.js → chunk-Q6356GAQ.js} +1 -1
  41. package/dist/standalone/{chunk-FKVCHCYV.js → chunk-Q7HPS6TW.js} +1 -1
  42. package/dist/standalone/{chunk-WOXVMXSQ.js → chunk-QCW4BAH5.js} +1 -1
  43. package/dist/standalone/{chunk-F4HDP4XW.js → chunk-R2HA2NVX.js} +1 -1
  44. package/dist/standalone/{chunk-F5I22A4W.js → chunk-R6H6DUPU.js} +1 -1
  45. package/dist/standalone/{chunk-XVR74IFC.js → chunk-RE4LLVPN.js} +1 -1
  46. package/dist/standalone/chunk-RYF5EUQA.js +1 -0
  47. package/dist/standalone/{chunk-VON7JUPG.js → chunk-S5NTGHCG.js} +1 -1
  48. package/dist/standalone/{chunk-LRYLU6EY.js → chunk-SDMZKBTD.js} +1 -1
  49. package/dist/standalone/{chunk-KSKXW5PX.js → chunk-SHERR7ZP.js} +1 -1
  50. package/dist/standalone/{chunk-BIBCC7EE.js → chunk-TO6D2PJC.js} +1 -1
  51. package/dist/standalone/{chunk-5UKRVDFD.js → chunk-UTHHHJYS.js} +1 -1
  52. package/dist/standalone/{chunk-KCMKEMUL.js → chunk-UWSLX56Q.js} +1 -1
  53. package/dist/standalone/{chunk-LNZIB2MD.js → chunk-V43BLH4J.js} +1 -1
  54. package/dist/standalone/{chunk-3CJW6NWG.js → chunk-VL23Y44O.js} +1 -1
  55. package/dist/standalone/{chunk-L7WR3C4Z.js → chunk-W5BAQMIE.js} +1 -1
  56. package/dist/standalone/{chunk-HVRDZZHL.js → chunk-W666BB6V.js} +1 -1
  57. package/dist/standalone/{chunk-S3Q6R7BA.js → chunk-W6JKUZKD.js} +1 -1
  58. package/dist/standalone/{chunk-WMWDJLRO.js → chunk-WK7VHQTQ.js} +1 -1
  59. package/dist/standalone/{chunk-IXDH4GL5.js → chunk-WVTPZ6CM.js} +1 -1
  60. package/dist/standalone/{chunk-TXTJPS5F.js → chunk-XGPFWZPJ.js} +1 -1
  61. package/dist/standalone/{chunk-H27CRIP3.js → chunk-XPLUSBKA.js} +1 -1
  62. package/dist/standalone/{chunk-KKD46QVN.js → chunk-ZANX3V5B.js} +1 -1
  63. package/dist/standalone/{chunk-AYANIT5P.js → chunk-ZVLQVBTM.js} +1 -1
  64. package/dist/standalone/studio.js +1 -1
  65. package/dist/styles.css +1 -1
  66. package/package.json +3 -3
  67. package/dist/standalone/chunk-IRSIK3HT.js +0 -3
@@ -1623,6 +1623,7 @@ const lazyNamed = (load, key) => /* @__PURE__ */ lazy(() => load().then((loaded)
1623
1623
  const InsightsPanel = lazyNamed(() => import('../packem_chunks/InsightsPanel.js'), "InsightsPanel");
1624
1624
  const RlsPanel = /* @__PURE__ */ lazy(() => import('../packem_chunks/rls-panel.js'));
1625
1625
  const SecurityAdvisorPanel = /* @__PURE__ */ lazy(() => import('../packem_chunks/SecurityAdvisorPanel.js'));
1626
+ const AgentsPanel = lazyNamed(() => import('../packem_chunks/agents-panel.js'), "AgentsPanel");
1626
1627
  const AnalyticsPanel = lazyNamed(() => import('../packem_chunks/analytics-panel.js'), "AnalyticsPanel");
1627
1628
  const ApiTab = /* @__PURE__ */ lazy(() => import('../packem_chunks/ApiTab.js'));
1628
1629
  const AuthConfigPanel = lazyNamed(() => import('../packem_chunks/auth-config-panel.js'), "AuthConfigPanel");
@@ -1676,6 +1677,9 @@ const TAB_ICONS = {
1676
1677
  authConfig: /* @__PURE__ */ jsxDEV("path", {
1677
1678
  d: "M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm7.4-3a7.4 7.4 0 0 0-.1-1.2l2-1.6-2-3.4-2.4 1a7.3 7.3 0 0 0-2-1.2l-.4-2.6h-3.6l-.4 2.6a7.3 7.3 0 0 0-2 1.2l-2.4-1-2 3.4 2 1.6a7.4 7.4 0 0 0 0 2.4l-2 1.6 2 3.4 2.4-1a7.3 7.3 0 0 0 2 1.2l.4 2.6h3.6l.4-2.6a7.3 7.3 0 0 0 2-1.2l2.4 1 2-3.4-2-1.6a7.4 7.4 0 0 0 .1-1.2Z"
1678
1679
  }, void 0, false),
1680
+ agents: /* @__PURE__ */ jsxDEV("path", {
1681
+ d: "M12 8V5m0 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM6 8h12a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2Zm3 5h.01M15 13h.01M9 21h6"
1682
+ }, void 0, false),
1679
1683
  authSessions: /* @__PURE__ */ jsxDEV("path", {
1680
1684
  d: "M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0-13.5V12l4 2"
1681
1685
  }, void 0, false),
@@ -1787,7 +1791,7 @@ const NAV_GROUPS = [{
1787
1791
  tabs: ["data", "sql", "schema", "migrations", "vectors", "pitr", "export"]
1788
1792
  }, {
1789
1793
  key: "functions",
1790
- tabs: ["functions", "api", "workflows", "queues", "containers"]
1794
+ tabs: ["functions", "api", "workflows", "agents", "queues", "containers"]
1791
1795
  }, {
1792
1796
  key: "auth",
1793
1797
  tabs: ["users", "organizations", "authSessions", "authConfig"]
@@ -1856,7 +1860,7 @@ const TabIcon = (t0) => {
1856
1860
  return t2;
1857
1861
  };
1858
1862
  const exhaustiveRouteTabs = (tabs) => tabs;
1859
- const TABS = exhaustiveRouteTabs(["home", "data", "sql", "functions", "api", "workflows", "queues", "containers", "schema", "migrations", "vectors", "export", "pitr", "users", "organizations", "authSessions", "authConfig", "files", "storageRules", "kv", "dashboards", "metrics", "analytics", "health", "security", "rls", "permissions", "insights", "logs", "realtime", "fanout", "mail", "payments", "audit", "schedule", "drains", "flags", "settings"]);
1863
+ const TABS = exhaustiveRouteTabs(["home", "data", "sql", "functions", "api", "workflows", "agents", "queues", "containers", "schema", "migrations", "vectors", "export", "pitr", "users", "organizations", "authSessions", "authConfig", "files", "storageRules", "kv", "dashboards", "metrics", "analytics", "health", "security", "rls", "permissions", "insights", "logs", "realtime", "fanout", "mail", "payments", "audit", "schedule", "drains", "flags", "settings"]);
1860
1864
  const FULL_HEIGHT_TABS = /* @__PURE__ */ new Set(["api", "data", "sql"]);
1861
1865
  const tabFromPathname = (pathname) => {
1862
1866
  const slug = pathname.split("/").findLast(Boolean) ?? "";
@@ -2487,7 +2491,7 @@ const RoutePending = () => {
2487
2491
  return t0;
2488
2492
  };
2489
2493
  const StudioLayout = () => {
2490
- const $ = c(294);
2494
+ const $ = c(300);
2491
2495
  const t = useT();
2492
2496
  const navigate = useNavigate();
2493
2497
  let t0;
@@ -2550,7 +2554,7 @@ const StudioLayout = () => {
2550
2554
  useEffect(t3, t4);
2551
2555
  let t5;
2552
2556
  if ($[11] !== t) {
2553
- t5 = t("Analytics");
2557
+ t5 = t("Agents");
2554
2558
  $[11] = t;
2555
2559
  $[12] = t5;
2556
2560
  } else {
@@ -2558,7 +2562,7 @@ const StudioLayout = () => {
2558
2562
  }
2559
2563
  let t6;
2560
2564
  if ($[13] !== t) {
2561
- t6 = t("API");
2565
+ t6 = t("Analytics");
2562
2566
  $[13] = t;
2563
2567
  $[14] = t6;
2564
2568
  } else {
@@ -2566,7 +2570,7 @@ const StudioLayout = () => {
2566
2570
  }
2567
2571
  let t7;
2568
2572
  if ($[15] !== t) {
2569
- t7 = t("Audit");
2573
+ t7 = t("API");
2570
2574
  $[15] = t;
2571
2575
  $[16] = t7;
2572
2576
  } else {
@@ -2574,7 +2578,7 @@ const StudioLayout = () => {
2574
2578
  }
2575
2579
  let t8;
2576
2580
  if ($[17] !== t) {
2577
- t8 = t("Configuration");
2581
+ t8 = t("Audit");
2578
2582
  $[17] = t;
2579
2583
  $[18] = t8;
2580
2584
  } else {
@@ -2582,7 +2586,7 @@ const StudioLayout = () => {
2582
2586
  }
2583
2587
  let t9;
2584
2588
  if ($[19] !== t) {
2585
- t9 = t("Sessions");
2589
+ t9 = t("Configuration");
2586
2590
  $[19] = t;
2587
2591
  $[20] = t9;
2588
2592
  } else {
@@ -2590,7 +2594,7 @@ const StudioLayout = () => {
2590
2594
  }
2591
2595
  let t10;
2592
2596
  if ($[21] !== t) {
2593
- t10 = t("Containers");
2597
+ t10 = t("Sessions");
2594
2598
  $[21] = t;
2595
2599
  $[22] = t10;
2596
2600
  } else {
@@ -2598,7 +2602,7 @@ const StudioLayout = () => {
2598
2602
  }
2599
2603
  let t11;
2600
2604
  if ($[23] !== t) {
2601
- t11 = t("Dashboards");
2605
+ t11 = t("Containers");
2602
2606
  $[23] = t;
2603
2607
  $[24] = t11;
2604
2608
  } else {
@@ -2606,7 +2610,7 @@ const StudioLayout = () => {
2606
2610
  }
2607
2611
  let t12;
2608
2612
  if ($[25] !== t) {
2609
- t12 = t("Data");
2613
+ t12 = t("Dashboards");
2610
2614
  $[25] = t;
2611
2615
  $[26] = t12;
2612
2616
  } else {
@@ -2614,7 +2618,7 @@ const StudioLayout = () => {
2614
2618
  }
2615
2619
  let t13;
2616
2620
  if ($[27] !== t) {
2617
- t13 = t("Log drains");
2621
+ t13 = t("Data");
2618
2622
  $[27] = t;
2619
2623
  $[28] = t13;
2620
2624
  } else {
@@ -2622,7 +2626,7 @@ const StudioLayout = () => {
2622
2626
  }
2623
2627
  let t14;
2624
2628
  if ($[29] !== t) {
2625
- t14 = t("Export / Import");
2629
+ t14 = t("Log drains");
2626
2630
  $[29] = t;
2627
2631
  $[30] = t14;
2628
2632
  } else {
@@ -2630,7 +2634,7 @@ const StudioLayout = () => {
2630
2634
  }
2631
2635
  let t15;
2632
2636
  if ($[31] !== t) {
2633
- t15 = t("Fan-out");
2637
+ t15 = t("Export / Import");
2634
2638
  $[31] = t;
2635
2639
  $[32] = t15;
2636
2640
  } else {
@@ -2638,7 +2642,7 @@ const StudioLayout = () => {
2638
2642
  }
2639
2643
  let t16;
2640
2644
  if ($[33] !== t) {
2641
- t16 = t("Files");
2645
+ t16 = t("Fan-out");
2642
2646
  $[33] = t;
2643
2647
  $[34] = t16;
2644
2648
  } else {
@@ -2646,7 +2650,7 @@ const StudioLayout = () => {
2646
2650
  }
2647
2651
  let t17;
2648
2652
  if ($[35] !== t) {
2649
- t17 = t("Flags");
2653
+ t17 = t("Files");
2650
2654
  $[35] = t;
2651
2655
  $[36] = t17;
2652
2656
  } else {
@@ -2654,7 +2658,7 @@ const StudioLayout = () => {
2654
2658
  }
2655
2659
  let t18;
2656
2660
  if ($[37] !== t) {
2657
- t18 = t("Functions");
2661
+ t18 = t("Flags");
2658
2662
  $[37] = t;
2659
2663
  $[38] = t18;
2660
2664
  } else {
@@ -2662,7 +2666,7 @@ const StudioLayout = () => {
2662
2666
  }
2663
2667
  let t19;
2664
2668
  if ($[39] !== t) {
2665
- t19 = t("Health");
2669
+ t19 = t("Functions");
2666
2670
  $[39] = t;
2667
2671
  $[40] = t19;
2668
2672
  } else {
@@ -2670,7 +2674,7 @@ const StudioLayout = () => {
2670
2674
  }
2671
2675
  let t20;
2672
2676
  if ($[41] !== t) {
2673
- t20 = t("Home");
2677
+ t20 = t("Health");
2674
2678
  $[41] = t;
2675
2679
  $[42] = t20;
2676
2680
  } else {
@@ -2678,7 +2682,7 @@ const StudioLayout = () => {
2678
2682
  }
2679
2683
  let t21;
2680
2684
  if ($[43] !== t) {
2681
- t21 = t("Performance");
2685
+ t21 = t("Home");
2682
2686
  $[43] = t;
2683
2687
  $[44] = t21;
2684
2688
  } else {
@@ -2686,7 +2690,7 @@ const StudioLayout = () => {
2686
2690
  }
2687
2691
  let t22;
2688
2692
  if ($[45] !== t) {
2689
- t22 = t("KV");
2693
+ t22 = t("Performance");
2690
2694
  $[45] = t;
2691
2695
  $[46] = t22;
2692
2696
  } else {
@@ -2694,7 +2698,7 @@ const StudioLayout = () => {
2694
2698
  }
2695
2699
  let t23;
2696
2700
  if ($[47] !== t) {
2697
- t23 = t("Logs");
2701
+ t23 = t("KV");
2698
2702
  $[47] = t;
2699
2703
  $[48] = t23;
2700
2704
  } else {
@@ -2702,7 +2706,7 @@ const StudioLayout = () => {
2702
2706
  }
2703
2707
  let t24;
2704
2708
  if ($[49] !== t) {
2705
- t24 = t("Metrics");
2709
+ t24 = t("Logs");
2706
2710
  $[49] = t;
2707
2711
  $[50] = t24;
2708
2712
  } else {
@@ -2710,7 +2714,7 @@ const StudioLayout = () => {
2710
2714
  }
2711
2715
  let t25;
2712
2716
  if ($[51] !== t) {
2713
- t25 = t("Migrations");
2717
+ t25 = t("Metrics");
2714
2718
  $[51] = t;
2715
2719
  $[52] = t25;
2716
2720
  } else {
@@ -2718,7 +2722,7 @@ const StudioLayout = () => {
2718
2722
  }
2719
2723
  let t26;
2720
2724
  if ($[53] !== t) {
2721
- t26 = t("Organizations");
2725
+ t26 = t("Migrations");
2722
2726
  $[53] = t;
2723
2727
  $[54] = t26;
2724
2728
  } else {
@@ -2726,7 +2730,7 @@ const StudioLayout = () => {
2726
2730
  }
2727
2731
  let t27;
2728
2732
  if ($[55] !== t) {
2729
- t27 = t("Time Travel");
2733
+ t27 = t("Organizations");
2730
2734
  $[55] = t;
2731
2735
  $[56] = t27;
2732
2736
  } else {
@@ -2734,7 +2738,7 @@ const StudioLayout = () => {
2734
2738
  }
2735
2739
  let t28;
2736
2740
  if ($[57] !== t) {
2737
- t28 = t("Mail");
2741
+ t28 = t("Time Travel");
2738
2742
  $[57] = t;
2739
2743
  $[58] = t28;
2740
2744
  } else {
@@ -2742,7 +2746,7 @@ const StudioLayout = () => {
2742
2746
  }
2743
2747
  let t29;
2744
2748
  if ($[59] !== t) {
2745
- t29 = t("Payments");
2749
+ t29 = t("Mail");
2746
2750
  $[59] = t;
2747
2751
  $[60] = t29;
2748
2752
  } else {
@@ -2750,7 +2754,7 @@ const StudioLayout = () => {
2750
2754
  }
2751
2755
  let t30;
2752
2756
  if ($[61] !== t) {
2753
- t30 = t("Permissions");
2757
+ t30 = t("Payments");
2754
2758
  $[61] = t;
2755
2759
  $[62] = t30;
2756
2760
  } else {
@@ -2758,7 +2762,7 @@ const StudioLayout = () => {
2758
2762
  }
2759
2763
  let t31;
2760
2764
  if ($[63] !== t) {
2761
- t31 = t("Queues");
2765
+ t31 = t("Permissions");
2762
2766
  $[63] = t;
2763
2767
  $[64] = t31;
2764
2768
  } else {
@@ -2766,7 +2770,7 @@ const StudioLayout = () => {
2766
2770
  }
2767
2771
  let t32;
2768
2772
  if ($[65] !== t) {
2769
- t32 = t("Realtime");
2773
+ t32 = t("Queues");
2770
2774
  $[65] = t;
2771
2775
  $[66] = t32;
2772
2776
  } else {
@@ -2774,7 +2778,7 @@ const StudioLayout = () => {
2774
2778
  }
2775
2779
  let t33;
2776
2780
  if ($[67] !== t) {
2777
- t33 = t("RLS Policies");
2781
+ t33 = t("Realtime");
2778
2782
  $[67] = t;
2779
2783
  $[68] = t33;
2780
2784
  } else {
@@ -2782,7 +2786,7 @@ const StudioLayout = () => {
2782
2786
  }
2783
2787
  let t34;
2784
2788
  if ($[69] !== t) {
2785
- t34 = t("Scheduled");
2789
+ t34 = t("RLS Policies");
2786
2790
  $[69] = t;
2787
2791
  $[70] = t34;
2788
2792
  } else {
@@ -2790,7 +2794,7 @@ const StudioLayout = () => {
2790
2794
  }
2791
2795
  let t35;
2792
2796
  if ($[71] !== t) {
2793
- t35 = t("Schema");
2797
+ t35 = t("Scheduled");
2794
2798
  $[71] = t;
2795
2799
  $[72] = t35;
2796
2800
  } else {
@@ -2798,7 +2802,7 @@ const StudioLayout = () => {
2798
2802
  }
2799
2803
  let t36;
2800
2804
  if ($[73] !== t) {
2801
- t36 = t("Security");
2805
+ t36 = t("Schema");
2802
2806
  $[73] = t;
2803
2807
  $[74] = t36;
2804
2808
  } else {
@@ -2806,7 +2810,7 @@ const StudioLayout = () => {
2806
2810
  }
2807
2811
  let t37;
2808
2812
  if ($[75] !== t) {
2809
- t37 = t("Settings");
2813
+ t37 = t("Security");
2810
2814
  $[75] = t;
2811
2815
  $[76] = t37;
2812
2816
  } else {
@@ -2814,7 +2818,7 @@ const StudioLayout = () => {
2814
2818
  }
2815
2819
  let t38;
2816
2820
  if ($[77] !== t) {
2817
- t38 = t("SQL editor");
2821
+ t38 = t("Settings");
2818
2822
  $[77] = t;
2819
2823
  $[78] = t38;
2820
2824
  } else {
@@ -2822,7 +2826,7 @@ const StudioLayout = () => {
2822
2826
  }
2823
2827
  let t39;
2824
2828
  if ($[79] !== t) {
2825
- t39 = t("Access Rules");
2829
+ t39 = t("SQL editor");
2826
2830
  $[79] = t;
2827
2831
  $[80] = t39;
2828
2832
  } else {
@@ -2830,7 +2834,7 @@ const StudioLayout = () => {
2830
2834
  }
2831
2835
  let t40;
2832
2836
  if ($[81] !== t) {
2833
- t40 = t("Users");
2837
+ t40 = t("Access Rules");
2834
2838
  $[81] = t;
2835
2839
  $[82] = t40;
2836
2840
  } else {
@@ -2838,7 +2842,7 @@ const StudioLayout = () => {
2838
2842
  }
2839
2843
  let t41;
2840
2844
  if ($[83] !== t) {
2841
- t41 = t("Vectors");
2845
+ t41 = t("Users");
2842
2846
  $[83] = t;
2843
2847
  $[84] = t41;
2844
2848
  } else {
@@ -2846,97 +2850,107 @@ const StudioLayout = () => {
2846
2850
  }
2847
2851
  let t42;
2848
2852
  if ($[85] !== t) {
2849
- t42 = t("Workflows");
2853
+ t42 = t("Vectors");
2850
2854
  $[85] = t;
2851
2855
  $[86] = t42;
2852
2856
  } else {
2853
2857
  t42 = $[86];
2854
2858
  }
2855
2859
  let t43;
2856
- if ($[87] !== t10 || $[88] !== t11 || $[89] !== t12 || $[90] !== t13 || $[91] !== t14 || $[92] !== t15 || $[93] !== t16 || $[94] !== t17 || $[95] !== t18 || $[96] !== t19 || $[97] !== t20 || $[98] !== t21 || $[99] !== t22 || $[100] !== t23 || $[101] !== t24 || $[102] !== t25 || $[103] !== t26 || $[104] !== t27 || $[105] !== t28 || $[106] !== t29 || $[107] !== t30 || $[108] !== t31 || $[109] !== t32 || $[110] !== t33 || $[111] !== t34 || $[112] !== t35 || $[113] !== t36 || $[114] !== t37 || $[115] !== t38 || $[116] !== t39 || $[117] !== t40 || $[118] !== t41 || $[119] !== t42 || $[120] !== t5 || $[121] !== t6 || $[122] !== t7 || $[123] !== t8 || $[124] !== t9) {
2857
- t43 = {
2858
- analytics: t5,
2859
- api: t6,
2860
- audit: t7,
2861
- authConfig: t8,
2862
- authSessions: t9,
2863
- containers: t10,
2864
- dashboards: t11,
2865
- data: t12,
2866
- drains: t13,
2867
- export: t14,
2868
- fanout: t15,
2869
- files: t16,
2870
- flags: t17,
2871
- functions: t18,
2872
- health: t19,
2873
- home: t20,
2874
- insights: t21,
2875
- kv: t22,
2876
- logs: t23,
2877
- metrics: t24,
2878
- migrations: t25,
2879
- organizations: t26,
2880
- pitr: t27,
2881
- mail: t28,
2882
- payments: t29,
2883
- permissions: t30,
2884
- queues: t31,
2885
- realtime: t32,
2886
- rls: t33,
2887
- schedule: t34,
2888
- schema: t35,
2889
- security: t36,
2890
- settings: t37,
2891
- sql: t38,
2892
- storageRules: t39,
2893
- users: t40,
2894
- vectors: t41,
2895
- workflows: t42
2860
+ if ($[87] !== t) {
2861
+ t43 = t("Workflows");
2862
+ $[87] = t;
2863
+ $[88] = t43;
2864
+ } else {
2865
+ t43 = $[88];
2866
+ }
2867
+ let t44;
2868
+ if ($[89] !== t10 || $[90] !== t11 || $[91] !== t12 || $[92] !== t13 || $[93] !== t14 || $[94] !== t15 || $[95] !== t16 || $[96] !== t17 || $[97] !== t18 || $[98] !== t19 || $[99] !== t20 || $[100] !== t21 || $[101] !== t22 || $[102] !== t23 || $[103] !== t24 || $[104] !== t25 || $[105] !== t26 || $[106] !== t27 || $[107] !== t28 || $[108] !== t29 || $[109] !== t30 || $[110] !== t31 || $[111] !== t32 || $[112] !== t33 || $[113] !== t34 || $[114] !== t35 || $[115] !== t36 || $[116] !== t37 || $[117] !== t38 || $[118] !== t39 || $[119] !== t40 || $[120] !== t41 || $[121] !== t42 || $[122] !== t43 || $[123] !== t5 || $[124] !== t6 || $[125] !== t7 || $[126] !== t8 || $[127] !== t9) {
2869
+ t44 = {
2870
+ agents: t5,
2871
+ analytics: t6,
2872
+ api: t7,
2873
+ audit: t8,
2874
+ authConfig: t9,
2875
+ authSessions: t10,
2876
+ containers: t11,
2877
+ dashboards: t12,
2878
+ data: t13,
2879
+ drains: t14,
2880
+ export: t15,
2881
+ fanout: t16,
2882
+ files: t17,
2883
+ flags: t18,
2884
+ functions: t19,
2885
+ health: t20,
2886
+ home: t21,
2887
+ insights: t22,
2888
+ kv: t23,
2889
+ logs: t24,
2890
+ metrics: t25,
2891
+ migrations: t26,
2892
+ organizations: t27,
2893
+ pitr: t28,
2894
+ mail: t29,
2895
+ payments: t30,
2896
+ permissions: t31,
2897
+ queues: t32,
2898
+ realtime: t33,
2899
+ rls: t34,
2900
+ schedule: t35,
2901
+ schema: t36,
2902
+ security: t37,
2903
+ settings: t38,
2904
+ sql: t39,
2905
+ storageRules: t40,
2906
+ users: t41,
2907
+ vectors: t42,
2908
+ workflows: t43
2896
2909
  };
2897
- $[87] = t10;
2898
- $[88] = t11;
2899
- $[89] = t12;
2900
- $[90] = t13;
2901
- $[91] = t14;
2902
- $[92] = t15;
2903
- $[93] = t16;
2904
- $[94] = t17;
2905
- $[95] = t18;
2906
- $[96] = t19;
2907
- $[97] = t20;
2908
- $[98] = t21;
2909
- $[99] = t22;
2910
- $[100] = t23;
2911
- $[101] = t24;
2912
- $[102] = t25;
2913
- $[103] = t26;
2914
- $[104] = t27;
2915
- $[105] = t28;
2916
- $[106] = t29;
2917
- $[107] = t30;
2918
- $[108] = t31;
2919
- $[109] = t32;
2920
- $[110] = t33;
2921
- $[111] = t34;
2922
- $[112] = t35;
2923
- $[113] = t36;
2924
- $[114] = t37;
2925
- $[115] = t38;
2926
- $[116] = t39;
2927
- $[117] = t40;
2928
- $[118] = t41;
2929
- $[119] = t42;
2930
- $[120] = t5;
2931
- $[121] = t6;
2932
- $[122] = t7;
2933
- $[123] = t8;
2934
- $[124] = t9;
2935
- $[125] = t43;
2936
- } else {
2937
- t43 = $[125];
2938
- }
2939
- const tabLabel = t43;
2910
+ $[89] = t10;
2911
+ $[90] = t11;
2912
+ $[91] = t12;
2913
+ $[92] = t13;
2914
+ $[93] = t14;
2915
+ $[94] = t15;
2916
+ $[95] = t16;
2917
+ $[96] = t17;
2918
+ $[97] = t18;
2919
+ $[98] = t19;
2920
+ $[99] = t20;
2921
+ $[100] = t21;
2922
+ $[101] = t22;
2923
+ $[102] = t23;
2924
+ $[103] = t24;
2925
+ $[104] = t25;
2926
+ $[105] = t26;
2927
+ $[106] = t27;
2928
+ $[107] = t28;
2929
+ $[108] = t29;
2930
+ $[109] = t30;
2931
+ $[110] = t31;
2932
+ $[111] = t32;
2933
+ $[112] = t33;
2934
+ $[113] = t34;
2935
+ $[114] = t35;
2936
+ $[115] = t36;
2937
+ $[116] = t37;
2938
+ $[117] = t38;
2939
+ $[118] = t39;
2940
+ $[119] = t40;
2941
+ $[120] = t41;
2942
+ $[121] = t42;
2943
+ $[122] = t43;
2944
+ $[123] = t5;
2945
+ $[124] = t6;
2946
+ $[125] = t7;
2947
+ $[126] = t8;
2948
+ $[127] = t9;
2949
+ $[128] = t44;
2950
+ } else {
2951
+ t44 = $[128];
2952
+ }
2953
+ const tabLabel = t44;
2940
2954
  const groupLabel = {
2941
2955
  advisors: t("Advisors"),
2942
2956
  auth: t("Auth"),
@@ -2948,426 +2962,436 @@ const StudioLayout = () => {
2948
2962
  settings: t("Settings"),
2949
2963
  storage: t("Storage")
2950
2964
  };
2951
- let t44;
2952
- if ($[126] !== t) {
2953
- t44 = t("Usage and latency from Analytics Engine — request volume, p50/p95, and hot shards.");
2954
- $[126] = t;
2955
- $[127] = t44;
2956
- } else {
2957
- t44 = $[127];
2958
- }
2959
2965
  let t45;
2960
- if ($[128] !== t) {
2961
- t45 = t("Interactive OpenAPI reference and copy-paste snippets for your functions.");
2962
- $[128] = t;
2963
- $[129] = t45;
2966
+ if ($[129] !== t) {
2967
+ t45 = t("Inspect agent threads, message timelines, tool calls, and token usage.");
2968
+ $[129] = t;
2969
+ $[130] = t45;
2964
2970
  } else {
2965
- t45 = $[129];
2971
+ t45 = $[130];
2966
2972
  }
2967
2973
  let t46;
2968
- if ($[130] !== t) {
2969
- t46 = t("A durable log of admin state-changing operations.");
2970
- $[130] = t;
2971
- $[131] = t46;
2974
+ if ($[131] !== t) {
2975
+ t46 = t("Usage and latency from Analytics Engine — request volume, p50/p95, and hot shards.");
2976
+ $[131] = t;
2977
+ $[132] = t46;
2972
2978
  } else {
2973
- t46 = $[131];
2979
+ t46 = $[132];
2974
2980
  }
2975
2981
  let t47;
2976
- if ($[132] !== t) {
2977
- t47 = t("Enabled plugins and session config (read-only).");
2978
- $[132] = t;
2979
- $[133] = t47;
2982
+ if ($[133] !== t) {
2983
+ t47 = t("Interactive OpenAPI reference and copy-paste snippets for your functions.");
2984
+ $[133] = t;
2985
+ $[134] = t47;
2980
2986
  } else {
2981
- t47 = $[133];
2987
+ t47 = $[134];
2982
2988
  }
2983
2989
  let t48;
2984
- if ($[134] !== t) {
2985
- t48 = t("Browse and revoke active sessions across all users.");
2986
- $[134] = t;
2987
- $[135] = t48;
2990
+ if ($[135] !== t) {
2991
+ t48 = t("A durable log of admin state-changing operations.");
2992
+ $[135] = t;
2993
+ $[136] = t48;
2988
2994
  } else {
2989
- t48 = $[135];
2995
+ t48 = $[136];
2990
2996
  }
2991
2997
  let t49;
2992
- if ($[136] !== t) {
2993
- t49 = t("Live Cloudflare Containers current lifecycle state per container from the log stream.");
2994
- $[136] = t;
2995
- $[137] = t49;
2998
+ if ($[137] !== t) {
2999
+ t49 = t("Enabled plugins and session config (read-only).");
3000
+ $[137] = t;
3001
+ $[138] = t49;
2996
3002
  } else {
2997
- t49 = $[137];
3003
+ t49 = $[138];
2998
3004
  }
2999
3005
  let t50;
3000
- if ($[138] !== t) {
3001
- t50 = t("Chart widgets backed by saved read-only SQL queries.");
3002
- $[138] = t;
3003
- $[139] = t50;
3006
+ if ($[139] !== t) {
3007
+ t50 = t("Browse and revoke active sessions across all users.");
3008
+ $[139] = t;
3009
+ $[140] = t50;
3004
3010
  } else {
3005
- t50 = $[139];
3011
+ t50 = $[140];
3006
3012
  }
3007
3013
  let t51;
3008
- if ($[140] !== t) {
3009
- t51 = t("Browse and edit rows across your shard and global tables.");
3010
- $[140] = t;
3011
- $[141] = t51;
3014
+ if ($[141] !== t) {
3015
+ t51 = t("Live Cloudflare Containers current lifecycle state per container from the log stream.");
3016
+ $[141] = t;
3017
+ $[142] = t51;
3012
3018
  } else {
3013
- t51 = $[141];
3019
+ t51 = $[142];
3014
3020
  }
3015
3021
  let t52;
3016
- if ($[142] !== t) {
3017
- t52 = t("Forward logs to Logpush, Tail Workers, or a webhook collector.");
3018
- $[142] = t;
3019
- $[143] = t52;
3022
+ if ($[143] !== t) {
3023
+ t52 = t("Chart widgets backed by saved read-only SQL queries.");
3024
+ $[143] = t;
3025
+ $[144] = t52;
3020
3026
  } else {
3021
- t52 = $[143];
3027
+ t52 = $[144];
3022
3028
  }
3023
3029
  let t53;
3024
- if ($[144] !== t) {
3025
- t53 = t("Export a shard to NDJSON, or import rows from it.");
3026
- $[144] = t;
3027
- $[145] = t53;
3030
+ if ($[145] !== t) {
3031
+ t53 = t("Browse and edit rows across your shard and global tables.");
3032
+ $[145] = t;
3033
+ $[146] = t53;
3028
3034
  } else {
3029
- t53 = $[145];
3035
+ t53 = $[146];
3030
3036
  }
3031
3037
  let t54;
3032
- if ($[146] !== t) {
3033
- t54 = t("Realtime fan-out cost and per-topic subscriber counts for this shard.");
3034
- $[146] = t;
3035
- $[147] = t54;
3038
+ if ($[147] !== t) {
3039
+ t54 = t("Forward logs to Logpush, Tail Workers, or a webhook collector.");
3040
+ $[147] = t;
3041
+ $[148] = t54;
3036
3042
  } else {
3037
- t54 = $[147];
3043
+ t54 = $[148];
3038
3044
  }
3039
3045
  let t55;
3040
- if ($[148] !== t) {
3041
- t55 = t("Browse objects in your R2 storage buckets.");
3042
- $[148] = t;
3043
- $[149] = t55;
3046
+ if ($[149] !== t) {
3047
+ t55 = t("Export a shard to NDJSON, or import rows from it.");
3048
+ $[149] = t;
3049
+ $[150] = t55;
3044
3050
  } else {
3045
- t55 = $[149];
3051
+ t55 = $[150];
3046
3052
  }
3047
3053
  let t56;
3048
- if ($[150] !== t) {
3049
- t56 = t("Inspect feature flags and their live evaluation under a targeting context.");
3050
- $[150] = t;
3051
- $[151] = t56;
3054
+ if ($[151] !== t) {
3055
+ t56 = t("Realtime fan-out cost and per-topic subscriber counts for this shard.");
3056
+ $[151] = t;
3057
+ $[152] = t56;
3052
3058
  } else {
3053
- t56 = $[151];
3059
+ t56 = $[152];
3054
3060
  }
3055
3061
  let t57;
3056
- if ($[152] !== t) {
3057
- t57 = t("Run registered queries, mutations, and actions.");
3058
- $[152] = t;
3059
- $[153] = t57;
3062
+ if ($[153] !== t) {
3063
+ t57 = t("Browse objects in your R2 storage buckets.");
3064
+ $[153] = t;
3065
+ $[154] = t57;
3060
3066
  } else {
3061
- t57 = $[153];
3067
+ t57 = $[154];
3062
3068
  }
3063
3069
  let t58;
3064
- if ($[154] !== t) {
3065
- t58 = t("At-a-glance connection, error, and shard signals.");
3066
- $[154] = t;
3067
- $[155] = t58;
3070
+ if ($[155] !== t) {
3071
+ t58 = t("Inspect feature flags and their live evaluation under a targeting context.");
3072
+ $[155] = t;
3073
+ $[156] = t58;
3068
3074
  } else {
3069
- t58 = $[155];
3075
+ t58 = $[156];
3070
3076
  }
3071
3077
  let t59;
3072
- if ($[156] !== t) {
3073
- t59 = t("Connection, health, and advisor summary for your deployment.");
3074
- $[156] = t;
3075
- $[157] = t59;
3078
+ if ($[157] !== t) {
3079
+ t59 = t("Run registered queries, mutations, and actions.");
3080
+ $[157] = t;
3081
+ $[158] = t59;
3076
3082
  } else {
3077
- t59 = $[157];
3083
+ t59 = $[158];
3078
3084
  }
3079
3085
  let t60;
3080
- if ($[158] !== t) {
3081
- t60 = t("Surface slow functions, error spikes, and cache problems.");
3082
- $[158] = t;
3083
- $[159] = t60;
3086
+ if ($[159] !== t) {
3087
+ t60 = t("At-a-glance connection, error, and shard signals.");
3088
+ $[159] = t;
3089
+ $[160] = t60;
3084
3090
  } else {
3085
- t60 = $[159];
3091
+ t60 = $[160];
3086
3092
  }
3087
3093
  let t61;
3088
- if ($[160] !== t) {
3089
- t61 = t("A live stream of recent function logs.");
3090
- $[160] = t;
3091
- $[161] = t61;
3094
+ if ($[161] !== t) {
3095
+ t61 = t("Connection, health, and advisor summary for your deployment.");
3096
+ $[161] = t;
3097
+ $[162] = t61;
3092
3098
  } else {
3093
- t61 = $[161];
3099
+ t61 = $[162];
3094
3100
  }
3095
3101
  let t62;
3096
- if ($[162] !== t) {
3097
- t62 = t("Per-shard health and aggregate metrics.");
3098
- $[162] = t;
3099
- $[163] = t62;
3102
+ if ($[163] !== t) {
3103
+ t62 = t("Surface slow functions, error spikes, and cache problems.");
3104
+ $[163] = t;
3105
+ $[164] = t62;
3100
3106
  } else {
3101
- t62 = $[163];
3107
+ t62 = $[164];
3102
3108
  }
3103
3109
  let t63;
3104
- if ($[164] !== t) {
3105
- t63 = t("Review migration status and run them.");
3106
- $[164] = t;
3107
- $[165] = t63;
3110
+ if ($[165] !== t) {
3111
+ t63 = t("A live stream of recent function logs.");
3112
+ $[165] = t;
3113
+ $[166] = t63;
3108
3114
  } else {
3109
- t63 = $[165];
3115
+ t63 = $[166];
3110
3116
  }
3111
3117
  let t64;
3112
- if ($[166] !== t) {
3113
- t64 = t("Browse and manage organizations, members, and invitations.");
3114
- $[166] = t;
3115
- $[167] = t64;
3118
+ if ($[167] !== t) {
3119
+ t64 = t("Per-shard health and aggregate metrics.");
3120
+ $[167] = t;
3121
+ $[168] = t64;
3116
3122
  } else {
3117
- t64 = $[167];
3123
+ t64 = $[168];
3118
3124
  }
3119
3125
  let t65;
3120
- if ($[168] !== t) {
3121
- t65 = t("Restore a shard to a point in the last 30 days.");
3122
- $[168] = t;
3123
- $[169] = t65;
3126
+ if ($[169] !== t) {
3127
+ t65 = t("Review migration status and run them.");
3128
+ $[169] = t;
3129
+ $[170] = t65;
3124
3130
  } else {
3125
- t65 = $[169];
3131
+ t65 = $[170];
3126
3132
  }
3127
3133
  let t66;
3128
- if ($[170] !== t) {
3129
- t66 = t("Email your app sent, captured in dev.");
3130
- $[170] = t;
3131
- $[171] = t66;
3134
+ if ($[171] !== t) {
3135
+ t66 = t("Browse and manage organizations, members, and invitations.");
3136
+ $[171] = t;
3137
+ $[172] = t66;
3132
3138
  } else {
3133
- t66 = $[171];
3139
+ t66 = $[172];
3134
3140
  }
3135
3141
  let t67;
3136
- if ($[172] !== t) {
3137
- t67 = t("Synced customers, subscriptions, and webhook events.");
3138
- $[172] = t;
3139
- $[173] = t67;
3142
+ if ($[173] !== t) {
3143
+ t67 = t("Restore a shard to a point in the last 30 days.");
3144
+ $[173] = t;
3145
+ $[174] = t67;
3140
3146
  } else {
3141
- t67 = $[173];
3147
+ t67 = $[174];
3142
3148
  }
3143
3149
  let t68;
3144
- if ($[174] !== t) {
3145
- t68 = t("Inspect access policies per table, and probe a function as any identity.");
3146
- $[174] = t;
3147
- $[175] = t68;
3150
+ if ($[175] !== t) {
3151
+ t68 = t("Email your app sent, captured in dev.");
3152
+ $[175] = t;
3153
+ $[176] = t68;
3148
3154
  } else {
3149
- t68 = $[175];
3155
+ t68 = $[176];
3150
3156
  }
3151
3157
  let t69;
3152
- if ($[176] !== t) {
3153
- t69 = t("Inspect declared Cloudflare Queues — their producer bindings, consumer mode, and dead-letter queue.");
3154
- $[176] = t;
3155
- $[177] = t69;
3158
+ if ($[177] !== t) {
3159
+ t69 = t("Synced customers, subscriptions, and webhook events.");
3160
+ $[177] = t;
3161
+ $[178] = t69;
3156
3162
  } else {
3157
- t69 = $[177];
3163
+ t69 = $[178];
3158
3164
  }
3159
3165
  let t70;
3160
- if ($[178] !== t) {
3161
- t70 = t("Active WebSocket subscriptions on this shard.");
3162
- $[178] = t;
3163
- $[179] = t70;
3166
+ if ($[179] !== t) {
3167
+ t70 = t("Inspect access policies per table, and probe a function as any identity.");
3168
+ $[179] = t;
3169
+ $[180] = t70;
3164
3170
  } else {
3165
- t70 = $[179];
3171
+ t70 = $[180];
3166
3172
  }
3167
3173
  let t71;
3168
- if ($[180] !== t) {
3169
- t71 = t("Inspect row-level-security policies and roles, per table.");
3170
- $[180] = t;
3171
- $[181] = t71;
3174
+ if ($[181] !== t) {
3175
+ t71 = t("Inspect declared Cloudflare Queues — their producer bindings, consumer mode, and dead-letter queue.");
3176
+ $[181] = t;
3177
+ $[182] = t71;
3172
3178
  } else {
3173
- t71 = $[181];
3179
+ t71 = $[182];
3174
3180
  }
3175
3181
  let t72;
3176
- if ($[182] !== t) {
3177
- t72 = t("Inspect and cancel scheduled jobs.");
3178
- $[182] = t;
3179
- $[183] = t72;
3182
+ if ($[183] !== t) {
3183
+ t72 = t("Active WebSocket subscriptions on this shard.");
3184
+ $[183] = t;
3185
+ $[184] = t72;
3180
3186
  } else {
3181
- t72 = $[183];
3187
+ t72 = $[184];
3182
3188
  }
3183
3189
  let t73;
3184
- if ($[184] !== t) {
3185
- t73 = t("Inspect each table and its columns.");
3186
- $[184] = t;
3187
- $[185] = t73;
3190
+ if ($[185] !== t) {
3191
+ t73 = t("Inspect row-level-security policies and roles, per table.");
3192
+ $[185] = t;
3193
+ $[186] = t73;
3188
3194
  } else {
3189
- t73 = $[185];
3195
+ t73 = $[186];
3190
3196
  }
3191
3197
  let t74;
3192
- if ($[186] !== t) {
3193
- t74 = t("Review admin gates, credentials, and log redaction.");
3194
- $[186] = t;
3195
- $[187] = t74;
3198
+ if ($[187] !== t) {
3199
+ t74 = t("Inspect and cancel scheduled jobs.");
3200
+ $[187] = t;
3201
+ $[188] = t74;
3196
3202
  } else {
3197
- t74 = $[187];
3203
+ t74 = $[188];
3198
3204
  }
3199
3205
  let t75;
3200
- if ($[188] !== t) {
3201
- t75 = t("Read-only deployment config vars, secrets, and bindings.");
3202
- $[188] = t;
3203
- $[189] = t75;
3206
+ if ($[189] !== t) {
3207
+ t75 = t("Inspect each table and its columns.");
3208
+ $[189] = t;
3209
+ $[190] = t75;
3204
3210
  } else {
3205
- t75 = $[189];
3211
+ t75 = $[190];
3206
3212
  }
3207
3213
  let t76;
3208
- if ($[190] !== t) {
3209
- t76 = t("Run read-only SQL against a shard.");
3210
- $[190] = t;
3211
- $[191] = t76;
3214
+ if ($[191] !== t) {
3215
+ t76 = t("Review admin gates, credentials, and log redaction.");
3216
+ $[191] = t;
3217
+ $[192] = t76;
3212
3218
  } else {
3213
- t76 = $[191];
3219
+ t76 = $[192];
3214
3220
  }
3215
3221
  let t77;
3216
- if ($[192] !== t) {
3217
- t77 = t("Browse and edit key-value pairs in your Workers KV namespaces.");
3218
- $[192] = t;
3219
- $[193] = t77;
3222
+ if ($[193] !== t) {
3223
+ t77 = t("Read-only deployment config vars, secrets, and bindings.");
3224
+ $[193] = t;
3225
+ $[194] = t77;
3220
3226
  } else {
3221
- t77 = $[193];
3227
+ t77 = $[194];
3222
3228
  }
3223
3229
  let t78;
3224
- if ($[194] !== t) {
3225
- t78 = t("Inspect storage access rules per bucket, operation, and key prefix.");
3226
- $[194] = t;
3227
- $[195] = t78;
3230
+ if ($[195] !== t) {
3231
+ t78 = t("Run read-only SQL against a shard.");
3232
+ $[195] = t;
3233
+ $[196] = t78;
3228
3234
  } else {
3229
- t78 = $[195];
3235
+ t78 = $[196];
3230
3236
  }
3231
3237
  let t79;
3232
- if ($[196] !== t) {
3233
- t79 = t("Manage auth users roles, bans, sessions, and identity.");
3234
- $[196] = t;
3235
- $[197] = t79;
3238
+ if ($[197] !== t) {
3239
+ t79 = t("Browse and edit key-value pairs in your Workers KV namespaces.");
3240
+ $[197] = t;
3241
+ $[198] = t79;
3236
3242
  } else {
3237
- t79 = $[197];
3243
+ t79 = $[198];
3238
3244
  }
3239
3245
  let t80;
3240
- if ($[198] !== t) {
3241
- t80 = t("Browse Vectorize indexes and run similarity searches.");
3242
- $[198] = t;
3243
- $[199] = t80;
3246
+ if ($[199] !== t) {
3247
+ t80 = t("Inspect storage access rules — per bucket, operation, and key prefix.");
3248
+ $[199] = t;
3249
+ $[200] = t80;
3244
3250
  } else {
3245
- t80 = $[199];
3251
+ t80 = $[200];
3246
3252
  }
3247
3253
  let t81;
3248
- if ($[200] !== t) {
3249
- t81 = t("Inspect declared Cloudflare Workflows and their bindings.");
3250
- $[200] = t;
3251
- $[201] = t81;
3254
+ if ($[201] !== t) {
3255
+ t81 = t("Manage auth users roles, bans, sessions, and identity.");
3256
+ $[201] = t;
3257
+ $[202] = t81;
3252
3258
  } else {
3253
- t81 = $[201];
3259
+ t81 = $[202];
3254
3260
  }
3255
3261
  let t82;
3256
- if ($[202] !== t44 || $[203] !== t45 || $[204] !== t46 || $[205] !== t47 || $[206] !== t48 || $[207] !== t49 || $[208] !== t50 || $[209] !== t51 || $[210] !== t52 || $[211] !== t53 || $[212] !== t54 || $[213] !== t55 || $[214] !== t56 || $[215] !== t57 || $[216] !== t58 || $[217] !== t59 || $[218] !== t60 || $[219] !== t61 || $[220] !== t62 || $[221] !== t63 || $[222] !== t64 || $[223] !== t65 || $[224] !== t66 || $[225] !== t67 || $[226] !== t68 || $[227] !== t69 || $[228] !== t70 || $[229] !== t71 || $[230] !== t72 || $[231] !== t73 || $[232] !== t74 || $[233] !== t75 || $[234] !== t76 || $[235] !== t77 || $[236] !== t78 || $[237] !== t79 || $[238] !== t80 || $[239] !== t81) {
3257
- t82 = {
3258
- analytics: t44,
3259
- api: t45,
3260
- audit: t46,
3261
- authConfig: t47,
3262
- authSessions: t48,
3263
- containers: t49,
3264
- dashboards: t50,
3265
- data: t51,
3266
- drains: t52,
3267
- export: t53,
3268
- fanout: t54,
3269
- files: t55,
3270
- flags: t56,
3271
- functions: t57,
3272
- health: t58,
3273
- home: t59,
3274
- insights: t60,
3275
- logs: t61,
3276
- metrics: t62,
3277
- migrations: t63,
3278
- organizations: t64,
3279
- pitr: t65,
3280
- mail: t66,
3281
- payments: t67,
3282
- permissions: t68,
3283
- queues: t69,
3284
- realtime: t70,
3285
- rls: t71,
3286
- schedule: t72,
3287
- schema: t73,
3288
- security: t74,
3289
- settings: t75,
3290
- sql: t76,
3291
- kv: t77,
3292
- storageRules: t78,
3293
- users: t79,
3294
- vectors: t80,
3295
- workflows: t81
3296
- };
3297
- $[202] = t44;
3298
- $[203] = t45;
3299
- $[204] = t46;
3300
- $[205] = t47;
3301
- $[206] = t48;
3302
- $[207] = t49;
3303
- $[208] = t50;
3304
- $[209] = t51;
3305
- $[210] = t52;
3306
- $[211] = t53;
3307
- $[212] = t54;
3308
- $[213] = t55;
3309
- $[214] = t56;
3310
- $[215] = t57;
3311
- $[216] = t58;
3312
- $[217] = t59;
3313
- $[218] = t60;
3314
- $[219] = t61;
3315
- $[220] = t62;
3316
- $[221] = t63;
3317
- $[222] = t64;
3318
- $[223] = t65;
3319
- $[224] = t66;
3320
- $[225] = t67;
3321
- $[226] = t68;
3322
- $[227] = t69;
3323
- $[228] = t70;
3324
- $[229] = t71;
3325
- $[230] = t72;
3326
- $[231] = t73;
3327
- $[232] = t74;
3328
- $[233] = t75;
3329
- $[234] = t76;
3330
- $[235] = t77;
3331
- $[236] = t78;
3332
- $[237] = t79;
3333
- $[238] = t80;
3334
- $[239] = t81;
3335
- $[240] = t82;
3336
- } else {
3337
- t82 = $[240];
3338
- }
3339
- const tabDescription = t82;
3262
+ if ($[203] !== t) {
3263
+ t82 = t("Browse Vectorize indexes and run similarity searches.");
3264
+ $[203] = t;
3265
+ $[204] = t82;
3266
+ } else {
3267
+ t82 = $[204];
3268
+ }
3340
3269
  let t83;
3341
- if ($[241] !== navigate) {
3342
- t83 = (event) => {
3270
+ if ($[205] !== t) {
3271
+ t83 = t("Inspect declared Cloudflare Workflows and their bindings.");
3272
+ $[205] = t;
3273
+ $[206] = t83;
3274
+ } else {
3275
+ t83 = $[206];
3276
+ }
3277
+ let t84;
3278
+ if ($[207] !== t45 || $[208] !== t46 || $[209] !== t47 || $[210] !== t48 || $[211] !== t49 || $[212] !== t50 || $[213] !== t51 || $[214] !== t52 || $[215] !== t53 || $[216] !== t54 || $[217] !== t55 || $[218] !== t56 || $[219] !== t57 || $[220] !== t58 || $[221] !== t59 || $[222] !== t60 || $[223] !== t61 || $[224] !== t62 || $[225] !== t63 || $[226] !== t64 || $[227] !== t65 || $[228] !== t66 || $[229] !== t67 || $[230] !== t68 || $[231] !== t69 || $[232] !== t70 || $[233] !== t71 || $[234] !== t72 || $[235] !== t73 || $[236] !== t74 || $[237] !== t75 || $[238] !== t76 || $[239] !== t77 || $[240] !== t78 || $[241] !== t79 || $[242] !== t80 || $[243] !== t81 || $[244] !== t82 || $[245] !== t83) {
3279
+ t84 = {
3280
+ agents: t45,
3281
+ analytics: t46,
3282
+ api: t47,
3283
+ audit: t48,
3284
+ authConfig: t49,
3285
+ authSessions: t50,
3286
+ containers: t51,
3287
+ dashboards: t52,
3288
+ data: t53,
3289
+ drains: t54,
3290
+ export: t55,
3291
+ fanout: t56,
3292
+ files: t57,
3293
+ flags: t58,
3294
+ functions: t59,
3295
+ health: t60,
3296
+ home: t61,
3297
+ insights: t62,
3298
+ logs: t63,
3299
+ metrics: t64,
3300
+ migrations: t65,
3301
+ organizations: t66,
3302
+ pitr: t67,
3303
+ mail: t68,
3304
+ payments: t69,
3305
+ permissions: t70,
3306
+ queues: t71,
3307
+ realtime: t72,
3308
+ rls: t73,
3309
+ schedule: t74,
3310
+ schema: t75,
3311
+ security: t76,
3312
+ settings: t77,
3313
+ sql: t78,
3314
+ kv: t79,
3315
+ storageRules: t80,
3316
+ users: t81,
3317
+ vectors: t82,
3318
+ workflows: t83
3319
+ };
3320
+ $[207] = t45;
3321
+ $[208] = t46;
3322
+ $[209] = t47;
3323
+ $[210] = t48;
3324
+ $[211] = t49;
3325
+ $[212] = t50;
3326
+ $[213] = t51;
3327
+ $[214] = t52;
3328
+ $[215] = t53;
3329
+ $[216] = t54;
3330
+ $[217] = t55;
3331
+ $[218] = t56;
3332
+ $[219] = t57;
3333
+ $[220] = t58;
3334
+ $[221] = t59;
3335
+ $[222] = t60;
3336
+ $[223] = t61;
3337
+ $[224] = t62;
3338
+ $[225] = t63;
3339
+ $[226] = t64;
3340
+ $[227] = t65;
3341
+ $[228] = t66;
3342
+ $[229] = t67;
3343
+ $[230] = t68;
3344
+ $[231] = t69;
3345
+ $[232] = t70;
3346
+ $[233] = t71;
3347
+ $[234] = t72;
3348
+ $[235] = t73;
3349
+ $[236] = t74;
3350
+ $[237] = t75;
3351
+ $[238] = t76;
3352
+ $[239] = t77;
3353
+ $[240] = t78;
3354
+ $[241] = t79;
3355
+ $[242] = t80;
3356
+ $[243] = t81;
3357
+ $[244] = t82;
3358
+ $[245] = t83;
3359
+ $[246] = t84;
3360
+ } else {
3361
+ t84 = $[246];
3362
+ }
3363
+ const tabDescription = t84;
3364
+ let t85;
3365
+ if ($[247] !== navigate) {
3366
+ t85 = (event) => {
3343
3367
  fireAndForget(navigate({
3344
3368
  to: `/${event.currentTarget.dataset.tab ?? ""}`
3345
3369
  }));
3346
3370
  };
3347
- $[241] = navigate;
3348
- $[242] = t83;
3371
+ $[247] = navigate;
3372
+ $[248] = t85;
3349
3373
  } else {
3350
- t83 = $[242];
3374
+ t85 = $[248];
3351
3375
  }
3352
- const selectTab = t83;
3353
- let t84;
3354
- let t85;
3355
- if ($[243] !== current || $[244] !== tabLabel) {
3356
- t84 = () => {
3376
+ const selectTab = t85;
3377
+ let t86;
3378
+ let t87;
3379
+ if ($[249] !== current || $[250] !== tabLabel) {
3380
+ t86 = () => {
3357
3381
  if (typeof document !== "undefined") {
3358
3382
  document.title = `${tabLabel[current]} · lunora`;
3359
3383
  }
3360
3384
  };
3361
- t85 = [current, tabLabel];
3362
- $[243] = current;
3363
- $[244] = tabLabel;
3364
- $[245] = t84;
3365
- $[246] = t85;
3385
+ t87 = [current, tabLabel];
3386
+ $[249] = current;
3387
+ $[250] = tabLabel;
3388
+ $[251] = t86;
3389
+ $[252] = t87;
3366
3390
  } else {
3367
- t84 = $[245];
3368
- t85 = $[246];
3391
+ t86 = $[251];
3392
+ t87 = $[252];
3369
3393
  }
3370
- useEffect(t84, t85);
3394
+ useEffect(t86, t87);
3371
3395
  const activeGroup = visibleGroups.find((group_1) => group_1.tabs.includes(current)) ?? NAV_GROUPS[0];
3372
3396
  const commandItems = visibleGroups.flatMap((group_2) => group_2.tabs.map((tab_0) => ({
3373
3397
  group: groupLabel[group_2.key],
@@ -3376,48 +3400,48 @@ const StudioLayout = () => {
3376
3400
  })));
3377
3401
  const chrome = use(StudioChromeContext);
3378
3402
  const connected = chrome !== null && chrome.token !== "";
3379
- let t86;
3380
- if ($[247] !== commandItems) {
3381
- t86 = /* @__PURE__ */ jsxDEV(CommandPalette, {
3403
+ let t88;
3404
+ if ($[253] !== commandItems) {
3405
+ t88 = /* @__PURE__ */ jsxDEV(CommandPalette, {
3382
3406
  items: commandItems
3383
3407
  }, void 0, false);
3384
- $[247] = commandItems;
3385
- $[248] = t86;
3408
+ $[253] = commandItems;
3409
+ $[254] = t88;
3386
3410
  } else {
3387
- t86 = $[248];
3411
+ t88 = $[254];
3388
3412
  }
3389
- let t87;
3390
- if ($[249] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
3391
- t87 = /* @__PURE__ */ jsxDEV(SidebarTrigger, {
3413
+ let t89;
3414
+ if ($[255] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
3415
+ t89 = /* @__PURE__ */ jsxDEV(SidebarTrigger, {
3392
3416
  className: "-ms-1"
3393
3417
  }, void 0, false);
3394
- $[249] = t87;
3418
+ $[255] = t89;
3395
3419
  } else {
3396
- t87 = $[249];
3420
+ t89 = $[255];
3397
3421
  }
3398
- let t88;
3399
- if ($[250] !== t) {
3400
- t88 = t("Breadcrumb");
3401
- $[250] = t;
3402
- $[251] = t88;
3422
+ let t90;
3423
+ if ($[256] !== t) {
3424
+ t90 = t("Breadcrumb");
3425
+ $[256] = t;
3426
+ $[257] = t90;
3403
3427
  } else {
3404
- t88 = $[251];
3428
+ t90 = $[257];
3405
3429
  }
3406
- const t89 = groupLabel[activeGroup.key];
3407
- let t90;
3408
- if ($[252] !== t89) {
3409
- t90 = /* @__PURE__ */ jsxDEV("span", {
3430
+ const t91 = groupLabel[activeGroup.key];
3431
+ let t92;
3432
+ if ($[258] !== t91) {
3433
+ t92 = /* @__PURE__ */ jsxDEV("span", {
3410
3434
  className: "text-muted-foreground",
3411
- children: t89
3435
+ children: t91
3412
3436
  }, void 0, false);
3413
- $[252] = t89;
3414
- $[253] = t90;
3437
+ $[258] = t91;
3438
+ $[259] = t92;
3415
3439
  } else {
3416
- t90 = $[253];
3440
+ t92 = $[259];
3417
3441
  }
3418
- let t91;
3419
- if ($[254] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
3420
- t91 = /* @__PURE__ */ jsxDEV("svg", {
3442
+ let t93;
3443
+ if ($[260] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
3444
+ t93 = /* @__PURE__ */ jsxDEV("svg", {
3421
3445
  "aria-hidden": "true",
3422
3446
  className: "size-3.5 text-muted-foreground/60",
3423
3447
  fill: "none",
@@ -3430,39 +3454,39 @@ const StudioLayout = () => {
3430
3454
  strokeLinejoin: "round"
3431
3455
  }, void 0, false)
3432
3456
  }, void 0, false);
3433
- $[254] = t91;
3457
+ $[260] = t93;
3434
3458
  } else {
3435
- t91 = $[254];
3459
+ t93 = $[260];
3436
3460
  }
3437
- const t92 = tabLabel[current];
3438
- let t93;
3439
- if ($[255] !== t92) {
3440
- t93 = /* @__PURE__ */ jsxDEV("span", {
3461
+ const t94 = tabLabel[current];
3462
+ let t95;
3463
+ if ($[261] !== t94) {
3464
+ t95 = /* @__PURE__ */ jsxDEV("span", {
3441
3465
  className: "font-medium text-foreground",
3442
- children: t92
3466
+ children: t94
3443
3467
  }, void 0, false);
3444
- $[255] = t92;
3445
- $[256] = t93;
3468
+ $[261] = t94;
3469
+ $[262] = t95;
3446
3470
  } else {
3447
- t93 = $[256];
3471
+ t95 = $[262];
3448
3472
  }
3449
- let t94;
3450
- if ($[257] !== t88 || $[258] !== t90 || $[259] !== t93) {
3451
- t94 = /* @__PURE__ */ jsxDEV("nav", {
3452
- "aria-label": t88,
3473
+ let t96;
3474
+ if ($[263] !== t90 || $[264] !== t92 || $[265] !== t95) {
3475
+ t96 = /* @__PURE__ */ jsxDEV("nav", {
3476
+ "aria-label": t90,
3453
3477
  className: "flex items-center gap-1.5 text-[13px]",
3454
- children: [t90, t91, t93]
3478
+ children: [t92, t93, t95]
3455
3479
  }, void 0, true);
3456
- $[257] = t88;
3457
- $[258] = t90;
3458
- $[259] = t93;
3459
- $[260] = t94;
3480
+ $[263] = t90;
3481
+ $[264] = t92;
3482
+ $[265] = t95;
3483
+ $[266] = t96;
3460
3484
  } else {
3461
- t94 = $[260];
3485
+ t96 = $[266];
3462
3486
  }
3463
- let t95;
3464
- if ($[261] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
3465
- t95 = /* @__PURE__ */ jsxDEV("svg", {
3487
+ let t97;
3488
+ if ($[267] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
3489
+ t97 = /* @__PURE__ */ jsxDEV("svg", {
3466
3490
  "aria-hidden": "true",
3467
3491
  className: "size-3.5",
3468
3492
  fill: "none",
@@ -3478,167 +3502,167 @@ const StudioLayout = () => {
3478
3502
  strokeLinecap: "round"
3479
3503
  }, void 0, false)]
3480
3504
  }, void 0, true);
3481
- $[261] = t95;
3505
+ $[267] = t97;
3482
3506
  } else {
3483
- t95 = $[261];
3507
+ t97 = $[267];
3484
3508
  }
3485
- let t96;
3486
- if ($[262] !== t) {
3487
- t96 = t("Search…");
3488
- $[262] = t;
3489
- $[263] = t96;
3509
+ let t98;
3510
+ if ($[268] !== t) {
3511
+ t98 = t("Search…");
3512
+ $[268] = t;
3513
+ $[269] = t98;
3490
3514
  } else {
3491
- t96 = $[263];
3515
+ t98 = $[269];
3492
3516
  }
3493
- let t97;
3494
- if ($[264] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
3495
- t97 = /* @__PURE__ */ jsxDEV("kbd", {
3517
+ let t99;
3518
+ if ($[270] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
3519
+ t99 = /* @__PURE__ */ jsxDEV("kbd", {
3496
3520
  className: "ms-auto rounded border border-border bg-background px-1 font-sans text-[10px] text-muted-foreground",
3497
3521
  children: "⌘K"
3498
3522
  }, void 0, false);
3499
- $[264] = t97;
3523
+ $[270] = t99;
3500
3524
  } else {
3501
- t97 = $[264];
3525
+ t99 = $[270];
3502
3526
  }
3503
- let t98;
3504
- if ($[265] !== t96) {
3505
- t98 = /* @__PURE__ */ jsxDEV("button", {
3527
+ let t100;
3528
+ if ($[271] !== t98) {
3529
+ t100 = /* @__PURE__ */ jsxDEV("button", {
3506
3530
  className: "mx-auto hidden h-8 w-72 items-center gap-2 rounded-lg border border-border bg-muted/40 px-3 text-xs text-muted-foreground transition-colors hover:bg-muted md:flex",
3507
3531
  "data-testid": "dash-app-search",
3508
3532
  onClick: openCommandPalette,
3509
3533
  type: "button",
3510
- children: [t95, t96, t97]
3534
+ children: [t97, t98, t99]
3511
3535
  }, void 0, true);
3512
- $[265] = t96;
3513
- $[266] = t98;
3536
+ $[271] = t98;
3537
+ $[272] = t100;
3514
3538
  } else {
3515
- t98 = $[266];
3539
+ t100 = $[272];
3516
3540
  }
3517
- let t99;
3518
- if ($[267] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
3519
- t99 = /* @__PURE__ */ jsxDEV("div", {
3541
+ let t101;
3542
+ if ($[273] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
3543
+ t101 = /* @__PURE__ */ jsxDEV("div", {
3520
3544
  className: "ms-auto flex items-center gap-1.5 md:ms-0",
3521
3545
  children: /* @__PURE__ */ jsxDEV(ThemeToggle, {}, void 0, false)
3522
3546
  }, void 0, false);
3523
- $[267] = t99;
3547
+ $[273] = t101;
3524
3548
  } else {
3525
- t99 = $[267];
3549
+ t101 = $[273];
3526
3550
  }
3527
- let t100;
3528
- if ($[268] !== t94 || $[269] !== t98) {
3529
- t100 = /* @__PURE__ */ jsxDEV("header", {
3551
+ let t102;
3552
+ if ($[274] !== t100 || $[275] !== t96) {
3553
+ t102 = /* @__PURE__ */ jsxDEV("header", {
3530
3554
  className: "flex h-11 shrink-0 items-center gap-2 border-b border-border px-4",
3531
3555
  "data-testid": "dash-app-header",
3532
- children: [t87, t94, t98, t99]
3556
+ children: [t89, t96, t100, t101]
3533
3557
  }, void 0, true);
3534
- $[268] = t94;
3535
- $[269] = t98;
3536
- $[270] = t100;
3558
+ $[274] = t100;
3559
+ $[275] = t96;
3560
+ $[276] = t102;
3537
3561
  } else {
3538
- t100 = $[270];
3562
+ t102 = $[276];
3539
3563
  }
3540
- let t101;
3541
- if ($[271] !== chrome?.rulesInstalled) {
3542
- t101 = chrome?.rulesInstalled === false && /* @__PURE__ */ jsxDEV(RulesBanner, {}, void 0, false);
3543
- $[271] = chrome?.rulesInstalled;
3544
- $[272] = t101;
3545
- } else {
3546
- t101 = $[272];
3547
- }
3548
- const t102 = `dash-tab-${current}`;
3549
- const t103 = fullHeight ? "flex min-w-0 flex-1 flex-col overflow-hidden" : "min-w-0 flex-1 overflow-auto p-6";
3550
- const t104 = tabLabel[current];
3551
- let t105;
3552
- if ($[273] !== t || $[274] !== t104) {
3553
- t105 = t("{title} failed", {
3554
- title: t104
3555
- });
3556
- $[273] = t;
3557
- $[274] = t104;
3558
- $[275] = t105;
3564
+ let t103;
3565
+ if ($[277] !== chrome?.rulesInstalled) {
3566
+ t103 = chrome?.rulesInstalled === false && /* @__PURE__ */ jsxDEV(RulesBanner, {}, void 0, false);
3567
+ $[277] = chrome?.rulesInstalled;
3568
+ $[278] = t103;
3559
3569
  } else {
3560
- t105 = $[275];
3570
+ t103 = $[278];
3561
3571
  }
3572
+ const t104 = `dash-tab-${current}`;
3573
+ const t105 = fullHeight ? "flex min-w-0 flex-1 flex-col overflow-hidden" : "min-w-0 flex-1 overflow-auto p-6";
3562
3574
  const t106 = tabLabel[current];
3563
3575
  let t107;
3564
- if ($[276] !== t) {
3565
- t107 = t("Try again");
3566
- $[276] = t;
3567
- $[277] = t107;
3576
+ if ($[279] !== t || $[280] !== t106) {
3577
+ t107 = t("{title} failed", {
3578
+ title: t106
3579
+ });
3580
+ $[279] = t;
3581
+ $[280] = t106;
3582
+ $[281] = t107;
3583
+ } else {
3584
+ t107 = $[281];
3585
+ }
3586
+ const t108 = tabLabel[current];
3587
+ let t109;
3588
+ if ($[282] !== t) {
3589
+ t109 = t("Try again");
3590
+ $[282] = t;
3591
+ $[283] = t109;
3568
3592
  } else {
3569
- t107 = $[277];
3593
+ t109 = $[283];
3570
3594
  }
3571
- let t108;
3572
- if ($[278] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
3573
- t108 = /* @__PURE__ */ jsxDEV(Suspense, {
3595
+ let t110;
3596
+ if ($[284] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
3597
+ t110 = /* @__PURE__ */ jsxDEV(Suspense, {
3574
3598
  fallback: /* @__PURE__ */ jsxDEV(RoutePending, {}, void 0, false),
3575
3599
  children: /* @__PURE__ */ jsxDEV(Outlet, {}, void 0, false)
3576
3600
  }, void 0, false);
3577
- $[278] = t108;
3601
+ $[284] = t110;
3578
3602
  } else {
3579
- t108 = $[278];
3603
+ t110 = $[284];
3580
3604
  }
3581
- let t109;
3582
- if ($[279] !== current || $[280] !== t105 || $[281] !== t106 || $[282] !== t107) {
3583
- t109 = /* @__PURE__ */ jsxDEV(ErrorBoundary, {
3584
- fallbackTitle: t105,
3585
- label: t106,
3586
- retryLabel: t107,
3587
- children: t108
3605
+ let t111;
3606
+ if ($[285] !== current || $[286] !== t107 || $[287] !== t108 || $[288] !== t109) {
3607
+ t111 = /* @__PURE__ */ jsxDEV(ErrorBoundary, {
3608
+ fallbackTitle: t107,
3609
+ label: t108,
3610
+ retryLabel: t109,
3611
+ children: t110
3588
3612
  }, current, false);
3589
- $[279] = current;
3590
- $[280] = t105;
3591
- $[281] = t106;
3592
- $[282] = t107;
3593
- $[283] = t109;
3613
+ $[285] = current;
3614
+ $[286] = t107;
3615
+ $[287] = t108;
3616
+ $[288] = t109;
3617
+ $[289] = t111;
3594
3618
  } else {
3595
- t109 = $[283];
3619
+ t111 = $[289];
3596
3620
  }
3597
- let t110;
3598
- if ($[284] !== t103 || $[285] !== t109) {
3599
- t110 = /* @__PURE__ */ jsxDEV("div", {
3600
- className: t103,
3601
- children: t109
3621
+ let t112;
3622
+ if ($[290] !== t105 || $[291] !== t111) {
3623
+ t112 = /* @__PURE__ */ jsxDEV("div", {
3624
+ className: t105,
3625
+ children: t111
3602
3626
  }, void 0, false);
3603
- $[284] = t103;
3604
- $[285] = t109;
3605
- $[286] = t110;
3627
+ $[290] = t105;
3628
+ $[291] = t111;
3629
+ $[292] = t112;
3606
3630
  } else {
3607
- t110 = $[286];
3631
+ t112 = $[292];
3608
3632
  }
3609
- let t111;
3610
- if ($[287] !== t102 || $[288] !== t110) {
3611
- t111 = /* @__PURE__ */ jsxDEV("div", {
3612
- "aria-labelledby": t102,
3633
+ let t113;
3634
+ if ($[293] !== t104 || $[294] !== t112) {
3635
+ t113 = /* @__PURE__ */ jsxDEV("div", {
3636
+ "aria-labelledby": t104,
3613
3637
  className: "flex min-w-0 flex-1 flex-col overflow-hidden",
3614
3638
  "data-testid": "dash-panel",
3615
3639
  id: "dash-panel",
3616
3640
  role: "tabpanel",
3617
- children: t110
3641
+ children: t112
3618
3642
  }, void 0, false);
3619
- $[287] = t102;
3620
- $[288] = t110;
3621
- $[289] = t111;
3643
+ $[293] = t104;
3644
+ $[294] = t112;
3645
+ $[295] = t113;
3622
3646
  } else {
3623
- t111 = $[289];
3647
+ t113 = $[295];
3624
3648
  }
3625
- let t112;
3626
- if ($[290] !== t100 || $[291] !== t101 || $[292] !== t111) {
3627
- t112 = /* @__PURE__ */ jsxDEV(SidebarInset, {
3649
+ let t114;
3650
+ if ($[296] !== t102 || $[297] !== t103 || $[298] !== t113) {
3651
+ t114 = /* @__PURE__ */ jsxDEV(SidebarInset, {
3628
3652
  className: "overflow-hidden md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm",
3629
- children: [t100, t101, t111]
3653
+ children: [t102, t103, t113]
3630
3654
  }, void 0, true);
3631
- $[290] = t100;
3632
- $[291] = t101;
3633
- $[292] = t111;
3634
- $[293] = t112;
3655
+ $[296] = t102;
3656
+ $[297] = t103;
3657
+ $[298] = t113;
3658
+ $[299] = t114;
3635
3659
  } else {
3636
- t112 = $[293];
3660
+ t114 = $[299];
3637
3661
  }
3638
3662
  return /* @__PURE__ */ jsxDEV(SidebarProvider, {
3639
3663
  className: "min-h-0 flex-1",
3640
3664
  "data-testid": "lunora-studio",
3641
- children: [t86, /* @__PURE__ */ jsxDEV(StudioSidebar, {
3665
+ children: [t88, /* @__PURE__ */ jsxDEV(StudioSidebar, {
3642
3666
  chrome,
3643
3667
  connected,
3644
3668
  current,
@@ -3647,7 +3671,7 @@ const StudioLayout = () => {
3647
3671
  selectTab,
3648
3672
  tabDescription,
3649
3673
  tabLabel
3650
- }, void 0, false), t112]
3674
+ }, void 0, false), t114]
3651
3675
  }, void 0, true);
3652
3676
  };
3653
3677
  const SchemaRoutePanel = (t0) => {
@@ -3726,6 +3750,9 @@ const buildRouter = ({
3726
3750
  component: StudioLayout
3727
3751
  });
3728
3752
  const panels = {
3753
+ agents: /* @__PURE__ */ jsxDEV(AgentsPanel, {
3754
+ initialShardKey
3755
+ }, void 0, false),
3729
3756
  analytics: /* @__PURE__ */ jsxDEV(AnalyticsPanel, {}, void 0, false),
3730
3757
  api: /* @__PURE__ */ jsxDEV(ApiTab, {
3731
3758
  functions,