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.
- package/LICENSE +21 -0
- package/README.md +133 -0
- package/dist/config/env.d.ts +4 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +27 -0
- package/dist/config/env.js.map +1 -0
- package/dist/config/schema.d.ts +28 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +12 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/contracts/common.d.ts +53 -0
- package/dist/contracts/common.d.ts.map +1 -0
- package/dist/contracts/common.js +30 -0
- package/dist/contracts/common.js.map +1 -0
- package/dist/contracts/linter_contracts.d.ts +79 -0
- package/dist/contracts/linter_contracts.d.ts.map +1 -0
- package/dist/contracts/linter_contracts.js +16 -0
- package/dist/contracts/linter_contracts.js.map +1 -0
- package/dist/contracts/scaffold_contracts.d.ts +84 -0
- package/dist/contracts/scaffold_contracts.d.ts.map +1 -0
- package/dist/contracts/scaffold_contracts.js +27 -0
- package/dist/contracts/scaffold_contracts.js.map +1 -0
- package/dist/contracts/security_contracts.d.ts +37 -0
- package/dist/contracts/security_contracts.d.ts.map +1 -0
- package/dist/contracts/security_contracts.js +6 -0
- package/dist/contracts/security_contracts.js.map +1 -0
- package/dist/contracts/test_contracts.d.ts +42 -0
- package/dist/contracts/test_contracts.d.ts.map +1 -0
- package/dist/contracts/test_contracts.js +10 -0
- package/dist/contracts/test_contracts.js.map +1 -0
- package/dist/contracts/wiki_contracts.d.ts +96 -0
- package/dist/contracts/wiki_contracts.d.ts.map +1 -0
- package/dist/contracts/wiki_contracts.js +17 -0
- package/dist/contracts/wiki_contracts.js.map +1 -0
- package/dist/core/cache.d.ts +9 -0
- package/dist/core/cache.d.ts.map +1 -0
- package/dist/core/cache.js +56 -0
- package/dist/core/cache.js.map +1 -0
- package/dist/core/errors.d.ts +37 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +52 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/file_utils.d.ts +13 -0
- package/dist/core/file_utils.d.ts.map +1 -0
- package/dist/core/file_utils.js +90 -0
- package/dist/core/file_utils.js.map +1 -0
- package/dist/core/logger.d.ts +18 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +46 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/process_runner.d.ts +15 -0
- package/dist/core/process_runner.d.ts.map +1 -0
- package/dist/core/process_runner.js +64 -0
- package/dist/core/process_runner.js.map +1 -0
- package/dist/domain/glua/ast.d.ts +12 -0
- package/dist/domain/glua/ast.d.ts.map +1 -0
- package/dist/domain/glua/ast.js +176 -0
- package/dist/domain/glua/ast.js.map +1 -0
- package/dist/domain/glua/lexer.d.ts +42 -0
- package/dist/domain/glua/lexer.d.ts.map +1 -0
- package/dist/domain/glua/lexer.js +232 -0
- package/dist/domain/glua/lexer.js.map +1 -0
- package/dist/domain/networking/net_auditor.d.ts +5 -0
- package/dist/domain/networking/net_auditor.d.ts.map +1 -0
- package/dist/domain/networking/net_auditor.js +188 -0
- package/dist/domain/networking/net_auditor.js.map +1 -0
- package/dist/domain/packaging/validator.d.ts +5 -0
- package/dist/domain/packaging/validator.d.ts.map +1 -0
- package/dist/domain/packaging/validator.js +121 -0
- package/dist/domain/packaging/validator.js.map +1 -0
- package/dist/domain/performance/hot_path_analyzer.d.ts +5 -0
- package/dist/domain/performance/hot_path_analyzer.d.ts.map +1 -0
- package/dist/domain/performance/hot_path_analyzer.js +127 -0
- package/dist/domain/performance/hot_path_analyzer.js.map +1 -0
- package/dist/domain/scaffolding/templates.d.ts +5 -0
- package/dist/domain/scaffolding/templates.d.ts.map +1 -0
- package/dist/domain/scaffolding/templates.js +219 -0
- package/dist/domain/scaffolding/templates.js.map +1 -0
- package/dist/domain/wiki/offline_db.d.ts +3 -0
- package/dist/domain/wiki/offline_db.d.ts.map +1 -0
- package/dist/domain/wiki/offline_db.js +534 -0
- package/dist/domain/wiki/offline_db.js.map +1 -0
- package/dist/domain/wiki/types.d.ts +29 -0
- package/dist/domain/wiki/types.d.ts.map +1 -0
- package/dist/domain/wiki/types.js +2 -0
- package/dist/domain/wiki/types.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/glualint_adapter.d.ts +6 -0
- package/dist/integrations/glualint_adapter.d.ts.map +1 -0
- package/dist/integrations/glualint_adapter.js +62 -0
- package/dist/integrations/glualint_adapter.js.map +1 -0
- package/dist/integrations/python_test_harness.d.ts +5 -0
- package/dist/integrations/python_test_harness.d.ts.map +1 -0
- package/dist/integrations/python_test_harness.js +67 -0
- package/dist/integrations/python_test_harness.js.map +1 -0
- package/dist/integrations/web_search_adapter.d.ts +6 -0
- package/dist/integrations/web_search_adapter.d.ts.map +1 -0
- package/dist/integrations/web_search_adapter.js +80 -0
- package/dist/integrations/web_search_adapter.js.map +1 -0
- package/dist/integrations/wiki_client.d.ts +13 -0
- package/dist/integrations/wiki_client.d.ts.map +1 -0
- package/dist/integrations/wiki_client.js +110 -0
- package/dist/integrations/wiki_client.js.map +1 -0
- package/dist/prompts/index.d.ts +73 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +127 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/resources/realms_resources.d.ts +2 -0
- package/dist/resources/realms_resources.d.ts.map +1 -0
- package/dist/resources/realms_resources.js +30 -0
- package/dist/resources/realms_resources.js.map +1 -0
- package/dist/resources/schema_resources.d.ts +2 -0
- package/dist/resources/schema_resources.d.ts.map +1 -0
- package/dist/resources/schema_resources.js +43 -0
- package/dist/resources/schema_resources.js.map +1 -0
- package/dist/resources/wiki_resources.d.ts +3 -0
- package/dist/resources/wiki_resources.d.ts.map +1 -0
- package/dist/resources/wiki_resources.js +31 -0
- package/dist/resources/wiki_resources.js.map +1 -0
- package/dist/security/path_guard.d.ts +8 -0
- package/dist/security/path_guard.d.ts.map +1 -0
- package/dist/security/path_guard.js +37 -0
- package/dist/security/path_guard.js.map +1 -0
- package/dist/security/process_guard.d.ts +8 -0
- package/dist/security/process_guard.d.ts.map +1 -0
- package/dist/security/process_guard.js +26 -0
- package/dist/security/process_guard.js.map +1 -0
- package/dist/security/redaction.d.ts +6 -0
- package/dist/security/redaction.d.ts.map +1 -0
- package/dist/security/redaction.js +49 -0
- package/dist/security/redaction.js.map +1 -0
- package/dist/server.d.ts +3 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +364 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/analyze_performance.d.ts +4 -0
- package/dist/tools/analyze_performance.d.ts.map +1 -0
- package/dist/tools/analyze_performance.js +20 -0
- package/dist/tools/analyze_performance.js.map +1 -0
- package/dist/tools/audit_net_security.d.ts +4 -0
- package/dist/tools/audit_net_security.d.ts.map +1 -0
- package/dist/tools/audit_net_security.js +19 -0
- package/dist/tools/audit_net_security.js.map +1 -0
- package/dist/tools/get_gmod_symbol.d.ts +4 -0
- package/dist/tools/get_gmod_symbol.d.ts.map +1 -0
- package/dist/tools/get_gmod_symbol.js +30 -0
- package/dist/tools/get_gmod_symbol.js.map +1 -0
- package/dist/tools/lint_glua.d.ts +4 -0
- package/dist/tools/lint_glua.d.ts.map +1 -0
- package/dist/tools/lint_glua.js +24 -0
- package/dist/tools/lint_glua.js.map +1 -0
- package/dist/tools/package_and_validate.d.ts +4 -0
- package/dist/tools/package_and_validate.d.ts.map +1 -0
- package/dist/tools/package_and_validate.js +23 -0
- package/dist/tools/package_and_validate.js.map +1 -0
- package/dist/tools/run_glua_test.d.ts +4 -0
- package/dist/tools/run_glua_test.d.ts.map +1 -0
- package/dist/tools/run_glua_test.js +15 -0
- package/dist/tools/run_glua_test.js.map +1 -0
- package/dist/tools/scaffold_gmod_component.d.ts +4 -0
- package/dist/tools/scaffold_gmod_component.d.ts.map +1 -0
- package/dist/tools/scaffold_gmod_component.js +16 -0
- package/dist/tools/scaffold_gmod_component.js.map +1 -0
- package/dist/tools/search_gmod_wiki.d.ts +4 -0
- package/dist/tools/search_gmod_wiki.d.ts.map +1 -0
- package/dist/tools/search_gmod_wiki.js +30 -0
- package/dist/tools/search_gmod_wiki.js.map +1 -0
- package/dist/tools/web_search_glua.d.ts +4 -0
- package/dist/tools/web_search_glua.d.ts.map +1 -0
- package/dist/tools/web_search_glua.js +15 -0
- package/dist/tools/web_search_glua.js.map +1 -0
- package/package.json +58 -0
- package/src/test_harness/lua/glua_mock.lua +383 -0
- package/src/test_harness/python/gmod_tester.py +156 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AnalyzePerformanceOutput } from "../contracts/linter_contracts.js";
|
|
2
|
+
import { GModToolResult } from "../contracts/common.js";
|
|
3
|
+
export declare function handleAnalyzePerformance(args: unknown): Promise<GModToolResult<AnalyzePerformanceOutput>>;
|
|
4
|
+
//# sourceMappingURL=analyze_performance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze_performance.d.ts","sourceRoot":"","sources":["../../src/tools/analyze_performance.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAyB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI/E,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC,CAkB/G"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AnalyzePerformanceInputSchema } from "../contracts/linter_contracts.js";
|
|
2
|
+
import { createSuccessEnvelope } from "../contracts/common.js";
|
|
3
|
+
import { HotPathAnalyzer } from "../domain/performance/hot_path_analyzer.js";
|
|
4
|
+
import { FileUtils } from "../core/file_utils.js";
|
|
5
|
+
export async function handleAnalyzePerformance(args) {
|
|
6
|
+
const parsed = AnalyzePerformanceInputSchema.parse(args);
|
|
7
|
+
let code = parsed.code_content ?? "";
|
|
8
|
+
if (parsed.file_path) {
|
|
9
|
+
code = await FileUtils.readFile(parsed.file_path);
|
|
10
|
+
}
|
|
11
|
+
const output = HotPathAnalyzer.analyze(code);
|
|
12
|
+
const summary = output.issues.length === 0
|
|
13
|
+
? `Performance review passed! Score: ${output.performance_score}/100. Zero GC-allocations detected in hot-path hooks.`
|
|
14
|
+
: `Performance review found ${output.issues.length} hot-path issues. Score: ${output.performance_score}/100.`;
|
|
15
|
+
return createSuccessEnvelope(summary, output, {
|
|
16
|
+
warnings: output.issues.map(i => `[${i.severity.toUpperCase()}] Line ${i.line} (${i.hook_name}): ${i.description}`),
|
|
17
|
+
nextActions: output.issues.map(i => `Pre-allocate ${i.category} on Line ${i.line}`)
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=analyze_performance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze_performance.js","sourceRoot":"","sources":["../../src/tools/analyze_performance.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAE9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAkB,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAAa;IAC1D,MAAM,MAAM,GAAG,6BAA6B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEzD,IAAI,IAAI,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;IACrC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QACxC,CAAC,CAAC,qCAAqC,MAAM,CAAC,iBAAiB,uDAAuD;QACtH,CAAC,CAAC,4BAA4B,MAAM,CAAC,MAAM,CAAC,MAAM,4BAA4B,MAAM,CAAC,iBAAiB,OAAO,CAAC;IAEhH,OAAO,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE;QAC5C,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACnH,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,QAAQ,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;KACpF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AuditNetSecurityOutput } from "../contracts/security_contracts.js";
|
|
2
|
+
import { GModToolResult } from "../contracts/common.js";
|
|
3
|
+
export declare function handleAuditNetSecurity(args: unknown): Promise<GModToolResult<AuditNetSecurityOutput>>;
|
|
4
|
+
//# sourceMappingURL=audit_net_security.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit_net_security.d.ts","sourceRoot":"","sources":["../../src/tools/audit_net_security.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAyB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI/E,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAiB3G"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AuditNetSecurityInputSchema } from "../contracts/security_contracts.js";
|
|
2
|
+
import { createSuccessEnvelope } from "../contracts/common.js";
|
|
3
|
+
import { NetAuditor } from "../domain/networking/net_auditor.js";
|
|
4
|
+
import { getConfig } from "../config/env.js";
|
|
5
|
+
export async function handleAuditNetSecurity(args) {
|
|
6
|
+
const parsed = AuditNetSecurityInputSchema.parse(args);
|
|
7
|
+
const targetDir = parsed.addon_dir ?? getConfig().WORKSPACE_ROOT;
|
|
8
|
+
const output = await NetAuditor.audit(targetDir, parsed.file_paths);
|
|
9
|
+
const criticalCount = output.vulnerabilities.filter(v => v.severity === "critical").length;
|
|
10
|
+
const highCount = output.vulnerabilities.filter(v => v.severity === "high").length;
|
|
11
|
+
const summary = output.vulnerabilities.length === 0
|
|
12
|
+
? `Net security audit completed: 0 vulnerabilities found across ${output.messages_found} messages.`
|
|
13
|
+
: `Net security audit detected ${output.vulnerabilities.length} potential vulnerabilities (${criticalCount} Critical, ${highCount} High).`;
|
|
14
|
+
return createSuccessEnvelope(summary, output, {
|
|
15
|
+
warnings: output.vulnerabilities.map(v => `[${v.severity.toUpperCase()}] ${v.file}:${v.line} - ${v.description}`),
|
|
16
|
+
nextActions: output.vulnerabilities.map(v => `Fix ${v.type} in ${v.file} (Line ${v.line})`)
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=audit_net_security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit_net_security.js","sourceRoot":"","sources":["../../src/tools/audit_net_security.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAE5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAkB,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAa;IACxD,MAAM,MAAM,GAAG,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,cAAc,CAAC;IAEjE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAEpE,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IAC3F,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAEnF,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;QACjD,CAAC,CAAC,gEAAgE,MAAM,CAAC,cAAc,YAAY;QACnG,CAAC,CAAC,+BAA+B,MAAM,CAAC,eAAe,CAAC,MAAM,+BAA+B,aAAa,cAAc,SAAS,SAAS,CAAC;IAE7I,OAAO,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE;QAC5C,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACjH,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,GAAG,CAAC;KAC5F,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { GetGModSymbolOutput } from "../contracts/wiki_contracts.js";
|
|
2
|
+
import { GModToolResult } from "../contracts/common.js";
|
|
3
|
+
export declare function handleGetGModSymbol(args: unknown): Promise<GModToolResult<GetGModSymbolOutput | null>>;
|
|
4
|
+
//# sourceMappingURL=get_gmod_symbol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get_gmod_symbol.d.ts","sourceRoot":"","sources":["../../src/tools/get_gmod_symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAA8C,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAKpG,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAmC5G"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { GetGModSymbolInputSchema } from "../contracts/wiki_contracts.js";
|
|
2
|
+
import { createSuccessEnvelope, createErrorEnvelope } from "../contracts/common.js";
|
|
3
|
+
import { WikiClient } from "../integrations/wiki_client.js";
|
|
4
|
+
const wikiClient = new WikiClient();
|
|
5
|
+
export async function handleGetGModSymbol(args) {
|
|
6
|
+
const parsed = GetGModSymbolInputSchema.parse(args);
|
|
7
|
+
const doc = await wikiClient.getSymbol(parsed.symbol);
|
|
8
|
+
if (!doc) {
|
|
9
|
+
return createErrorEnvelope(`Symbol '${parsed.symbol}' could not be found in local index or Facepunch Wiki.`, null, {
|
|
10
|
+
warnings: [`No documentation entries matched '${parsed.symbol}'. Check spelling or search with search_gmod_wiki.`],
|
|
11
|
+
nextActions: [`Use search_gmod_wiki with query: "${parsed.symbol}"`]
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
const output = {
|
|
15
|
+
symbol: doc.symbol,
|
|
16
|
+
realm: doc.realm,
|
|
17
|
+
description: doc.description,
|
|
18
|
+
arguments: doc.arguments,
|
|
19
|
+
returns: doc.returns,
|
|
20
|
+
examples: parsed.include_examples ? doc.examples : [],
|
|
21
|
+
notes: doc.notes,
|
|
22
|
+
warnings: doc.warnings,
|
|
23
|
+
wiki_url: doc.wiki_url
|
|
24
|
+
};
|
|
25
|
+
return createSuccessEnvelope(`Retrieved documentation for '${doc.symbol}' (${doc.realm.toUpperCase()} realm).`, output, {
|
|
26
|
+
warnings: doc.warnings,
|
|
27
|
+
sources: [{ label: doc.symbol, uri: doc.wiki_url }]
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=get_gmod_symbol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get_gmod_symbol.js","sourceRoot":"","sources":["../../src/tools/get_gmod_symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAEzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAkB,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAa;IACrD,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEtD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,mBAAmB,CACxB,WAAW,MAAM,CAAC,MAAM,wDAAwD,EAChF,IAAI,EACJ;YACE,QAAQ,EAAE,CAAC,qCAAqC,MAAM,CAAC,MAAM,oDAAoD,CAAC;YAClH,WAAW,EAAE,CAAC,qCAAqC,MAAM,CAAC,MAAM,GAAG,CAAC;SACrE,CACF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAwB;QAClC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;QACrD,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACvB,CAAC;IAEF,OAAO,qBAAqB,CAC1B,gCAAgC,GAAG,CAAC,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,EACjF,MAAM,EACN;QACE,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;KACpD,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint_glua.d.ts","sourceRoot":"","sources":["../../src/tools/lint_glua.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACf,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAyB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAK/E,wBAAsB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAsB3F"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { LintGLuaInputSchema } from "../contracts/linter_contracts.js";
|
|
2
|
+
import { createSuccessEnvelope } from "../contracts/common.js";
|
|
3
|
+
import { GLuaLintAdapter } from "../integrations/glualint_adapter.js";
|
|
4
|
+
import { GLuaAnalyzer } from "../domain/glua/ast.js";
|
|
5
|
+
import { FileUtils } from "../core/file_utils.js";
|
|
6
|
+
export async function handleLintGLua(args) {
|
|
7
|
+
const parsed = LintGLuaInputSchema.parse(args);
|
|
8
|
+
let code = parsed.code_content ?? "";
|
|
9
|
+
let realm = parsed.target_realm === "auto" ? "shared" : parsed.target_realm;
|
|
10
|
+
if (parsed.file_path) {
|
|
11
|
+
code = await FileUtils.readFile(parsed.file_path);
|
|
12
|
+
if (parsed.target_realm === "auto") {
|
|
13
|
+
realm = GLuaAnalyzer.detectRealmFromPath(parsed.file_path);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
const output = await GLuaLintAdapter.lint(code, realm, parsed.fix_formatting);
|
|
17
|
+
const summary = output.valid
|
|
18
|
+
? `GLua code is valid with 0 errors and ${output.warning_count} warnings (${realm.toUpperCase()} realm).`
|
|
19
|
+
: `GLua code analysis identified ${output.error_count} errors and ${output.warning_count} warnings.`;
|
|
20
|
+
return createSuccessEnvelope(summary, output, {
|
|
21
|
+
warnings: output.diagnostics.filter(d => d.severity === "warning").map(d => `Line ${d.line}: ${d.message}`)
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=lint_glua.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint_glua.js","sourceRoot":"","sources":["../../src/tools/lint_glua.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAEpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAkB,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAa,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAa;IAChD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,IAAI,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;IACrC,IAAI,KAAK,GAAc,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;IAEvF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YACnC,KAAK,GAAG,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAE9E,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK;QAC1B,CAAC,CAAC,wCAAwC,MAAM,CAAC,aAAa,cAAc,KAAK,CAAC,WAAW,EAAE,UAAU;QACzG,CAAC,CAAC,iCAAiC,MAAM,CAAC,WAAW,eAAe,MAAM,CAAC,aAAa,YAAY,CAAC;IAEvG,OAAO,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE;QAC5C,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;KAC5G,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { PackageAndValidateOutput } from "../contracts/scaffold_contracts.js";
|
|
2
|
+
import { GModToolResult } from "../contracts/common.js";
|
|
3
|
+
export declare function handlePackageAndValidate(args: unknown): Promise<GModToolResult<PackageAndValidateOutput>>;
|
|
4
|
+
//# sourceMappingURL=package_and_validate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package_and_validate.d.ts","sourceRoot":"","sources":["../../src/tools/package_and_validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EACzB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAyB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI/E,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC,CAwB/G"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PackageAndValidateInputSchema } from "../contracts/scaffold_contracts.js";
|
|
2
|
+
import { createSuccessEnvelope } from "../contracts/common.js";
|
|
3
|
+
import { PackagingValidator } from "../domain/packaging/validator.js";
|
|
4
|
+
import { getConfig } from "../config/env.js";
|
|
5
|
+
export async function handlePackageAndValidate(args) {
|
|
6
|
+
const parsed = PackageAndValidateInputSchema.parse(args);
|
|
7
|
+
const targetDir = parsed.addon_dir ?? getConfig().WORKSPACE_ROOT;
|
|
8
|
+
const output = await PackagingValidator.validateAndPackage(targetDir, parsed.build_gma, parsed.output_gma_path);
|
|
9
|
+
const summary = output.valid
|
|
10
|
+
? `Addon validation succeeded! Inspected ${output.total_files} files (${Math.round(output.total_size_bytes / 1024)} KB). Compatible with Steam Workshop.`
|
|
11
|
+
: `Addon validation failed: ${output.illegal_files.length} illegal files and ${output.warnings.length} issues identified.`;
|
|
12
|
+
return createSuccessEnvelope(summary, output, {
|
|
13
|
+
warnings: [
|
|
14
|
+
...output.warnings,
|
|
15
|
+
...output.illegal_files.map(f => `${f.path}: ${f.reason}`)
|
|
16
|
+
],
|
|
17
|
+
artifacts: output.gma_path ? [{ label: "Compiled GMA", uri: output.gma_path }] : [],
|
|
18
|
+
nextActions: output.valid
|
|
19
|
+
? (output.gma_path ? [] : ["Run with build_gma: true to compile final .gma package."])
|
|
20
|
+
: ["Remove or rename illegal files listed in warnings."]
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=package_and_validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package_and_validate.js","sourceRoot":"","sources":["../../src/tools/package_and_validate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAE9B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAkB,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAAa;IAC1D,MAAM,MAAM,GAAG,6BAA6B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,cAAc,CAAC;IAEjE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,kBAAkB,CACxD,SAAS,EACT,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,eAAe,CACvB,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK;QAC1B,CAAC,CAAC,yCAAyC,MAAM,CAAC,WAAW,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,uCAAuC;QACzJ,CAAC,CAAC,4BAA4B,MAAM,CAAC,aAAa,CAAC,MAAM,sBAAsB,MAAM,CAAC,QAAQ,CAAC,MAAM,qBAAqB,CAAC;IAE7H,OAAO,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE;QAC5C,QAAQ,EAAE;YACR,GAAG,MAAM,CAAC,QAAQ;YAClB,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;SAC3D;QACD,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QACnF,WAAW,EAAE,MAAM,CAAC,KAAK;YACvB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,yDAAyD,CAAC,CAAC;YACtF,CAAC,CAAC,CAAC,oDAAoD,CAAC;KAC3D,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { RunGLuaTestOutput } from "../contracts/test_contracts.js";
|
|
2
|
+
import { GModToolResult } from "../contracts/common.js";
|
|
3
|
+
export declare function handleRunGLuaTest(args: unknown): Promise<GModToolResult<RunGLuaTestOutput>>;
|
|
4
|
+
//# sourceMappingURL=run_glua_test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run_glua_test.d.ts","sourceRoot":"","sources":["../../src/tools/run_glua_test.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAyB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG/E,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAYjG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { RunGLuaTestInputSchema } from "../contracts/test_contracts.js";
|
|
2
|
+
import { createSuccessEnvelope } from "../contracts/common.js";
|
|
3
|
+
import { PythonTestHarness } from "../integrations/python_test_harness.js";
|
|
4
|
+
export async function handleRunGLuaTest(args) {
|
|
5
|
+
const parsed = RunGLuaTestInputSchema.parse(args);
|
|
6
|
+
const output = await PythonTestHarness.runTest(parsed);
|
|
7
|
+
const summary = output.passed
|
|
8
|
+
? `Headless GLua test passed! Executed ${output.tests_run} assertions in ${output.execution_time_ms}ms.`
|
|
9
|
+
: `Headless GLua test failed with ${output.failures} failure(s) out of ${output.tests_run} test(s).`;
|
|
10
|
+
return createSuccessEnvelope(summary, output, {
|
|
11
|
+
warnings: output.errors.map(e => `${e.test_name}: ${e.error_message}`),
|
|
12
|
+
nextActions: output.passed ? [] : output.errors.map(e => `Debug failed assertion: ${e.test_name}`)
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=run_glua_test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run_glua_test.js","sourceRoot":"","sources":["../../src/tools/run_glua_test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAEvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAkB,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAa;IACnD,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM;QAC3B,CAAC,CAAC,uCAAuC,MAAM,CAAC,SAAS,kBAAkB,MAAM,CAAC,iBAAiB,KAAK;QACxG,CAAC,CAAC,kCAAkC,MAAM,CAAC,QAAQ,sBAAsB,MAAM,CAAC,SAAS,WAAW,CAAC;IAEvG,OAAO,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE;QAC5C,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QACtE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,SAAS,EAAE,CAAC;KACnG,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ScaffoldGModComponentOutput } from "../contracts/scaffold_contracts.js";
|
|
2
|
+
import { GModToolResult } from "../contracts/common.js";
|
|
3
|
+
export declare function handleScaffoldGModComponent(args: unknown): Promise<GModToolResult<ScaffoldGModComponentOutput>>;
|
|
4
|
+
//# sourceMappingURL=scaffold_gmod_component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold_gmod_component.d.ts","sourceRoot":"","sources":["../../src/tools/scaffold_gmod_component.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,2BAA2B,EAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAyB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI/E,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC,CAarH"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ScaffoldGModComponentInputSchema } from "../contracts/scaffold_contracts.js";
|
|
2
|
+
import { createSuccessEnvelope } from "../contracts/common.js";
|
|
3
|
+
import { ScaffoldingService } from "../domain/scaffolding/templates.js";
|
|
4
|
+
import { getConfig } from "../config/env.js";
|
|
5
|
+
export async function handleScaffoldGModComponent(args) {
|
|
6
|
+
const parsed = ScaffoldGModComponentInputSchema.parse(args);
|
|
7
|
+
const workspaceRoot = getConfig().WORKSPACE_ROOT;
|
|
8
|
+
const output = await ScaffoldingService.scaffold(parsed, workspaceRoot);
|
|
9
|
+
const actionDesc = parsed.output_dir ? "created on disk" : "generated in manifest";
|
|
10
|
+
const summary = `Successfully scaffolded ${parsed.component_type.toUpperCase()} '${parsed.name}'. ${output.files_created.length} files ${actionDesc}.`;
|
|
11
|
+
return createSuccessEnvelope(summary, output, {
|
|
12
|
+
artifacts: output.files_created.map(f => ({ label: f.path, uri: f.path })),
|
|
13
|
+
nextActions: output.files_created.map(f => `Review and implement game logic in ${f.path}`)
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=scaffold_gmod_component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold_gmod_component.js","sourceRoot":"","sources":["../../src/tools/scaffold_gmod_component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAEjC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAkB,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,IAAa;IAC7D,MAAM,MAAM,GAAG,gCAAgC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC,cAAc,CAAC;IAEjD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAExE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,uBAAuB,CAAC;IACnF,MAAM,OAAO,GAAG,2BAA2B,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,UAAU,UAAU,GAAG,CAAC;IAEvJ,OAAO,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE;QAC5C,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,sCAAsC,CAAC,CAAC,IAAI,EAAE,CAAC;KAC3F,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { SearchGModWikiOutput } from "../contracts/wiki_contracts.js";
|
|
2
|
+
import { GModToolResult } from "../contracts/common.js";
|
|
3
|
+
export declare function handleSearchGModWiki(args: unknown): Promise<GModToolResult<SearchGModWikiOutput>>;
|
|
4
|
+
//# sourceMappingURL=search_gmod_wiki.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search_gmod_wiki.d.ts","sourceRoot":"","sources":["../../src/tools/search_gmod_wiki.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAyB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAK/E,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CA8BvG"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { SearchGModWikiInputSchema } from "../contracts/wiki_contracts.js";
|
|
2
|
+
import { createSuccessEnvelope } from "../contracts/common.js";
|
|
3
|
+
import { WikiClient } from "../integrations/wiki_client.js";
|
|
4
|
+
const wikiClient = new WikiClient();
|
|
5
|
+
export async function handleSearchGModWiki(args) {
|
|
6
|
+
const parsed = SearchGModWikiInputSchema.parse(args);
|
|
7
|
+
const results = await wikiClient.search(parsed.query, {
|
|
8
|
+
category: parsed.category,
|
|
9
|
+
realm: parsed.realm,
|
|
10
|
+
maxResults: parsed.max_results
|
|
11
|
+
});
|
|
12
|
+
const output = {
|
|
13
|
+
query: parsed.query,
|
|
14
|
+
category: parsed.category,
|
|
15
|
+
realm: parsed.realm,
|
|
16
|
+
total_matches: results.length,
|
|
17
|
+
results: results.map(r => ({
|
|
18
|
+
title: r.symbol,
|
|
19
|
+
url: r.wiki_url,
|
|
20
|
+
realm: r.realm,
|
|
21
|
+
summary: r.description,
|
|
22
|
+
signature: r.signature,
|
|
23
|
+
category: r.category
|
|
24
|
+
}))
|
|
25
|
+
};
|
|
26
|
+
return createSuccessEnvelope(`Found ${results.length} Garry's Mod documentation matches for '${parsed.query}'.`, output, {
|
|
27
|
+
sources: results.map(r => ({ label: r.symbol, uri: r.wiki_url }))
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=search_gmod_wiki.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search_gmod_wiki.js","sourceRoot":"","sources":["../../src/tools/search_gmod_wiki.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EAE1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAkB,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAa;IACtD,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;QACpD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,WAAW;KAC/B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAyB;QACnC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,aAAa,EAAE,OAAO,CAAC,MAAM;QAC7B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzB,KAAK,EAAE,CAAC,CAAC,MAAM;YACf,GAAG,EAAE,CAAC,CAAC,QAAQ;YACf,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,OAAO,EAAE,CAAC,CAAC,WAAW;YACtB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC;KACJ,CAAC;IAEF,OAAO,qBAAqB,CAC1B,SAAS,OAAO,CAAC,MAAM,2CAA2C,MAAM,CAAC,KAAK,IAAI,EAClF,MAAM,EACN;QACE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;KAClE,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { WebSearchGLuaOutput } from "../contracts/wiki_contracts.js";
|
|
2
|
+
import { GModToolResult } from "../contracts/common.js";
|
|
3
|
+
export declare function handleWebSearchGLua(args: unknown): Promise<GModToolResult<WebSearchGLuaOutput>>;
|
|
4
|
+
//# sourceMappingURL=web_search_glua.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web_search_glua.d.ts","sourceRoot":"","sources":["../../src/tools/web_search_glua.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAyB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG/E,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAoBrG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { WebSearchGLuaInputSchema } from "../contracts/wiki_contracts.js";
|
|
2
|
+
import { createSuccessEnvelope } from "../contracts/common.js";
|
|
3
|
+
import { WebSearchAdapter } from "../integrations/web_search_adapter.js";
|
|
4
|
+
export async function handleWebSearchGLua(args) {
|
|
5
|
+
const parsed = WebSearchGLuaInputSchema.parse(args);
|
|
6
|
+
const results = await WebSearchAdapter.search(parsed.query, parsed.domain_filter, parsed.max_results);
|
|
7
|
+
const output = {
|
|
8
|
+
query: parsed.query,
|
|
9
|
+
results
|
|
10
|
+
};
|
|
11
|
+
return createSuccessEnvelope(`Found ${results.length} community discussions and code snippets for '${parsed.query}'.`, output, {
|
|
12
|
+
sources: results.map(r => ({ label: r.title, uri: r.url }))
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=web_search_glua.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web_search_glua.js","sourceRoot":"","sources":["../../src/tools/web_search_glua.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAEzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAkB,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAa;IACrD,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAC3C,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,WAAW,CACnB,CAAC;IAEF,MAAM,MAAM,GAAwB;QAClC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO;KACR,CAAC;IAEF,OAAO,qBAAqB,CAC1B,SAAS,OAAO,CAAC,MAAM,iDAAiD,MAAM,CAAC,KAAK,IAAI,EACxF,MAAM,EACN;QACE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;KAC5D,CACF,CAAC;AACJ,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mcp-garry-codes",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "The Principal Garry's Mod Model Context Protocol (MCP) Server",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"mcp-garry-codes": "./dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"src/test_harness",
|
|
13
|
+
"README.md",
|
|
14
|
+
"LICENSE"
|
|
15
|
+
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc",
|
|
18
|
+
"start": "node dist/index.js",
|
|
19
|
+
"dev": "tsx src/index.ts",
|
|
20
|
+
"typecheck": "tsc --noEmit",
|
|
21
|
+
"test": "vitest run",
|
|
22
|
+
"test:watch": "vitest"
|
|
23
|
+
},
|
|
24
|
+
"keywords": [
|
|
25
|
+
"mcp",
|
|
26
|
+
"model-context-protocol",
|
|
27
|
+
"garrysmod",
|
|
28
|
+
"gmod",
|
|
29
|
+
"glua",
|
|
30
|
+
"facepunch",
|
|
31
|
+
"source-engine",
|
|
32
|
+
"linter",
|
|
33
|
+
"security-audit"
|
|
34
|
+
],
|
|
35
|
+
"author": "M A R W A N",
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "https://github.com/MarwanDevSpace/mcp-garry-codes.git"
|
|
40
|
+
},
|
|
41
|
+
"homepage": "https://github.com/MarwanDevSpace/mcp-garry-codes#readme",
|
|
42
|
+
"bugs": {
|
|
43
|
+
"url": "https://github.com/MarwanDevSpace/mcp-garry-codes/issues"
|
|
44
|
+
},
|
|
45
|
+
"dependencies": {
|
|
46
|
+
"@modelcontextprotocol/sdk": "^1.6.1",
|
|
47
|
+
"zod": "^3.24.1"
|
|
48
|
+
},
|
|
49
|
+
"devDependencies": {
|
|
50
|
+
"@types/node": "^22.13.0",
|
|
51
|
+
"tsx": "^4.19.2",
|
|
52
|
+
"typescript": "^5.7.3",
|
|
53
|
+
"vitest": "^3.0.4"
|
|
54
|
+
},
|
|
55
|
+
"engines": {
|
|
56
|
+
"node": ">=18.0.0"
|
|
57
|
+
}
|
|
58
|
+
}
|