@weppy/roblox-mcp 2.3.0 → 2.4.0

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 (82) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.github/workflows/install-test.yml +108 -0
  3. package/CHANGELOG.md +32 -0
  4. package/README.md +13 -7
  5. package/docs/en/installation/README.md +2 -2
  6. package/docs/en/installation/roblox-explorer.md +13 -3
  7. package/docs/en/installation/roblox-plugin.md +42 -31
  8. package/docs/en/pro-upgrade.md +26 -12
  9. package/docs/en/sync/luau-lsp.md +41 -0
  10. package/docs/en/sync/overview.md +4 -1
  11. package/docs/es/README.md +12 -4
  12. package/docs/es/installation/README.md +2 -2
  13. package/docs/es/pro-upgrade.md +26 -12
  14. package/docs/es/sync/luau-lsp.md +41 -0
  15. package/docs/es/sync/overview.md +4 -1
  16. package/docs/id/README.md +12 -4
  17. package/docs/id/installation/README.md +2 -2
  18. package/docs/id/pro-upgrade.md +26 -12
  19. package/docs/id/sync/luau-lsp.md +41 -0
  20. package/docs/id/sync/overview.md +4 -1
  21. package/docs/installer/assets/index-Bz0amd7x.js +63 -0
  22. package/docs/installer/assets/index-ei4lRUa6.css +1 -0
  23. package/docs/installer/index.html +2 -2
  24. package/docs/ja/README.md +14 -8
  25. package/docs/ja/installation/README.md +2 -2
  26. package/docs/ja/pro-upgrade.md +26 -12
  27. package/docs/ja/sync/luau-lsp.md +41 -0
  28. package/docs/ja/sync/overview.md +4 -1
  29. package/docs/ko/README.md +13 -7
  30. package/docs/ko/installation/README.md +2 -2
  31. package/docs/ko/installation/roblox-explorer.md +13 -3
  32. package/docs/ko/installation/roblox-plugin.md +42 -31
  33. package/docs/ko/pro-upgrade.md +26 -12
  34. package/docs/ko/sync/luau-lsp.md +41 -0
  35. package/docs/ko/sync/overview.md +4 -1
  36. package/docs/pt-br/README.md +12 -4
  37. package/docs/pt-br/installation/README.md +2 -2
  38. package/docs/pt-br/pro-upgrade.md +26 -12
  39. package/docs/pt-br/sync/luau-lsp.md +41 -0
  40. package/docs/pt-br/sync/overview.md +4 -1
  41. package/docs/troubleshooting.md +1 -1
  42. package/install.ps1 +36 -96
  43. package/install.sh +22 -67
  44. package/llms.txt +1 -1
  45. package/package.json +1 -1
  46. package/plugins/weppy-roblox-mcp/.claude-plugin/plugin.json +1 -1
  47. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{ChangelogDetailPage-CGK59Jsx.js → ChangelogDetailPage-CDMDeGei.js} +1 -1
  48. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{ChangelogPage-oNm6ratx.js → ChangelogPage-Uhx5ND-w.js} +1 -1
  49. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{ConfirmModal-Dtak3Vnq.js → ConfirmModal-BHlbjwL7.js} +1 -1
  50. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ConnectionPage-9bG71eB1.css +1 -0
  51. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ConnectionPage-VXh4Hc9N.js +1 -0
  52. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{InfoLabel-CLvjiyTG.js → InfoLabel-CGOLGj5z.js} +1 -1
  53. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{OverviewPage-BdF0Ve7h.js → OverviewPage-CWnqw6VH.js} +1 -1
  54. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{PlaytestPage-cQMWlAOS.js → PlaytestPage-62dIQkgo.js} +1 -1
  55. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/PropertyDiff-DnLJY3ZB.js +6 -0
  56. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{SettingsPage-C-QX0AY-.js → SettingsPage-Bjr3d4mM.js} +1 -1
  57. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{StatusBadge-A9U9m2LQ.js → StatusBadge-6VL6HJhv.js} +1 -1
  58. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SyncPage-jdplS80I.js +4 -0
  59. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/TierComparison-7eRDwSAZ.js +1 -0
  60. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/TierPromoProgress-DFG_858F.js +1 -0
  61. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ToolsPage-B8iwhAW0.css +1 -0
  62. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ToolsPage-Cc6Vl-VU.js +1 -0
  63. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/WhatsNewPage-Lxgj0StO.css +1 -0
  64. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/WhatsNewPage-WPfXt13q.js +1 -0
  65. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/index-BhDELp5r.js +143 -0
  66. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/index-YfUJSF5s.css +1 -0
  67. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{useLiveUptime-Df1ECedb.js → useLiveUptime-BT-AiWEA.js} +1 -1
  68. package/plugins/weppy-roblox-mcp/dashboard/dist/index.html +2 -2
  69. package/plugins/weppy-roblox-mcp/dist/index.js +93 -81
  70. package/plugins/weppy-roblox-mcp/roblox-plugin/WeppyRobloxMCP.rbxm +0 -0
  71. package/docs/installer/assets/index-B4Gp7BPj.js +0 -63
  72. package/docs/installer/assets/index-B7mvmOPt.css +0 -1
  73. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ConnectionPage-CN3LYLAT.css +0 -1
  74. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ConnectionPage-CjLtImxr.js +0 -1
  75. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/PropertyDiff-BnOZxkTS.js +0 -6
  76. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SyncPage-BAS0cXRM.js +0 -4
  77. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/TierComparison-BA_L4c9p.js +0 -1
  78. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/TierPromoProgress-Dq6ofjr2.js +0 -1
  79. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ToolsPage-BZZZ3FXe.css +0 -1
  80. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ToolsPage-C_tMIyix.js +0 -1
  81. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/index-DYnjsp-e.css +0 -1
  82. package/plugins/weppy-roblox-mcp/dashboard/dist/assets/index-OH9mpHwW.js +0 -129
@@ -0,0 +1 @@
1
+ @import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=DM+Sans:wght@400;500;700&family=JetBrains+Mono:wght@400;500;700&display=swap";._container_10isu_2{position:fixed;bottom:16px;right:16px;z-index:2000;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none}._toast_10isu_14{pointer-events:auto;padding:10px 16px;border-radius:6px;font-family:var(--font-label);font-size:13px;color:#fff;box-shadow:0 4px 12px #0000004d;animation:_slideIn_10isu_1 .25s ease-out;max-width:320px}@keyframes _slideIn_10isu_1{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}._success_10isu_39{background:#14532d;border-left:3px solid #22c55e}._info_10isu_44{background:#1e3a5f;border-left:3px solid #3b82f6}._warning_10isu_49{background:#78350f;border-left:3px solid #f59e0b}._error_10isu_54{background:#7f1d1d;border-left:3px solid #ef4444}._wrapper_1uzud_2{position:relative;display:inline-flex}._tooltip_1uzud_8{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);font-size:12px;padding:4px 8px;border-radius:4px;width:max-content;max-width:min(320px,calc(100vw - 32px));white-space:normal;overflow-wrap:anywhere;text-align:left;pointer-events:none;opacity:0;transition:opacity var(--transition);z-index:1000}._tooltipLeft_1uzud_30{left:0;transform:none}._tooltipRight_1uzud_35{left:auto;right:0;transform:none}._wrapper_1uzud_2:hover ._tooltip_1uzud_8{opacity:1}._sidebar_ap408_2{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100%;display:flex;flex-direction:column;background:var(--bg-sidebar);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-right:1px solid var(--border);padding:0 0 16px;overflow:visible;transition:width var(--transition),min-width var(--transition)}._brand_ap408_17{display:flex;align-items:center;gap:10px;padding:18px 16px 14px;border-bottom:1px solid var(--border);margin-bottom:8px}._brandIcon_ap408_26{font-size:18px;color:var(--accent);flex-shrink:0}._brandText_ap408_32{font-family:var(--font-label);font-size:14px;font-weight:700;color:var(--text-primary);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._brandTextPro_ap408_43{color:var(--pro-text);text-shadow:0 0 18px rgba(212,167,44,.18)}._nav_ap408_49{display:flex;flex-direction:column;gap:2px}._navLink_ap408_56{display:flex;align-items:center;gap:12px;padding:10px 16px;color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:500;border-left:4px solid transparent;transition:color var(--transition),background var(--transition),border-color var(--transition)}._navLink_ap408_56:hover{color:var(--text-primary);background:var(--accent-dim);text-decoration:none}._navLink_ap408_56._active_ap408_77{color:var(--accent);border-left-color:var(--accent);background:var(--accent-dim)}._navLink_ap408_56._disabled_ap408_84{color:var(--text-muted);pointer-events:none;cursor:default}._navLink_ap408_56._disabled_ap408_84:hover{background:transparent}._icon_ap408_95{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}._label_ap408_106{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._secondaryDivider_ap408_113{height:1px;margin:4px 16px;background:var(--border)}._secondaryNav_ap408_120{display:flex;flex-direction:column;gap:2px}@media(max-width:768px){._sidebar_ap408_2{width:var(--sidebar-collapsed);min-width:var(--sidebar-collapsed)}._brand_ap408_17{justify-content:center;padding:14px 0 10px}._brandText_ap408_32{display:none}._navLink_ap408_56{justify-content:center;padding:10px 0;gap:0}._label_ap408_106{display:none}}._header_uxip6_2{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 24px 14px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#0f1525f5,#0b0e1aeb);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}._projectBlock_uxip6_14{min-width:0;display:flex;flex-direction:column;gap:4px}._projectTitleRow_uxip6_21{display:flex;align-items:center;flex-wrap:wrap;gap:14px}._label_uxip6_28{font-family:var(--font-label);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}._projectName_uxip6_37{min-width:0;font-size:20px;font-weight:700;color:var(--text-primary);line-height:1.1}._projectActions_uxip6_45{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}._projectPath_uxip6_52{max-width:min(72vw,720px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-code);font-size:12px;color:var(--text-muted)}._projectMetaRow_uxip6_62{display:flex;align-items:baseline;gap:8px;max-width:min(72vw,720px);font-size:12px}._projectMetaLabel_uxip6_70{color:var(--text-secondary);font-family:var(--font-label);font-size:11px;letter-spacing:.06em;text-transform:uppercase}._projectMetaValue_uxip6_78{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-family:var(--font-code)}._placeBadge_uxip6_87{display:inline-flex;align-items:center;gap:8px;width:fit-content;margin-top:6px;padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:#0f1525e0;color:var(--text-primary);font-size:12px;font-weight:600}._placeBadgeMuted_uxip6_102{color:var(--text-secondary)}._placeIcon_uxip6_106{font-size:13px}._placeSection_uxip6_110{display:grid;gap:8px;margin-top:6px}._placeSectionHeader_uxip6_116{display:flex;align-items:center;gap:10px;flex-wrap:wrap}._placeNotice_uxip6_123,._routeNotice_uxip6_124{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border:1px solid rgba(232,184,84,.28);border-radius:999px;background:#e8b8541f;color:#f0c76a;font-size:12px;font-weight:600}._placeList_uxip6_137{display:flex;gap:10px;flex-wrap:wrap}._placeCard_uxip6_143{min-width:148px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:#0f1525e0}._placeCardCurrent_uxip6_151{border-color:var(--border-highlight);box-shadow:0 0 0 1px #7591ff2e inset}._placeCardTop_uxip6_156{display:flex;align-items:center;justify-content:space-between;gap:10px}._placeCardName_uxip6_163{color:var(--text-primary);font-size:13px;font-weight:600}._placeCardBadge_uxip6_169{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}._placeCardBadgeActive_uxip6_179{background:#4bb67029;color:#7ed79d}._placeCardBadgeInactive_uxip6_184{background:#7f8daa24;color:var(--text-secondary)}._placeCardMeta_uxip6_189{margin-top:6px;color:var(--text-muted);font-family:var(--font-code);font-size:11px}._actions_uxip6_196{display:flex;align-items:center;justify-content:flex-end;gap:8px}._iconButton_uxip6_203{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);color:var(--text-primary);font-size:18px;text-decoration:none;transition:border-color var(--transition),background var(--transition),color var(--transition),transform var(--transition)}._iconButton_uxip6_203:hover{border-color:var(--border-highlight);background:var(--accent-dim);color:var(--accent);text-decoration:none;transform:translateY(-1px)}._iconButton_uxip6_203:disabled{cursor:not-allowed;opacity:.52;transform:none}._changeButton_uxip6_236{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid var(--border);border-radius:12px;background:#162031e6;color:var(--text-primary);font:inherit;font-size:12px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition),transform var(--transition)}._changeButton_uxip6_236:hover{border-color:var(--border-highlight);background:var(--accent-dim);color:var(--accent);transform:translateY(-1px)}._changeButton_uxip6_236:disabled{cursor:not-allowed;opacity:.52;transform:none}@media(max-width:768px){._header_uxip6_2{padding:14px 16px 12px}._projectTitleRow_uxip6_21{flex-direction:column;gap:10px}._projectActions_uxip6_45{gap:6px}._projectName_uxip6_37{font-size:16px}._projectPath_uxip6_52{max-width:calc(100vw - 120px)}._projectMetaRow_uxip6_62{flex-direction:column;align-items:flex-start;gap:4px;max-width:calc(100vw - 120px)}._projectMetaValue_uxip6_78{max-width:100%}}._bellWrapper_tae21_2{position:relative;display:inline-flex}._unreadDot_tae21_8{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--error);border:2px solid var(--bg-card);pointer-events:none}._backdrop_1ct9h_1{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c1018b8;display:grid;place-items:center;z-index:1000;padding:24px}._modal_1ct9h_11{width:min(420px,100%);background:#172133;border:1px solid rgba(162,179,207,.28);border-radius:18px;box-shadow:0 24px 48px #0307126b;padding:24px}._title_1ct9h_20{margin:0 0 12px;color:#f4f7fb;font-size:20px}._message_1ct9h_26{margin:0;color:#c8d2e3;line-height:1.6}._actions_1ct9h_32{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}._cancelButton_1ct9h_39,._confirmButton_1ct9h_40{border:0;border-radius:10px;padding:10px 14px;font:inherit;cursor:pointer}._cancelButton_1ct9h_39{background:#8395b32e;color:#d8e0ee}._confirmButton_1ct9h_40{background:#d15454;color:#fff4f4}._cancelButton_1ct9h_39:disabled,._confirmButton_1ct9h_40:disabled{cursor:not-allowed;opacity:.6}._layout_ya8ln_2{display:flex;height:100%;overflow:hidden}._mainShell_ya8ln_8{flex:1;min-width:0;display:flex;flex-direction:column;overflow:visible}._content_ya8ln_17{flex:1 1 auto;min-height:0;overflow-y:auto;padding:24px}._loading_ya8ln_25{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:14px}:root{--bg-primary: #0b0e1a;--bg-secondary: #0f1525;--bg-card: #111827;--bg-sidebar: rgba(11, 14, 26, .95);--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #475569;--accent: #3b82f6;--accent-dim: rgba(59, 130, 246, .12);--accent-glow: rgba(59, 130, 246, .25);--border: #1e293b;--border-highlight: #2563eb;--error: #ef4444;--warning: #f59e0b;--success: #22c55e;--pro-badge: #d4a72c;--pro-text: #f3d46b;--pro-bg: #3a2d12;--pro-bg-soft: rgba(212, 167, 44, .12);--pro-border: #8f6f1f;--font-code: "JetBrains Mono", "Fira Code", monospace;--font-label: "Inter", "DM Sans", -apple-system, sans-serif;--sidebar-width: 220px;--sidebar-collapsed: 56px;--radius: 10px;--radius-sm: 6px;--transition: .2s ease}@media(prefers-color-scheme:light){:root{--bg-primary: #f1f5f9;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-sidebar: rgba(255, 255, 255, .95);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--accent: #2563eb;--accent-dim: rgba(37, 99, 235, .08);--accent-glow: rgba(37, 99, 235, .15);--border: #e2e8f0;--border-highlight: #3b82f6;--pro-badge: #b07c00;--pro-text: #8a5f00;--pro-bg: #fff4d6;--pro-bg-soft: rgba(176, 124, 0, .12);--pro-border: #d9b14d}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:var(--font-label);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}#root{height:100%}code,pre,.mono{font-family:var(--font-code)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
@@ -1 +1 @@
1
- import{r as a}from"./index-OH9mpHwW.js";function c(t){const r=Math.max(0,Math.floor(t/1e3)),n=Math.floor(r/3600),o=Math.floor(r%3600/60),e=Math.floor(r%60);return`${String(n).padStart(2,"0")}:${String(o).padStart(2,"0")}:${String(e).padStart(2,"0")}`}const s=1e3;function i(t){const[r,n]=a.useState(t??null);return a.useEffect(()=>{if(t==null){n(null);return}const o=Date.now();n(t);const e=window.setInterval(()=>{n(t+(Date.now()-o))},s);return()=>{window.clearInterval(e)}},[t]),r}export{c as f,i as u};
1
+ import{r as a}from"./index-BhDELp5r.js";function c(t){const r=Math.max(0,Math.floor(t/1e3)),n=Math.floor(r/3600),o=Math.floor(r%3600/60),e=Math.floor(r%60);return`${String(n).padStart(2,"0")}:${String(o).padStart(2,"0")}:${String(e).padStart(2,"0")}`}const s=1e3;function i(t){const[r,n]=a.useState(t??null);return a.useEffect(()=>{if(t==null){n(null);return}const o=Date.now();n(t);const e=window.setInterval(()=>{n(t+(Date.now()-o))},s);return()=>{window.clearInterval(e)}},[t]),r}export{c as f,i as u};
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <link rel="icon" href="/dashboard/wrox-icon.png" />
7
7
  <title>WROX Dashboard</title>
8
- <script type="module" crossorigin src="/dashboard/assets/index-OH9mpHwW.js"></script>
9
- <link rel="stylesheet" crossorigin href="/dashboard/assets/index-DYnjsp-e.css">
8
+ <script type="module" crossorigin src="/dashboard/assets/index-BhDELp5r.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/dashboard/assets/index-YfUJSF5s.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>