first commit

This commit is contained in:
npc0-hue
2026-07-11 14:56:10 +08:00
commit 7e05d0a4e7
660 changed files with 78119 additions and 0 deletions
@@ -0,0 +1,36 @@
## 1. Backend Contracts And Service
- [x] 1.1 Add AI provider update, status, test, and model-list DTO contracts with redacted response shapes.
- [x] 1.2 Extend `service.Core` with AI provider update, status, local test, and model-list methods using existing validators and repositories.
## 2. Backend API Surface
- [x] 2.1 Implement AI provider management routes for update, status, test, and models using named DTOs and service methods.
- [x] 2.2 Update platform route/protocol documentation for implemented AI provider management routes and deferred live invocation.
- [x] 2.3 Add backend service/API tests for update, enable/disable, test/models, missing resources, duplicate handling, and raw key rejection.
## 3. Frontend Contracts And Page
- [x] 3.1 Add centralized `platform_web/api` AI provider types and `PlatformApiClient` methods for list/create/update/status/test/models.
- [x] 3.2 Replace the placeholder AI provider page with a functional operational management view using the API client and no raw key display.
- [x] 3.3 Add frontend tests for page rendering, management actions, API client calls, and raw-key field absence.
## 4. Verification
- [x] 4.1 Run `go test ./...` from `platform/` and record evidence.
- [x] 4.2 Run frontend tests/build from `platform_web/` and record evidence.
- [x] 4.3 Run a browser walkthrough of the AI provider page and record evidence.
- [x] 4.4 Run `scripts/check-structure.sh` and record evidence.
- [x] 4.5 Run `openspec validate implement-ai-provider-management --strict` and record evidence.
## Evidence
- `go test ./domain ./dto`: passed.
- `go test ./service ./api`: passed.
- `go test ./...` from `platform/`: passed.
- `npm test` from `platform_web/`: passed.
- `npm run typecheck` from `platform_web/`: passed.
- `npm run build` from `platform_web/`: passed.
- Browser walkthrough with Playwright Chromium against `http://127.0.0.1:5173/#/aiProviders`: passed; rendered AI provider management, created `Browser Check Provider`, tested metadata, toggled status, and verified visible text did not contain `rawApiKey`, `api_key=`, `Bearer `, or `sk-`.
- `scripts/check-structure.sh`: passed.
- `openspec validate implement-ai-provider-management --strict`: passed.