feat: 清理openspec
This commit is contained in:
@@ -22,7 +22,7 @@ Normal browser login uses the platform's HttpOnly SameSite cookie and `credentia
|
||||
|
||||
## Server Management Workflows
|
||||
|
||||
- `createServerWorkflow` posts `ServerLifecycleCreateRequest` with the create-wizard deployment definition to `/server-instances/workflows/create`, including deployment mode, plugin create inputs, and custom startup fields when provided. It must not include deployment target, run endpoint, runtime profile, or runtime bindings during creation; those are established only after creation through generated Run registration, runtime binding, or deployment update flows.
|
||||
- `createServerWorkflow` posts `ServerLifecycleCreateRequest` with the create-wizard deployment definition to `/server-instances/workflows/create`, including deployment mode, plugin create inputs, and custom startup fields when provided. It never includes a deployment target, Run endpoint, lifecycle profile, or Run identity binding. The generated Run package uses plugin defaults and Platform observes the active Run from its authenticated heartbeat.
|
||||
- `getServerRuntimeBinding` reads `/server-instances/{id}/runtime-binding`; `updateServerRuntimeBinding` patches the selected profile and logical refs for internal/advanced logical transports. Server detail must not expose a manual runtime-binding tab or require these fields before normal start/stop when plugin-declared deployment/lifecycle data is sufficient. Responses contain only profile metadata, logical key names, configured/secret-backed flags, missing keys, and safe reasons. They never contain stored refs or secret values.
|
||||
- `startServerInstance` and `stopServerInstance` post `ServerLifecycleCommandRequest` with the current config version and receive the lifecycle job response.
|
||||
- `listServerAdministratorCandidates`, `addServerAdministrator`, and `removeServerAdministrator` call server membership endpoints so server owners can invite or remove active non-platform-admin server administrators.
|
||||
@@ -38,7 +38,7 @@ Normal browser login uses the platform's HttpOnly SameSite cookie and `credentia
|
||||
- `listMetricHistory`, `listBackups`, and `getBackup` read bounded owner-scoped metric and backup projections. Backup responses contain artifact IDs/checksums and recovery/retention state only; they never include body bytes or storage paths.
|
||||
- `listRemoteAdapters` and `requestRemoteAdapter` use declaration-backed logical target keys and return queued status/result references. The browser never receives adapter credentials, host addresses, sockets, Run tokens, leases, session hashes, or secret refs.
|
||||
- Server management DTOs may include bounded `ownerUserId` and `adminUserIds` metadata, but must not include raw run credentials, host paths, direct socket details, user password hashes, or AI provider keys.
|
||||
- Server creation and detail forms derive profile choices and binding fields from `GamePluginResponse.runtimeProfiles`; they must not hardcode a complete state or game-specific machine paths.
|
||||
- Server creation and detail forms use plugin-declared deployment inputs only; lifecycle profile selection, Run identity binding, and Run registration waits are not operator controls. Platform applies the plugin default and observes the active Run from authenticated heartbeats.
|
||||
- AI provider responses expose `apiKeyConfigured` only. Existing secret refs are never rehydrated into edit forms; a blank update preserves the platform-owned secret reference.
|
||||
|
||||
## Redesign Contract Gaps (redesign-platform-web-interactions)
|
||||
|
||||
@@ -461,7 +461,6 @@ export interface ServerInstanceResponse {
|
||||
id: string;
|
||||
pluginId: string;
|
||||
pluginVersion: string;
|
||||
deploymentTargetId?: string;
|
||||
runEndpointId: string;
|
||||
name: string;
|
||||
ownerUserId?: string;
|
||||
@@ -522,10 +521,7 @@ export type ServerCommandShell = "" | "posix-sh" | "powershell" | "cmd";
|
||||
// This request is write-only for paths and commands. The matching response
|
||||
// intentionally returns configured flags rather than those values.
|
||||
export interface ServerDeploymentRequest {
|
||||
runEndpointId?: string;
|
||||
mode: ServerDeploymentMode;
|
||||
profileKey?: string;
|
||||
runtimeBindings?: Record<string, string>;
|
||||
createInputs?: Record<string, string>;
|
||||
serverRoot?: string;
|
||||
workingDirectory?: string;
|
||||
@@ -539,7 +535,6 @@ export interface ServerDeploymentRequest {
|
||||
export interface ServerDeploymentResponse {
|
||||
serverInstanceId: string;
|
||||
mode?: ServerDeploymentMode;
|
||||
profileKey?: string;
|
||||
createInputs?: Record<string, string>;
|
||||
serverRootConfigured: boolean;
|
||||
workingDirectoryConfigured: boolean;
|
||||
|
||||
Reference in New Issue
Block a user