@weppy/roblox-mcp 2.0.0 → 2.0.2
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/.claude-plugin/marketplace.json +3 -3
- package/CHANGELOG.md +19 -0
- package/COMMERCIAL-LICENSE.md +13 -0
- package/Dockerfile +13 -0
- package/LICENSE +648 -40
- package/README.md +31 -2
- package/TRADEMARKS.md +18 -0
- package/docs/assets/screenshots/license/license-dashboard.png +3 -0
- package/docs/assets/screenshots/license/license-plugin.png +3 -0
- package/docs/compatibility.md +1 -1
- package/docs/en/installation/README.md +25 -2
- package/docs/en/installation/ai-apps/cursor.md +77 -0
- package/docs/en/installation/roblox-explorer.md +5 -5
- package/docs/en/installation/roblox-plugin.md +1 -0
- package/docs/en/pro-upgrade.md +36 -12
- package/docs/es/README.md +29 -10
- package/docs/es/installation/README.md +25 -2
- package/docs/es/installation/ai-apps/cursor.md +77 -0
- package/docs/es/installation/roblox-plugin.md +1 -0
- package/docs/es/pro-upgrade.md +37 -13
- package/docs/id/README.md +29 -10
- package/docs/id/installation/README.md +25 -2
- package/docs/id/installation/ai-apps/cursor.md +77 -0
- package/docs/id/installation/roblox-plugin.md +1 -0
- package/docs/id/pro-upgrade.md +36 -12
- package/docs/ja/README.md +29 -10
- package/docs/ja/installation/README.md +25 -2
- package/docs/ja/installation/ai-apps/cursor.md +77 -0
- package/docs/ja/installation/roblox-plugin.md +1 -0
- package/docs/ja/pro-upgrade.md +35 -11
- package/docs/ko/README.md +28 -9
- package/docs/ko/installation/README.md +25 -2
- package/docs/ko/installation/ai-apps/cursor.md +77 -0
- package/docs/ko/installation/roblox-explorer.md +5 -5
- package/docs/ko/installation/roblox-plugin.md +1 -0
- package/docs/ko/pro-upgrade.md +35 -11
- package/docs/pt-br/README.md +29 -10
- package/docs/pt-br/installation/README.md +25 -2
- package/docs/pt-br/installation/ai-apps/cursor.md +77 -0
- package/docs/pt-br/installation/roblox-plugin.md +1 -0
- package/docs/pt-br/pro-upgrade.md +37 -13
- package/glama.json +7 -0
- package/install.ps1 +277 -0
- package/install.sh +307 -0
- package/llms-full.txt +92 -7
- package/llms.txt +13 -1
- package/package.json +14 -3
- package/plugins/weppy-roblox-mcp/.claude-plugin/plugin.json +2 -2
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{ChangelogDetailPage-BOp7G4Fi.js → ChangelogDetailPage-IgHLnaEX.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ChangelogPage-Br-A5H5t.css +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ChangelogPage-Dao4jPQA.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ConfirmModal-CvXLNYq0.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ConfirmModal-tvPLhSO9.css +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ConnectionPage-Bl7tLgL2.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ConnectionPage-CN3LYLAT.css +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/InfoLabel-vz7vtbbV.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{OverviewPage-DS-g_EC0.js → OverviewPage-BDDctbAl.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/PlaytestPage-C0iCoAQp.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/PlaytestPage-LnuHE5FL.css +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{PropertyDiff-qdFEmTM4.js → PropertyDiff-CbDafceC.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SettingsPage-CJs9ctOf.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SettingsPage-DP9OFhNb.css +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{StatusBadge-CC_OzjmT.js → StatusBadge-BMTgkxDJ.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SyncPage-Bf1SdHGg.css +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SyncPage-BfXIBNVS.js +4 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{TierPromoPanel-DzFynur7.js → TierPromoPanel-CUrTMsXB.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/TierPromoProgress-DBA-FZGE.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ToolsPage-BZZZ3FXe.css +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ToolsPage-O4dXhEU-.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/index-CkXvRg-O.js +69 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{tier-promo-config-CckH43fU.js → tier-promo-config-B9lIKWCQ.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{useLiveUptime-DZCw70vn.js → useLiveUptime-DXXyWm6j.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/index.html +1 -1
- package/plugins/weppy-roblox-mcp/dist/index.js +58 -57
- package/plugins/weppy-roblox-mcp/roblox-plugin/WeppyRobloxMCP.rbxm +3 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ChangelogPage-ByQDwNhh.css +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ChangelogPage-DGhZm1j7.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ConnectionPage-CkQVyTc5.css +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ConnectionPage-DXv_C7i6.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/InfoLabel-CszBT8rJ.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/PlaytestPage-C4X6-jp-.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/PlaytestPage-emQ5xjZz.css +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SettingsPage-BtjNT-j0.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SettingsPage-NF_CPSvZ.css +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SyncPage-BNHvpQxD.css +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/SyncPage-BOYoftuM.js +0 -4
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/TierPromoProgress-DkpXj7Ui.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ToolsPage-CZsA-7CL.js +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/ToolsPage-cVoMPYAn.css +0 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/index-BYvG5KEz.js +0 -69
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as o,D as C,b as w,h as S,u as T,j as s}from"./index-BYvG5KEz.js";function he(){const[m,e]=o.useState("basic"),[c,n]=o.useState(0),[p,u]=o.useState(0),[a,r]=o.useState(0),[x,P]=o.useState(!0);o.useEffect(()=>{let d=!1;async function y(){try{return await S("gumroad")}catch{return null}}async function v(){var i,h;try{const[_,l]=await Promise.all([y(),w.get("/api/dashboard/tool-stats").catch(()=>null)]);if(d)return;if(_!=null&&_.tier&&e(_.tier),l!=null&&l.tierSummary){const b=((i=l.tierSummary.basic)==null?void 0:i.totalCalls)??0,f=((h=l.tierSummary.pro)==null?void 0:h.totalCalls)??0;r(b),u(f),n(b+f)}}catch{}finally{d||P(!1)}}v();const g=new C;g.connect();const k=g.on("license",()=>{y().then(i=>{!d&&(i!=null&&i.tier)&&e(i.tier)})});return()=>{d=!0,k(),g.disconnect()}},[]);const j=c>0?p/c*100:0;return{tier:m,proUsagePercent:j,totalCalls:c,proCalls:p,basicCalls:a,loading:x}}const N=[{name:"query_instances",description:"Query Roblox instances: get, children, find child/descendant, wait for child, class info, search by name/class. [PRO] file_tree, project_structure, descendants, ancestors, search by property/tag.",basic:["get","children","find_child","find_descendant","wait_for_child","class_info","search_name","search_class"],pro:["search_property","search_tag","file_tree","project_structure","descendants","ancestors"]},{name:"mutate_instances",description:"Create, delete, clone, move, rename, or pivot instances. [PRO] create_tree, mass_create, mass_delete, mass_duplicate, smart_duplicate.",basic:["create","create_with_props","delete","clone","move","rename","pivot"],pro:["create_tree","mass_create","mass_delete","mass_duplicate","smart_duplicate"]},{name:"manage_properties",description:"Get/set properties, attributes, and tags on instances. [PRO] set_calculated, set_relative, mass_set, mass_get, modify_children.",basic:["get","set","get_all","set_multiple","get_attr","set_attr","get_all_attrs","delete_attr","add_tag","remove_tag","check_tag","get_tags","get_tagged"],pro:["set_calculated","set_relative","mass_set","mass_get","modify_children"]},{name:"manage_scripts",description:"Manage script source code: read, write, create, delete, edit lines, search. [PRO] replace across scripts.",basic:["get_source","set_source","create","delete","edit_replace","edit_insert","edit_delete","search","get_dependencies"],pro:["replace"]},{name:"manage_lighting",description:"[PRO] Configure environment: lighting, atmosphere, sky, terrain properties, time of day.",basic:[],pro:["lighting","atmosphere","sky","terrain_props","time"]},{name:"manage_selection",description:"Get, set, or clear selection. [PRO] context, details, add/remove items, watch changes.",basic:["get","set","clear","cached"],pro:["context","details","add","remove","watch"]},{name:"manage_camera",description:"Camera operations: get info, focus on instance by path or position, get suggested view.",basic:["info","focus_path","focus_position","suggest"],pro:[]},{name:"manage_tween",description:"[PRO] Tween service: create, play, pause, cancel tweens for smooth animations.",basic:[],pro:["create","play","pause","cancel"]},{name:"manage_audio",description:"[PRO] Audio management: play, stop, pause, resume sounds. Set audio listener.",basic:[],pro:["play","stop","pause","resume","set_listener"]},{name:"manage_animation",description:"[PRO] Animation: load, play, stop animations. Get animation tracks from humanoid/controller.",basic:[],pro:["load","play","stop","get_tracks"]},{name:"manage_physics",description:"[PRO] Physics collision groups: register, set collidable between groups, list groups.",basic:[],pro:["register_group","set_collidable","get_groups"]},{name:"manage_effects",description:"[PRO] Particle effects: emit particles, clear all particles, toggle effect enabled state.",basic:[],pro:["emit","clear","toggle"]},{name:"manage_terrain",description:"[PRO] Terrain operations: fill shapes, clear regions, replace materials, manage colors, read/write voxels, generate procedural terrain, smooth terrain.",basic:[],pro:["fill_block","fill_ball","fill_cylinder","fill_wedge","clear_region","clear_bounds","replace_material","colors_get","colors_set","read_voxel","read_voxels","write_voxels","generate","smooth"]},{name:"spatial_query",description:"[PRO] Spatial queries: raycast, find ground, check placement, multi-raycast, scan area, find flat areas, find spawn positions, analyze walkable, spatial map, find empty space, get bounds, snap to grid, check collision.",basic:[],pro:["raycast","find_ground","check_placement","multi_raycast","scan_area","find_flat","find_spawn","analyze_walkable","spatial_map","find_space","bounds","snap_grid","collision"]},{name:"manage_assets",description:"[PRO] Asset management: insert models by ID, get asset info, search creator store, insert free models/packages, export selection.",basic:[],pro:["insert","info","search","search_insert","insert_free","insert_package","export"]},{name:"manage_sync",description:"[PRO] Project sync management: status, config, history, direction settings, read/write synced files.",basic:[],pro:["status","config","history","directions","read_file","write_file","progress"]},{name:"workspace_state",description:"[PRO] Workspace state: full sync, snapshot, recent changes, viewport info, clear history, metadata, scripts, selection info, clear cache.",basic:[],pro:["sync","snapshot","changes","viewport","clear_history","metadata","scripts","selection_info","clear_cache"]},{name:"manage_logs",description:"Output logs: get filtered logs, poll incrementally with sinceSeq cursor, clear buffer, get recent errors.",basic:["get","clear","errors"],pro:[]},{name:"system_info",description:"System info: ping, connection status, usage tier. [PRO] place info, services list, studio settings, playtest control, automated test runner.",basic:["ping","connection","usage"],pro:["place_info","services","studio_settings","play","stop","pause","resume","play_status","run_test"]},{name:"batch_execute",description:'[PRO] Execute multiple commands in a single batch. Each command is an object with "tool" name and "args". Commands execute sequentially; optionally continue on error.',basic:[],pro:["batch_execute"]},{name:"execute_luau",description:"[PRO] Execute arbitrary Luau code in Roblox Studio sandbox. Blocked services: HttpService, DataStoreService, MessagingService. Cannot access CoreGui/CorePackages.",basic:[],pro:["execute_luau"]}],R={proOnlyTools:13,mixedTools:6,totalBasicActions:51,totalProActions:107},O={tools:N,summary:R},L="_overlay_4gu92_2",B="_modal_4gu92_13",A="_summaryGrid_4gu92_32",M="_summaryCard_4gu92_39",D="_basicCard_4gu92_45",E="_proCard_4gu92_49",G="_cardTitle_4gu92_54",I="_summarySection_4gu92_70",$="_sectionTitle_4gu92_78",q="_featureList_4gu92_90",H="_summary_4gu92_32",W="_statBasic_4gu92_116",F="_statPro_4gu92_120",z="_statMixed_4gu92_124",U="_detailHeader_4gu92_128",Q="_tableWrap_4gu92_137",J="_table_4gu92_137",K="_toolName_4gu92_165",V="_description_4gu92_171",X="_actionList_4gu92_176",Y="_none_4gu92_184",Z="_closeBtn_4gu92_189",t={overlay:L,modal:B,summaryGrid:A,summaryCard:M,basicCard:D,proCard:E,cardTitle:G,summarySection:I,sectionTitle:$,featureList:q,summary:H,statBasic:W,statPro:F,statMixed:z,detailHeader:U,tableWrap:Q,table:J,toolName:K,description:V,actionList:X,none:Y,closeBtn:Z};function be({onClose:m}){const{t:e}=T(),{tools:c,summary:n}=O,p=[{title:e("tier.comparison.basic.core","Core MCP workflow"),items:[e("tier.comparison.basic.core.item1","Script create/edit"),e("tier.comparison.basic.core.item2","Instance management"),e("tier.comparison.basic.core.item3","Property control"),e("tier.comparison.basic.core.item4","Selection and search"),e("tier.comparison.basic.core.item5","Tag management"),e("tier.comparison.basic.core.item6","Camera control"),e("tier.comparison.basic.core.item7","Log monitoring")]},{title:e("tier.comparison.basic.sync","Sync (Basic)"),items:[e("tier.comparison.basic.sync.item1","Studio to Local one-way sync"),e("tier.comparison.basic.sync.item2","Manual apply as default"),e("tier.comparison.basic.sync.item3","Pro sync settings stay read-only")]}],u=[{title:e("tier.comparison.pro.all","Everything in Basic, plus"),items:[]},{title:e("tier.comparison.pro.sync","Advanced Sync workflow"),items:[e("tier.comparison.pro.sync.item1","Per-type sync direction"),e("tier.comparison.pro.sync.item2","Per-type apply mode"),e("tier.comparison.pro.sync.item3","Bidirectional and reverse sync"),e("tier.comparison.pro.sync.item4","Full sync, resync, and push to Studio"),e("tier.comparison.pro.sync.item5","Multi-place sync")]},{title:e("tier.comparison.pro.playtest","Playtest control"),items:[e("tier.comparison.pro.playtest.item1","Play, stop, pause, and resume"),e("tier.comparison.pro.playtest.item2","Playtest state inspection"),e("tier.comparison.pro.playtest.item3","Automated test execution")]},{title:e("tier.comparison.pro.creation","Advanced creation workflow"),items:[e("tier.comparison.pro.creation.item1","Bulk operations"),e("tier.comparison.pro.creation.item2","Terrain generation"),e("tier.comparison.pro.creation.item3","Asset search and insert"),e("tier.comparison.pro.creation.item4","Raycast and spatial analysis"),e("tier.comparison.pro.creation.item5","Environment control")]}];return s.jsx("div",{className:t.overlay,onClick:m,children:s.jsxs("div",{className:t.modal,onClick:a=>a.stopPropagation(),children:[s.jsx("h2",{children:e("tier.compare")}),s.jsxs("div",{className:t.summaryGrid,children:[s.jsxs("section",{className:`${t.summaryCard} ${t.basicCard}`,children:[s.jsx("h3",{className:t.cardTitle,children:e("tier.basic")}),p.map(a=>s.jsxs("div",{className:t.summarySection,children:[s.jsx("div",{className:t.sectionTitle,children:a.title}),s.jsx("ul",{className:t.featureList,children:a.items.map(r=>s.jsx("li",{children:r},r))})]},a.title))]}),s.jsxs("section",{className:`${t.summaryCard} ${t.proCard}`,children:[s.jsx("h3",{className:t.cardTitle,children:e("tier.pro")}),u.map(a=>s.jsxs("div",{className:t.summarySection,children:[s.jsx("div",{className:t.sectionTitle,children:a.title}),a.items.length>0&&s.jsx("ul",{className:t.featureList,children:a.items.map(r=>s.jsx("li",{children:r},r))})]},a.title))]})]}),s.jsxs("div",{className:t.summary,children:[s.jsxs("span",{className:t.statBasic,children:["Basic: ",n.totalBasicActions," actions"]}),s.jsxs("span",{className:t.statPro,children:["Pro: ",n.totalProActions," actions"]}),s.jsxs("span",{className:t.statMixed,children:[n.mixedTools," mixed / ",n.proOnlyTools," pro-only"]})]}),s.jsx("div",{className:t.detailHeader,children:e("tier.comparison.detailTitle","Detailed Tool Catalog")}),s.jsx("div",{className:t.tableWrap,children:s.jsxs("table",{className:t.table,children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:e("tools.col.tool")}),s.jsx("th",{children:e("tier.comparison.description","Description")}),s.jsx("th",{children:e("tier.basic")}),s.jsx("th",{children:e("tier.pro")})]})}),s.jsx("tbody",{children:c.map(a=>s.jsxs("tr",{children:[s.jsx("td",{className:t.toolName,children:a.name}),s.jsx("td",{className:t.description,children:e(`tier.tool.${a.name}.desc`,a.description)}),s.jsx("td",{className:t.actionList,children:a.basic.length>0?a.basic.join(", "):s.jsx("span",{className:t.none,children:"—"})}),s.jsx("td",{className:t.actionList,children:a.pro.length>0?a.pro.join(", "):s.jsx("span",{className:t.none,children:"—"})})]},a.name))})]})}),s.jsx("button",{className:t.closeBtn,onClick:m,children:e("tier.comparison.close","Close")})]})})}const ee="_progressPromo_dk7nu_1",se="_progressMain_dk7nu_11",te="_progressLabel_dk7nu_16",ae="_progressBar_dk7nu_26",re="_progressFill_dk7nu_33",ie="_progressText_dk7nu_40",ne="_actions_dk7nu_48",oe="_btn_dk7nu_56",ce="_btnOutline_dk7nu_77",le="_btnPrimary_dk7nu_87",me="_panel_dk7nu_97",pe="_panelIcon_dk7nu_104",de="_panelTitle_dk7nu_110",_e="_panelDesc_dk7nu_119",ue="_benefitList_dk7nu_127",ge="_benefitItem_dk7nu_136",fe={progressPromo:ee,progressMain:se,progressLabel:te,progressBar:ae,progressFill:re,progressText:ie,actions:ne,btn:oe,btnOutline:ce,btnPrimary:le,panel:me,panelIcon:pe,panelTitle:de,panelDesc:_e,benefitList:ue,benefitItem:ge},xe={overview:"https://gum.co/u/2nc0fhky",sync:"https://gum.co/u/p0barnlb",playtest:"https://gum.co/u/kchczjry",tools:"https://gum.co/u/ljmteaed"};export{xe as T,be as a,fe as s,he as u};
|
|
1
|
+
import{r as o,D as C,b as w,i as S,u as T,j as s}from"./index-CkXvRg-O.js";function he(){const[m,e]=o.useState("basic"),[c,n]=o.useState(0),[p,u]=o.useState(0),[a,r]=o.useState(0),[x,P]=o.useState(!0);o.useEffect(()=>{let d=!1;async function y(){try{return await S("gumroad")}catch{return null}}async function v(){var i,h;try{const[_,l]=await Promise.all([y(),w.get("/api/dashboard/tool-stats").catch(()=>null)]);if(d)return;if(_!=null&&_.tier&&e(_.tier),l!=null&&l.tierSummary){const b=((i=l.tierSummary.basic)==null?void 0:i.totalCalls)??0,f=((h=l.tierSummary.pro)==null?void 0:h.totalCalls)??0;r(b),u(f),n(b+f)}}catch{}finally{d||P(!1)}}v();const g=new C;g.connect();const k=g.on("license",()=>{y().then(i=>{!d&&(i!=null&&i.tier)&&e(i.tier)})});return()=>{d=!0,k(),g.disconnect()}},[]);const j=c>0?p/c*100:0;return{tier:m,proUsagePercent:j,totalCalls:c,proCalls:p,basicCalls:a,loading:x}}const N=[{name:"query_instances",description:"Query Roblox instances: get, children, find child/descendant, wait for child, class info, search by name/class. [PRO] file_tree, project_structure, descendants, ancestors, search by property/tag.",basic:["get","children","find_child","find_descendant","wait_for_child","class_info","search_name","search_class"],pro:["search_property","search_tag","file_tree","project_structure","descendants","ancestors"]},{name:"mutate_instances",description:"Create, delete, clone, move, rename, or pivot instances. [PRO] create_tree, mass_create, mass_delete, mass_duplicate, smart_duplicate.",basic:["create","create_with_props","delete","clone","move","rename","pivot"],pro:["create_tree","mass_create","mass_delete","mass_duplicate","smart_duplicate"]},{name:"manage_properties",description:"Get/set properties, attributes, and tags on instances. [PRO] set_calculated, set_relative, mass_set, mass_get, modify_children.",basic:["get","set","get_all","set_multiple","get_attr","set_attr","get_all_attrs","delete_attr","add_tag","remove_tag","check_tag","get_tags","get_tagged"],pro:["set_calculated","set_relative","mass_set","mass_get","modify_children"]},{name:"manage_scripts",description:"Manage script source code: read, write, create, delete, edit lines, search. [PRO] replace across scripts.",basic:["get_source","set_source","create","delete","edit_replace","edit_insert","edit_delete","search","get_dependencies"],pro:["replace"]},{name:"manage_lighting",description:"[PRO] Configure environment: lighting, atmosphere, sky, terrain properties, time of day.",basic:[],pro:["lighting","atmosphere","sky","terrain_props","time"]},{name:"manage_selection",description:"Get, set, or clear selection. [PRO] context, details, add/remove items, watch changes.",basic:["get","set","clear","cached"],pro:["context","details","add","remove","watch"]},{name:"manage_camera",description:"Camera operations: get info, focus on instance by path or position, get suggested view.",basic:["info","focus_path","focus_position","suggest"],pro:[]},{name:"manage_tween",description:"[PRO] Tween service: create, play, pause, cancel tweens for smooth animations.",basic:[],pro:["create","play","pause","cancel"]},{name:"manage_audio",description:"[PRO] Audio management: play, stop, pause, resume sounds. Set audio listener.",basic:[],pro:["play","stop","pause","resume","set_listener"]},{name:"manage_animation",description:"[PRO] Animation: load, play, stop animations. Get animation tracks from humanoid/controller.",basic:[],pro:["load","play","stop","get_tracks"]},{name:"manage_physics",description:"[PRO] Physics collision groups: register, set collidable between groups, list groups.",basic:[],pro:["register_group","set_collidable","get_groups"]},{name:"manage_effects",description:"[PRO] Particle effects: emit particles, clear all particles, toggle effect enabled state.",basic:[],pro:["emit","clear","toggle"]},{name:"manage_terrain",description:"[PRO] Terrain operations: fill shapes, clear regions, replace materials, manage colors, read/write voxels, generate procedural terrain, smooth terrain.",basic:[],pro:["fill_block","fill_ball","fill_cylinder","fill_wedge","clear_region","clear_bounds","replace_material","colors_get","colors_set","read_voxel","read_voxels","write_voxels","generate","smooth"]},{name:"spatial_query",description:"[PRO] Spatial queries: raycast, find ground, check placement, multi-raycast, scan area, find flat areas, find spawn positions, analyze walkable, spatial map, find empty space, get bounds, snap to grid, check collision.",basic:[],pro:["raycast","find_ground","check_placement","multi_raycast","scan_area","find_flat","find_spawn","analyze_walkable","spatial_map","find_space","bounds","snap_grid","collision"]},{name:"manage_assets",description:"[PRO] Asset management: insert models by ID, get asset info, search creator store, insert free models/packages, export selection.",basic:[],pro:["insert","info","search","search_insert","insert_free","insert_package","export"]},{name:"manage_sync",description:"[PRO] Project sync management: status, config, history, direction settings, read/write synced files.",basic:[],pro:["status","config","history","directions","read_file","write_file","progress"]},{name:"workspace_state",description:"[PRO] Workspace state: full sync, snapshot, recent changes, viewport info, clear history, metadata, scripts, selection info, clear cache.",basic:[],pro:["sync","snapshot","changes","viewport","clear_history","metadata","scripts","selection_info","clear_cache"]},{name:"manage_logs",description:"Output logs: get filtered logs, poll incrementally with sinceSeq cursor, clear buffer, get recent errors.",basic:["get","clear","errors"],pro:[]},{name:"system_info",description:"System info: ping, connection status, usage tier. [PRO] place info, services list, studio settings, playtest control, automated test runner.",basic:["ping","connection","usage"],pro:["place_info","services","studio_settings","play","stop","pause","resume","play_status","run_test"]},{name:"batch_execute",description:'[PRO] Execute multiple commands in a single batch. Each command is an object with "tool" name and "args". Commands execute sequentially; optionally continue on error.',basic:[],pro:["batch_execute"]},{name:"execute_luau",description:"[PRO] Execute arbitrary Luau code in Roblox Studio sandbox. Blocked services: HttpService, DataStoreService, MessagingService. Cannot access CoreGui/CorePackages.",basic:[],pro:["execute_luau"]}],R={proOnlyTools:13,mixedTools:6,totalBasicActions:51,totalProActions:107},O={tools:N,summary:R},L="_overlay_4gu92_2",B="_modal_4gu92_13",A="_summaryGrid_4gu92_32",M="_summaryCard_4gu92_39",D="_basicCard_4gu92_45",E="_proCard_4gu92_49",G="_cardTitle_4gu92_54",I="_summarySection_4gu92_70",$="_sectionTitle_4gu92_78",q="_featureList_4gu92_90",H="_summary_4gu92_32",W="_statBasic_4gu92_116",F="_statPro_4gu92_120",z="_statMixed_4gu92_124",U="_detailHeader_4gu92_128",Q="_tableWrap_4gu92_137",J="_table_4gu92_137",K="_toolName_4gu92_165",V="_description_4gu92_171",X="_actionList_4gu92_176",Y="_none_4gu92_184",Z="_closeBtn_4gu92_189",t={overlay:L,modal:B,summaryGrid:A,summaryCard:M,basicCard:D,proCard:E,cardTitle:G,summarySection:I,sectionTitle:$,featureList:q,summary:H,statBasic:W,statPro:F,statMixed:z,detailHeader:U,tableWrap:Q,table:J,toolName:K,description:V,actionList:X,none:Y,closeBtn:Z};function be({onClose:m}){const{t:e}=T(),{tools:c,summary:n}=O,p=[{title:e("tier.comparison.basic.core","Core MCP workflow"),items:[e("tier.comparison.basic.core.item1","Script create/edit"),e("tier.comparison.basic.core.item2","Instance management"),e("tier.comparison.basic.core.item3","Property control"),e("tier.comparison.basic.core.item4","Selection and search"),e("tier.comparison.basic.core.item5","Tag management"),e("tier.comparison.basic.core.item6","Camera control"),e("tier.comparison.basic.core.item7","Log monitoring")]},{title:e("tier.comparison.basic.sync","Sync (Basic)"),items:[e("tier.comparison.basic.sync.item1","Studio to Local one-way sync"),e("tier.comparison.basic.sync.item2","Manual apply as default"),e("tier.comparison.basic.sync.item3","Pro sync settings stay read-only")]}],u=[{title:e("tier.comparison.pro.all","Everything in Basic, plus"),items:[]},{title:e("tier.comparison.pro.sync","Advanced Sync workflow"),items:[e("tier.comparison.pro.sync.item1","Per-type sync direction"),e("tier.comparison.pro.sync.item2","Per-type apply mode"),e("tier.comparison.pro.sync.item3","Bidirectional and reverse sync"),e("tier.comparison.pro.sync.item4","Full sync, resync, and push to Studio"),e("tier.comparison.pro.sync.item5","Multi-place sync")]},{title:e("tier.comparison.pro.playtest","Playtest control"),items:[e("tier.comparison.pro.playtest.item1","Play, stop, pause, and resume"),e("tier.comparison.pro.playtest.item2","Playtest state inspection"),e("tier.comparison.pro.playtest.item3","Automated test execution")]},{title:e("tier.comparison.pro.creation","Advanced creation workflow"),items:[e("tier.comparison.pro.creation.item1","Bulk operations"),e("tier.comparison.pro.creation.item2","Terrain generation"),e("tier.comparison.pro.creation.item3","Asset search and insert"),e("tier.comparison.pro.creation.item4","Raycast and spatial analysis"),e("tier.comparison.pro.creation.item5","Environment control")]}];return s.jsx("div",{className:t.overlay,onClick:m,children:s.jsxs("div",{className:t.modal,onClick:a=>a.stopPropagation(),children:[s.jsx("h2",{children:e("tier.compare")}),s.jsxs("div",{className:t.summaryGrid,children:[s.jsxs("section",{className:`${t.summaryCard} ${t.basicCard}`,children:[s.jsx("h3",{className:t.cardTitle,children:e("tier.basic")}),p.map(a=>s.jsxs("div",{className:t.summarySection,children:[s.jsx("div",{className:t.sectionTitle,children:a.title}),s.jsx("ul",{className:t.featureList,children:a.items.map(r=>s.jsx("li",{children:r},r))})]},a.title))]}),s.jsxs("section",{className:`${t.summaryCard} ${t.proCard}`,children:[s.jsx("h3",{className:t.cardTitle,children:e("tier.pro")}),u.map(a=>s.jsxs("div",{className:t.summarySection,children:[s.jsx("div",{className:t.sectionTitle,children:a.title}),a.items.length>0&&s.jsx("ul",{className:t.featureList,children:a.items.map(r=>s.jsx("li",{children:r},r))})]},a.title))]})]}),s.jsxs("div",{className:t.summary,children:[s.jsxs("span",{className:t.statBasic,children:["Basic: ",n.totalBasicActions," actions"]}),s.jsxs("span",{className:t.statPro,children:["Pro: ",n.totalProActions," actions"]}),s.jsxs("span",{className:t.statMixed,children:[n.mixedTools," mixed / ",n.proOnlyTools," pro-only"]})]}),s.jsx("div",{className:t.detailHeader,children:e("tier.comparison.detailTitle","Detailed Tool Catalog")}),s.jsx("div",{className:t.tableWrap,children:s.jsxs("table",{className:t.table,children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:e("tools.col.tool")}),s.jsx("th",{children:e("tier.comparison.description","Description")}),s.jsx("th",{children:e("tier.basic")}),s.jsx("th",{children:e("tier.pro")})]})}),s.jsx("tbody",{children:c.map(a=>s.jsxs("tr",{children:[s.jsx("td",{className:t.toolName,children:a.name}),s.jsx("td",{className:t.description,children:e(`tier.tool.${a.name}.desc`,a.description)}),s.jsx("td",{className:t.actionList,children:a.basic.length>0?a.basic.join(", "):s.jsx("span",{className:t.none,children:"—"})}),s.jsx("td",{className:t.actionList,children:a.pro.length>0?a.pro.join(", "):s.jsx("span",{className:t.none,children:"—"})})]},a.name))})]})}),s.jsx("button",{className:t.closeBtn,onClick:m,children:e("tier.comparison.close","Close")})]})})}const ee="_progressPromo_dk7nu_1",se="_progressMain_dk7nu_11",te="_progressLabel_dk7nu_16",ae="_progressBar_dk7nu_26",re="_progressFill_dk7nu_33",ie="_progressText_dk7nu_40",ne="_actions_dk7nu_48",oe="_btn_dk7nu_56",ce="_btnOutline_dk7nu_77",le="_btnPrimary_dk7nu_87",me="_panel_dk7nu_97",pe="_panelIcon_dk7nu_104",de="_panelTitle_dk7nu_110",_e="_panelDesc_dk7nu_119",ue="_benefitList_dk7nu_127",ge="_benefitItem_dk7nu_136",fe={progressPromo:ee,progressMain:se,progressLabel:te,progressBar:ae,progressFill:re,progressText:ie,actions:ne,btn:oe,btnOutline:ce,btnPrimary:le,panel:me,panelIcon:pe,panelTitle:de,panelDesc:_e,benefitList:ue,benefitItem:ge},xe={overview:"https://gum.co/u/2nc0fhky",sync:"https://gum.co/u/p0barnlb",playtest:"https://gum.co/u/kchczjry",tools:"https://gum.co/u/ljmteaed"};export{xe as T,be as a,fe as s,he as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as a}from"./index-
|
|
1
|
+
import{r as a}from"./index-CkXvRg-O.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,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<link rel="icon" href="data:," />
|
|
7
7
|
<title>WeppyRobloxMCP</title>
|
|
8
|
-
<script type="module" crossorigin src="/dashboard/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/dashboard/assets/index-CkXvRg-O.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="/dashboard/assets/index-BOVxaPTw.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|