feat(sdk): expose curated gateway resource capabilities
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 52/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- go, python, rust, typescript
- Ambito
- api, backend-api-design, documentation, testing
Direzione di ricerca
Inizia dalla superficie curata del Rust SDK e confrontala con le API gateway degli SDK TypeScript, Python e Go; l’accesso raw è disponibile tramite OpenShellClient::raw_grpc() e openshell_sdk::raw::proto. Verifica come openshell-core rigenera i binding protobuf dall’albero proto/. Il lavoro è completo quando sono disponibili informazioni sulle capacità equivalenti, test per i campi valorizzati e assenti e la documentazione della semantica statica e del fallback raw-protobuf.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
User Story
As an OpenShell SDK user, I want a curated gateway-capabilities API so that I can determine which portable CPU, memory, and GPU requests a gateway’s compute drivers support without depending on generated protobuf types.
Problem Statement
Issue #2902 adds static resource capability fields to the compute-driver and gateway protobuf APIs. Rust callers can already access them through OpenShellClient::raw_grpc() and openshell_sdk::raw::proto, but the curated SDK surface has no typed gateway-info method or capability models.
Impact / Why This Matters
Consumers that need an idiomatic SDK API must currently use generated wire types and direct gRPC calls. That is workable but makes application code depend on protobuf details and produces inconsistent ergonomics across SDKs.
Proposed Design
Expose gateway information and per-driver resource capabilities through each curated SDK surface. Preserve absence when a driver does not report capabilities, and document that capability flags describe static implementation support rather than live inventory or available capacity.
Acceptance Criteria
- The Rust SDK exposes a curated gateway-info method and types for CPU, memory, and GPU resource capabilities.
- The TypeScript, Python, and Go SDKs expose equivalent capability information where they provide curated gateway APIs.
- SDK tests cover populated capability fields and unreported capabilities.
- SDK documentation explains the static semantics and raw-protobuf fallback.
Alternatives Considered
Keep the new fields available only through generated protobuf clients. This preserves wire-level access but leaves users to manage generated types directly and does not provide a consistent SDK-level experience.
Agent Investigation
The Rust SDK re-exports generated protobufs through openshell_sdk::raw::proto; protobuf bindings are regenerated from the full proto/ tree by openshell-core during Rust builds. This follow-up is therefore curated API work rather than a prerequisite for protocol access.
Related to #2902 and draft PR #3010.
- Lingua principale
- Rust
- Stelle
- 8.7k
- Fork
- 1.3k
- Merge medio
- 2g 6h
- PR unite (30g)
- 297
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di NVIDIA/OpenShell
-
area:docs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
state:triage-needed
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
area:cli state:validated
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
state:triage-needed
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
area:build spike state:review-ready state:stale
Difficoltà 2/5 Mezza giornata Idoneità per principianti 68/100
Tutte le issue di NVIDIA/OpenShell
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
state:needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
zed-industries/zed#64680 · 2 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
RustPython/RustPython#8802 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
TheLarkInn/aipm#2390 ·