auth: cut over community machine access to agent keys
This commit is contained in:
@@ -2,55 +2,9 @@
|
||||
|
||||
## Current
|
||||
|
||||
### `feat/community-agent-key-cutover`
|
||||
|
||||
Status: in_progress
|
||||
|
||||
Goal:
|
||||
- довести открытую редакцию до продуктово завершенного машинного доступа через ключ AI-агента.
|
||||
|
||||
Main code areas:
|
||||
- `crates/crank-core/src/agent.rs`
|
||||
- `crates/crank-core/src/auth.rs`
|
||||
- `crates/crank-registry/src/postgres/agent.rs`
|
||||
- `crates/crank-registry/src/postgres/api_key.rs`
|
||||
- `apps/admin-api/src/service.rs`
|
||||
- `apps/admin-api/src/app.rs`
|
||||
- `apps/mcp-server/src/app.rs`
|
||||
- `apps/ui/js/agents.js`
|
||||
- `apps/ui/js/api-keys.js`
|
||||
- `apps/ui/html/agents.html`
|
||||
- `apps/ui/html/api-keys.html`
|
||||
- `apps/ui/js/i18n.js`
|
||||
|
||||
Implementation slices:
|
||||
1. Закрыть remaining workspace/platform-key assumptions в `admin-api` и `mcp-server`.
|
||||
2. Нормализовать list/create/revoke/delete flow для agent keys.
|
||||
3. Привести UI страницы `Agents` и `API Keys` к одной модели agent-scoped machine access.
|
||||
4. Явно ограничить `Community` на `security_level = standard`.
|
||||
|
||||
Progress:
|
||||
- done: `mcp-server` принимает ключ только по `(workspace_slug, agent_slug, secret_hash)`;
|
||||
- done: `admin-api` уже отдает и принимает agent-scoped key routes;
|
||||
- done: UI `API Keys` переведен на agent-scoped machine access;
|
||||
- done: removed legacy workspace-key routes, demo/bootstrap assumptions, and per-agent key count bug.
|
||||
|
||||
DoD:
|
||||
- ключ создается и принадлежит конкретному AI-агенту;
|
||||
- UI объясняет назначение ключа без ссылок на старую workspace-key модель;
|
||||
- `mcp-server` принимает Community machine access только по agent key;
|
||||
- Community flow не требует short-lived token service.
|
||||
|
||||
Verification:
|
||||
- backend unit and integration tests for key lifecycle;
|
||||
- MCP tool-call tests through agent endpoint;
|
||||
- e2e smoke for agent key create/reveal/revoke.
|
||||
|
||||
## Next
|
||||
|
||||
### `feat/edition-capability-model`
|
||||
|
||||
Status: ready
|
||||
Status: in_progress
|
||||
|
||||
Goal:
|
||||
- ввести capability model по редакциям и перестать смешивать Community и premium surface.
|
||||
@@ -74,6 +28,11 @@ Implementation slices:
|
||||
3. Привести UI к capability gating вместо скрытых продуктовых допущений.
|
||||
4. Зафиксировать Community defaults в docs и runtime config.
|
||||
|
||||
Progress:
|
||||
- pending: define shared capability payload in `crank-core` and `admin-api`;
|
||||
- pending: expose Community capability defaults to UI;
|
||||
- pending: gate premium protocols and security levels in wizard and agents flows.
|
||||
|
||||
DoD:
|
||||
- UI знает, какие функции входят в текущую редакцию;
|
||||
- Community не показывает рабочие controls для premium-only features;
|
||||
@@ -84,6 +43,8 @@ Verification:
|
||||
- frontend smoke for hidden/locked states;
|
||||
- manual verification on Community build.
|
||||
|
||||
## Next
|
||||
|
||||
### `feat/private-token-service-seam`
|
||||
|
||||
Status: ready
|
||||
|
||||
Reference in New Issue
Block a user