@weppy/roblox-mcp 1.2.2 → 1.3.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.
@@ -6,14 +6,14 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Roblox MCP server and tools for AI-powered game development",
9
- "version": "1.2.2"
9
+ "version": "1.3.0"
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "weppy-roblox-mcp",
14
14
  "source": "./plugins/weppy-roblox-mcp",
15
15
  "description": "MCP server for Roblox Studio integration - AI-powered game development with specialized agents and skills",
16
- "version": "1.2.2",
16
+ "version": "1.3.0",
17
17
  "author": {
18
18
  "name": "hope1026"
19
19
  },
package/CHANGELOG.md CHANGED
@@ -4,11 +4,39 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
 
6
6
 
7
+ ## [1.3.0] - 2026-03-06
7
8
 
9
+ ### Breaking Changes
8
10
 
11
+ - Sync file format now uses nested directory structure for all objects — each instance is represented as its own directory (e.g., `Part/Part.props.json` instead of flat files)
12
+ - Duplicate sibling instances are now distinguished using `~N` suffix encoding (Odd-Count Tilde Rule) — e.g., `Part~1/`, `Part~2/`, `Part~3/`
13
+ - Existing sync data will be regenerated automatically (no migration from v1)
9
14
 
15
+ ### Improvements
10
16
 
17
+ - Enhance sync stability and performance for bidirectional file synchronization
18
+ - Improve sync child indexing and collision handling
19
+ - Refine analytics tracking for tool usage
11
20
 
21
+ ### Bug Fixes
22
+
23
+ - Improve error handling and resilience during MCP tool execution
24
+ - Fix license token cache and Pro auth flow issues
25
+ - Resolve sync errors on concurrent file changes
26
+ - Fix duplicated instance name handling in sync index
27
+ - Fix various edge cases in sync change processing
28
+
29
+ ### Plugin
30
+
31
+ - Improve plugin icons and UI refinements
32
+ - Clean up unused files and modules
33
+ - General plugin stability improvements
34
+
35
+
36
+ ## [1.2.3] - 2026-03-02
37
+
38
+ Other Changes
39
+ - improved UI, security, and overall stability
12
40
 
13
41
 
14
42
  ## [1.2.2] - 2026-03-01
@@ -110,6 +110,30 @@ When changes are detected on both Studio and local sides during bidirectional sy
110
110
  - Inspect target file with `read_file`
111
111
  - Restore content with `write_file`, then verify Studio state
112
112
 
113
+ ## File format (v2 nested directory)
114
+
115
+ Each Roblox instance is stored as its own directory containing meta files:
116
+
117
+ ```
118
+ explorer/
119
+ ├── Workspace/
120
+ │ ├── _tree.json
121
+ │ ├── Part/
122
+ │ │ └── Part.props.json
123
+ │ ├── MyScript/
124
+ │ │ └── MyScript.server.luau
125
+ │ └── Coins/
126
+ │ └── Coins.value.json
127
+ ```
128
+
129
+ Naming conventions:
130
+ - Props: `{Name}/{Name}.props.json`
131
+ - Scripts: `{Name}/{Name}.server.luau` / `.client.luau` / `.module.luau`
132
+ - Values: `{Name}/{Name}.value.json`
133
+
134
+ Duplicate instance names use `~N` suffix on the directory (e.g. `Part~2/Part.props.json`).
135
+ Names containing `~` are escaped to `~~` (e.g. `Part~2` becomes `Part~~2/`). The Odd-Count Tilde Rule applies: a trailing `~+N` is a collision suffix only when the tilde count is odd.
136
+
113
137
  ## Related docs
114
138
 
115
139
  - [Tools Overview](../tools/overview.md)
@@ -110,6 +110,30 @@ Cuando se detectan cambios tanto en Studio como en local durante la sincronizaci
110
110
  - Inspecciona archivo objetivo con `read_file`
111
111
  - Restaura contenido con `write_file` y verifica en Studio
112
112
 
113
+ ## Formato de archivos (v2 nested directory)
114
+
115
+ Cada instancia de Roblox se almacena como su propio directorio con archivos meta dentro:
116
+
117
+ ```
118
+ explorer/
119
+ ├── Workspace/
120
+ │ ├── _tree.json
121
+ │ ├── Part/
122
+ │ │ └── Part.props.json
123
+ │ ├── MyScript/
124
+ │ │ └── MyScript.server.luau
125
+ │ └── Coins/
126
+ │ └── Coins.value.json
127
+ ```
128
+
129
+ Convenciones de nombres:
130
+ - Propiedades: `{Name}/{Name}.props.json`
131
+ - Scripts: `{Name}/{Name}.server.luau` / `.client.luau` / `.module.luau`
132
+ - Valores: `{Name}/{Name}.value.json`
133
+
134
+ Las instancias con nombre duplicado usan el sufijo `~N` en el directorio (ej. `Part~2/Part.props.json`).
135
+ Los nombres que contienen `~` se escapan como `~~` (ej. `Part~2` → `Part~~2/`). Regla Odd-Count Tilde: un `~+N` final se interpreta como sufijo de colisión solo cuando la cantidad de tildes es impar.
136
+
113
137
  ## Documentos relacionados
114
138
 
115
139
  - [Cobertura de herramientas (Tools Overview)](../tools/overview.md)
@@ -110,6 +110,30 @@ Ketika perubahan terdeteksi di sisi Studio maupun lokal selama sinkronisasi dua
110
110
  - Periksa file target dengan `read_file`
111
111
  - Pulihkan konten dengan `write_file`, lalu verifikasi status di Studio
112
112
 
113
+ ## Format file (v2 nested directory)
114
+
115
+ Setiap instance Roblox disimpan sebagai direktori sendiri dengan file meta di dalamnya:
116
+
117
+ ```
118
+ explorer/
119
+ ├── Workspace/
120
+ │ ├── _tree.json
121
+ │ ├── Part/
122
+ │ │ └── Part.props.json
123
+ │ ├── MyScript/
124
+ │ │ └── MyScript.server.luau
125
+ │ └── Coins/
126
+ │ └── Coins.value.json
127
+ ```
128
+
129
+ Konvensi penamaan:
130
+ - Properti: `{Name}/{Name}.props.json`
131
+ - Script: `{Name}/{Name}.server.luau` / `.client.luau` / `.module.luau`
132
+ - Nilai: `{Name}/{Name}.value.json`
133
+
134
+ Instance dengan nama duplikat menggunakan sufiks `~N` pada direktori (contoh: `Part~2/Part.props.json`).
135
+ Nama yang mengandung `~` di-escape menjadi `~~` (contoh: `Part~2` → `Part~~2/`). Aturan Odd-Count Tilde: `~+N` di akhir ditafsirkan sebagai sufiks collision hanya jika jumlah tilde ganjil.
136
+
113
137
  ## Dokumen terkait
114
138
 
115
139
  - [Cakupan tool (Tools Overview)](../tools/overview.md)
@@ -110,6 +110,30 @@ ProではタイプごとにDirection/Apply Modeを細かく制御できます。
110
110
  - `read_file` で対象ファイルを確認
111
111
  - `write_file` で内容を復元してStudio状態を再確認
112
112
 
113
+ ## ファイルフォーマット (v2 nested directory)
114
+
115
+ 各Robloxインスタンスは独自のディレクトリとして保存され、ディレクトリ内にメタファイルが配置されます:
116
+
117
+ ```
118
+ explorer/
119
+ ├── Workspace/
120
+ │ ├── _tree.json
121
+ │ ├── Part/
122
+ │ │ └── Part.props.json
123
+ │ ├── MyScript/
124
+ │ │ └── MyScript.server.luau
125
+ │ └── Coins/
126
+ │ └── Coins.value.json
127
+ ```
128
+
129
+ 命名規則:
130
+ - プロパティ: `{Name}/{Name}.props.json`
131
+ - スクリプト: `{Name}/{Name}.server.luau` / `.client.luau` / `.module.luau`
132
+ - 値: `{Name}/{Name}.value.json`
133
+
134
+ 同名インスタンスはディレクトリ名に `~N` サフィックスを付けて区別します(例: `Part~2/Part.props.json`)。
135
+ 名前に `~` が含まれる場合は `~~` にエスケープされます(例: `Part~2` → `Part~~2/`)。Odd-Count Tilde ルール: 末尾の `~+N` でチルダの数が奇数の場合のみ collision suffix として解釈されます。
136
+
113
137
  ## 関連ドキュメント
114
138
 
115
139
  - [Tool対応範囲 (Tools Overview)](../tools/overview.md)
@@ -110,6 +110,30 @@ Pro에서는 타입별로 Direction/Apply Mode를 다르게 설정해 워크플
110
110
  - 필요한 파일을 `read_file`로 확인
111
111
  - 복구할 내용을 `write_file`로 반영 후 Studio 상태 재확인
112
112
 
113
+ ## 파일 포맷 (v2 nested directory)
114
+
115
+ 각 Roblox 인스턴스는 자체 디렉토리로 저장되며, 해당 디렉토리 안에 메타 파일이 위치합니다:
116
+
117
+ ```
118
+ explorer/
119
+ ├── Workspace/
120
+ │ ├── _tree.json
121
+ │ ├── Part/
122
+ │ │ └── Part.props.json
123
+ │ ├── MyScript/
124
+ │ │ └── MyScript.server.luau
125
+ │ └── Coins/
126
+ │ └── Coins.value.json
127
+ ```
128
+
129
+ 파일 명명 규칙:
130
+ - 속성: `{Name}/{Name}.props.json`
131
+ - 스크립트: `{Name}/{Name}.server.luau` / `.client.luau` / `.module.luau`
132
+ - 값: `{Name}/{Name}.value.json`
133
+
134
+ 동일 이름 인스턴스는 디렉토리에 `~N` 접미사를 붙여 구분합니다 (예: `Part~2/Part.props.json`).
135
+ 이름에 `~`가 포함되면 `~~`로 이스케이프됩니다 (예: `Part~2` → `Part~~2/`). Odd-Count Tilde 규칙: 끝의 `~+N`에서 tilde 개수가 홀수일 때만 collision suffix로 해석됩니다.
136
+
113
137
  ## 함께 보면 좋은 문서
114
138
 
115
139
  - [Tool 지원 범위 (Tools Overview)](../tools/overview.md)
@@ -110,6 +110,30 @@ Quando mudancas sao detectadas tanto no Studio quanto no local durante a sincron
110
110
  - Inspecione o arquivo alvo com `read_file`
111
111
  - Restaure conteudo com `write_file` e valide no Studio
112
112
 
113
+ ## Formato de arquivos (v2 nested directory)
114
+
115
+ Cada instancia Roblox e armazenada como seu proprio diretorio com arquivos meta dentro:
116
+
117
+ ```
118
+ explorer/
119
+ ├── Workspace/
120
+ │ ├── _tree.json
121
+ │ ├── Part/
122
+ │ │ └── Part.props.json
123
+ │ ├── MyScript/
124
+ │ │ └── MyScript.server.luau
125
+ │ └── Coins/
126
+ │ └── Coins.value.json
127
+ ```
128
+
129
+ Convencoes de nomes:
130
+ - Propriedades: `{Name}/{Name}.props.json`
131
+ - Scripts: `{Name}/{Name}.server.luau` / `.client.luau` / `.module.luau`
132
+ - Valores: `{Name}/{Name}.value.json`
133
+
134
+ Instancias com nome duplicado usam o sufixo `~N` no diretorio (ex: `Part~2/Part.props.json`).
135
+ Nomes que contem `~` sao escapados como `~~` (ex: `Part~2` → `Part~~2/`). Regra Odd-Count Tilde: um `~+N` final e interpretado como sufixo de colisao somente quando a quantidade de tildes e impar.
136
+
113
137
  ## Documentos relacionados
114
138
 
115
139
  - [Cobertura de ferramentas (Tools Overview)](../tools/overview.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weppy/roblox-mcp",
3
- "version": "1.2.2",
3
+ "version": "1.3.0",
4
4
  "description": "MCP (Model Context Protocol) server for Roblox Studio integration - enables AI coding agents to interact with Roblox Studio in real-time",
5
5
  "main": "plugins/weppy-roblox-mcp/dist/index.js",
6
6
  "type": "module",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "weppy-roblox-mcp",
3
3
  "description": "MCP server for Roblox Studio integration - AI-powered game development with specialized agents and skills",
4
- "version": "1.2.2",
4
+ "version": "1.3.0",
5
5
  "author": {
6
6
  "name": "hope1026"
7
7
  },