Add per-session env overrides for built-in shell tool child processes
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Calme
- Stack technique
- shell, typescript
Piste de recherche
Commencez par retracer la structure wire de ShellOptions et le traitement de session.rpc.options.update décrits dans l’issue. Examinez le comportement de shell et initScripts lors des mises à jour et de la reprise, puis établissez précisément la sémantique du remplacement, de la priorité, de la suppression via null et de la persistance ; le travail est terminé lorsque l’overlay env est représenté et appliqué de manière cohérente aux processus enfants du shell intégré.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Follow up to #1911. The initScripts half of that ask shipped through the runtime in github/copilot-agent-runtime#12710, but the per-session env part was deferred out of that PR.
Context: https://github.com/microsoft/vscode/issues/323164
initScripts covers the Python activation case since the host can materialize a shell-specific activation file and have the runtime source it before each command. An explicit env map is still worth having for hosts that just want to set or unset a few variables without generating script files, and without dealing with per-shell quoting.
Current wire shape:
export interface ShellOptions {
initProfile?: "none" | "non-interactive";
initScripts?: ShellInitScript[];
processFlags?: string[];
}
Add the env map from the original proposal:
export interface ShellOptions {
/** Env applied to built-in shell tool child processes. `null` unsets/removes. */
env?: Record<string, string | null>;
}
The reason this was deferred is that the update semantics should be pinned down before the wire shape ships:
- Whether
session.rpc.options.updatewithshell.envreplaces the whole overlay or merges per key. Replace seems right: it stays idempotent and a host can revert a variable to the inherited value by omitting it. With merge there is no way to un-touch a variable once set. - Precedence: overlay applied to the spawned process env first,
initScriptssourced after, so scripts can override. nullmeaning remove-from-env vs revert-to-inherited.- Whether the overlay persists across resume or the host re-sends it, matching how the rest of
shellbehaves today.
(generated by copilot)
- Langage dominant
- TypeScript
- Étoiles
- 10.6k
- Forks
- 1.5k
- Merge moyen
- 10 h 8 min
- PR mergées (30 j)
- 4
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de github/copilot-sdk
-
Clarify SDK architecture and in-process runtime transportPeut-être pris @KalebCole l’a pris il y a 18 jours. Ouvertedocumentation
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
github/copilot-sdk#2804 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Python ModelLimits drops max_output_tokens from model metadataPeut-être pris @HDMowri l’a pris il y a 19 jours. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
github/copilot-sdk#2798 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
github/copilot-sdk#2793 ·
Les mainteneurs répondent en général sous 1 jour
-
agentic-workflows
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
github/copilot-sdk#2782 ·
Les mainteneurs répondent en général sous 1 jour
-
agentic-workflows
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
github/copilot-sdk#2779 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de github/copilot-sdk
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
jessepollak/home#2223 ·
Les mainteneurs répondent en général sous 1 jour
-
grep fixture corpus test follows the corpus's loop symlink under the receipt runner (fails on main)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
code-yeongyu/senpi#3756 ·
Les mainteneurs répondent en général sous 1 jour
-
org:external package:deepagents priority:triage topic:memory topic:middleware type:bug
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
langchain-ai/deepagents#7059 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
osmlab/name-suggestion-index#12992 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
hemilabs/ui-monorepo#2506 ·
Les mainteneurs répondent en général sous 1 jour