AgoraIO-Extensions / AgoraIO-Extensions/agent-infra
feat(connection): expose authenticated read-only catalog API
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 8h 51m
- Merged PRs (30d)
- 99
Description
## Problem
Agent Platform 需要读取 Connection 的 Provider/Action Catalog 来配置 Agent policy,但不能获得用户 Connection、Grant、Credential 或 Action 执行能力。
## Scope
- 提供版本化只读 Catalog HTTP/OpenAPI endpoint,返回允许给已注册 Platform Consumer 的 Provider、immutable ActionVersion、schema、effect、required scope 和发布状态。
- 使用已注册 Platform workload identity 和短期、可撤销、可轮换、可审计的 `catalog:read` credential。
- 服务端解析 Consumer/workload;拒绝调用方自报 Principal、Actor、Connection、Grant、Credential 或目录覆盖字段。
- 支持版本/ETag 或等价缓存一致性,允许 Platform 保存只读投影;调用执行仍按 Connection current state 重验。
- 不实现 Platform DB 投影、Agent Owner 页面、用户授权或 Action execution。
## Acceptance criteria
- [ ] **AC-1:** 已认证 Platform workload 可读取受限 Catalog,响应符合版本化契约且只包含允许字段。
- [ ] **AC-2:** `catalog:read` credential 不能调用 Action、读取用户数据或修改 Provider/Action/Grant,并支持撤销、轮换和审计。
- [ ] **AC-3:** 未注册 workload、错误 audience、过期/撤销 credential 和 caller-supplied authority 字段全部拒绝且不泄露目录外资源。
- [ ] **AC-4:** Catalog 版本变化能使 Platform 投影确定性刷新;旧缓存不允许绕过 Connection current Provider/Action 状态。
- [ ] **AC-5:** consumer contract、缓存、认证、最小权限、审计和负向测试覆盖成功及失败路径。
## Validation
- 运行 focused Catalog route、workload credential、consumer contract、cache/ETag、audit 和 attack tests。
- 运行完整仓库验证序列。
## Blocked by
- #396
- #399
- #398
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.