package searchv1

// ScopeOrderRequest carries the Catalog-authored eligible object order for one
// AppInstallation. The order is not authorization: Runtime must intersect it
// with the request-bound metadata view and the viewer's effective read access
// before applying viewer-owned search recency.
type ScopeOrderRequest struct {
	ObjectIDs          []string `json:"object_ids"`
	MinCatalogRevision *uint64  `json:"min_catalog_revision,omitempty"`
}

// ScopeOrderResponse returns only the authorized object identities in Runtime's
// viewer-specific order. L1 owns labels, key prefixes, URLs, and wire shape and
// must resolve those facts from the same immutable AppMetadata revision.
type ScopeOrderResponse struct {
	ObjectIDs []string `json:"object_ids"`
	Receipts  Receipts `json:"receipts"`
}
