MCPcopy Index your code
hub / github.com/github/copilot-sdk / generateRpcWrappers

Function generateRpcWrappers

java/scripts/codegen/java.ts:2126–2160  ·  view source on GitHub ↗

Main entry point for RPC wrapper generation

(schemaPath: string)

Source from the content-addressed store, hash-verified

2124
2125/** Main entry point for RPC wrapper generation */
2126async function generateRpcWrappers(schemaPath: string): Promise<void> {
2127 console.log("\n🔧 Generating RPC wrapper classes...");
2128
2129 const schemaContent = await fs.readFile(schemaPath, "utf-8");
2130 const schema = normalizeSchemaBrandCasing(JSON.parse(schemaContent)) as {
2131 server?: Record<string, unknown>;
2132 session?: Record<string, unknown>;
2133 clientSession?: Record<string, unknown>;
2134 definitions?: Record<string, JSONSchema7>;
2135 };
2136
2137 // Set module-level definitions for $ref resolution in wrapper helpers
2138 currentDefinitions = (schema.definitions ?? {}) as Record<string, JSONSchema7>;
2139
2140 const packageName = "com.github.copilot.generated.rpc";
2141 const packageDir = `src/generated/java/com/github/copilot/generated/rpc`;
2142
2143 // RpcCaller interface and shared ObjectMapper holder
2144 await generateRpcCallerInterface(packageName, packageDir);
2145 await generateRpcMapperClass(packageName, packageDir);
2146
2147 // Server-side wrappers
2148 if (schema.server) {
2149 const serverTree = buildNamespaceTree(schema.server);
2150 await generateRpcRootFile("server", serverTree, false, packageName, packageDir);
2151 }
2152
2153 // Session-side wrappers
2154 if (schema.session) {
2155 const sessionTree = buildNamespaceTree(schema.session);
2156 await generateRpcRootFile("session", sessionTree, true, packageName, packageDir);
2157 }
2158
2159 console.log(`✅ RPC wrapper classes generated`);
2160}
2161
2162// ── Package-info generation ──────────────────────────────────────────────────
2163

Callers 1

mainFunction · 0.85

Calls 8

generateRpcMapperClassFunction · 0.85
generateRpcRootFileFunction · 0.85
parseMethod · 0.80
buildNamespaceTreeFunction · 0.70
readFileMethod · 0.65
logMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…