API - CODEX AGENTS: product tool boundary
This commit is contained in:
@@ -26,6 +26,7 @@ All writes go through NODE.DC Agent Gateway, are scoped by agent grants, and are
|
||||
- Internal REST endpoints for agent profile, grant, and token lifecycle.
|
||||
- Opaque agent tokens are generated once and stored only as SHA-256 hashes.
|
||||
- Authenticated agent-session endpoint returns effective grants/scopes for future MCP calls.
|
||||
- Product tool endpoints validate agent token, scopes, and project grants before calling Tasker internal adapter.
|
||||
- MCP and Tasker write execution are documented but not implemented yet.
|
||||
|
||||
## Local development
|
||||
@@ -43,6 +44,7 @@ Useful checks:
|
||||
```bash
|
||||
npm run check
|
||||
npm run build
|
||||
npm run smoke:gateway
|
||||
curl http://127.0.0.1:4100/readyz
|
||||
curl http://127.0.0.1:4100/api/v1/meta/capabilities
|
||||
```
|
||||
@@ -67,3 +69,25 @@ curl http://127.0.0.1:4100/api/v1/agent-session \
|
||||
```
|
||||
|
||||
Do not expose these lifecycle endpoints publicly before the Launcher/internal auth layer is added.
|
||||
|
||||
## Local testing strategy
|
||||
|
||||
No fake Tasker storage is embedded into Agent Gateway.
|
||||
|
||||
Local verification is split into product layers:
|
||||
|
||||
1. `npm run smoke:gateway` verifies real Agent Gateway persistence, bearer token auth, scope checks, grant checks, and the boundary before Tasker calls.
|
||||
2. Full localhost e2e starts after Tasker implements `/api/internal/nodedc/agent/...` adapter. Then the same Gateway tool endpoints call the real local Tasker runtime.
|
||||
3. External-machine testing uses the same token and endpoint shape against staging HTTPS; no extra protocol or fake environment should be introduced.
|
||||
|
||||
Current Tasker internal adapter contract expected by Gateway:
|
||||
|
||||
- `POST /api/internal/nodedc/agent/projects/resolve`
|
||||
- `GET /api/internal/nodedc/agent/projects/:projectId/context`
|
||||
- `GET /api/internal/nodedc/agent/issues?project_id=...`
|
||||
- `POST /api/internal/nodedc/agent/issues`
|
||||
- `PATCH /api/internal/nodedc/agent/issues/:issueId`
|
||||
- `POST /api/internal/nodedc/agent/issues/:issueId/move`
|
||||
- `POST /api/internal/nodedc/agent/issues/:issueId/comments`
|
||||
- `PUT /api/internal/nodedc/agent/issues/:issueId/labels`
|
||||
- `PUT /api/internal/nodedc/agent/issues/:issueId/assignees`
|
||||
|
||||
Reference in New Issue
Block a user