merge - #1
Merged
Merged
Conversation
Bumps [actions/cache](https://github.com/actions/cache) from 5 to 6. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@v5...v6) --- updated-dependencies: - dependency-name: actions/cache dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps node from `a2dc166` to `e88a35b`. --- updated-dependencies: - dependency-name: node dependency-version: 26-alpine dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Move Octicon base64 encoding to the generation script and embed the generated lookup manifest for zero-allocation reads. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5557f448-5cc1-46ce-b5ad-36f9e2e224e0
Adopt the pre.3 protocol correctness fixes without changing server wiring or MCP tool schemas. Update exact SDK license references for all release platforms. Copilot-Session: f399f533-3d1f-4c76-872b-f9813729a61f Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Bumps distroless/base-debian12 from `9c05cfd` to `348dac1`. --- updated-dependencies: - dependency-name: distroless/base-debian12 dependency-version: 348dac1808083ccc3366399d6db835875b4eaf7c9b694783f5a3f353c4b58a28 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1a67631b-dc18-448a-8be5-81110bfd543a Co-authored-by: Ross Tarrant <rosstarrant@github.com>
* Add opt-in intent-aware Copilot issue assignment tool Add `assign_copilot_to_issue_with_intent` in a new non-default toolset `copilot_issue_intents`. The tool uses GraphQL's object-form `assignees: [AssigneeUpdateInput!]` so intent metadata (rationale, confidence, is_suggestion) is attached to the Copilot entry only, while existing assignees are preserved. - Reuses the existing Copilot actor lookup, target-repository resolution, base_ref, custom_instructions, GraphQL-Features header, and direct-assignment PR polling behavior. - `is_suggestion: true` records a pending Copilot assignment intent, returns a suggestion-shaped result, and does not launch Copilot or poll for a linked PR. - `rationale` is capped at 280 characters (schema + runtime); `confidence` is validated against `LOW`/`MEDIUM`/`HIGH`. - Toolset is non-default so its inputs do not add schema bloat to the default tool surface; available via `copilot_issue_intents`, `all`, or explicit tool selection. Includes unit tests for direct assignment (with existing assignees and with base_ref/custom_instructions), the suggestion path, invalid rationale length, invalid confidence, and Copilot-not-available; a generated toolsnap; regenerated docs; and an e2e test for the suggestion path. Refs: github/plan-track-agentic-toolkit#683 * Address review: tighten description, require intent fields Per review feedback on #2909: - Trim the tool description to mirror assign_copilot_to_issue and add "Prefer this tool over assign_copilot_to_issue when available", removing the verbose is_suggestion narrative from the schema. - Make rationale, confidence, and is_suggestion required inputs (schema and runtime). is_suggestion is now always sent explicitly on the Copilot AssigneeUpdateInput entry. - Update unit tests to supply the newly-required fields and cover the missing-rationale and missing-confidence rejection paths. - Regenerate toolsnap and README. * Address review: dedupe copilot, require is_suggestion, update doc link Per @RossTarrant review feedback on #2909: - Reject requests where `is_suggestion` is omitted from the raw args before decoding. `mapstructure.WeakDecode` defaults missing bools to false, which would silently launch Copilot instead of recording a suggestion. Presence-check the raw map so callers make the choice explicit. - Skip the copilot-swe-agent actor when copying existing assignees so we don't send its actorId twice (once without metadata and once with intent metadata) when Copilot is already assigned. - Update the stale about-assigning-tasks-to-copilot reference to the redirect target (about-cloud-agent). Applied to the const message, both tool descriptions, and the e2e/unit-test literals that assert on that message. New unit tests cover the missing-is_suggestion rejection and the copilot-dedup behavior. Regenerated toolsnaps.
Split out of #2903 as a small prerequisite refactor. - Add a NodeID field to ResolvedField, populated for all three field variants in listAllProjectFields. - Refactor resolveProjectItemIDByIssueNumber into a thin wrapper over a new resolveProjectItemByIssueNumber that also returns the item node ID, delegating to resolveProjectItemByIssueNumberWithProjectID for an already-resolved project ID. The projectItems query now selects the item node ID alongside its full database ID. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 89f897b0-115f-4435-a071-46fb6c49be86
…rename item resolver test - Assert field.NodeID in Test_ResolveProjectFieldByName_Success. - Add Test_ResolveProjectFieldByName_NodeIDsForAllVariants covering single-select, iteration, and generic fields (asserts NodeID + DataType). - Rename Test_ResolveProjectItemIDByIssueNumber_Success to Test_ResolveProjectItemByIssueNumber_Success to match the resolver it calls. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 89f897b0-115f-4435-a071-46fb6c49be86
* Extract aliased project mutation primitive Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: d7dc302d-e6f2-41e9-a2c8-ed598de47067 * Test partial GraphQL mutation data Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4d3df48a-5aa0-4cf0-a067-4aa5618c2887 --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* build: require Go 1.25.12 Ensure setup-go and GoReleaser use the patched Go toolchain for release binaries. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0b2aa497-b47d-464a-b132-af0dcaf2b621 * build(ui): update fast-uri to 3.1.4 Resolve the high-severity host-confusion advisories reported by npm audit. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0b2aa497-b47d-464a-b132-af0dcaf2b621 --------- Co-authored-by: Ross Tarrant <rosstarrant@github.com>
Add non-interactive GitHub App installation authentication to the stdio server, so headless deployments (CI, Kubernetes, background agents) can authenticate without a browser, device code, or elicitation. This is the outstanding follow-up tracked in #1333: OAuth login shipped the interactive user-to-server flows, but PEM-based server-to-server auth was still needed to remove the interactive requirement. The new internal/githubapp package signs a short-lived RS256 JWT with the app's private key, exchanges it for an installation access token, and refreshes it transparently before expiry. It exposes a Provider whose AccessToken method mirrors oauth.Manager so it plugs into the existing BearerAuthTransport token provider. Only the standard library and golang.org/x/oauth2 are used. The private key is injected safely: a file path (GITHUB_APP_PRIVATE_KEY_PATH, preferred — mountable as a secret and kept off argv and out of the environment) or an inline GITHUB_APP_PRIVATE_KEY env var. There is intentionally no flag for the key contents, which would otherwise leak via the process command line. App auth is mutually exclusive with a PAT and with OAuth login. A loud startup warning and a dedicated docs page (docs/github-app-auth.md, with Docker and Kubernetes examples) cover the security considerations: this injects a high-privilege credential alongside the agent and is not recommended without an independent security review. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep PEM loading and installation-token provider construction at the CLI leaf, then pass a generic refreshing token provider through the existing HTTP transports. Rebase the feature onto current main and keep the HTTP command unchanged. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 646357dd-c89f-4973-9a5c-e6c5fc18818c
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 6 to 7. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](actions/setup-go@v6...v7) --- updated-dependencies: - dependency-name: actions/setup-go dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6 to 7. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](actions/setup-node@v6...v7) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.35.0 to 0.36.0. - [Commits](golang/oauth2@v0.35.0...v0.36.0) --- updated-dependencies: - dependency-name: golang.org/x/oauth2 dependency-version: 0.36.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Auto-generated by license-check workflow
Allow clients to keep MCP App views enabled while making form-backed write tools execute directly when explicitly configured. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…dates Bumps the npm_and_yarn group with 2 updates in the /ui directory: [body-parser](https://github.com/expressjs/body-parser) and [hono](https://github.com/honojs/hono). Updates `body-parser` from 2.2.2 to 2.3.0 - [Release notes](https://github.com/expressjs/body-parser/releases) - [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md) - [Commits](expressjs/body-parser@v2.2.2...v2.3.0) Updates `hono` from 4.12.26 to 4.12.31 - [Release notes](https://github.com/honojs/hono/releases) - [Commits](honojs/hono@v4.12.26...v4.12.31) --- updated-dependencies: - dependency-name: body-parser dependency-version: 2.3.0 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: hono dependency-version: 4.12.31 dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <support@github.com>
* Bump go-github for search_type support * chore: regenerate license files Auto-generated by license-check workflow --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Promote fields parameter beyond Insiders Keep fields_param as an independently controlled feature flag while removing it from the Insiders expansion. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Make fields parameter available by default Remove the fields_param feature flag and legacy tool variants so selected read tools always advertise and honor fields. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5c43cc70-27b5-47b4-bbd1-99d20f42d61b --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5c43cc70-27b5-47b4-bbd1-99d20f42d61b
* Implement batch project write engine Resolve and validate shared field updates and item references before executing ordered, chunked GraphQL writes with explicit ambiguous outcomes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 * Expose update_project_items Add the public projects_write contract, routing, handler coverage, and generated documentation for shared field updates across batches of up to 50 items. Co-authored-by: Lizeth Vera <47796851+veralizeth@users.noreply.github.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 * Classify batch resolution failures Use a neutral code for non-structured lookup failures while preserving structured resolution details. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 * Resolve issue references concurrently Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 Copilot-Session: 5709a470-df75-43ec-9a9c-98868e6065d2 --------- Co-authored-by: Bryan Zwicker <zwick@github.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 Copilot-Session: 5709a470-df75-43ec-9a9c-98868e6065d2
Move from the v1.7.0-pre.3 pre-release to the final v1.7.0 release, which consolidates the pre-releases with no further changes. Regenerate the third-party license files to reflect the new version tag. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 95b8432c-f280-472e-a242-d3ca6dc31f19
The server exposes a static set of tools, prompts, and resources and never mutates them at runtime, so it never emits list_changed notifications. When capabilities are left unset, the go-sdk infers listChanged:true from the presence of items and advertises tools/prompts/resources list-change support we don't actually provide - and the 2026-07-28 spec (subscriptions/listen) tightens expectations around this. Declare empty tools/prompts/resources capabilities in NewMCPServer so both the stdio and remote servers advertise honestly. The remote HTTP handler already set these explicitly; that duplication is now removed in favour of the shared default, leaving only the remote-specific schema cache. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 95b8432c-f280-472e-a242-d3ca6dc31f19
Add a regression test locking in the capability contract set by NewMCPServer: tools, prompts, and resources are advertised without list-changed notifications, the deprecated logging capability is not advertised, and the inferred completions capability is preserved. Covers both the stdio path (full inventory, items present) and the HTTP path (inventory emptied for the discovery request), which share the same NewMCPServer entry point. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 95b8432c-f280-472e-a242-d3ca6dc31f19
The content parameter is passed to the API as plain text and the server base64-encodes it, but the description said only "Content of the file". The REST endpoint this wraps documents its own content field as base64, so a model reading the tool description has a strong reason to encode the content itself. When it does, the server encodes again and the file is committed containing base64 text. Every layer reports success. Describe the value by how it should end up on disk rather than by what not to do, so a file whose contents are legitimately base64 is still unambiguous, and name the encoding step so the conflict with the REST API docs is resolved rather than merely overridden.
dariandawnblixtleo-hue
left a comment
Collaborator
Author
There was a problem hiding this comment.
merge
* Return closing pull requests from issue_read Answering "is there a PR that closes this issue?" previously required listing pull requests and grepping their bodies for closing keywords, which is expensive and unreliable. GraphQL already exposes Issue.closedByPullRequestsReferences. Add it to the existing issue_read `get` enrichment query so the answer comes back in the same round-trip as the hierarchy signals, as a compact `closed_by_pull_requests` list. An enriched issue with no closing pull requests serializes an explicit empty list so an agent can stop looking. Lockdown mode filters references whose author cannot be verified as safe content, mirroring the existing parent reference handling. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a0b58914-0d94-47a9-8229-c0ef7e32e69f * Cap embedded closing pull requests and report the total This enrichment runs on every issue_read get, so embedding up to 25 references costs more than the common case is worth. Embed at most 5, keeping orderByState so open pull requests are the ones that survive. Select totalCount alongside the nodes and return the summary as an object of total_count plus references, so the rare issue with more than five linked pull requests cannot be read as a complete list. The common zero-to-two case stays compact and an empty result stays definitive. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a0b58914-0d94-47a9-8229-c0ef7e32e69f --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a0b58914-0d94-47a9-8229-c0ef7e32e69f
* Make search_issues semantic by default * initialize description depending on the host --------- Co-authored-by: Iulia B <iulia-b@github.com> Co-authored-by: Iulia Bejan <64602043+iulia-b@users.noreply.github.com>
* Render union types in generated docs Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ea8faa5c-7f26-4e2d-bf9c-6f0b5f173e8c * Support clearing issue types with issue_write Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ea8faa5c-7f26-4e2d-bf9c-6f0b5f173e8c * Support clearing issue types with granular tool Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ea8faa5c-7f26-4e2d-bf9c-6f0b5f173e8c * Validate duplicate closures before updates Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ea8faa5c-7f26-4e2d-bf9c-6f0b5f173e8c --------- Copilot-Session: ea8faa5c-7f26-4e2d-bf9c-6f0b5f173e8c
…#3020) * Add non-default find_duplicate tool gated by duplicate_detection flag * Trim find_duplicate output to spec fields and relax confidence_threshold bounds * Attach repo-visibility IFC label to find_duplicate results
* Implement batch project write engine Resolve and validate shared field updates and item references before executing ordered, chunked GraphQL writes with explicit ambiguous outcomes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 * Expose update_project_items Add the public projects_write contract, routing, handler coverage, and generated documentation for shared field updates across batches of up to 50 items. Co-authored-by: Lizeth Vera <47796851+veralizeth@users.noreply.github.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 * Classify batch resolution failures Use a neutral code for non-structured lookup failures while preserving structured resolution details. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 * Resolve issue references concurrently Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 Copilot-Session: 5709a470-df75-43ec-9a9c-98868e6065d2 * Add singular Issue Field project updates Support name-based attached Issue Field updates for singular Project items while preserving existing read and standard field behavior. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4c94f3ce-c04a-482f-830b-ab85abc3f6e4 * Preserve iteration project field updates Bypass Issue Field metadata resolution for standard field data types and recognize exact missing fragment-type schema errors. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4c94f3ce-c04a-482f-830b-ab85abc3f6e4 * Adding GraphQL-Features: update_issue_suggestions --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Lizeth Vera <47796851+veralizeth@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 Copilot-Session: 5709a470-df75-43ec-9a9c-98868e6065d2 Copilot-Session: 4c94f3ce-c04a-482f-830b-ab85abc3f6e4
* Order list_label results by issue count (descending)
Sends orderBy: {field: ISSUE_COUNT, direction: DESC} on the GraphQL
labels query so the most-used labels (by issue count) are returned
first. ISSUE_COUNT is accepted by the GitHub GraphQL API but is not
part of the public schema docs or the githubv4 client library's
LabelOrderField constants, so it is defined locally.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* regen docs
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This broad merge updates authentication, issue/search/project tooling, MCP behavior, generated schemas, dependencies, documentation, and CI.
Changes:
- Adds GitHub App authentication and host-aware semantic issue search.
- Expands issue, duplicate-detection, Copilot-intent, and project batch workflows.
- Promotes field filtering, updates MCP capabilities, dependencies, icons, docs, and CI.
Show a summary per file
| File | Description |
|---|---|
ui/src/apps/issue-write/App.tsx |
Supports explicit issue-type removal. |
ui/package-lock.json |
Updates UI transitive dependencies. |
third-party-licenses.windows.md |
Refreshes Windows dependency licenses. |
third-party-licenses.linux.md |
Refreshes Linux dependency licenses. |
third-party-licenses.darwin.md |
Refreshes macOS dependency licenses. |
script/fetch-icons |
Generates embedded icon data URIs. |
pkg/utils/api.go |
Adds GitHub host classification. |
pkg/octicons/octicons.go |
Loads pre-encoded embedded icons. |
pkg/octicons/octicons_test.go |
Verifies encoded icons against PNGs. |
pkg/octicons/octicons_benchmark_test.go |
Benchmarks icon retrieval. |
pkg/http/transport/bearer.go |
Generalizes token-provider documentation. |
pkg/http/server.go |
Builds host-aware tool inventories. |
pkg/http/server_test.go |
Tests host and feature handling. |
pkg/http/handler.go |
Applies host configuration and capabilities. |
pkg/http/handler_test.go |
Tests host-specific static inventory. |
pkg/github/ui_capability.go |
Adds form-deferral opt-out. |
pkg/github/ui_capability_test.go |
Tests form-deferral flags. |
pkg/github/tools.go |
Updates tool registration and options. |
pkg/github/server.go |
Explicitly advertises MCP capabilities. |
pkg/github/server_test.go |
Tests advertised capabilities. |
pkg/github/search.go |
Makes search fields generally available. |
pkg/github/search_utils.go |
Adds semantic search preparation. |
pkg/github/search_test.go |
Updates search field tests. |
pkg/github/search_semantic_test.go |
Tests semantic query behavior. |
pkg/github/repositories.go |
Promotes field filtering and clarifies content input. |
pkg/github/repositories_test.go |
Updates repository tool snapshots. |
pkg/github/projects_batch_mutation.go |
Implements aliased batch mutations. |
pkg/github/params.go |
Adds nullable string parsing. |
pkg/github/params_test.go |
Tests nullable parameter states. |
pkg/github/minimal_types.go |
Adds closing-PR issue metadata. |
pkg/github/lockdown.go |
Centralizes author lockdown checks. |
pkg/github/lockdown_test.go |
Tests lockdown failure behavior. |
pkg/github/labels.go |
Orders labels and marks destructive writes. |
pkg/github/labels_test.go |
Tests label ordering and annotations. |
pkg/github/issues_granular.go |
Updates issue request APIs and nullable types. |
pkg/github/issues_delete_test.go |
Uses the updated issue request type. |
pkg/github/inventory.go |
Passes tool configuration options. |
pkg/github/find_duplicate.go |
Adds duplicate-candidate search. |
pkg/github/fields_param_gating_test.go |
Removes obsolete feature-gating tests. |
pkg/github/fields_filtering_test.go |
Removes legacy variant tests. |
pkg/github/feature_flags.go |
Updates available feature flags. |
pkg/github/feature_flags_test.go |
Tests revised feature resolution. |
pkg/github/__toolsnaps__/update_issue_type.snap |
Records nullable issue types. |
pkg/github/__toolsnaps__/search_pull_requests.snap |
Records permanent field filtering. |
pkg/github/__toolsnaps__/search_pull_requests_ff_fields_param.snap |
Removes obsolete gated snapshot. |
pkg/github/__toolsnaps__/search_issues.snap |
Records semantic search schema. |
pkg/github/__toolsnaps__/search_issues_ff_fields_param.snap |
Removes obsolete gated snapshot. |
pkg/github/__toolsnaps__/search_code.snap |
Records field selection. |
pkg/github/__toolsnaps__/search_code_ff_fields_param.snap |
Removes obsolete gated snapshot. |
pkg/github/__toolsnaps__/projects_write.snap |
Records batch project updates. |
pkg/github/__toolsnaps__/list_releases.snap |
Records field selection. |
pkg/github/__toolsnaps__/list_releases_ff_fields_param.snap |
Removes obsolete gated snapshot. |
pkg/github/__toolsnaps__/list_pull_requests.snap |
Records field selection. |
pkg/github/__toolsnaps__/list_pull_requests_ff_fields_param.snap |
Removes obsolete gated snapshot. |
pkg/github/__toolsnaps__/list_label.snap |
Documents label ordering. |
pkg/github/__toolsnaps__/list_issues.snap |
Records field selection. |
pkg/github/__toolsnaps__/list_issues_ff_fields_param.snap |
Removes obsolete gated snapshot. |
pkg/github/__toolsnaps__/list_commits.snap |
Records field selection. |
pkg/github/__toolsnaps__/list_commits_ff_fields_param.snap |
Removes obsolete gated snapshot. |
pkg/github/__toolsnaps__/label_write.snap |
Records destructive annotation. |
pkg/github/__toolsnaps__/issue_write.snap |
Records nullable issue type behavior. |
pkg/github/__toolsnaps__/issue_read.snap |
Documents closing pull requests. |
pkg/github/__toolsnaps__/get_file_contents.snap |
Records field selection. |
pkg/github/__toolsnaps__/get_file_contents_ff_fields_param.snap |
Removes obsolete gated snapshot. |
pkg/github/__toolsnaps__/find_duplicate_ff_duplicate_detection.snap |
Defines duplicate-search schema. |
pkg/github/__toolsnaps__/create_or_update_file.snap |
Clarifies file content encoding. |
pkg/github/__toolsnaps__/assign_copilot_to_issue.snap |
Updates Copilot documentation URL. |
pkg/github/__toolsnaps__/assign_copilot_to_issue_with_intent.snap |
Defines intent-aware assignment schema. |
internal/githubapp/githubapp.go |
Implements installation token authentication. |
internal/githubapp/githubapp_test.go |
Tests GitHub App authentication. |
internal/ghmcp/server.go |
Wires host and token providers. |
internal/ghmcp/oauth_test.go |
Tests authentication-mode exclusivity. |
go.sum |
Updates dependency checksums. |
go.mod |
Updates Go and dependencies. |
e2e/e2e_test.go |
Adds intent-aware Copilot E2E coverage. |
docs/server-configuration.md |
Documents form-deferral configuration. |
docs/remote-server.md |
Documents the intent toolset. |
docs/oauth-login.md |
Links GitHub App authentication. |
docs/insiders-features.md |
Refreshes generated feature documentation. |
docs/github-app-auth.md |
Documents GitHub App authentication. |
docs/feature-flags.md |
Refreshes feature-flag documentation. |
Dockerfile |
Updates build and runtime images. |
cmd/github-mcp-server/main.go |
Adds GitHub App CLI configuration. |
cmd/github-mcp-server/main_test.go |
Tests key loading and schema formatting. |
cmd/github-mcp-server/generate_docs.go |
Supports union schema types in docs. |
.github/workflows/registry-releaser.yml |
Updates setup-go. |
.github/workflows/mcp-diff.yml |
Updates setup-go. |
.github/workflows/lint.yml |
Updates setup-go. |
.github/workflows/license-check.yml |
Updates setup-go. |
.github/workflows/goreleaser.yml |
Updates setup-go. |
.github/workflows/go.yml |
Updates setup-go. |
.github/workflows/docs-check.yml |
Updates setup-go. |
.github/workflows/docker-publish.yml |
Updates cache action. |
.github/workflows/code-scanning.yml |
Updates setup actions. |
.github/actions/build-ui/action.yml |
Builds UI with Node.js 22. |
Review details
Tip
Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Files not reviewed (1)
- ui/package-lock.json: Generated file
- Files reviewed: 110/112 changed files
- Comments generated: 3
- Review effort level: Balanced
Comment on lines
+808
to
810
| if (issueTypeName && toolInput?.type === undefined && !prefillApplied.current.type) { | ||
| setSelectedIssueType({ id: issueTypeName, text: issueTypeName }); | ||
| prefillApplied.current.type = true; |
Comment on lines
+154
to
+159
| candidates = append(candidates, duplicateCandidate{ | ||
| Issue: MinimalIssueRef{ | ||
| Number: res.Issue.Number, | ||
| Title: res.Issue.Title, | ||
| State: res.Issue.State, | ||
| URL: res.Issue.HTMLURL, |
| candidates = append(candidates, duplicateCandidate{ | ||
| Issue: MinimalIssueRef{ | ||
| Number: res.Issue.Number, | ||
| Title: res.Issue.Title, |
Collaborator
Author
|
@copilot Fix the code for all comments in this review thread. When a review comment includes a suggested change, apply the suggestion exactly. Do not make changes beyond what is described in the linked review thread. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Why
Fixes #
What changed
MCP impact
Prompts tested (tool changes only)
Security / limits
Tool renaming
deprecated_tool_aliases.goNote: if you're renaming tools, you must add the tool aliases. For more information on how to do so, please refer to the official docs.
Lint & tests
./script/lint./script/testDocs