@@ -138,6 +138,125 @@ func mapCodexFeatureConfigPreview(result *wailsapp.CodexFeatureConfigPreview) *C
138138 }
139139}
140140
141+ func mapCodexSkillsSnapshot (result * wailsapp.CodexSkillsSnapshot ) * CodexSkillsSnapshot {
142+ if result == nil {
143+ return & CodexSkillsSnapshot {Roots : []CodexSkillRoot {}, Skills : []CodexSkillRecord {}, Warnings : []string {}}
144+ }
145+ roots := make ([]CodexSkillRoot , 0 , len (result .Roots ))
146+ for _ , root := range result .Roots {
147+ roots = append (roots , CodexSkillRoot {
148+ Label : root .Label ,
149+ Path : root .Path ,
150+ SourceKind : root .SourceKind ,
151+ Exists : root .Exists ,
152+ })
153+ }
154+ skills := make ([]CodexSkillRecord , 0 , len (result .Skills ))
155+ for _ , skill := range result .Skills {
156+ files := make ([]CodexSkillFile , 0 , len (skill .Files ))
157+ for _ , file := range skill .Files {
158+ files = append (files , CodexSkillFile {Path : file .Path , Kind : file .Kind })
159+ }
160+ skills = append (skills , CodexSkillRecord {
161+ ID : skill .ID ,
162+ Name : skill .Name ,
163+ Description : skill .Description ,
164+ Enabled : skill .Enabled ,
165+ RootLabel : skill .RootLabel ,
166+ RootPath : skill .RootPath ,
167+ SourceKind : skill .SourceKind ,
168+ Origin : skill .Origin ,
169+ VersionLabel : skill .VersionLabel ,
170+ Files : files ,
171+ SkillMarkdown : skill .SkillMarkdown ,
172+ PreviewMarkdown : skill .PreviewMarkdown ,
173+ Warnings : append ([]string (nil ), skill .Warnings ... ),
174+ })
175+ }
176+ return & CodexSkillsSnapshot {
177+ CodexHomePath : result .CodexHomePath ,
178+ ConfigPath : result .ConfigPath ,
179+ Roots : roots ,
180+ Skills : skills ,
181+ Warnings : append ([]string (nil ), result .Warnings ... ),
182+ }
183+ }
184+
185+ func mapCodexMcpServersSnapshot (result * wailsapp.CodexMcpServersSnapshot ) * CodexMcpServersSnapshot {
186+ if result == nil {
187+ return & CodexMcpServersSnapshot {Servers : []CodexMcpServer {}, Warnings : []string {}}
188+ }
189+ servers := make ([]CodexMcpServer , 0 , len (result .Servers ))
190+ for _ , server := range result .Servers {
191+ servers = append (servers , mapCodexMcpServer (server ))
192+ }
193+ return & CodexMcpServersSnapshot {
194+ CodexHomePath : result .CodexHomePath ,
195+ ConfigPath : result .ConfigPath ,
196+ Exists : result .Exists ,
197+ Servers : servers ,
198+ Warnings : append ([]string (nil ), result .Warnings ... ),
199+ }
200+ }
201+
202+ func mapCodexMcpServer (server wailsapp.CodexMcpServer ) CodexMcpServer {
203+ env := make ([]CodexMcpEnvRow , 0 , len (server .Env ))
204+ for _ , row := range server .Env {
205+ env = append (env , CodexMcpEnvRow {Key : row .Key , Value : row .Value })
206+ }
207+ return CodexMcpServer {
208+ ID : server .ID ,
209+ Label : server .Label ,
210+ Enabled : server .Enabled ,
211+ Transport : server .Transport ,
212+ Command : server .Command ,
213+ Args : append ([]string (nil ), server .Args ... ),
214+ URL : server .URL ,
215+ Env : env ,
216+ BearerTokenEnvVar : server .BearerTokenEnvVar ,
217+ SourcePath : server .SourcePath ,
218+ Status : server .Status ,
219+ Warnings : append ([]string (nil ), server .Warnings ... ),
220+ }
221+ }
222+
223+ func mapWailsCodexMcpServer (server CodexMcpServer ) wailsapp.CodexMcpServer {
224+ env := make ([]wailsapp.CodexMcpEnvRow , 0 , len (server .Env ))
225+ for _ , row := range server .Env {
226+ env = append (env , wailsapp.CodexMcpEnvRow {Key : row .Key , Value : row .Value })
227+ }
228+ return wailsapp.CodexMcpServer {
229+ ID : server .ID ,
230+ Label : server .Label ,
231+ Enabled : server .Enabled ,
232+ Transport : server .Transport ,
233+ Command : server .Command ,
234+ Args : append ([]string (nil ), server .Args ... ),
235+ URL : server .URL ,
236+ Env : env ,
237+ BearerTokenEnvVar : server .BearerTokenEnvVar ,
238+ SourcePath : server .SourcePath ,
239+ Status : server .Status ,
240+ Warnings : append ([]string (nil ), server .Warnings ... ),
241+ }
242+ }
243+
244+ func mapCodexMcpSaveResult (result * wailsapp.SaveCodexMcpServerResult ) * SaveCodexMcpServerResult {
245+ if result == nil {
246+ return & SaveCodexMcpServerResult {Changes : []CodexMcpChange {}}
247+ }
248+ changes := make ([]CodexMcpChange , 0 , len (result .Changes ))
249+ for _ , change := range result .Changes {
250+ changes = append (changes , CodexMcpChange {Key : change .Key , Before : change .Before , After : change .After })
251+ }
252+ return & SaveCodexMcpServerResult {
253+ ConfigPath : result .ConfigPath ,
254+ Server : mapCodexMcpServer (result .Server ),
255+ Preview : result .Preview ,
256+ Changes : changes ,
257+ }
258+ }
259+
141260func cloneBoolMap (source map [string ]bool ) map [string ]bool {
142261 if len (source ) == 0 {
143262 return map [string ]bool {}
0 commit comments