mcp-garry-codes 1.0.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 (177) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +133 -0
  3. package/dist/config/env.d.ts +4 -0
  4. package/dist/config/env.d.ts.map +1 -0
  5. package/dist/config/env.js +27 -0
  6. package/dist/config/env.js.map +1 -0
  7. package/dist/config/schema.d.ts +28 -0
  8. package/dist/config/schema.d.ts.map +1 -0
  9. package/dist/config/schema.js +12 -0
  10. package/dist/config/schema.js.map +1 -0
  11. package/dist/contracts/common.d.ts +53 -0
  12. package/dist/contracts/common.d.ts.map +1 -0
  13. package/dist/contracts/common.js +30 -0
  14. package/dist/contracts/common.js.map +1 -0
  15. package/dist/contracts/linter_contracts.d.ts +79 -0
  16. package/dist/contracts/linter_contracts.d.ts.map +1 -0
  17. package/dist/contracts/linter_contracts.js +16 -0
  18. package/dist/contracts/linter_contracts.js.map +1 -0
  19. package/dist/contracts/scaffold_contracts.d.ts +84 -0
  20. package/dist/contracts/scaffold_contracts.d.ts.map +1 -0
  21. package/dist/contracts/scaffold_contracts.js +27 -0
  22. package/dist/contracts/scaffold_contracts.js.map +1 -0
  23. package/dist/contracts/security_contracts.d.ts +37 -0
  24. package/dist/contracts/security_contracts.d.ts.map +1 -0
  25. package/dist/contracts/security_contracts.js +6 -0
  26. package/dist/contracts/security_contracts.js.map +1 -0
  27. package/dist/contracts/test_contracts.d.ts +42 -0
  28. package/dist/contracts/test_contracts.d.ts.map +1 -0
  29. package/dist/contracts/test_contracts.js +10 -0
  30. package/dist/contracts/test_contracts.js.map +1 -0
  31. package/dist/contracts/wiki_contracts.d.ts +96 -0
  32. package/dist/contracts/wiki_contracts.d.ts.map +1 -0
  33. package/dist/contracts/wiki_contracts.js +17 -0
  34. package/dist/contracts/wiki_contracts.js.map +1 -0
  35. package/dist/core/cache.d.ts +9 -0
  36. package/dist/core/cache.d.ts.map +1 -0
  37. package/dist/core/cache.js +56 -0
  38. package/dist/core/cache.js.map +1 -0
  39. package/dist/core/errors.d.ts +37 -0
  40. package/dist/core/errors.d.ts.map +1 -0
  41. package/dist/core/errors.js +52 -0
  42. package/dist/core/errors.js.map +1 -0
  43. package/dist/core/file_utils.d.ts +13 -0
  44. package/dist/core/file_utils.d.ts.map +1 -0
  45. package/dist/core/file_utils.js +90 -0
  46. package/dist/core/file_utils.js.map +1 -0
  47. package/dist/core/logger.d.ts +18 -0
  48. package/dist/core/logger.d.ts.map +1 -0
  49. package/dist/core/logger.js +46 -0
  50. package/dist/core/logger.js.map +1 -0
  51. package/dist/core/process_runner.d.ts +15 -0
  52. package/dist/core/process_runner.d.ts.map +1 -0
  53. package/dist/core/process_runner.js +64 -0
  54. package/dist/core/process_runner.js.map +1 -0
  55. package/dist/domain/glua/ast.d.ts +12 -0
  56. package/dist/domain/glua/ast.d.ts.map +1 -0
  57. package/dist/domain/glua/ast.js +176 -0
  58. package/dist/domain/glua/ast.js.map +1 -0
  59. package/dist/domain/glua/lexer.d.ts +42 -0
  60. package/dist/domain/glua/lexer.d.ts.map +1 -0
  61. package/dist/domain/glua/lexer.js +232 -0
  62. package/dist/domain/glua/lexer.js.map +1 -0
  63. package/dist/domain/networking/net_auditor.d.ts +5 -0
  64. package/dist/domain/networking/net_auditor.d.ts.map +1 -0
  65. package/dist/domain/networking/net_auditor.js +188 -0
  66. package/dist/domain/networking/net_auditor.js.map +1 -0
  67. package/dist/domain/packaging/validator.d.ts +5 -0
  68. package/dist/domain/packaging/validator.d.ts.map +1 -0
  69. package/dist/domain/packaging/validator.js +121 -0
  70. package/dist/domain/packaging/validator.js.map +1 -0
  71. package/dist/domain/performance/hot_path_analyzer.d.ts +5 -0
  72. package/dist/domain/performance/hot_path_analyzer.d.ts.map +1 -0
  73. package/dist/domain/performance/hot_path_analyzer.js +127 -0
  74. package/dist/domain/performance/hot_path_analyzer.js.map +1 -0
  75. package/dist/domain/scaffolding/templates.d.ts +5 -0
  76. package/dist/domain/scaffolding/templates.d.ts.map +1 -0
  77. package/dist/domain/scaffolding/templates.js +219 -0
  78. package/dist/domain/scaffolding/templates.js.map +1 -0
  79. package/dist/domain/wiki/offline_db.d.ts +3 -0
  80. package/dist/domain/wiki/offline_db.d.ts.map +1 -0
  81. package/dist/domain/wiki/offline_db.js +534 -0
  82. package/dist/domain/wiki/offline_db.js.map +1 -0
  83. package/dist/domain/wiki/types.d.ts +29 -0
  84. package/dist/domain/wiki/types.d.ts.map +1 -0
  85. package/dist/domain/wiki/types.js +2 -0
  86. package/dist/domain/wiki/types.js.map +1 -0
  87. package/dist/index.d.ts +3 -0
  88. package/dist/index.d.ts.map +1 -0
  89. package/dist/index.js +28 -0
  90. package/dist/index.js.map +1 -0
  91. package/dist/integrations/glualint_adapter.d.ts +6 -0
  92. package/dist/integrations/glualint_adapter.d.ts.map +1 -0
  93. package/dist/integrations/glualint_adapter.js +62 -0
  94. package/dist/integrations/glualint_adapter.js.map +1 -0
  95. package/dist/integrations/python_test_harness.d.ts +5 -0
  96. package/dist/integrations/python_test_harness.d.ts.map +1 -0
  97. package/dist/integrations/python_test_harness.js +67 -0
  98. package/dist/integrations/python_test_harness.js.map +1 -0
  99. package/dist/integrations/web_search_adapter.d.ts +6 -0
  100. package/dist/integrations/web_search_adapter.d.ts.map +1 -0
  101. package/dist/integrations/web_search_adapter.js +80 -0
  102. package/dist/integrations/web_search_adapter.js.map +1 -0
  103. package/dist/integrations/wiki_client.d.ts +13 -0
  104. package/dist/integrations/wiki_client.d.ts.map +1 -0
  105. package/dist/integrations/wiki_client.js +110 -0
  106. package/dist/integrations/wiki_client.js.map +1 -0
  107. package/dist/prompts/index.d.ts +73 -0
  108. package/dist/prompts/index.d.ts.map +1 -0
  109. package/dist/prompts/index.js +127 -0
  110. package/dist/prompts/index.js.map +1 -0
  111. package/dist/resources/realms_resources.d.ts +2 -0
  112. package/dist/resources/realms_resources.d.ts.map +1 -0
  113. package/dist/resources/realms_resources.js +30 -0
  114. package/dist/resources/realms_resources.js.map +1 -0
  115. package/dist/resources/schema_resources.d.ts +2 -0
  116. package/dist/resources/schema_resources.d.ts.map +1 -0
  117. package/dist/resources/schema_resources.js +43 -0
  118. package/dist/resources/schema_resources.js.map +1 -0
  119. package/dist/resources/wiki_resources.d.ts +3 -0
  120. package/dist/resources/wiki_resources.d.ts.map +1 -0
  121. package/dist/resources/wiki_resources.js +31 -0
  122. package/dist/resources/wiki_resources.js.map +1 -0
  123. package/dist/security/path_guard.d.ts +8 -0
  124. package/dist/security/path_guard.d.ts.map +1 -0
  125. package/dist/security/path_guard.js +37 -0
  126. package/dist/security/path_guard.js.map +1 -0
  127. package/dist/security/process_guard.d.ts +8 -0
  128. package/dist/security/process_guard.d.ts.map +1 -0
  129. package/dist/security/process_guard.js +26 -0
  130. package/dist/security/process_guard.js.map +1 -0
  131. package/dist/security/redaction.d.ts +6 -0
  132. package/dist/security/redaction.d.ts.map +1 -0
  133. package/dist/security/redaction.js +49 -0
  134. package/dist/security/redaction.js.map +1 -0
  135. package/dist/server.d.ts +3 -0
  136. package/dist/server.d.ts.map +1 -0
  137. package/dist/server.js +364 -0
  138. package/dist/server.js.map +1 -0
  139. package/dist/tools/analyze_performance.d.ts +4 -0
  140. package/dist/tools/analyze_performance.d.ts.map +1 -0
  141. package/dist/tools/analyze_performance.js +20 -0
  142. package/dist/tools/analyze_performance.js.map +1 -0
  143. package/dist/tools/audit_net_security.d.ts +4 -0
  144. package/dist/tools/audit_net_security.d.ts.map +1 -0
  145. package/dist/tools/audit_net_security.js +19 -0
  146. package/dist/tools/audit_net_security.js.map +1 -0
  147. package/dist/tools/get_gmod_symbol.d.ts +4 -0
  148. package/dist/tools/get_gmod_symbol.d.ts.map +1 -0
  149. package/dist/tools/get_gmod_symbol.js +30 -0
  150. package/dist/tools/get_gmod_symbol.js.map +1 -0
  151. package/dist/tools/lint_glua.d.ts +4 -0
  152. package/dist/tools/lint_glua.d.ts.map +1 -0
  153. package/dist/tools/lint_glua.js +24 -0
  154. package/dist/tools/lint_glua.js.map +1 -0
  155. package/dist/tools/package_and_validate.d.ts +4 -0
  156. package/dist/tools/package_and_validate.d.ts.map +1 -0
  157. package/dist/tools/package_and_validate.js +23 -0
  158. package/dist/tools/package_and_validate.js.map +1 -0
  159. package/dist/tools/run_glua_test.d.ts +4 -0
  160. package/dist/tools/run_glua_test.d.ts.map +1 -0
  161. package/dist/tools/run_glua_test.js +15 -0
  162. package/dist/tools/run_glua_test.js.map +1 -0
  163. package/dist/tools/scaffold_gmod_component.d.ts +4 -0
  164. package/dist/tools/scaffold_gmod_component.d.ts.map +1 -0
  165. package/dist/tools/scaffold_gmod_component.js +16 -0
  166. package/dist/tools/scaffold_gmod_component.js.map +1 -0
  167. package/dist/tools/search_gmod_wiki.d.ts +4 -0
  168. package/dist/tools/search_gmod_wiki.d.ts.map +1 -0
  169. package/dist/tools/search_gmod_wiki.js +30 -0
  170. package/dist/tools/search_gmod_wiki.js.map +1 -0
  171. package/dist/tools/web_search_glua.d.ts +4 -0
  172. package/dist/tools/web_search_glua.d.ts.map +1 -0
  173. package/dist/tools/web_search_glua.js +15 -0
  174. package/dist/tools/web_search_glua.js.map +1 -0
  175. package/package.json +58 -0
  176. package/src/test_harness/lua/glua_mock.lua +383 -0
  177. package/src/test_harness/python/gmod_tester.py +156 -0
@@ -0,0 +1,534 @@
1
+ export const GMOD_OFFLINE_DOCS = [
2
+ {
3
+ symbol: "util.AddNetworkString",
4
+ name: "AddNetworkString",
5
+ category: "functions",
6
+ realm: "server",
7
+ description: "Adds a specified string to a server-side lookup table, allowing it to be sent across the network via the net library. Must be called on the SERVER before sending/receiving messages using this identifier.",
8
+ signature: "util.AddNetworkString(str: string): number",
9
+ arguments: [
10
+ { name: "str", type: "string", optional: false, description: "The string identifier for the network message." }
11
+ ],
12
+ returns: [
13
+ { name: "id", type: "number", description: "The 16-bit network string index allocated by the engine." }
14
+ ],
15
+ examples: [
16
+ {
17
+ title: "Registering a Network String on the Server",
18
+ code: "if SERVER then\n util.AddNetworkString(\"MyCustomAddon_UpdateScore\")\nend"
19
+ }
20
+ ],
21
+ notes: [
22
+ "There is a strict engine limit of 2048 network strings per server session. Attempting to add more will crash the server.",
23
+ "Must be called before the client connects or during initial server load."
24
+ ],
25
+ warnings: [
26
+ "Calling util.AddNetworkString on the CLIENT throws a runtime fatal error."
27
+ ],
28
+ wiki_url: "https://wiki.facepunch.com/gmod/util.AddNetworkString"
29
+ },
30
+ {
31
+ symbol: "net.Receive",
32
+ name: "Receive",
33
+ category: "functions",
34
+ realm: "shared",
35
+ description: "Defines a callback function to handle incoming network messages sent with the specified identifier.",
36
+ signature: "net.Receive(messageName: string, callback: function(len: number, ply?: Player)): void",
37
+ arguments: [
38
+ { name: "messageName", type: "string", optional: false, description: "The network message name registered via util.AddNetworkString." },
39
+ { name: "callback", type: "function", optional: false, description: "Function called when message arrives. On SERVER, passes (len, ply). On CLIENT, passes (len)." }
40
+ ],
41
+ returns: [],
42
+ examples: [
43
+ {
44
+ title: "Secure Server-Side Receiver with Authentication",
45
+ code: "net.Receive(\"Admin_BanPlayer\", function(len, ply)\n if not IsValid(ply) or not ply:IsAdmin() then\n return\n end\n local target = net.ReadEntity()\n local reason = net.ReadString()\n if IsValid(target) and target:IsPlayer() then\n target:Kick(reason)\n end\nend)"
46
+ }
47
+ ],
48
+ notes: [
49
+ "On the client, the callback only receives `len` (the message length in bits). The `ply` parameter is nil.",
50
+ "Reading more data than was written causes corrupted reads or EOF errors."
51
+ ],
52
+ warnings: [
53
+ "SECURITY CRITICAL: On the server, incoming net messages can be sent by ANY client with arbitrary data. Never trust client data without verifying permissions (e.g. ply:IsAdmin())."
54
+ ],
55
+ wiki_url: "https://wiki.facepunch.com/gmod/net.Receive"
56
+ },
57
+ {
58
+ symbol: "net.Start",
59
+ name: "Start",
60
+ category: "functions",
61
+ realm: "shared",
62
+ description: "Begins constructing a new network message stream using the specified registered network string.",
63
+ signature: "net.Start(messageName: string, unreliable?: boolean): boolean",
64
+ arguments: [
65
+ { name: "messageName", type: "string", optional: false, description: "The network message name registered with util.AddNetworkString." },
66
+ { name: "unreliable", type: "boolean", optional: true, default: "false", description: "If true, sends the message over unreliable UDP channel (good for frequent updates where dropped packets are acceptable)." }
67
+ ],
68
+ returns: [
69
+ { name: "success", type: "boolean", description: "True if message stream successfully started, false otherwise." }
70
+ ],
71
+ examples: [
72
+ {
73
+ title: "Starting and Sending a Net Message to Server",
74
+ code: "net.Start(\"MyCustomAddon_RequestData\")\n net.WriteUInt(1, 8)\nnet.SendToServer()"
75
+ }
76
+ ],
77
+ notes: [
78
+ "Maximum payload size is 64 Kilobytes (65,536 bytes).",
79
+ "Only one net message can be constructed at a time per realm thread."
80
+ ],
81
+ warnings: [
82
+ "Exceeding 64KB will overflow the network buffer and drop/crash the connection."
83
+ ],
84
+ wiki_url: "https://wiki.facepunch.com/gmod/net.Start"
85
+ },
86
+ {
87
+ symbol: "net.SendToServer",
88
+ name: "SendToServer",
89
+ category: "functions",
90
+ realm: "client",
91
+ description: "Transmits the currently constructed network message from the local client to the server.",
92
+ signature: "net.SendToServer(): void",
93
+ arguments: [],
94
+ returns: [],
95
+ examples: [
96
+ {
97
+ title: "Sending to Server from Client",
98
+ code: "net.Start(\"Player_SelectTeam\")\n net.WriteUInt(teamId, 8)\nnet.SendToServer()"
99
+ }
100
+ ],
101
+ notes: ["Can only be called after a successful net.Start call on the client."],
102
+ warnings: ["Calling net.SendToServer on the SERVER causes a Lua runtime error."],
103
+ wiki_url: "https://wiki.facepunch.com/gmod/net.SendToServer"
104
+ },
105
+ {
106
+ symbol: "net.Send",
107
+ name: "Send",
108
+ category: "functions",
109
+ realm: "server",
110
+ description: "Transmits the currently constructed network message from the server to one or multiple specific players.",
111
+ signature: "net.Send(target: Player | Player[] | CRecipientFilter): void",
112
+ arguments: [
113
+ { name: "target", type: "Player | Player[] | CRecipientFilter", optional: false, description: "Single player, table of players, or recipient filter to receive the message." }
114
+ ],
115
+ returns: [],
116
+ examples: [
117
+ {
118
+ title: "Sending Private Notification to Player",
119
+ code: "net.Start(\"SendPrivateNotification\")\n net.WriteString(\"Welcome back!\")\nnet.Send(ply)"
120
+ }
121
+ ],
122
+ notes: ["Calling on empty recipient table is a no-op."],
123
+ warnings: ["Calling net.Send on the CLIENT throws a Lua runtime error."],
124
+ wiki_url: "https://wiki.facepunch.com/gmod/net.Send"
125
+ },
126
+ {
127
+ symbol: "net.Broadcast",
128
+ name: "Broadcast",
129
+ category: "functions",
130
+ realm: "server",
131
+ description: "Transmits the currently constructed network message from the server to all connected clients.",
132
+ signature: "net.Broadcast(): void",
133
+ arguments: [],
134
+ returns: [],
135
+ examples: [
136
+ {
137
+ title: "Broadcasting Server Event",
138
+ code: "net.Start(\"GlobalAnnouncement\")\n net.WriteString(\"Round starting in 10 seconds!\")\nnet.Broadcast()"
139
+ }
140
+ ],
141
+ notes: ["Equivalent to net.Send(player.GetAll())."],
142
+ warnings: ["Calling net.Broadcast on CLIENT causes a runtime error."],
143
+ wiki_url: "https://wiki.facepunch.com/gmod/net.Broadcast"
144
+ },
145
+ {
146
+ symbol: "GM:HUDPaint",
147
+ name: "HUDPaint",
148
+ category: "hooks",
149
+ realm: "client",
150
+ description: "Called every frame when the 2D HUD is rendered on the screen. Used for custom HUD elements, radar, crosshairs, and UI overlays.",
151
+ signature: "GM:HUDPaint(): void",
152
+ arguments: [],
153
+ returns: [],
154
+ examples: [
155
+ {
156
+ title: "Zero-GC Safe HUD Element",
157
+ code: "local COLOR_BG = Color(20, 20, 20, 200)\nlocal COLOR_WHITE = Color(255, 255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"MyAddon_DrawHUD\", function()\n draw.RoundedBox(8, 20, ScrH() - 60, 200, 40, COLOR_BG)\n draw.SimpleText(\"Health: \" .. LocalPlayer():Health(), \"Trebuchet24\", 30, ScrH() - 50, COLOR_WHITE)\nend)"
158
+ }
159
+ ],
160
+ notes: [
161
+ "Executes every single frame (up to 300Hz depending on client fps).",
162
+ "Do not perform file I/O or heavy algorithmic computations inside this hook."
163
+ ],
164
+ warnings: [
165
+ "PERFORMANCE MANDATE: Never create new Color() or Vector() instances inside HUDPaint. Pre-allocate them in file scope to prevent garbage collector frame spikes."
166
+ ],
167
+ wiki_url: "https://wiki.facepunch.com/gmod/GM:HUDPaint"
168
+ },
169
+ {
170
+ symbol: "GM:RenderScreenspaceEffects",
171
+ name: "RenderScreenspaceEffects",
172
+ category: "hooks",
173
+ realm: "client",
174
+ description: "Called after drawing the 3D scene and before the 2D HUD. Used for full-screen post-processing shaders (bloom, motion blur, color modification, vignette).",
175
+ signature: "GM:RenderScreenspaceEffects(): void",
176
+ arguments: [],
177
+ returns: [],
178
+ examples: [
179
+ {
180
+ title: "Color Modification Post-Processing",
181
+ code: "local colorModifyTab = {\n [\"$pp_colour_addr\"] = 0,\n [\"$pp_colour_addg\"] = 0,\n [\"$pp_colour_addb\"] = 0,\n [\"$pp_colour_mulr\"] = 0,\n [\"$pp_colour_mulg\"] = 0,\n [\"$pp_colour_mulb\"] = 0,\n [\"$pp_colour_colour\"] = 0.8,\n [\"$pp_colour_contrast\"] = 1.1,\n [\"$pp_colour_brightness\"] = -0.05\n}\n\nhook.Add(\"RenderScreenspaceEffects\", \"MyAddon_ColorMod\", function()\n DrawColorModify(colorModifyTab)\nend)"
182
+ }
183
+ ],
184
+ notes: ["Rendered in screen-space. Modifies the engine frame buffer."],
185
+ warnings: [
186
+ "Zero-GC: Never instantiate tables or colors inside this hook. Reuse a static module table."
187
+ ],
188
+ wiki_url: "https://wiki.facepunch.com/gmod/GM:RenderScreenspaceEffects"
189
+ },
190
+ {
191
+ symbol: "GM:PlayerInitialSpawn",
192
+ name: "PlayerInitialSpawn",
193
+ category: "hooks",
194
+ realm: "server",
195
+ description: "Called when a player has finished connecting and loaded into the server for the first time.",
196
+ signature: "GM:PlayerInitialSpawn(ply: Player, transition: boolean): void",
197
+ arguments: [
198
+ { name: "ply", type: "Player", optional: false, description: "The player who connected." },
199
+ { name: "transition", type: "boolean", optional: true, description: "Whether the player is transitioning from another map (singleplayer/changelevel)." }
200
+ ],
201
+ returns: [],
202
+ examples: [
203
+ {
204
+ title: "Initializing Player Data on Connect",
205
+ code: "hook.Add(\"PlayerInitialSpawn\", \"MyAddon_InitData\", function(ply)\n ply._myAddonScore = 0\n timer.Simple(1, function()\n if IsValid(ply) then\n -- Send initial sync net message\n end\n end)\nend)"
206
+ }
207
+ ],
208
+ notes: [
209
+ "Client is not fully initialized immediately; net messages sent instantly in this hook may be missed. Use a small timer delay or wait for client confirmation."
210
+ ],
211
+ warnings: ["SERVER only hook."],
212
+ wiki_url: "https://wiki.facepunch.com/gmod/GM:PlayerInitialSpawn"
213
+ },
214
+ {
215
+ symbol: "AddCSLuaFile",
216
+ name: "AddCSLuaFile",
217
+ category: "functions",
218
+ realm: "server",
219
+ description: "Marks a Lua script file to be downloaded and executed by connecting clients. In weapon (SWEP) and entity (SENT) scripts, this distributes client code.",
220
+ signature: "AddCSLuaFile(filePath?: string): void",
221
+ arguments: [
222
+ { name: "filePath", type: "string", optional: true, description: "Path relative to lua directory. If omitted, sends the current file." }
223
+ ],
224
+ returns: [],
225
+ examples: [
226
+ {
227
+ title: "Standard Realm Distribution Pattern",
228
+ code: "-- shared.lua\nAddCSLuaFile(\"cl_init.lua\")\nAddCSLuaFile()\n\nif CLIENT then\n include(\"cl_init.lua\")\nend\nif SERVER then\n include(\"init.lua\")\nend"
229
+ }
230
+ ],
231
+ notes: [
232
+ "Has no effect when called on the client.",
233
+ "Must be called before connecting clients request file downloads."
234
+ ],
235
+ warnings: [
236
+ "Omitting AddCSLuaFile causes client scripts to be completely missing on clients, resulting in nil variable runtime errors."
237
+ ],
238
+ wiki_url: "https://wiki.facepunch.com/gmod/Global.AddCSLuaFile"
239
+ },
240
+ {
241
+ symbol: "surface.CreateFont",
242
+ name: "CreateFont",
243
+ category: "functions",
244
+ realm: "client",
245
+ description: "Creates and registers a custom font with the Source Engine font cache.",
246
+ signature: "surface.CreateFont(fontName: string, fontData: table): void",
247
+ arguments: [
248
+ { name: "fontName", type: "string", optional: false, description: "Name of font to register." },
249
+ { name: "fontData", type: "table", optional: false, description: "Font settings table (font, size, weight, antialias, shadow, outline, etc.)." }
250
+ ],
251
+ returns: [],
252
+ examples: [
253
+ {
254
+ title: "Registering a Custom UI Font",
255
+ code: "surface.CreateFont(\"MyAddon_HeaderFont\", {\n font = \"Roboto\",\n size = 28,\n weight = 700,\n antialias = true,\n shadow = false\n})"
256
+ }
257
+ ],
258
+ notes: [
259
+ "Font creation is an expensive Source Engine OS call. Must be invoked at script load time."
260
+ ],
261
+ warnings: [
262
+ "Never call surface.CreateFont dynamically inside HUDPaint or think hooks; doing so causes immense frame drops and font resource exhaustion."
263
+ ],
264
+ wiki_url: "https://wiki.facepunch.com/gmod/surface.CreateFont"
265
+ },
266
+ {
267
+ symbol: "vgui.Create",
268
+ name: "Create",
269
+ category: "functions",
270
+ realm: "client",
271
+ description: "Creates and returns a new VGUI Derma UI element by panel class name.",
272
+ signature: "vgui.Create(className: string, parent?: Panel, customName?: string): Panel",
273
+ arguments: [
274
+ { name: "className", type: "string", optional: false, description: "VGUI panel class name (e.g. 'DFrame', 'DButton', 'DScrollPanel')." },
275
+ { name: "parent", type: "Panel", optional: true, description: "Parent panel to dock or nest inside." },
276
+ { name: "customName", type: "string", optional: true, description: "Optional debugging name for the panel." }
277
+ ],
278
+ returns: [
279
+ { name: "panel", type: "Panel", description: "The newly instantiated VGUI panel object." }
280
+ ],
281
+ examples: [
282
+ {
283
+ title: "Creating a Responsive DFrame Window",
284
+ code: "local frame = vgui.Create(\"DFrame\")\nframe:SetSize(ScrW() * 0.4, ScrH() * 0.5)\nframe:Center()\nframe:SetTitle(\"Inventory\")\nframe:MakePopup()"
285
+ }
286
+ ],
287
+ notes: ["Remember to call frame:MakePopup() to enable mouse and keyboard focus for dialogs."],
288
+ warnings: ["CLIENT or MENU realm only."],
289
+ wiki_url: "https://wiki.facepunch.com/gmod/vgui.Create"
290
+ },
291
+ {
292
+ symbol: "DScrollPanel",
293
+ name: "DScrollPanel",
294
+ category: "panels",
295
+ realm: "client",
296
+ description: "A VGUI container panel that provides a vertically scrollable viewport when child elements exceed panel height.",
297
+ signature: "vgui.Create(\"DScrollPanel\", parent?: Panel): DScrollPanel",
298
+ arguments: [],
299
+ returns: [],
300
+ examples: [
301
+ {
302
+ title: "Populating a Scrollable List",
303
+ code: "local scroll = vgui.Create(\"DScrollPanel\", frame)\nscroll:Dock(FILL)\nfor i = 1, 20 do\n local btn = scroll:Add(\"DButton\")\n btn:SetText(\"Item #\" .. i)\n btn:Dock(TOP)\n btn:DockMargin(0, 0, 0, 5)\nend"
304
+ }
305
+ ],
306
+ notes: [
307
+ "Access the vertical scrollbar via scroll:GetVBar().",
308
+ "Add children using scroll:Add('PanelClass') rather than vgui.Create('PanelClass', scroll) for proper canvas positioning."
309
+ ],
310
+ warnings: [],
311
+ wiki_url: "https://wiki.facepunch.com/gmod/DScrollPanel"
312
+ },
313
+ {
314
+ symbol: "Entity:TakeDamage",
315
+ name: "TakeDamage",
316
+ category: "functions",
317
+ realm: "server",
318
+ description: "Applies damage to an entity using a CTakeDamageInfo object.",
319
+ signature: "Entity:TakeDamage(damage: number, attacker?: Entity, inflictor?: Entity): void",
320
+ arguments: [
321
+ { name: "damage", type: "number", optional: false, description: "Amount of damage to inflict." },
322
+ { name: "attacker", type: "Entity", optional: true, description: "Entity responsible for attacking." },
323
+ { name: "inflictor", type: "Entity", optional: true, description: "Entity weapon/object that directly caused damage." }
324
+ ],
325
+ returns: [],
326
+ examples: [
327
+ {
328
+ title: "Inflicting Damage on Player",
329
+ code: "if IsValid(target) then\n target:TakeDamage(25, attacker, weapon)\nend"
330
+ }
331
+ ],
332
+ notes: ["Triggers GM:EntityTakeDamage hook before health is deducted."],
333
+ warnings: ["SERVER only method. Client has no authority to inflict damage directly."],
334
+ wiki_url: "https://wiki.facepunch.com/gmod/Entity:TakeDamage"
335
+ },
336
+ {
337
+ symbol: "Entity:GetPos",
338
+ name: "GetPos",
339
+ category: "functions",
340
+ realm: "shared",
341
+ description: "Returns the 3D world position vector of the entity.",
342
+ signature: "Entity:GetPos(): Vector",
343
+ arguments: [],
344
+ returns: [
345
+ { name: "pos", type: "Vector", description: "World coordinates (X, Y, Z)." }
346
+ ],
347
+ examples: [
348
+ {
349
+ title: "Calculating Distance Between Entities",
350
+ code: "local dist = ply:GetPos():Distance(target:GetPos())"
351
+ }
352
+ ],
353
+ notes: ["Shared across both client and server."],
354
+ warnings: [],
355
+ wiki_url: "https://wiki.facepunch.com/gmod/Entity:GetPos"
356
+ },
357
+ {
358
+ symbol: "Player:IsAdmin",
359
+ name: "IsAdmin",
360
+ category: "functions",
361
+ realm: "shared",
362
+ description: "Checks if the player has administrator privileges (either via admin flag or usergroup).",
363
+ signature: "Player:IsAdmin(): boolean",
364
+ arguments: [],
365
+ returns: [
366
+ { name: "isAdmin", type: "boolean", description: "True if player is an administrator." }
367
+ ],
368
+ examples: [
369
+ {
370
+ title: "Verifying Admin Permission",
371
+ code: "if not ply:IsAdmin() then\n ply:ChatPrint(\"Access denied: Administrators only.\")\n return\nend"
372
+ }
373
+ ],
374
+ notes: ["Superadmins automatically return true for IsAdmin()."],
375
+ warnings: ["Always check ply:IsAdmin() on the SERVER in net message handlers."],
376
+ wiki_url: "https://wiki.facepunch.com/gmod/Player:IsAdmin"
377
+ },
378
+ {
379
+ symbol: "hook.Add",
380
+ name: "Add",
381
+ category: "functions",
382
+ realm: "shared",
383
+ description: "Registers a listener function to be called when an engine or custom event hook fires.",
384
+ signature: "hook.Add(eventName: string, identifier: any, callback: function): void",
385
+ arguments: [
386
+ { name: "eventName", type: "string", optional: false, description: "Name of the hook event (e.g. 'PlayerSpawn', 'HUDPaint')." },
387
+ { name: "identifier", type: "any", optional: false, description: "Unique identifier for this hook (string or Entity/Panel)." },
388
+ { name: "callback", type: "function", optional: false, description: "The function to execute when the hook triggers." }
389
+ ],
390
+ returns: [],
391
+ examples: [
392
+ {
393
+ title: "Adding a Custom Hook Listener",
394
+ code: "hook.Add(\"PlayerSpawn\", \"MyAddon_OnSpawn\", function(ply, transition)\n ply:SetHealth(100)\nend)"
395
+ }
396
+ ],
397
+ notes: [
398
+ "If identifier is an Entity or Panel, the hook automatically unregisters when the object becomes invalid (garbage collected or removed)."
399
+ ],
400
+ warnings: [],
401
+ wiki_url: "https://wiki.facepunch.com/gmod/hook.Add"
402
+ },
403
+ {
404
+ symbol: "Vector",
405
+ name: "Vector",
406
+ category: "functions",
407
+ realm: "shared",
408
+ description: "Creates and returns a 3-dimensional Vector object representing X, Y, Z coordinates.",
409
+ signature: "Vector(x?: number, y?: number, z?: number): Vector",
410
+ arguments: [
411
+ { name: "x", type: "number", optional: true, default: "0", description: "X coordinate." },
412
+ { name: "y", type: "number", optional: true, default: "0", description: "Y coordinate." },
413
+ { name: "z", type: "number", optional: true, default: "0", description: "Z coordinate." }
414
+ ],
415
+ returns: [
416
+ { name: "vec", type: "Vector", description: "The 3D vector." }
417
+ ],
418
+ examples: [
419
+ {
420
+ title: "Vector Math",
421
+ code: "local v1 = Vector(10, 0, 0)\nlocal v2 = Vector(0, 10, 0)\nlocal v3 = v1 + v2"
422
+ }
423
+ ],
424
+ notes: ["Has full vector arithmetic operators: +, -, *, /, :Dot(), :Cross(), :Length()."],
425
+ warnings: [
426
+ "Avoid allocating new Vector instances inside HUDPaint, RenderScreenspaceEffects, or Think hooks."
427
+ ],
428
+ wiki_url: "https://wiki.facepunch.com/gmod/Global.Vector"
429
+ },
430
+ {
431
+ symbol: "Color",
432
+ name: "Color",
433
+ category: "functions",
434
+ realm: "shared",
435
+ description: "Creates and returns a Garry's Mod Color object with RGBA channels.",
436
+ signature: "Color(r: number, g: number, b: number, a?: number): Color",
437
+ arguments: [
438
+ { name: "r", type: "number", optional: false, description: "Red channel (0-255)." },
439
+ { name: "g", type: "number", optional: false, description: "Green channel (0-255)." },
440
+ { name: "b", type: "number", optional: false, description: "Blue channel (0-255)." },
441
+ { name: "a", type: "number", optional: true, default: "255", description: "Alpha channel (0-255)." }
442
+ ],
443
+ returns: [
444
+ { name: "color", type: "Color", description: "The Color table object." }
445
+ ],
446
+ examples: [
447
+ {
448
+ title: "Defining Colors Statically",
449
+ code: "local COLOR_SUCCESS = Color(46, 204, 113, 255)\nlocal COLOR_DANGER = Color(231, 76, 60, 255)"
450
+ }
451
+ ],
452
+ notes: ["Colors in GLua are tables with metatables for channel access."],
453
+ warnings: [
454
+ "ZERO-GC: Do NOT call Color(r,g,b,a) in HUDPaint or render hooks. Always declare colors once outside the hook."
455
+ ],
456
+ wiki_url: "https://wiki.facepunch.com/gmod/Global.Color"
457
+ },
458
+ {
459
+ symbol: "util.TraceLine",
460
+ name: "TraceLine",
461
+ category: "functions",
462
+ realm: "shared",
463
+ description: "Performs a ray trace line through the world and physics collision models, returning hit details.",
464
+ signature: "util.TraceLine(traceData: table): table",
465
+ arguments: [
466
+ { name: "traceData", type: "table", optional: false, description: "Trace configuration table: start, endpos, filter, mask, collisiongroup." }
467
+ ],
468
+ returns: [
469
+ { name: "traceResult", type: "table", description: "TraceResult struct containing Hit, HitPos, HitNormal, Entity, Fraction, etc." }
470
+ ],
471
+ examples: [
472
+ {
473
+ title: "Player Eye Trace",
474
+ code: "local tr = util.TraceLine({\n start = ply:EyePos(),\n endpos = ply:EyePos() + ply:GetAimVector() * 4096,\n filter = ply\n})\nif tr.Hit then\n print(\"Hit entity:\", tr.Entity)\nend"
475
+ }
476
+ ],
477
+ notes: ["Ray tracing is computationally intensive; avoid firing hundreds of unthrottled traces in high-frequency Think hooks."],
478
+ warnings: [],
479
+ wiki_url: "https://wiki.facepunch.com/gmod/util.TraceLine"
480
+ },
481
+ {
482
+ symbol: "cam.Start3D2D",
483
+ name: "Start3D2D",
484
+ category: "functions",
485
+ realm: "client",
486
+ description: "Begins rendering 2D elements in a 3D world space orientation.",
487
+ signature: "cam.Start3D2D(pos: Vector, angles: Angle, scale: number): void",
488
+ arguments: [
489
+ { name: "pos", type: "Vector", optional: false, description: "Origin position in 3D world space." },
490
+ { name: "angles", type: "Angle", optional: false, description: "Rotation orientation of the 2D plane." },
491
+ { name: "scale", type: "number", optional: false, description: "Scale multiplier (e.g. 0.1 for 10x smaller)." }
492
+ ],
493
+ returns: [],
494
+ examples: [
495
+ {
496
+ title: "Rendering Text in 3D Space",
497
+ code: "cam.Start3D2D(pos, ang, 0.1)\n draw.SimpleText(\"3D Signboard\", \"Trebuchet24\", 0, 0, Color(255, 255, 255))\ncam.End3D2D()"
498
+ }
499
+ ],
500
+ notes: [
501
+ "Must be matched with a corresponding cam.End3D2D() call.",
502
+ "Must be called inside 3D rendering hooks (PostDrawOpaqueRenderables or PostDrawTranslucentRenderables)."
503
+ ],
504
+ warnings: [
505
+ "CLIENT only. Attempting to call on SERVER results in a nil runtime error."
506
+ ],
507
+ wiki_url: "https://wiki.facepunch.com/gmod/cam.Start3D2D"
508
+ },
509
+ {
510
+ symbol: "timer.Simple",
511
+ name: "Simple",
512
+ category: "functions",
513
+ realm: "shared",
514
+ description: "Executes a specified callback function after a given delay in seconds.",
515
+ signature: "timer.Simple(delay: number, callback: function): void",
516
+ arguments: [
517
+ { name: "delay", type: "number", optional: false, description: "Delay in seconds before invoking callback." },
518
+ { name: "callback", type: "function", optional: false, description: "Function to execute." }
519
+ ],
520
+ returns: [],
521
+ examples: [
522
+ {
523
+ title: "Delayed Execution",
524
+ code: "timer.Simple(2.5, function()\n print(\"2.5 seconds have passed.\")\nend)"
525
+ }
526
+ ],
527
+ notes: [
528
+ "Cannot be paused or removed by name. For manageable timers, use timer.Create."
529
+ ],
530
+ warnings: [],
531
+ wiki_url: "https://wiki.facepunch.com/gmod/timer.Simple"
532
+ }
533
+ ];
534
+ //# sourceMappingURL=offline_db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offline_db.js","sourceRoot":"","sources":["../../../src/domain/wiki/offline_db.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export type GModRealm = "server" | "client" | "shared" | "menu";
2
+ export interface WikiDocEntry {
3
+ symbol: string;
4
+ name: string;
5
+ category: "functions" | "hooks" | "libraries" | "panels" | "enums";
6
+ realm: GModRealm;
7
+ description: string;
8
+ signature: string;
9
+ arguments: Array<{
10
+ name: string;
11
+ type: string;
12
+ optional: boolean;
13
+ default?: string;
14
+ description: string;
15
+ }>;
16
+ returns: Array<{
17
+ name: string;
18
+ type: string;
19
+ description: string;
20
+ }>;
21
+ examples: Array<{
22
+ title: string;
23
+ code: string;
24
+ }>;
25
+ notes: string[];
26
+ warnings: string[];
27
+ wiki_url: string;
28
+ }
29
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/domain/wiki/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnE,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,QAAQ,EAAE,KAAK,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/domain/wiki/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env node
2
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
+ import { createServer } from "./server.js";
4
+ import { logger } from "./core/logger.js";
5
+ import { loadConfig } from "./config/env.js";
6
+ async function main() {
7
+ try {
8
+ const config = loadConfig();
9
+ logger.setLevel(config.LOG_LEVEL);
10
+ logger.info("Starting mcp-garry-codes server over stdio transport...", {
11
+ workspace: config.WORKSPACE_ROOT,
12
+ python: config.PYTHON_PATH
13
+ });
14
+ const server = createServer();
15
+ const transport = new StdioServerTransport();
16
+ await server.connect(transport);
17
+ logger.info("mcp-garry-codes server connected and listening on stdio.");
18
+ }
19
+ catch (error) {
20
+ logger.error("Fatal error during server startup:", { error: String(error) });
21
+ process.exit(1);
22
+ }
23
+ }
24
+ main().catch(err => {
25
+ process.stderr.write(`Unhandled exception: ${String(err)}\n`);
26
+ process.exit(1);
27
+ });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,yDAAyD,EAAE;YACrE,SAAS,EAAE,MAAM,CAAC,cAAc;YAChC,MAAM,EAAE,MAAM,CAAC,WAAW;SAC3B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { GModRealm } from "../domain/glua/ast.js";
2
+ import { LintGLuaOutput } from "../contracts/linter_contracts.js";
3
+ export declare class GLuaLintAdapter {
4
+ static lint(code: string, realm?: GModRealm, fixFormatting?: boolean): Promise<LintGLuaOutput>;
5
+ }
6
+ //# sourceMappingURL=glualint_adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glualint_adapter.d.ts","sourceRoot":"","sources":["../../src/integrations/glualint_adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAkB,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAMlF,qBAAa,eAAe;WACN,IAAI,CACtB,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,SAAoB,EAC3B,aAAa,UAAQ,GACpB,OAAO,CAAC,cAAc,CAAC;CA6D3B"}