Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: github/copilot-sdk-java
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: db56504
Choose a base ref
...
head repository: github/copilot-sdk-java
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: e4dc6e5
Choose a head ref
  • 9 commits
  • 324 files changed
  • 3 contributors

Commits on Apr 12, 2026

  1. Initial plan

    Copilot authored Apr 12, 2026
    Configuration menu
    Copy the full SHA
    6561490 View commit details
    Browse the repository at this point in the history
  2. Add Java code generation from JSON schemas

    - Add scripts/codegen/java.ts - Java code generator from session-events and api schemas
    - Add scripts/codegen/package.json with @github/copilot dependency
    - Add scripts/codegen/package-lock.json
    - Generate src/generated/java/com/github/copilot/sdk/generated/ - 76 session event files
    - Generate src/generated/java/com/github/copilot/sdk/generated/rpc/ - 111 RPC type files
    - Update pom.xml: add build-helper-maven-plugin, exclude generated from Spotless
    - Update config/checkstyle/checkstyle.xml: exclude generated packages
    - Update .gitattributes: mark src/generated/java/** as generated
    - Add .github/workflows/codegen-check.yml - CI check workflow
    - Add .github/workflows/update-copilot-dependency.yml - update workflow
    - Update docs/WORKFLOWS.md with new workflow documentation
    - Update .gitignore to exclude scripts/codegen/node_modules/"
    
    Agent-Logs-Url: https://github.com/github/copilot-sdk-java/sessions/aee4deda-40d4-4ecd-a831-2af9cb9461e7
    
    Co-authored-by: edburns <75821+edburns@users.noreply.github.com>
    Copilot and edburns authored Apr 12, 2026
    Configuration menu
    Copy the full SHA
    3ef1b22 View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2026

  1. Configuration menu
    Copy the full SHA
    6e3c50c View commit details
    Browse the repository at this point in the history
  2. Improve Java code generator: sealed hierarchy, records, Long for inte…

    …ger, @JsonCreator
    
    Agent-Logs-Url: https://github.com/github/copilot-sdk-java/sessions/c76bbc9a-e73e-40cc-8dd4-7ecd223c16cd
    
    Co-authored-by: edburns <75821+edburns@users.noreply.github.com>
    Copilot and edburns authored Apr 13, 2026
    Configuration menu
    Copy the full SHA
    75e5dba View commit details
    Browse the repository at this point in the history

Commits on Apr 14, 2026

  1. Add @JsonInclude(NON_NULL) to all generated event classes and warn on…

    … Object fallbacks
    
    The code generator (scripts/codegen/java.ts) had two gaps identified
    during report-card grading against the Epic #69 rubric:
    
    1. Silent Object fallbacks: When schemaTypeToJava() fell back to
       List<Object> (untyped array) or Map<String, Object> (untyped object
       without properties or additionalProperties), it did so silently.
       Added console.warn() at both sites so type erasure is visible during
       generation, matching the existing warnings for anyOf and unrecognized
       schema patterns.
    
    2. Missing @JsonInclude(NON_NULL) on outer event classes: The annotation
       was present on inner data records and RPC records but missing from
       the SessionEvent sealed base class and all outer event variant
       classes (e.g., AssistantMessageEvent, ToolExecutionStartEvent). Added
       the import and annotation to generateSessionEventBaseClass() and
       generateEventVariantClass().
    
    After regenerating, all 75 session event files and 111 RPC type files
    were updated. mvn verify passes with 556 tests, 0 failures, 0 errors.
    edburns committed Apr 14, 2026
    Configuration menu
    Copy the full SHA
    e9c0bf7 View commit details
    Browse the repository at this point in the history
  2. Migrate events package to auto-generated SessionEvent types

    Replace hand-written com.github.copilot.sdk.events package with
    auto-generated com.github.copilot.sdk.generated types.
    
    - Replace AbstractSessionEvent with SessionEvent from generated package
    - Replace SessionEventParser with Jackson native polymorphic deserialization
    - Update all main source and test files to use generated types
    - Adapt ForwardCompatibilityTest to remove getOriginalType() tests
    - Update type assertions for renamed data records (FooData -> FooEventData)
    - Fix enum type comparisons in tests (elicitation mode, shutdown type, etc.)
    - Update site documentation to reference generated package
    - Delete old events package
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    Co-authored-by: edburns <75821+edburns@users.noreply.github.com>
    Copilot and edburns authored Apr 14, 2026
    Configuration menu
    Copy the full SHA
    da9ec9c View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2026

  1. Fix residual old-package references and rename SessionEventParserTest

    The migration commit (da9ec9c) replaced com.github.copilot.sdk.events
    with com.github.copilot.sdk.generated across all src/ files but missed
    four non-source files that still referenced the old package:
    
    1. jbang-example.java — updated imports from events.AssistantMessageEvent
       and events.SessionUsageInfoEvent to generated equivalents.
    
    2. README.md — updated Quick Start imports to use generated package.
    
    3. .github/copilot-instructions.md — updated Package Structure section
       to describe com.github.copilot.sdk.generated instead of the deleted
       com.github.copilot.sdk.events package.
    
    4. config/spotbugs/spotbugs-exclude.xml — changed SpotBugs exclusion
       from com.github.copilot.sdk.events to com.github.copilot.sdk.generated,
       and updated the comment to match.
    
    Also renamed SessionEventParserTest.java to SessionEventDeserializationTest.java
    (class name updated to match) since the test no longer exercises the deleted
    SessionEventParser class — it tests Jackson-native deserialization via
    ObjectMapper.readValue(json, SessionEvent.class).
    
    Build verified: 553 tests, 0 failures, BUILD SUCCESS.
    were updated. mvn verify passes with 556 tests, 0 failures, 0 errors.
    edburns committed Apr 15, 2026
    Configuration menu
    Copy the full SHA
    7e7b283 View commit details
    Browse the repository at this point in the history
  2. Generate typed RPC wrapper classes (ServerRpc, SessionRpc) from api.s…

    …chema.json
    
    Agent-Logs-Url: https://github.com/github/copilot-sdk-java/sessions/73b13ddd-f0ef-46e7-b0a2-ba8cf0926b5c
    
    Co-authored-by: edburns <75821+edburns@users.noreply.github.com>
    Copilot and edburns authored Apr 15, 2026
    Configuration menu
    Copy the full SHA
    6d35942 View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2026

  1. Fix race condition in SessionEventsE2ETest: wait for own listener to …

    …see session.idle
    
    Agent-Logs-Url: https://github.com/github/copilot-sdk-java/sessions/96b1590a-aa30-40ae-83ab-416a58e05e83
    
    Co-authored-by: edburns <75821+edburns@users.noreply.github.com>
    Copilot and edburns authored Apr 16, 2026
    Configuration menu
    Copy the full SHA
    e4dc6e5 View commit details
    Browse the repository at this point in the history
Loading