[pull] main from microsoft:main - #1619
Merged
Merged
Conversation
Forward the conversation identifier through extension-contributed model options so Responses endpoints can generate prompt_cache_key.\n\nFixes #332031\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix launch.ps1 to discover Node.js from fnm Add fnm directory fallback to Get-UsableNode so PowerShell launcher can find Node.js installed via fnm when it's not on PATH. Tries PATH first (original behavior), then checks AppData\Local\fnm_multishells for fnm-managed versions. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com> * launch skill: copy the shared-data-dir so Windows stays signed in On Windows the GitHub session is stored at StorageScope.APPLICATION_SHARED rather than APPLICATION - see useSharedStorage and CROSS_APP_SHARED_SECRET_KEYS in src/vs/platform/secrets/common/secrets.ts. That puts the encrypted session blob in <shared-data-dir>/sharedStorage/state.vscdb while the DPAPI-wrapped key stays in <user-data-dir>/Local State. The launcher copied the profile but handed Code OSS a brand-new empty --shared-data-dir, so every Windows launch silently started signed out. Signing in again did not help, because the new session was written to a shared dir that the next launch discarded. macOS and Linux are unaffected: isWindows is false there, so the same token lands inside the copied profile. Seed the run's shared-data-dir from ~/<product.sharedDataFolderName> (overridable with CODE_OSS_DEV_AUTHED_SHARED_DATA_DIR), and teach the auth preflight to probe the shared database as well as globalStorage so its warning is accurate. Also correct SKILL.md, which documented the macOS-only model and recommended a remedy that cannot fix this on Windows. Verified end to end: the launched Agents window authenticates against the real service and completes a chat request without prompting for sign-in. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * launch skill: address review feedback on shared-data seeding - Mirror the VSCODE_PORTABLE branch of IEnvironmentService.appSharedDataHome when resolving the source shared-data-dir, so a session created in portable mode is found instead of silently falling through to the product folder. - Stop claiming a missing shared-data-dir means the launch will prompt for sign-in. ApplicationSharedStorageMain registers application storage as a read fallback, so profiles predating the APPLICATION_SHARED migration authenticate from globalStorage with no shared dir at all. Report the missing directory as a fact and let the combined preflight decide. - Rewrite the SKILL.md callout that read as contradicting the remedy printed directly beneath it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
* Agent Merge: recover from a checks fragment the host refuses Agent Merge could hang indefinitely on a pull request whose checks fragment was refused by GitHub, showing the user nothing at all. When an organization enforces SAML SSO and the signed-in token is not authorized for it, the checks GraphQL query is refused with HTTP 200 and a FORBIDDEN error in the body. `CheckRun.checkSuite` is non-nullable, so the refusal on the GitHub Actions data behind the workflow-name subselection null-propagates and fails the whole fragment rather than that one field. Checks then never load, the gate is permanently indeterminate, and nothing surfaces: - checks never loaded reads as pending, so the fragment held the fast poll cadence and re-requested a permanently refused query roughly once a minute, forever; - indeterminate was the only gate outcome with neither an action nor a budget, so the session stayed resident with nothing to show; - only `authentication` raised an auth requirement, so an `authorization` refusal never prompted the user to re-authorize. Recover the fragment and make the failure legible: - gate the workflow-name subselection and drop it for a repository whose host refuses it, keeping the checks themselves. Only the rollup request is retried, and an expected-check-suites refusal degrades to absent and incomplete, so neither is mistaken for the other; - raise an auth requirement for `authorization` too, naming the organization and calling out SSO when GitHub reports it; - give indeterminate a budget over continuously observed time, so a pull request that can never be read stops instead of idling while a turn or a sleeping host cannot exhaust it; - name the fragment and its error in the indeterminate reason instead of one string shared by five fragments; - back off persistent authorization failures, and stop an errored checks fragment from holding the fast cadence. Partial check data is still never accepted, so a refused fragment continues to fail closed rather than reporting checks it could not read. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Request a credential when the snapshot records a refused fragment Only the first refresh of a subscription reports a failure by throwing, so raising the auth requirement from the evaluation catch missed the case it was meant to cover: every later refusal is recorded on the snapshot and read as an ordinary indeterminate gate, leaving the session waiting on a credential the user was never asked for. Detect a refused gate fragment on the snapshot and request a credential there, once per distinct failure so a persistent refusal does not nag and a failure after recovery can prompt again. Share one path with the throw site, and keep the fragment list with the gate that defines it. Also shorten the comments added with this change to the limits in the coding guidelines. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
(Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…investigation chat: preserve conversation ID for BYOK Responses
* Agent Host: add hung turn lifecycle diagnostics (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Agent Host: address telemetry review feedback (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Agent Host: make debug log export best-effort Skip unavailable supplementary log sources and remove the debug-log byte limit while retaining manifest and entry-count validation.\n\n(Written by Copilot)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ion is in flight (#332080) * agentHost: don't report a session as missing while its catalog migration is in flight * feedback update
* Simplify AgentService composition Narrow internal service dependencies, move runtime collaborators out of AgentService, and replace two-phase initialization with a constructor-complete composition. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Define Agent Host service ownership Give the complete Agent Host service graph one disposable runtime owner and document workbench-style placement rules for bootstrap instances, shared orchestration services, and runtime activation. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Document Agent Host service construction Add the target service-placement model and a tested sealable process-local service collection without enabling the seal in production yet. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Create Agent Host service foundation Build callback, state, configuration, authentication, endpoint, proxy, and request foundations before telemetry and share the synchronous path with AgentService tests. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Register Agent Host bootstrap services Migrate bootstrap-owned core and host services to local descriptors, eagerly resolve them under strict DI, and preserve typed test overrides. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Seal the Agent Host service graph Migrate composition-owned and Copilot-dependent services atomically to local descriptors, resolve the complete graph eagerly, and reject late registrations. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Inject AgentService runtime dependencies Make network diagnostics and edit attribution immutable AgentService dependencies and order test-graph teardown after composition-owned listeners. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Activate Agent Host contributions separately Move changeset and completion registrations into an order-preserving post-graph activation phase with explicit disposable ownership. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Finalize the Agent Host service runtime Resolve runtime services through DI, reduce the runtime facade, harden proxy and disposal invariants, and mark the service construction guide current. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Clarify Agent Host child service scopes Define one primary runtime graph while allowing explicitly owned child instantiation services and scoped service collections when isolation requires them. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Document Agent Host service model debt Separate stable service-graph contracts from accepted callback, worktree, foundation, concrete-type, and test-seam warts with explicit exit conditions. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Focus Agent Host bootstrap documentation Rename the service guide, add maintenance rules, explain eager resolution as migration-risk control, and distinguish one primary graph from valid scoped child graphs. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Type customization worktree binding Expose worktree binding as a narrow customization-enablement capability and remove the composition root's concrete implementation assertion. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Remove AgentService state manager escape hatch Route tests through the composition-owned state manager and fix bootstrap cleanup ordering found during review. Clarify descriptor rules for trailing defaulted parameters. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Dispose partial Agent Host contributions Ensure activation failures clean up registrations created earlier in the contribution phase and cover the failure path with a focused test. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Tighten sealed service resolution Allow a sealed descriptor to be replaced only by an instance of its registered constructor, and reject unrelated implementations before descriptor resolution. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )