summaryrefslogtreecommitdiff
path: root/internal/domain
diff options
context:
space:
mode:
Diffstat (limited to 'internal/domain')
-rw-r--r--internal/domain/types.go21
1 files changed, 18 insertions, 3 deletions
diff --git a/internal/domain/types.go b/internal/domain/types.go
index e2586ea..b1decc9 100644
--- a/internal/domain/types.go
+++ b/internal/domain/types.go
@@ -31,9 +31,13 @@ type Route struct {
}
type Model struct {
- ID string
- OwnedBy string
- Routes []Route
+ ID string
+ OwnedBy string
+ InputPriceMicrosPerMillion int64
+ OutputPriceMicrosPerMillion int64
+ CacheReadPriceMicrosPerMillion int64
+ CacheWritePriceMicrosPerMillion int64
+ Routes []Route
}
type Usage struct {
@@ -62,3 +66,14 @@ type UsageEvent struct {
DurationMS int64 `json:"duration_ms"`
Usage Usage `json:"usage"`
}
+
+// LimitPolicy is the immutable runtime view of a project's commercial limits.
+// Zero values disable the corresponding limit.
+type LimitPolicy struct {
+ TenantID string `json:"tenant_id"`
+ ProjectID string `json:"project_id"`
+ RequestsPerMinute int64 `json:"requests_per_minute"`
+ TokensPerMinute int64 `json:"tokens_per_minute"`
+ Concurrent int64 `json:"concurrent_requests"`
+ MonthlySpendMicros int64 `json:"monthly_spend_micros"`
+}