fix: Z39 isolate module data by slug

Keep agent-bound modules in per-app schemas and prevent stale frontend routes from displaying another module's blueprint or rows.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
whm
2026-08-07 17:31:12 +08:00
parent 43dc708f1e
commit 473113682f
13 changed files with 402 additions and 207 deletions

View File

@@ -18,13 +18,15 @@ const Prefix = "AJZ1"
// Descriptor 智能体解密后才能看到的请求契约(前端不展示明文)。
type Descriptor struct {
Version string `json:"v"`
BaseURL string `json:"base_url"`
AppSlug string `json:"app_slug"`
TenantHint string `json:"tenant_hint,omitempty"`
Auth AuthSpec `json:"auth"`
Resources []ResourceSpec `json:"resources"`
Notes string `json:"notes,omitempty"`
Version string `json:"v"`
BaseURL string `json:"base_url"`
AppSlug string `json:"app_slug"`
TenantHint string `json:"tenant_hint,omitempty"`
SchemaName string `json:"schema_name,omitempty"`
BlueprintRevision string `json:"blueprint_revision,omitempty"`
Auth AuthSpec `json:"auth"`
Resources []ResourceSpec `json:"resources"`
Notes string `json:"notes,omitempty"`
}
type AuthSpec struct {
@@ -33,13 +35,14 @@ type AuthSpec struct {
}
type ResourceSpec struct {
Name string `json:"name"`
Path string `json:"path"`
Methods []string `json:"methods"`
Filters []string `json:"filters,omitempty"`
Sorts []string `json:"sorts,omitempty"`
Name string `json:"name"`
Path string `json:"path"`
Methods []string `json:"methods"`
Filters []string `json:"filters,omitempty"`
Sorts []string `json:"sorts,omitempty"`
Fields []FieldSpec `json:"fields,omitempty"`
PrimaryKey string `json:"primary_key"`
PrimaryKey string `json:"primary_key"`
Table string `json:"table,omitempty"`
}
type FieldSpec struct {