You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add classical code generation workflow for typed event and RPC classes
Introduces a TypeScript-based code generator (scripts/codegen/java.ts) that reads
api.schema.json and session-events.schema.json to produce:
- Typed session event classes (sealed hierarchy under AbstractSessionEvent)
- Typed RPC wrapper classes (ServerRpc, SessionRpc) for JSON-RPC methods
- Jackson-annotated records with @JsonCreator, @JsonProperty, @JsonInclude
Migrates the hand-written events package to auto-generated types, wires the
generated RPC wrappers into CopilotClient and CopilotSession, and adds
comprehensive tests including E2E coverage.
Also includes: Windows CLI path resolution fixes, shared TestUtil extraction,
lazy getRpc() initialization, race condition fix in SessionEventsE2ETest, and
a guard preventing agentic sync from modifying src/generated/java/ files.
Copy file name to clipboardExpand all lines: .github/prompts/agentic-merge-reference-impl.prompt.md
+44-1Lines changed: 44 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,43 @@
2
2
3
3
You are an expert Java developer tasked with porting changes from the reference implementation of the Copilot SDK (primarily the .NET implementation) to this Java SDK.
4
4
5
+
## ❌❌❌ ABSOLUTE PROHIBITION: DO NOT TOUCH GENERATED CODE ❌❌❌
6
+
7
+
> ### 🚫 THE FILES UNDER `src/generated/java/` ARE FORBIDDEN 🚫
8
+
>
9
+
> **NEVER, UNDER ANY CIRCUMSTANCES, MODIFY ANY FILE IN `src/generated/java/`.**
10
+
>
11
+
> These files are AUTO-GENERATED by `scripts/codegen/java.ts` and MUST NOT be hand-edited.
12
+
> They are regenerated automatically when the `@github/copilot` npm package version is updated.
13
+
>
14
+
> ❌ DO NOT edit `src/generated/java/**/*.java`
15
+
> ❌ DO NOT create new files in `src/generated/java/`
16
+
> ❌ DO NOT delete files from `src/generated/java/`
17
+
> ❌ DO NOT "fix" or "improve" generated code — it will be overwritten
18
+
>
19
+
> **IF ANY CHANGE YOU NEED TO MAKE REQUIRES TOUCHING `src/generated/java/`:**
20
+
>
21
+
> 1.**STOP IMMEDIATELY** — do not make the change
22
+
> 2.**FAIL the agentic sync** — do not attempt to work around this restriction
23
+
> 3.**Push an explanatory commit** with a message such as:
0 commit comments