docs: consolidate all docs under docs/ — single source of truth
Move issues (01–29) and PRD from .scratch/distributed-inference-network/ into docs/issues/ and docs/. Update ralph_progress.py DEFAULT_PRD path and rewrite docs/agents/issue-tracker.md to reflect the new layout. The distributed_inference_network.egg-info/docs/ mirror is a build artifact already covered by *.egg-info/ in .gitignore — not committed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
44
docs/issues/10-meshnet-sdk.md
Normal file
44
docs/issues/10-meshnet-sdk.md
Normal file
@@ -0,0 +1,44 @@
|
||||
Status: ready-for-agent
|
||||
|
||||
# 10 — `meshnet` Python SDK
|
||||
|
||||
## What to build
|
||||
|
||||
A Python SDK (`packages/sdk`) that wraps the OpenAI-compatible gateway and exposes network-specific controls that the raw OpenAI SDK cannot express. The SDK is the recommended interface for developers who want more than basic inference.
|
||||
|
||||
The SDK surface:
|
||||
|
||||
```python
|
||||
from meshnet import Client
|
||||
|
||||
client = Client(api_key="...", base_url="https://api.meshnet.ai")
|
||||
|
||||
# Basic inference (identical to OpenAI SDK)
|
||||
response = client.chat.completions.create(model="llama-3-70b", messages=[...])
|
||||
|
||||
# Network-specific features
|
||||
client.wallet.balance() # SOL/USDC balance remaining
|
||||
client.wallet.top_up(amount_sol=1.0) # returns a Solana payment address + QR
|
||||
client.models.available() # list of routable model presets with shard coverage %
|
||||
client.request(redundancy=2) # route through 2 independent chains, return majority
|
||||
client.estimate_cost(model="llama-3-70b", tokens=1000) # cost in SOL before sending
|
||||
```
|
||||
|
||||
The SDK must not require clients to hold or know about our native token. All wallet operations are in SOL or USDC.
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- [ ] `pip install meshnet` installs the SDK
|
||||
- [ ] `Client.chat.completions.create(...)` works identically to the OpenAI SDK (same parameters, same response shape)
|
||||
- [ ] `client.wallet.balance()` returns the current SOL/USDC balance for the API key
|
||||
- [ ] `client.wallet.top_up()` returns a valid Solana payment address
|
||||
- [ ] `client.models.available()` returns model presets with shard coverage percentage
|
||||
- [ ] `client.estimate_cost(model, tokens)` returns a cost estimate in SOL before the request is sent
|
||||
- [ ] `client.request(redundancy=2)` sends the same prompt to two independent inference routes and returns the majority response
|
||||
- [ ] The SDK is typed (py.typed, full type stubs)
|
||||
- [ ] An integration test covers each SDK method against a local gateway + tracker + stub nodes
|
||||
|
||||
## Blocked by
|
||||
|
||||
- `05-openai-compatible-gateway.md`
|
||||
- `06-solana-stake-and-settlement.md`
|
||||
Reference in New Issue
Block a user