docs: replace with current upstream dependencies (portal, API, agent, Modrinth, artifact store)
This commit is contained in:
parent
c297bbcadf
commit
e615d09b68
103
UPSTREAMS.md
103
UPSTREAMS.md
@ -1,39 +1,29 @@
|
|||||||
# Upstreams — zlh-grind
|
# Upstream Dependencies
|
||||||
|
|
||||||
This repository tracks GPT execution work across upstream projects.
|
## Portal
|
||||||
|
- Next.js 15 (App Router)
|
||||||
|
- TypeScript
|
||||||
|
- Axios (API calls)
|
||||||
|
- WebSocket console (`TerminalView` / `ServerConsole`)
|
||||||
|
- Multipart `FormData` upload
|
||||||
|
|
||||||
## Rules
|
## API
|
||||||
- This file is a registry of upstream repos used during execution.
|
- Node.js (ESM)
|
||||||
- Do not duplicate canonical documentation here; link to it.
|
- Express
|
||||||
|
- Raw `http.request` for upload proxy (not `fetch`)
|
||||||
|
- Prisma (DB ORM)
|
||||||
|
- JWT token auth
|
||||||
|
- Redis (agent telemetry cache)
|
||||||
|
|
||||||
---
|
## Agent
|
||||||
|
- Go
|
||||||
## ZeroLagHub Knowledge Base (Canonical)
|
- Runtime root sandboxing (`internal/files`)
|
||||||
- Repo: `https://git.zerolaghub.com/jester/knowledge-base`
|
- Atomic file writes (`os.Rename`)
|
||||||
- Role: Canonical architecture, decisions, procedures, handovers
|
- `.zlh_metadata.json` provenance tracking
|
||||||
|
- Shadow backup system (`.zlh-shadow`)
|
||||||
## zlh-grind (Execution Ledger)
|
- PTY-backed console over WebSocket
|
||||||
- Repo: `https://git.zerolaghub.com/jester/zlh-grind`
|
- Mod management endpoints
|
||||||
- Role: GPT execution notes, session logs, drift prevention
|
- Agent update system (versioned, SHA-verified)
|
||||||
|
|
||||||
## zlh-api / zpack-api (API / Control Plane)
|
|
||||||
- Repo: `https://git.zerolaghub.com/jester/zlh-api`
|
|
||||||
- Role: Control-plane orchestration (instance lifecycle, DB writes, agent coordination)
|
|
||||||
- Notes: Game telemetry routes live under `/api/game/*`. Full mod lifecycle routes added Feb 2026.
|
|
||||||
|
|
||||||
## Portal / Frontend (Next.js)
|
|
||||||
- Repo: `https://git.zerolaghub.com/jester/zlh-portal`
|
|
||||||
- Role: Customer portal (dashboard, console UX, mod management UI)
|
|
||||||
|
|
||||||
## zlh-agent (Go Agent)
|
|
||||||
- Repo: `https://git.zerolaghub.com/jester/zlh-agent`
|
|
||||||
- Role: Agent runtime for provisioning/install/verify/start workflows + console PTY
|
|
||||||
- Notes: Periodic update checks + Phase 1 mod management + process metrics added Feb 2026. Host allowlist includes `cdn.modrinth.com` and `artifacts.zerolaghub.com`.
|
|
||||||
|
|
||||||
## Artifacts (Minecraft zpack tree)
|
|
||||||
- Location (VM filesystem): `/opt/zlh/zpacks/minecraft/`
|
|
||||||
- Role: Local-first artifacts for vanilla/paper/purpur/fabric/forge/**neoforge** installs.
|
|
||||||
- Notes: Phase 1 contract normalizes certain installer filenames for predictable installs.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -41,36 +31,35 @@ This repository tracks GPT execution work across upstream projects.
|
|||||||
|
|
||||||
Used for mod resolution and search.
|
Used for mod resolution and search.
|
||||||
|
|
||||||
**Endpoints used:**
|
- Base: `api.modrinth.com/v2`
|
||||||
- `GET /v2/project/{id}/version` — fetch compatible versions for a mod
|
|
||||||
- `GET /v2/search?facets=` — search mods by loader + game version
|
|
||||||
|
|
||||||
**Host allowlist:**
|
|
||||||
- `cdn.modrinth.com` — artifact downloads (agent-level)
|
|
||||||
- `api.modrinth.com` — API calls (API-level resolver)
|
|
||||||
|
|
||||||
**Constraints:**
|
|
||||||
- Rate limit: 300 req/min
|
- Rate limit: 300 req/min
|
||||||
- Requires `User-Agent` header
|
- Requires `User-Agent` header
|
||||||
- Search is loader + game version filtered
|
|
||||||
- SHA512 provided on all artifacts (SHA1 fallback)
|
|
||||||
- No API key required for public endpoints
|
- No API key required for public endpoints
|
||||||
|
- SHA512 provided on all artifacts (SHA1 fallback)
|
||||||
|
|
||||||
|
Agent host allowlist:
|
||||||
|
- `cdn.modrinth.com` — artifact downloads
|
||||||
|
- `api.modrinth.com` — search/resolve (API-level)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Authentication Ownership
|
## Artifact Store
|
||||||
|
|
||||||
### Portal
|
Location (VM filesystem): `/opt/zlh/zpacks/minecraft/`
|
||||||
- Owns identity UX (login, logout, session handling)
|
|
||||||
- Stores JWT token
|
|
||||||
- Attaches Authorization header to API calls
|
|
||||||
|
|
||||||
### APIv2
|
Loader coverage:
|
||||||
- Validates credentials
|
- Vanilla, Paper, Purpur, Forge, Quilt, NeoForge
|
||||||
- Issues JWT tokens
|
|
||||||
- Verifies tokens for protected routes
|
|
||||||
- Persists user records
|
|
||||||
|
|
||||||
### Explicit Non-Responsibilities
|
No external reverse proxy required for internal upload path.
|
||||||
- API does not manage frontend sessions
|
|
||||||
- Portal does not validate credentials directly
|
---
|
||||||
|
|
||||||
|
## Repo Registry
|
||||||
|
|
||||||
|
| Repo | Role |
|
||||||
|
|------|------|
|
||||||
|
| `zlh-grind` | Architecture alignment, session logs, constraints, open threads |
|
||||||
|
| `zlh-api` | Control plane (Node + Express) |
|
||||||
|
| `zlh-portal` | Frontend (Next.js) |
|
||||||
|
| `zlh-agent` | Go runtime inside containers |
|
||||||
|
| `knowledge-base` | Canonical architecture docs |
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user