Use shell completers to suggest valid values to agents

Ouverte
#1,895 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

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
43/100
Type d'issue
Fonctionnalité
Clarté
Clairement spécifiée
Activité
Active
Stack technique
typescript

Piste de recherche

Start with lib/complete.ts and read the linked cli-first-mcp design and tasks, especially tasks 5.1 and 5.2; inspect the per-command tool validation and existing shell completion tests. Trace how completions use the SQLite cache and live API before adding ranked candidates to validation errors and static choices to generated schemas. Done when the shell completion tests pass unchanged and the specified validation tests cover slugs, issue IDs, dataset fields and aggregates, and query keys and values.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

CLI enhancement MCP

Part of #1357. Plan: cli-first-mcp tasks 5.1 and 5.2 (design, tasks). Depends on #1890.

Why

Agents get slugs, IDs, fields, and query keys wrong. The shell completion system already knows valid values. With no search_sentry tool to host a complete mode, completions reach agents through the per-command tools themselves.

Scope

  • Split the completers in lib/complete.ts into completers over a data source: the SQLite cache with a live API fallback on stdio, the live API uncached on hosted.
  • When a per-command tool gets an invalid or unknown value (org/project slug, issue ID, dataset field or aggregate, query key or value), return the error with ranked candidates and their descriptions so the agent can retry.
  • Put static choices (enum-like flag values) into the tool schema as examples at catalog generation time.

Done when

  • Shell completion tests pass unchanged.
  • Tests for slugs, issue IDs, dataset fields and aggregates, and query keys and values in validation errors.

via @BYK.

--

View Session in Sentry

Langage dominant
TypeScript
Étoiles
961
Forks
179
Merge moyen
15 h 33 min
PR mergées (30 j)
476

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de getsentry/toolkit

Toutes les issues de getsentry/toolkit

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.