Platform schema reference
Exact field types, validation constraints, enum values, and response structures referenced by platform routes.
These definitions preserve the source contract, including legacy compatibility values. They do not make every legacy tier, provider, or feature a current Minds product offering. Current packaging and runtime requirements take precedence over descriptive source comments. Use the endpoint catalog to find which schema a route actually validates.
minds-ui/apps/api-service/types/analytics.ts
AnalyticsMetricType
AnalyticsMetricType = z.enum([
'requests',
'storage',
'compute',
'vector_searches',
'graph_queries',
'hrm_inferences',
'api_keys',
'users',
'tenants',
'organizations',
'billing',
'errors',
])Source: minds-ui/apps/api-service/types/analytics.ts:7.
AnalyticsMetricType
export type AnalyticsMetricType = z.infer<typeof AnalyticsMetricType>Source: minds-ui/apps/api-service/types/analytics.ts:22.
AnalyticsTimePeriod
AnalyticsTimePeriod = z.enum([
'1h',
'24h',
'7d',
'30d',
'90d',
'1y',
])Source: minds-ui/apps/api-service/types/analytics.ts:28.
AnalyticsTimePeriod
export type AnalyticsTimePeriod = z.infer<typeof AnalyticsTimePeriod>Source: minds-ui/apps/api-service/types/analytics.ts:37.
AnalyticsAggregationType
AnalyticsAggregationType = z.enum([
'sum',
'avg',
'min',
'max',
'count',
'p95',
'p99',
])Source: minds-ui/apps/api-service/types/analytics.ts:43.
AnalyticsAggregationType
export type AnalyticsAggregationType = z.infer<typeof AnalyticsAggregationType>Source: minds-ui/apps/api-service/types/analytics.ts:53.
AnalyticsDataPoint
AnalyticsDataPoint = z.object({
timestamp: z.string().datetime(),
value: z.number(),
metadata: z.record(z.unknown()).optional(),
})Source: minds-ui/apps/api-service/types/analytics.ts:59.
AnalyticsDataPoint
export type AnalyticsDataPoint = z.infer<typeof AnalyticsDataPoint>Source: minds-ui/apps/api-service/types/analytics.ts:65.
AnalyticsMetric
AnalyticsMetric = z.object({
name: z.string(),
type: AnalyticsMetricType,
aggregation: AnalyticsAggregationType,
data_points: z.array(AnalyticsDataPoint),
total: z.number().optional(),
average: z.number().optional(),
min: z.number().optional(),
max: z.number().optional(),
})Source: minds-ui/apps/api-service/types/analytics.ts:71.
AnalyticsMetric
export type AnalyticsMetric = z.infer<typeof AnalyticsMetric>Source: minds-ui/apps/api-service/types/analytics.ts:82.
AnalyticsQuery
AnalyticsQuery = z.object({
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
metric_types: z.array(AnalyticsMetricType).optional(),
period: AnalyticsTimePeriod.optional().default('24h'),
aggregation: AnalyticsAggregationType.optional().default('sum'),
start_date: z.string().datetime().optional(),
end_date: z.string().datetime().optional(),
group_by: z.array(z.string()).optional(),
limit: z.coerce.number().int().min(1).max(1000).default(100),
})Source: minds-ui/apps/api-service/types/analytics.ts:88.
AnalyticsQuery
export type AnalyticsQuery = z.infer<typeof AnalyticsQuery>Source: minds-ui/apps/api-service/types/analytics.ts:100.
AnalyticsResponse
AnalyticsResponse = z.object({
metrics: z.array(AnalyticsMetric),
period: z.object({
start: z.string().datetime(),
end: z.string().datetime(),
}),
total_points: z.number().int(),
})Source: minds-ui/apps/api-service/types/analytics.ts:106.
AnalyticsResponse
export type AnalyticsResponse = z.infer<typeof AnalyticsResponse>Source: minds-ui/apps/api-service/types/analytics.ts:115.
AnalyticsDashboard
AnalyticsDashboard = z.object({
id: z.string(),
name: z.string(),
description: z.string().optional(),
user_id: z.string().optional(),
organization_id: z.string().optional(),
widgets: z.array(z.object({
id: z.string(),
type: z.string(),
title: z.string(),
metric_type: AnalyticsMetricType,
aggregation: AnalyticsAggregationType,
period: AnalyticsTimePeriod,
position: z.object({
x: z.number().int(),
y: z.number().int(),
width: z.number().int(),
height: z.number().int(),
}),
config: z.record(z.unknown()).optional(),
})),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/analytics.ts:121.
AnalyticsDashboard
export type AnalyticsDashboard = z.infer<typeof AnalyticsDashboard>Source: minds-ui/apps/api-service/types/analytics.ts:146.
CreateAnalyticsDashboardRequest
CreateAnalyticsDashboardRequest = z.object({
name: z.string().min(1).max(100),
description: z.string().max(500).optional(),
organization_id: z.string().optional(),
widgets: z.array(z.object({
type: z.string(),
title: z.string(),
metric_type: AnalyticsMetricType,
aggregation: AnalyticsAggregationType,
period: AnalyticsTimePeriod,
position: z.object({
x: z.number().int(),
y: z.number().int(),
width: z.number().int(),
height: z.number().int(),
}),
config: z.record(z.unknown()).optional(),
})).optional(),
})Source: minds-ui/apps/api-service/types/analytics.ts:152.
CreateAnalyticsDashboardRequest
export type CreateAnalyticsDashboardRequest = z.infer<typeof CreateAnalyticsDashboardRequest>Source: minds-ui/apps/api-service/types/analytics.ts:172.
UpdateAnalyticsDashboardRequest
UpdateAnalyticsDashboardRequest = z.object({
name: z.string().min(1).max(100).optional(),
description: z.string().max(500).optional(),
widgets: z.array(z.object({
id: z.string().optional(),
type: z.string(),
title: z.string(),
metric_type: AnalyticsMetricType,
aggregation: AnalyticsAggregationType,
period: AnalyticsTimePeriod,
position: z.object({
x: z.number().int(),
y: z.number().int(),
width: z.number().int(),
height: z.number().int(),
}),
config: z.record(z.unknown()).optional(),
})).optional(),
})Source: minds-ui/apps/api-service/types/analytics.ts:178.
UpdateAnalyticsDashboardRequest
export type UpdateAnalyticsDashboardRequest = z.infer<typeof UpdateAnalyticsDashboardRequest>Source: minds-ui/apps/api-service/types/analytics.ts:198.
ListAnalyticsDashboardsResponse
ListAnalyticsDashboardsResponse = z.object({
dashboards: z.array(AnalyticsDashboard),
})Source: minds-ui/apps/api-service/types/analytics.ts:204.
ListAnalyticsDashboardsResponse
export type ListAnalyticsDashboardsResponse = z.infer<typeof ListAnalyticsDashboardsResponse>Source: minds-ui/apps/api-service/types/analytics.ts:208.
AnalyticsReport
AnalyticsReport = z.object({
id: z.string(),
name: z.string(),
description: z.string().optional(),
user_id: z.string().optional(),
organization_id: z.string().optional(),
metric_types: z.array(AnalyticsMetricType),
period: AnalyticsTimePeriod,
aggregation: AnalyticsAggregationType,
schedule: z.object({
frequency: z.enum(['daily', 'weekly', 'monthly']),
time: z.string(), // HH:MM format
timezone: z.string(),
}).optional(),
recipients: z.array(z.string().email()),
format: z.enum(['pdf', 'csv', 'json']),
enabled: z.boolean(),
last_generated: z.string().datetime().nullable(),
next_generation: z.string().datetime().nullable(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/analytics.ts:214.
AnalyticsReport
export type AnalyticsReport = z.infer<typeof AnalyticsReport>Source: minds-ui/apps/api-service/types/analytics.ts:237.
CreateAnalyticsReportRequest
CreateAnalyticsReportRequest = z.object({
name: z.string().min(1).max(100),
description: z.string().max(500).optional(),
organization_id: z.string().optional(),
metric_types: z.array(AnalyticsMetricType).min(1),
period: AnalyticsTimePeriod,
aggregation: AnalyticsAggregationType.optional().default('sum'),
schedule: z.object({
frequency: z.enum(['daily', 'weekly', 'monthly']),
time: z.string(),
timezone: z.string(),
}).optional(),
recipients: z.array(z.string().email()).min(1),
format: z.enum(['pdf', 'csv', 'json']).optional().default('pdf'),
})Source: minds-ui/apps/api-service/types/analytics.ts:243.
CreateAnalyticsReportRequest
export type CreateAnalyticsReportRequest = z.infer<typeof CreateAnalyticsReportRequest>Source: minds-ui/apps/api-service/types/analytics.ts:259.
UpdateAnalyticsReportRequest
UpdateAnalyticsReportRequest = z.object({
name: z.string().min(1).max(100).optional(),
description: z.string().max(500).optional(),
metric_types: z.array(AnalyticsMetricType).optional(),
period: AnalyticsTimePeriod.optional(),
aggregation: AnalyticsAggregationType.optional(),
schedule: z.object({
frequency: z.enum(['daily', 'weekly', 'monthly']),
time: z.string(),
timezone: z.string(),
}).optional(),
recipients: z.array(z.string().email()).optional(),
format: z.enum(['pdf', 'csv', 'json']).optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/analytics.ts:265.
UpdateAnalyticsReportRequest
export type UpdateAnalyticsReportRequest = z.infer<typeof UpdateAnalyticsReportRequest>Source: minds-ui/apps/api-service/types/analytics.ts:281.
ListAnalyticsReportsResponse
ListAnalyticsReportsResponse = z.object({
reports: z.array(AnalyticsReport),
})Source: minds-ui/apps/api-service/types/analytics.ts:287.
ListAnalyticsReportsResponse
export type ListAnalyticsReportsResponse = z.infer<typeof ListAnalyticsReportsResponse>Source: minds-ui/apps/api-service/types/analytics.ts:291.
AnalyticsExportRequest
AnalyticsExportRequest = z.object({
metric_types: z.array(AnalyticsMetricType).min(1),
period: AnalyticsTimePeriod,
aggregation: AnalyticsAggregationType.optional().default('sum'),
start_date: z.string().datetime().optional(),
end_date: z.string().datetime().optional(),
format: z.enum(['csv', 'json', 'xlsx']),
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
})Source: minds-ui/apps/api-service/types/analytics.ts:297.
AnalyticsExportRequest
export type AnalyticsExportRequest = z.infer<typeof AnalyticsExportRequest>Source: minds-ui/apps/api-service/types/analytics.ts:308.
AnalyticsExportResponse
AnalyticsExportResponse = z.object({
export_id: z.string(),
format: z.enum(['csv', 'json', 'xlsx']),
status: z.enum(['processing', 'completed', 'failed']),
download_url: z.string().url().optional(),
expires_at: z.string().datetime().optional(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/analytics.ts:314.
AnalyticsExportResponse
export type AnalyticsExportResponse = z.infer<typeof AnalyticsExportResponse>Source: minds-ui/apps/api-service/types/analytics.ts:323.
AnalyticsSummary
AnalyticsSummary = z.object({
total_requests: z.number().int(),
total_storage_gb: z.number(),
total_compute_hours: z.number(),
total_vector_searches: z.number().int(),
total_graph_queries: z.number().int(),
total_hrm_inferences: z.number().int(),
active_users: z.number().int(),
active_tenants: z.number().int(),
active_organizations: z.number().int(),
period_start: z.string().datetime(),
period_end: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/analytics.ts:329.
AnalyticsSummary
export type AnalyticsSummary = z.infer<typeof AnalyticsSummary>Source: minds-ui/apps/api-service/types/analytics.ts:343.
GetAnalyticsSummaryResponse
GetAnalyticsSummaryResponse = z.object({
summary: AnalyticsSummary,
period: z.object({
start: z.string().datetime(),
end: z.string().datetime(),
}),
})Source: minds-ui/apps/api-service/types/analytics.ts:349.
GetAnalyticsSummaryResponse
export type GetAnalyticsSummaryResponse = z.infer<typeof GetAnalyticsSummaryResponse>Source: minds-ui/apps/api-service/types/analytics.ts:357.
AnalyticsAlert
AnalyticsAlert = z.object({
id: z.string(),
name: z.string(),
metric_type: AnalyticsMetricType,
threshold: z.number(),
operator: z.enum(['gt', 'gte', 'lt', 'lte', 'eq', 'neq']),
period: AnalyticsTimePeriod,
aggregation: AnalyticsAggregationType,
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
enabled: z.boolean(),
last_triggered: z.string().datetime().nullable(),
trigger_count: z.number().int(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/analytics.ts:363.
AnalyticsAlert
export type AnalyticsAlert = z.infer<typeof AnalyticsAlert>Source: minds-ui/apps/api-service/types/analytics.ts:380.
CreateAnalyticsAlertRequest
CreateAnalyticsAlertRequest = z.object({
name: z.string().min(1).max(100),
metric_type: AnalyticsMetricType,
threshold: z.number(),
operator: z.enum(['gt', 'gte', 'lt', 'lte', 'eq', 'neq']),
period: AnalyticsTimePeriod,
aggregation: AnalyticsAggregationType.optional().default('sum'),
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
})Source: minds-ui/apps/api-service/types/analytics.ts:386.
CreateAnalyticsAlertRequest
export type CreateAnalyticsAlertRequest = z.infer<typeof CreateAnalyticsAlertRequest>Source: minds-ui/apps/api-service/types/analytics.ts:397.
UpdateAnalyticsAlertRequest
UpdateAnalyticsAlertRequest = z.object({
name: z.string().min(1).max(100).optional(),
threshold: z.number().optional(),
operator: z.enum(['gt', 'gte', 'lt', 'lte', 'eq', 'neq']).optional(),
period: AnalyticsTimePeriod.optional(),
aggregation: AnalyticsAggregationType.optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/analytics.ts:403.
UpdateAnalyticsAlertRequest
export type UpdateAnalyticsAlertRequest = z.infer<typeof UpdateAnalyticsAlertRequest>Source: minds-ui/apps/api-service/types/analytics.ts:412.
ListAnalyticsAlertsResponse
ListAnalyticsAlertsResponse = z.object({
alerts: z.array(AnalyticsAlert),
})Source: minds-ui/apps/api-service/types/analytics.ts:418.
ListAnalyticsAlertsResponse
export type ListAnalyticsAlertsResponse = z.infer<typeof ListAnalyticsAlertsResponse>Source: minds-ui/apps/api-service/types/analytics.ts:422.
minds-ui/apps/api-service/types/api-key.ts
ApiKey
ApiKey = z.object({
id: z.string(),
tenant_id: z.string(),
name: z.string(),
description: z.string().optional(),
key_hash: z.string(), // SHA-256 hash of the actual key
permissions: z.array(z.string()), // Permission strings
enabled: z.boolean(),
expires_at: z.string().datetime().nullable(),
last_used_at: z.string().datetime().nullable(),
usage_count: z.number().int(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/api-key.ts:7.
ApiKey
export type ApiKey = z.infer<typeof ApiKey>Source: minds-ui/apps/api-service/types/api-key.ts:22.
CreateApiKeyRequest
CreateApiKeyRequest = z.object({
name: z.string().min(1).max(100),
description: z.string().max(500).optional(),
permissions: z.array(z.string()).optional(),
expires_at: z.string().datetime().optional(),
})Source: minds-ui/apps/api-service/types/api-key.ts:28.
CreateApiKeyRequest
export type CreateApiKeyRequest = z.infer<typeof CreateApiKeyRequest>Source: minds-ui/apps/api-service/types/api-key.ts:35.
CreateApiKeyResponse
CreateApiKeyResponse = z.object({
api_key_id: z.string(),
key: z.string(), // Only returned on creation
name: z.string(),
permissions: z.array(z.string()),
expires_at: z.string().datetime().nullable(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/api-key.ts:41.
CreateApiKeyResponse
export type CreateApiKeyResponse = z.infer<typeof CreateApiKeyResponse>Source: minds-ui/apps/api-service/types/api-key.ts:50.
UpdateApiKeyRequest
UpdateApiKeyRequest = z.object({
name: z.string().min(1).max(100).optional(),
description: z.string().max(500).optional(),
permissions: z.array(z.string()).optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/api-key.ts:56.
UpdateApiKeyRequest
export type UpdateApiKeyRequest = z.infer<typeof UpdateApiKeyRequest>Source: minds-ui/apps/api-service/types/api-key.ts:63.
ListApiKeysResponse
ListApiKeysResponse = z.object({
api_keys: z.array(
ApiKey.omit({
key_hash: true, // Never expose the hash
}),
),
})Source: minds-ui/apps/api-service/types/api-key.ts:69.
ListApiKeysResponse
export type ListApiKeysResponse = z.infer<typeof ListApiKeysResponse>Source: minds-ui/apps/api-service/types/api-key.ts:77.
ApiKeyUsage
ApiKeyUsage = z.object({
api_key_id: z.string(),
requests_total: z.number().int(),
requests_last_24h: z.number().int(),
last_used_at: z.string().datetime().nullable(),
top_endpoints: z.array(
z.object({
endpoint: z.string(),
count: z.number().int(),
}),
),
})Source: minds-ui/apps/api-service/types/api-key.ts:83.
ApiKeyUsage
export type ApiKeyUsage = z.infer<typeof ApiKeyUsage>Source: minds-ui/apps/api-service/types/api-key.ts:96.
GetApiKeyUsageResponse
GetApiKeyUsageResponse = z.object({
usage: ApiKeyUsage,
period: z.object({
start: z.string().datetime(),
end: z.string().datetime(),
}),
})Source: minds-ui/apps/api-service/types/api-key.ts:102.
GetApiKeyUsageResponse
export type GetApiKeyUsageResponse = z.infer<typeof GetApiKeyUsageResponse>Source: minds-ui/apps/api-service/types/api-key.ts:110.
ApiKeyPermission
ApiKeyPermission = z.object({
name: z.string(),
description: z.string(),
category: z.string(),
required_for: z.array(z.string()).optional(),
})Source: minds-ui/apps/api-service/types/api-key.ts:116.
ApiKeyPermission
export type ApiKeyPermission = z.infer<typeof ApiKeyPermission>Source: minds-ui/apps/api-service/types/api-key.ts:123.
ListApiKeyPermissionsResponse
ListApiKeyPermissionsResponse = z.object({
permissions: z.array(ApiKeyPermission),
})Source: minds-ui/apps/api-service/types/api-key.ts:129.
ListApiKeyPermissionsResponse
export type ListApiKeyPermissionsResponse = z.infer<typeof ListApiKeyPermissionsResponse>Source: minds-ui/apps/api-service/types/api-key.ts:133.
ApiKeyRateLimit
ApiKeyRateLimit = z.object({
requests_per_minute: z.number().int().min(1),
burst: z.number().int().min(1).optional(),
})Source: minds-ui/apps/api-service/types/api-key.ts:139.
ApiKeyRateLimit
export type ApiKeyRateLimit = z.infer<typeof ApiKeyRateLimit>Source: minds-ui/apps/api-service/types/api-key.ts:144.
SetApiKeyRateLimitRequest
SetApiKeyRateLimitRequest = z.object({
rate_limit: ApiKeyRateLimit,
})Source: minds-ui/apps/api-service/types/api-key.ts:150.
SetApiKeyRateLimitRequest
export type SetApiKeyRateLimitRequest = z.infer<typeof SetApiKeyRateLimitRequest>Source: minds-ui/apps/api-service/types/api-key.ts:154.
ApiKeyValidation
ApiKeyValidation = z.object({
valid: z.boolean(),
api_key_id: z.string().optional(),
tenant_id: z.string().optional(),
permissions: z.array(z.string()).optional(),
rate_limit: ApiKeyRateLimit.optional(),
error: z.string().optional(),
})Source: minds-ui/apps/api-service/types/api-key.ts:160.
ApiKeyValidation
export type ApiKeyValidation = z.infer<typeof ApiKeyValidation>Source: minds-ui/apps/api-service/types/api-key.ts:169.
ApiKeyAuditLog
ApiKeyAuditLog = z.object({
id: z.string(),
api_key_id: z.string(),
action: z.enum(['created', 'updated', 'deleted', 'enabled', 'disabled', 'used']),
user_id: z.string().optional(),
ip_address: z.string().optional(),
user_agent: z.string().optional(),
metadata: z.record(z.unknown()).optional(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/api-key.ts:175.
ApiKeyAuditLog
export type ApiKeyAuditLog = z.infer<typeof ApiKeyAuditLog>Source: minds-ui/apps/api-service/types/api-key.ts:186.
ListApiKeyAuditLogsQuery
ListApiKeyAuditLogsQuery = z.object({
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
action: z.enum(['created', 'updated', 'deleted', 'enabled', 'disabled', 'used']).optional(),
})Source: minds-ui/apps/api-service/types/api-key.ts:192.
ListApiKeyAuditLogsQuery
export type ListApiKeyAuditLogsQuery = z.infer<typeof ListApiKeyAuditLogsQuery>Source: minds-ui/apps/api-service/types/api-key.ts:198.
ListApiKeyAuditLogsResponse
ListApiKeyAuditLogsResponse = z.object({
audit_logs: z.array(ApiKeyAuditLog),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/api-key.ts:204.
ListApiKeyAuditLogsResponse
export type ListApiKeyAuditLogsResponse = z.infer<typeof ListApiKeyAuditLogsResponse>Source: minds-ui/apps/api-service/types/api-key.ts:213.
minds-ui/apps/api-service/types/audit.ts
AuditAction
AuditAction = z.enum([
'create',
'read',
'update',
'delete',
'login',
'logout',
'permission_granted',
'permission_revoked',
'api_key_created',
'api_key_revoked',
'backup_created',
'backup_restored',
'tenant_provisioned',
'tenant_suspended',
'tenant_deleted',
'subscription_created',
'subscription_canceled',
'payment_processed',
'webhook_triggered',
'export_data',
'import_data',
])Source: minds-ui/apps/api-service/types/audit.ts:7.
AuditAction
export type AuditAction = z.infer<typeof AuditAction>Source: minds-ui/apps/api-service/types/audit.ts:31.
AuditResourceType
AuditResourceType = z.enum([
'tenant',
'organization',
'user',
'api_key',
'backup',
'subscription',
'invoice',
'webhook',
'service',
'bundle',
'usage_record',
'payment_method',
])Source: minds-ui/apps/api-service/types/audit.ts:37.
AuditResourceType
export type AuditResourceType = z.infer<typeof AuditResourceType>Source: minds-ui/apps/api-service/types/audit.ts:52.
AuditLog
AuditLog = z.object({
id: z.string(),
user_id: z.string().optional(),
session_id: z.string().optional(),
api_key_id: z.string().optional(),
action: AuditAction,
resource_type: AuditResourceType.optional(),
resource_id: z.string().optional(),
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
ip_address: z.string().optional(),
user_agent: z.string().optional(),
request_id: z.string().optional(),
status_code: z.number().int().optional(),
message: z.string().optional(),
metadata: z.record(z.unknown()).optional(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/audit.ts:58.
AuditLog
export type AuditLog = z.infer<typeof AuditLog>Source: minds-ui/apps/api-service/types/audit.ts:77.
ListAuditLogsQuery
ListAuditLogsQuery = z.object({
limit: z.coerce.number().int().min(1).max(1000).default(100),
offset: z.coerce.number().int().min(0).default(0),
user_id: z.string().optional(),
action: AuditAction.optional(),
resource_type: AuditResourceType.optional(),
resource_id: z.string().optional(),
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
start_date: z.string().datetime().optional(),
end_date: z.string().datetime().optional(),
ip_address: z.string().optional(),
status_code: z.number().int().optional(),
})Source: minds-ui/apps/api-service/types/audit.ts:83.
ListAuditLogsQuery
export type ListAuditLogsQuery = z.infer<typeof ListAuditLogsQuery>Source: minds-ui/apps/api-service/types/audit.ts:98.
ListAuditLogsResponse
ListAuditLogsResponse = z.object({
audit_logs: z.array(AuditLog),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/audit.ts:104.
ListAuditLogsResponse
export type ListAuditLogsResponse = z.infer<typeof ListAuditLogsResponse>Source: minds-ui/apps/api-service/types/audit.ts:113.
AuditLogSummary
AuditLogSummary = z.object({
total_actions: z.number().int(),
unique_users: z.number().int(),
unique_tenants: z.number().int(),
unique_organizations: z.number().int(),
action_breakdown: z.record(z.number().int()),
resource_type_breakdown: z.record(z.number().int()),
period_start: z.string().datetime(),
period_end: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/audit.ts:119.
AuditLogSummary
export type AuditLogSummary = z.infer<typeof AuditLogSummary>Source: minds-ui/apps/api-service/types/audit.ts:130.
GetAuditLogSummaryResponse
GetAuditLogSummaryResponse = z.object({
summary: AuditLogSummary,
period: z.object({
start: z.string().datetime(),
end: z.string().datetime(),
}),
})Source: minds-ui/apps/api-service/types/audit.ts:136.
GetAuditLogSummaryResponse
export type GetAuditLogSummaryResponse = z.infer<typeof GetAuditLogSummaryResponse>Source: minds-ui/apps/api-service/types/audit.ts:144.
AuditLogExportRequest
AuditLogExportRequest = z.object({
format: z.enum(['json', 'csv', 'xlsx']),
start_date: z.string().datetime(),
end_date: z.string().datetime(),
filters: z.object({
user_id: z.string().optional(),
action: AuditAction.optional(),
resource_type: AuditResourceType.optional(),
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
}).optional(),
})Source: minds-ui/apps/api-service/types/audit.ts:150.
AuditLogExportRequest
export type AuditLogExportRequest = z.infer<typeof AuditLogExportRequest>Source: minds-ui/apps/api-service/types/audit.ts:163.
AuditLogExportResponse
AuditLogExportResponse = z.object({
export_id: z.string(),
format: z.enum(['json', 'csv', 'xlsx']),
status: z.enum(['processing', 'completed', 'failed']),
download_url: z.string().url().optional(),
expires_at: z.string().datetime().optional(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/audit.ts:169.
AuditLogExportResponse
export type AuditLogExportResponse = z.infer<typeof AuditLogExportResponse>Source: minds-ui/apps/api-service/types/audit.ts:178.
AuditLogRetentionPolicy
AuditLogRetentionPolicy = z.object({
id: z.string(),
organization_id: z.string().optional(),
retention_days: z.number().int().min(1).max(2555), // Max 7 years
archive_after_days: z.number().int().min(1).optional(),
enabled: z.boolean(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/audit.ts:184.
AuditLogRetentionPolicy
export type AuditLogRetentionPolicy = z.infer<typeof AuditLogRetentionPolicy>Source: minds-ui/apps/api-service/types/audit.ts:194.
CreateAuditLogRetentionPolicyRequest
CreateAuditLogRetentionPolicyRequest = z.object({
organization_id: z.string().optional(),
retention_days: z.number().int().min(1).max(2555),
archive_after_days: z.number().int().min(1).optional(),
})Source: minds-ui/apps/api-service/types/audit.ts:200.
CreateAuditLogRetentionPolicyRequest
export type CreateAuditLogRetentionPolicyRequest = z.infer<typeof CreateAuditLogRetentionPolicyRequest>Source: minds-ui/apps/api-service/types/audit.ts:206.
UpdateAuditLogRetentionPolicyRequest
UpdateAuditLogRetentionPolicyRequest = z.object({
retention_days: z.number().int().min(1).max(2555).optional(),
archive_after_days: z.number().int().min(1).optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/audit.ts:212.
UpdateAuditLogRetentionPolicyRequest
export type UpdateAuditLogRetentionPolicyRequest = z.infer<typeof UpdateAuditLogRetentionPolicyRequest>Source: minds-ui/apps/api-service/types/audit.ts:218.
ListAuditLogRetentionPoliciesResponse
ListAuditLogRetentionPoliciesResponse = z.object({
policies: z.array(AuditLogRetentionPolicy),
})Source: minds-ui/apps/api-service/types/audit.ts:224.
ListAuditLogRetentionPoliciesResponse
export type ListAuditLogRetentionPoliciesResponse = z.infer<typeof ListAuditLogRetentionPoliciesResponse>Source: minds-ui/apps/api-service/types/audit.ts:228.
AuditLogComplianceReport
AuditLogComplianceReport = z.object({
report_id: z.string(),
organization_id: z.string().optional(),
report_type: z.enum(['sox', 'pci', 'gdpr', 'hipaa', 'custom']),
period_start: z.string().datetime(),
period_end: z.string().datetime(),
total_events: z.number().int(),
compliance_score: z.number().min(0).max(100),
violations: z.array(z.object({
type: z.string(),
count: z.number().int(),
severity: z.enum(['low', 'medium', 'high', 'critical']),
})),
recommendations: z.array(z.string()),
generated_at: z.string().datetime(),
generated_by: z.string(),
})Source: minds-ui/apps/api-service/types/audit.ts:234.
AuditLogComplianceReport
export type AuditLogComplianceReport = z.infer<typeof AuditLogComplianceReport>Source: minds-ui/apps/api-service/types/audit.ts:252.
GenerateAuditLogComplianceReportRequest
GenerateAuditLogComplianceReportRequest = z.object({
organization_id: z.string().optional(),
report_type: z.enum(['sox', 'pci', 'gdpr', 'hipaa', 'custom']),
period_start: z.string().datetime(),
period_end: z.string().datetime(),
custom_criteria: z.record(z.unknown()).optional(),
})Source: minds-ui/apps/api-service/types/audit.ts:258.
GenerateAuditLogComplianceReportRequest
export type GenerateAuditLogComplianceReportRequest = z.infer<typeof GenerateAuditLogComplianceReportRequest>Source: minds-ui/apps/api-service/types/audit.ts:266.
GenerateAuditLogComplianceReportResponse
GenerateAuditLogComplianceReportResponse = z.object({
report_id: z.string(),
status: z.enum(['processing', 'completed', 'failed']),
download_url: z.string().url().optional(),
expires_at: z.string().datetime().optional(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/audit.ts:272.
GenerateAuditLogComplianceReportResponse
export type GenerateAuditLogComplianceReportResponse = z.infer<typeof GenerateAuditLogComplianceReportResponse>Source: minds-ui/apps/api-service/types/audit.ts:280.
AuditLogAlert
AuditLogAlert = z.object({
id: z.string(),
alert_type: z.enum(['suspicious_activity', 'failed_login', 'privilege_escalation', 'data_export', 'custom']),
severity: z.enum(['low', 'medium', 'high', 'critical']),
title: z.string(),
description: z.string(),
triggered_by: z.string().optional(),
user_id: z.string().optional(),
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
metadata: z.record(z.unknown()).optional(),
acknowledged: z.boolean(),
acknowledged_by: z.string().optional(),
acknowledged_at: z.string().datetime().optional(),
resolved: z.boolean(),
resolved_at: z.string().datetime().optional(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/audit.ts:286.
AuditLogAlert
export type AuditLogAlert = z.infer<typeof AuditLogAlert>Source: minds-ui/apps/api-service/types/audit.ts:305.
ListAuditLogAlertsQuery
ListAuditLogAlertsQuery = z.object({
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
alert_type: z.enum(['suspicious_activity', 'failed_login', 'privilege_escalation', 'data_export', 'custom']).optional(),
severity: z.enum(['low', 'medium', 'high', 'critical']).optional(),
acknowledged: z.boolean().optional(),
resolved: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/audit.ts:311.
ListAuditLogAlertsQuery
export type ListAuditLogAlertsQuery = z.infer<typeof ListAuditLogAlertsQuery>Source: minds-ui/apps/api-service/types/audit.ts:320.
ListAuditLogAlertsResponse
ListAuditLogAlertsResponse = z.object({
alerts: z.array(AuditLogAlert),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/audit.ts:326.
ListAuditLogAlertsResponse
export type ListAuditLogAlertsResponse = z.infer<typeof ListAuditLogAlertsResponse>Source: minds-ui/apps/api-service/types/audit.ts:335.
AcknowledgeAuditLogAlertRequest
AcknowledgeAuditLogAlertRequest = z.object({
message: z.string().max(500).optional(),
})Source: minds-ui/apps/api-service/types/audit.ts:341.
AcknowledgeAuditLogAlertRequest
export type AcknowledgeAuditLogAlertRequest = z.infer<typeof AcknowledgeAuditLogAlertRequest>Source: minds-ui/apps/api-service/types/audit.ts:345.
AcknowledgeAuditLogAlertResponse
AcknowledgeAuditLogAlertResponse = z.object({
alert_id: z.string(),
acknowledged: z.boolean(),
acknowledged_by: z.string(),
acknowledged_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/audit.ts:351.
AcknowledgeAuditLogAlertResponse
export type AcknowledgeAuditLogAlertResponse = z.infer<typeof AcknowledgeAuditLogAlertResponse>Source: minds-ui/apps/api-service/types/audit.ts:358.
minds-ui/apps/api-service/types/auth.ts
Session
export interface Session {
user: {
id: string;
email: string;
name?: string;
image?: string;
emailVerified: boolean;
};
sessionId: string;
expiresAt: Date;
createdAt: Date;
orgMemberships: OrgMembership[];
tenantMemberships: TenantMembership[];
defaultOrgId?: string;
hmr?: HmrSessionContext;
}Source: minds-ui/apps/api-service/types/auth.ts:30.
HmrSessionContext
export interface HmrSessionContext {
did: string;
tenantId: string;
tenantDid: string;
kratosIdentityId: string;
aoDids: string[];
mhrDids: string[];
cached: boolean;
}Source: minds-ui/apps/api-service/types/auth.ts:47.
OrgMembership
export interface OrgMembership {
orgId: string;
userId: string;
role: OrgRole;
createdAt: Date;
active: boolean;
organization: {
id: string;
name: string;
slug: string;
};
invitedBy?: string;
}Source: minds-ui/apps/api-service/types/auth.ts:61.
OrgRole
export type OrgRole = 'owner' | 'admin' | 'member' | 'billing';Source: minds-ui/apps/api-service/types/auth.ts:78.
TenantMembership
export interface TenantMembership {
tenantId: string;
tenantSlug: string;
tenantName: string;
orgId: string;
role: TenantRole;
plan: TenantPlan;
productType: ProductType;
projectId?: string;
planMemoryLimit?: number | null;
planRetrievalQuota?: number | null;
planGraphEnabled: boolean;
planNodePartitioning: boolean;
active: boolean;
createdAt: Date;
}Source: minds-ui/apps/api-service/types/auth.ts:83.
TenantAccessToken
export interface TenantAccessToken {
// Standard JWT claims
iss: string; // Issuer: "https://akasha.ooo"
sub: string; // Subject: user ID
aud: string; // Audience: tenant ID
exp: number; // Expiration: Unix timestamp
iat: number; // Issued at: Unix timestamp
jti: string; // JWT ID: unique token ID
// AKASHA-specific claims
tenant_id: string; // Tenant UUID
tenant_slug: string; // Tenant subdomain slug
org_id: string; // Organization UUID
user_id: string; // User UUID
user_email: string; // User email
// Namespace hierarchy
namespace: {
tenant: string; // Tenant ID
reservoir?: string; // Optional: reservoir ID
agent?: string; // Optional: agent ID
dataspace?: string; // Optional: dataspace ID
};
// Permissions (ACL)
permissions: Permission[];
tenant_role?: TenantRole;
// Plan-based limits
plan: TenantPlan;
quota: TenantQuota;
}Source: minds-ui/apps/api-service/types/auth.ts:110.
Permission
export type Permission = import('@/lib/auth/permissions').PermissionSource: minds-ui/apps/api-service/types/auth.ts:146.
TenantQuota
export interface TenantQuota {
storage_gb: number;
requests_per_day: number;
hrm_inferences_per_day: number;
memory_entries?: number | null;
retrieval_calls?: number | null;
graph_enabled?: boolean;
node_partitioning?: boolean;
}Source: minds-ui/apps/api-service/types/auth.ts:151.
TenantRole
export type TenantRole = 'owner' | 'admin' | 'developer' | 'viewer';Source: minds-ui/apps/api-service/types/auth.ts:278.
ApiKey
export interface ApiKey {
id: string;
key: string; // Hashed in database
name: string;
description?: string;
tenantId: string;
enabled: boolean;
permissions: Permission[];
rateLimit?: {
requests_per_minute: number;
burst?: number;
};
role?: TenantRole;
expiresAt?: Date;
createdAt: Date;
lastUsedAt?: Date;
usageCount: number;
metadata?: Record<string, any>;
tenant?: {
orgId: string;
ownerId: string;
tenantSlug: string;
tenantName: string;
plan: TenantPlan;
status: TenantStatus;
};
}Source: minds-ui/apps/api-service/types/auth.ts:289.
AuthContext
export interface AuthContext {
// User authentication
user: {
id: string;
email: string;
name?: string;
};
subjectType: 'session' | 'apiKey' | 'jwt';
// Session info
sessionId?: string; // From BetterAuth session
apiKeyId?: string; // From API key auth
// Tenant context
tenantId?: string; // Current tenant being accessed
tenantSlug?: string;
orgId: string; // Primary organization for request
orgIds: string[]; // All organizations available to subject
orgMemberships: OrgMembership[];
tenantMemberships: TenantMembership[];
// Permissions
permissions: Permission[];
tenantRole?: TenantRole;
orgRole: OrgRole;
plan?: TenantPlan;
apiKeyRateLimit?: {
requests_per_minute: number;
burst?: number;
};
// Request metadata
requestId: string;
ip: string;
userAgent: string;
}Source: minds-ui/apps/api-service/types/auth.ts:326.
AuthErrorCode
export enum AuthErrorCode {
// Authentication errors
NO_AUTH = 'NO_AUTH',
INVALID_TOKEN = 'INVALID_TOKEN',
TOKEN_EXPIRED = 'TOKEN_EXPIRED',
SESSION_EXPIRED = 'SESSION_EXPIRED',
INVALID_API_KEY = 'INVALID_API_KEY',
// Authorization errors
PERMISSION_DENIED = 'PERMISSION_DENIED',
INSUFFICIENT_PERMISSIONS = 'INSUFFICIENT_PERMISSIONS',
TENANT_ACCESS_DENIED = 'TENANT_ACCESS_DENIED',
ORG_ACCESS_DENIED = 'ORG_ACCESS_DENIED',
// Rate limiting
RATE_LIMIT_EXCEEDED = 'RATE_LIMIT_EXCEEDED',
QUOTA_EXCEEDED = 'QUOTA_EXCEEDED',
}Source: minds-ui/apps/api-service/types/auth.ts:370.
HydraOIDCConfig
export interface HydraOIDCConfig {
issuer: string;
clientId: string;
clientSecret: string;
redirectUri: string;
scopes: string[];
}Source: minds-ui/apps/api-service/types/auth.ts:411.
KongConsumerMapping
export interface KongConsumerMapping {
username: string; // Tenant slug
custom_id: string; // Tenant ID
apiKeys: string[]; // Associated API keys
acl_groups: string[]; // ACL groups (e.g., "tenant:{tenant_id}")
}Source: minds-ui/apps/api-service/types/auth.ts:423.
PermissionSchema
PermissionSchema = z.enum(PERMISSION_VALUES)Source: minds-ui/apps/api-service/types/auth.ts:434.
GenerateTokenRequest
GenerateTokenRequest = z.object({
name: z.string().max(100).optional(),
expires_in: z.number().int().min(60).max(3600).optional(), // 1 min to 1 hour
permissions: z.array(PermissionSchema).optional(),
})Source: minds-ui/apps/api-service/types/auth.ts:440.
GenerateTokenRequest
export type GenerateTokenRequest = z.infer<typeof GenerateTokenRequest>Source: minds-ui/apps/api-service/types/auth.ts:446.
GenerateTokenResponse
GenerateTokenResponse = z.object({
token: z.string(), // JWT
expires_at: z.string().datetime(),
permissions: z.array(PermissionSchema),
})Source: minds-ui/apps/api-service/types/auth.ts:452.
GenerateTokenResponse
export type GenerateTokenResponse = z.infer<typeof GenerateTokenResponse>Source: minds-ui/apps/api-service/types/auth.ts:458.
WebhookEventType
WebhookEventType = z.enum([
'instance.created',
'instance.ready',
'instance.scaling',
'instance.suspended',
'instance.deleted',
'backup.started',
'backup.completed',
'backup.failed',
'usage.threshold_exceeded',
'billing.invoice_created',
'billing.payment_failed',
])Source: minds-ui/apps/api-service/types/auth.ts:463.
WebhookEventType
export type WebhookEventType = z.infer<typeof WebhookEventType>Source: minds-ui/apps/api-service/types/auth.ts:477.
Webhook
Webhook = z.object({
id: z.string(),
tenant_id: z.string(),
url: z.string().url(),
events: z.array(WebhookEventType),
secret: z.string(),
enabled: z.boolean(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/auth.ts:482.
Webhook
export type Webhook = z.infer<typeof Webhook>Source: minds-ui/apps/api-service/types/auth.ts:492.
CreateWebhookRequest
CreateWebhookRequest = z.object({
url: z.string().url(),
events: z.array(WebhookEventType).min(1),
secret: z.string().optional(), // Auto-generated if not provided
})Source: minds-ui/apps/api-service/types/auth.ts:498.
CreateWebhookRequest
export type CreateWebhookRequest = z.infer<typeof CreateWebhookRequest>Source: minds-ui/apps/api-service/types/auth.ts:504.
ListWebhooksResponse
ListWebhooksResponse = z.object({
webhooks: z.array(Webhook),
})Source: minds-ui/apps/api-service/types/auth.ts:510.
ListWebhooksResponse
export type ListWebhooksResponse = z.infer<typeof ListWebhooksResponse>Source: minds-ui/apps/api-service/types/auth.ts:514.
PermissionKey
export type PermissionKey = keyof typeof PERMISSIONSSource: minds-ui/apps/api-service/types/auth.ts:519.
PermissionValue
export type PermissionValue = (typeof PERMISSIONS)[PermissionKey]Source: minds-ui/apps/api-service/types/auth.ts:520.
ApiKey
export interface ApiKey {
id: string;
tenantId: string;
name: string;
keyPrefix: string;
description?: string;
permissions: Permission[];
role?: TenantRole;
enabled: boolean;
lastUsedAt?: Date;
usageCount: number;
rateLimitPerMinute?: number;
rateLimitBurst?: number;
createdAt: Date;
expiresAt?: Date;
metadata?: Record<string, any>;
}Source: minds-ui/apps/api-service/types/auth.ts:537.
minds-ui/apps/api-service/types/backup.ts
BackupStatus
BackupStatus = z.enum(['creating', 'completed', 'failed', 'deleting'])Source: minds-ui/apps/api-service/types/backup.ts:6.
BackupStatus
export type BackupStatus = z.infer<typeof BackupStatus>Source: minds-ui/apps/api-service/types/backup.ts:8.
CreateBackupRequest
CreateBackupRequest = z.object({
name: z.string().max(100).optional(),
description: z.string().max(500).optional(),
})Source: minds-ui/apps/api-service/types/backup.ts:14.
CreateBackupRequest
export type CreateBackupRequest = z.infer<typeof CreateBackupRequest>Source: minds-ui/apps/api-service/types/backup.ts:19.
CreateBackupResponse
CreateBackupResponse = z.object({
backup_id: z.string(),
tenant_id: z.string(),
status: z.literal('creating'),
created_at: z.string().datetime(),
estimated_duration: z.number().int(), // seconds
})Source: minds-ui/apps/api-service/types/backup.ts:25.
CreateBackupResponse
export type CreateBackupResponse = z.infer<typeof CreateBackupResponse>Source: minds-ui/apps/api-service/types/backup.ts:33.
Backup
Backup = z.object({
id: z.string(),
tenant_id: z.string(),
name: z.string(),
description: z.string().optional(),
size_gb: z.number(),
created_at: z.string().datetime(),
completed_at: z.string().datetime().optional(),
status: BackupStatus,
retention_until: z.string().datetime(),
metadata: z
.object({
storage_path: z.string(),
checksum: z.string().optional(),
compression_type: z.enum(['none', 'gzip', 'zstd']).optional(),
})
.catchall(z.unknown())
.optional(),
})Source: minds-ui/apps/api-service/types/backup.ts:39.
Backup
export type Backup = z.infer<typeof Backup>Source: minds-ui/apps/api-service/types/backup.ts:59.
ListBackupsResponse
ListBackupsResponse = z.object({
backups: z.array(Backup),
})Source: minds-ui/apps/api-service/types/backup.ts:65.
ListBackupsResponse
export type ListBackupsResponse = z.infer<typeof ListBackupsResponse>Source: minds-ui/apps/api-service/types/backup.ts:69.
RestoreBackupRequest
RestoreBackupRequest = z.object({
create_new_instance: z.boolean().optional().default(false),
})Source: minds-ui/apps/api-service/types/backup.ts:75.
RestoreBackupRequest
export type RestoreBackupRequest = z.infer<typeof RestoreBackupRequest>Source: minds-ui/apps/api-service/types/backup.ts:79.
RestoreBackupResponse
RestoreBackupResponse = z.object({
restore_id: z.string(),
tenant_id: z.string(),
backup_id: z.string(),
status: z.literal('restoring'),
estimated_duration: z.number().int(), // seconds
new_tenant_id: z.string().optional(), // If create_new_instance=true
})Source: minds-ui/apps/api-service/types/backup.ts:85.
RestoreBackupResponse
export type RestoreBackupResponse = z.infer<typeof RestoreBackupResponse>Source: minds-ui/apps/api-service/types/backup.ts:94.
minds-ui/apps/api-service/types/billing.ts
BillingSubscriptionStatus
BillingSubscriptionStatus = z.enum([
'active',
'canceled',
'incomplete',
'incomplete_expired',
'past_due',
'trialing',
'unpaid',
'paused',
])Source: minds-ui/apps/api-service/types/billing.ts:7.
BillingSubscriptionStatus
export type BillingSubscriptionStatus = z.infer<typeof BillingSubscriptionStatus>Source: minds-ui/apps/api-service/types/billing.ts:18.
BillingInvoiceStatus
BillingInvoiceStatus = z.enum([
'draft',
'open',
'paid',
'void',
'uncollectible',
'past_due',
])Source: minds-ui/apps/api-service/types/billing.ts:24.
BillingInvoiceStatus
export type BillingInvoiceStatus = z.infer<typeof BillingInvoiceStatus>Source: minds-ui/apps/api-service/types/billing.ts:33.
UsageRecordSource
UsageRecordSource = z.enum([
'internal',
'stripe',
])Source: minds-ui/apps/api-service/types/billing.ts:39.
UsageRecordSource
export type UsageRecordSource = z.infer<typeof UsageRecordSource>Source: minds-ui/apps/api-service/types/billing.ts:44.
BillingCustomer
BillingCustomer = z.object({
id: z.string(),
tenant_id: z.string(),
stripe_customer_id: z.string(),
email: z.string().email().nullable(),
name: z.string().nullable(),
metadata: z.record(z.unknown()).optional(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/billing.ts:50.
BillingCustomer
export type BillingCustomer = z.infer<typeof BillingCustomer>Source: minds-ui/apps/api-service/types/billing.ts:61.
BillingSubscription
BillingSubscription = z.object({
id: z.string(),
tenant_id: z.string(),
billing_customer_id: z.string().nullable(),
stripe_subscription_id: z.string(),
stripe_price_id: z.string(),
plan: z.string(), // TenantPlan
status: BillingSubscriptionStatus,
current_period_start: z.string().datetime(),
current_period_end: z.string().datetime(),
cancel_at_period_end: z.boolean(),
quantity: z.number().int().nullable(),
trial_ends_at: z.string().datetime().nullable(),
ended_at: z.string().datetime().nullable(),
metadata: z.record(z.unknown()).optional(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/billing.ts:67.
BillingSubscription
export type BillingSubscription = z.infer<typeof BillingSubscription>Source: minds-ui/apps/api-service/types/billing.ts:86.
BillingInvoice
BillingInvoice = z.object({
id: z.string(),
tenant_id: z.string(),
billing_subscription_id: z.string().nullable(),
stripe_invoice_id: z.string(),
stripe_customer_id: z.string(),
stripe_subscription_id: z.string().nullable(),
amount_due: z.number().int(),
amount_paid: z.number().int(),
currency: z.string(),
status: BillingInvoiceStatus,
due_date: z.string().datetime().nullable(),
period_start: z.string().datetime(),
period_end: z.string().datetime(),
hosted_invoice_url: z.string().url().nullable(),
invoice_pdf_url: z.string().url().nullable(),
paid_at: z.string().datetime().nullable(),
metadata: z.record(z.unknown()).optional(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/billing.ts:92.
BillingInvoice
export type BillingInvoice = z.infer<typeof BillingInvoice>Source: minds-ui/apps/api-service/types/billing.ts:114.
UsageRecord
UsageRecord = z.object({
id: z.string(),
tenant_id: z.string(),
operation: z.string(),
quantity: z.number().int(),
timestamp: z.string().datetime(),
period_start: z.string().datetime(),
period_end: z.string().datetime(),
source: UsageRecordSource,
stripe_usage_record_id: z.string().nullable(),
total_cost: z.number().nullable(),
currency: z.string().nullable(),
// Specific usage fields
requests_total: z.number().int().nullable(),
requests_included: z.number().int().nullable(),
requests_overage: z.number().int().nullable(),
requests_cost: z.number().nullable(),
vector_searches_total: z.number().int().nullable(),
vector_searches_cost: z.number().nullable(),
graph_queries_total: z.number().int().nullable(),
graph_queries_cost: z.number().nullable(),
hrm_inferences_total: z.number().int().nullable(),
hrm_inferences_included: z.number().int().nullable(),
hrm_inferences_overage: z.number().int().nullable(),
hrm_inferences_cost: z.number().nullable(),
storage_gb: z.number().nullable(),
storage_included: z.number().nullable(),
storage_overage: z.number().nullable(),
storage_cost: z.number().nullable(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/billing.ts:120.
UsageRecord
export type UsageRecord = z.infer<typeof UsageRecord>Source: minds-ui/apps/api-service/types/billing.ts:159.
CreateSubscriptionRequest
CreateSubscriptionRequest = z.object({
plan: z.string(), // TenantPlan
payment_method_id: z.string().optional(),
trial_period_days: z.number().int().min(0).max(30).optional(),
})Source: minds-ui/apps/api-service/types/billing.ts:165.
CreateSubscriptionRequest
export type CreateSubscriptionRequest = z.infer<typeof CreateSubscriptionRequest>Source: minds-ui/apps/api-service/types/billing.ts:171.
CreateSubscriptionResponse
CreateSubscriptionResponse = z.object({
subscription_id: z.string(),
status: BillingSubscriptionStatus,
current_period_start: z.string().datetime(),
current_period_end: z.string().datetime(),
client_secret: z.string().optional(), // For payment method setup
})Source: minds-ui/apps/api-service/types/billing.ts:177.
CreateSubscriptionResponse
export type CreateSubscriptionResponse = z.infer<typeof CreateSubscriptionResponse>Source: minds-ui/apps/api-service/types/billing.ts:185.
UpdateSubscriptionRequest
UpdateSubscriptionRequest = z.object({
plan: z.string().optional(), // TenantPlan
cancel_at_period_end: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/billing.ts:191.
UpdateSubscriptionRequest
export type UpdateSubscriptionRequest = z.infer<typeof UpdateSubscriptionRequest>Source: minds-ui/apps/api-service/types/billing.ts:196.
CancelSubscriptionRequest
CancelSubscriptionRequest = z.object({
cancel_at_period_end: z.boolean().optional().default(true),
reason: z.string().max(500).optional(),
})Source: minds-ui/apps/api-service/types/billing.ts:202.
CancelSubscriptionRequest
export type CancelSubscriptionRequest = z.infer<typeof CancelSubscriptionRequest>Source: minds-ui/apps/api-service/types/billing.ts:207.
ListInvoicesQuery
ListInvoicesQuery = z.object({
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
status: BillingInvoiceStatus.optional(),
})Source: minds-ui/apps/api-service/types/billing.ts:213.
ListInvoicesQuery
export type ListInvoicesQuery = z.infer<typeof ListInvoicesQuery>Source: minds-ui/apps/api-service/types/billing.ts:219.
ListInvoicesResponse
ListInvoicesResponse = z.object({
invoices: z.array(
BillingInvoice.pick({
id: true,
stripe_invoice_id: true,
amount_due: true,
amount_paid: true,
currency: true,
status: true,
due_date: true,
period_start: true,
period_end: true,
hosted_invoice_url: true,
invoice_pdf_url: true,
paid_at: true,
created_at: true,
}),
),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/billing.ts:225.
ListInvoicesResponse
export type ListInvoicesResponse = z.infer<typeof ListInvoicesResponse>Source: minds-ui/apps/api-service/types/billing.ts:250.
UsageSummary
UsageSummary = z.object({
period_start: z.string().datetime(),
period_end: z.string().datetime(),
total_usage: z.number().int(),
total_cost: z.number(),
currency: z.string(),
breakdown: z.record(z.number().int()),
})Source: minds-ui/apps/api-service/types/billing.ts:256.
UsageSummary
export type UsageSummary = z.infer<typeof UsageSummary>Source: minds-ui/apps/api-service/types/billing.ts:265.
GetUsageSummaryResponse
GetUsageSummaryResponse = z.object({
current_period: UsageSummary,
previous_period: UsageSummary.optional(),
})Source: minds-ui/apps/api-service/types/billing.ts:271.
GetUsageSummaryResponse
export type GetUsageSummaryResponse = z.infer<typeof GetUsageSummaryResponse>Source: minds-ui/apps/api-service/types/billing.ts:276.
BillingPortalSessionRequest
BillingPortalSessionRequest = z.object({
return_url: z.string().url(),
})Source: minds-ui/apps/api-service/types/billing.ts:282.
BillingPortalSessionRequest
export type BillingPortalSessionRequest = z.infer<typeof BillingPortalSessionRequest>Source: minds-ui/apps/api-service/types/billing.ts:286.
BillingPortalSessionResponse
BillingPortalSessionResponse = z.object({
url: z.string().url(),
})Source: minds-ui/apps/api-service/types/billing.ts:292.
BillingPortalSessionResponse
export type BillingPortalSessionResponse = z.infer<typeof BillingPortalSessionResponse>Source: minds-ui/apps/api-service/types/billing.ts:296.
PaymentMethod
PaymentMethod = z.object({
id: z.string(),
type: z.string(),
card: z.object({
brand: z.string(),
last4: z.string(),
exp_month: z.number().int(),
exp_year: z.number().int(),
}).optional(),
billing_details: z.object({
name: z.string().nullable(),
email: z.string().nullable(),
}).optional(),
})Source: minds-ui/apps/api-service/types/billing.ts:302.
PaymentMethod
export type PaymentMethod = z.infer<typeof PaymentMethod>Source: minds-ui/apps/api-service/types/billing.ts:317.
ListPaymentMethodsResponse
ListPaymentMethodsResponse = z.object({
payment_methods: z.array(PaymentMethod),
})Source: minds-ui/apps/api-service/types/billing.ts:323.
ListPaymentMethodsResponse
export type ListPaymentMethodsResponse = z.infer<typeof ListPaymentMethodsResponse>Source: minds-ui/apps/api-service/types/billing.ts:327.
SetDefaultPaymentMethodRequest
SetDefaultPaymentMethodRequest = z.object({
payment_method_id: z.string(),
})Source: minds-ui/apps/api-service/types/billing.ts:333.
SetDefaultPaymentMethodRequest
export type SetDefaultPaymentMethodRequest = z.infer<typeof SetDefaultPaymentMethodRequest>Source: minds-ui/apps/api-service/types/billing.ts:337.
WebhookEvent
WebhookEvent = z.object({
id: z.string(),
type: z.string(),
data: z.object({
object: z.record(z.unknown()),
}),
created: z.number(),
})Source: minds-ui/apps/api-service/types/billing.ts:343.
WebhookEvent
export type WebhookEvent = z.infer<typeof WebhookEvent>Source: minds-ui/apps/api-service/types/billing.ts:352.
PlanLimits
PlanLimits = z.object({
storage_gb: z.number().int(),
requests_per_day: z.number().int(),
hrm_inferences_per_day: z.number().int(),
concurrent_connections: z.number().int(),
backup_retention_days: z.number().int(),
})Source: minds-ui/apps/api-service/types/billing.ts:358.
PlanLimits
export type PlanLimits = z.infer<typeof PlanLimits>Source: minds-ui/apps/api-service/types/billing.ts:366.
PlanPricing
PlanPricing = z.object({
base_price: z.number(),
currency: z.string(),
billing_interval: z.enum(['month', 'year']),
overage_rates: z.record(z.number()).optional(),
})Source: minds-ui/apps/api-service/types/billing.ts:372.
PlanPricing
export type PlanPricing = z.infer<typeof PlanPricing>Source: minds-ui/apps/api-service/types/billing.ts:379.
Plan
Plan = z.object({
id: z.string(),
name: z.string(),
display_name: z.string(),
description: z.string(),
limits: PlanLimits,
pricing: PlanPricing,
features: z.array(z.string()),
enabled: z.boolean(),
beta_only: z.boolean(),
})Source: minds-ui/apps/api-service/types/billing.ts:385.
Plan
export type Plan = z.infer<typeof Plan>Source: minds-ui/apps/api-service/types/billing.ts:397.
ListPlansResponse
ListPlansResponse = z.object({
plans: z.array(Plan),
})Source: minds-ui/apps/api-service/types/billing.ts:403.
ListPlansResponse
export type ListPlansResponse = z.infer<typeof ListPlansResponse>Source: minds-ui/apps/api-service/types/billing.ts:407.
minds-ui/apps/api-service/types/cache.ts
CacheOperation
CacheOperation = z.enum([
'get',
'set',
'delete',
'exists',
'expire',
'ttl',
'flush',
'keys',
'increment',
'decrement',
])Source: minds-ui/apps/api-service/types/cache.ts:7.
CacheOperation
export type CacheOperation = z.infer<typeof CacheOperation>Source: minds-ui/apps/api-service/types/cache.ts:20.
CacheKey
CacheKey = z.object({
key: z.string(),
value: z.unknown(),
ttl_seconds: z.number().int().optional(),
created_at: z.string().datetime(),
expires_at: z.string().datetime().nullable(),
})Source: minds-ui/apps/api-service/types/cache.ts:26.
CacheKey
export type CacheKey = z.infer<typeof CacheKey>Source: minds-ui/apps/api-service/types/cache.ts:34.
CacheGetRequest
CacheGetRequest = z.object({
key: z.string(),
})Source: minds-ui/apps/api-service/types/cache.ts:40.
CacheGetRequest
export type CacheGetRequest = z.infer<typeof CacheGetRequest>Source: minds-ui/apps/api-service/types/cache.ts:44.
CacheGetResponse
CacheGetResponse = z.object({
key: z.string(),
value: z.unknown(),
exists: z.boolean(),
ttl_seconds: z.number().int().nullable(),
created_at: z.string().datetime(),
expires_at: z.string().datetime().nullable(),
})Source: minds-ui/apps/api-service/types/cache.ts:50.
CacheGetResponse
export type CacheGetResponse = z.infer<typeof CacheGetResponse>Source: minds-ui/apps/api-service/types/cache.ts:59.
CacheSetRequest
CacheSetRequest = z.object({
value: z.unknown(),
ttl_seconds: z.number().int().min(1).optional(),
nx: z.boolean().optional().default(false), // Only set if not exists
xx: z.boolean().optional().default(false), // Only set if exists
})Source: minds-ui/apps/api-service/types/cache.ts:65.
CacheSetRequest
export type CacheSetRequest = z.infer<typeof CacheSetRequest>Source: minds-ui/apps/api-service/types/cache.ts:72.
CacheSetResponse
CacheSetResponse = z.object({
key: z.string(),
set: z.boolean(),
ttl_seconds: z.number().int().nullable(),
created_at: z.string().datetime(),
expires_at: z.string().datetime().nullable(),
})Source: minds-ui/apps/api-service/types/cache.ts:78.
CacheSetResponse
export type CacheSetResponse = z.infer<typeof CacheSetResponse>Source: minds-ui/apps/api-service/types/cache.ts:86.
CacheDeleteRequest
CacheDeleteRequest = z.object({
key: z.string(),
})Source: minds-ui/apps/api-service/types/cache.ts:92.
CacheDeleteRequest
export type CacheDeleteRequest = z.infer<typeof CacheDeleteRequest>Source: minds-ui/apps/api-service/types/cache.ts:96.
CacheDeleteResponse
CacheDeleteResponse = z.object({
key: z.string(),
deleted: z.boolean(),
})Source: minds-ui/apps/api-service/types/cache.ts:102.
CacheDeleteResponse
export type CacheDeleteResponse = z.infer<typeof CacheDeleteResponse>Source: minds-ui/apps/api-service/types/cache.ts:107.
CacheExistsRequest
CacheExistsRequest = z.object({
key: z.string(),
})Source: minds-ui/apps/api-service/types/cache.ts:113.
CacheExistsRequest
export type CacheExistsRequest = z.infer<typeof CacheExistsRequest>Source: minds-ui/apps/api-service/types/cache.ts:117.
CacheExistsResponse
CacheExistsResponse = z.object({
key: z.string(),
exists: z.boolean(),
ttl_seconds: z.number().int().nullable(),
})Source: minds-ui/apps/api-service/types/cache.ts:123.
CacheExistsResponse
export type CacheExistsResponse = z.infer<typeof CacheExistsResponse>Source: minds-ui/apps/api-service/types/cache.ts:129.
CacheTTLRequest
CacheTTLRequest = z.object({
key: z.string(),
})Source: minds-ui/apps/api-service/types/cache.ts:135.
CacheTTLRequest
export type CacheTTLRequest = z.infer<typeof CacheTTLRequest>Source: minds-ui/apps/api-service/types/cache.ts:139.
CacheTTLResponse
CacheTTLResponse = z.object({
key: z.string(),
ttl_seconds: z.number().int().nullable(),
expires_at: z.string().datetime().nullable(),
})Source: minds-ui/apps/api-service/types/cache.ts:145.
CacheTTLResponse
export type CacheTTLResponse = z.infer<typeof CacheTTLResponse>Source: minds-ui/apps/api-service/types/cache.ts:151.
CacheExpireRequest
CacheExpireRequest = z.object({
key: z.string(),
ttl_seconds: z.number().int().min(1),
})Source: minds-ui/apps/api-service/types/cache.ts:157.
CacheExpireRequest
export type CacheExpireRequest = z.infer<typeof CacheExpireRequest>Source: minds-ui/apps/api-service/types/cache.ts:162.
CacheExpireResponse
CacheExpireResponse = z.object({
key: z.string(),
expired: z.boolean(),
ttl_seconds: z.number().int(),
expires_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/cache.ts:168.
CacheExpireResponse
export type CacheExpireResponse = z.infer<typeof CacheExpireResponse>Source: minds-ui/apps/api-service/types/cache.ts:175.
CacheKeysQuery
CacheKeysQuery = z.object({
pattern: z.string().optional(),
limit: z.coerce.number().int().min(1).max(1000).default(100),
offset: z.coerce.number().int().min(0).default(0),
})Source: minds-ui/apps/api-service/types/cache.ts:181.
CacheKeysQuery
export type CacheKeysQuery = z.infer<typeof CacheKeysQuery>Source: minds-ui/apps/api-service/types/cache.ts:187.
CacheKeysResponse
CacheKeysResponse = z.object({
keys: z.array(z.string()),
total: z.number().int(),
pattern: z.string().optional(),
})Source: minds-ui/apps/api-service/types/cache.ts:193.
CacheKeysResponse
export type CacheKeysResponse = z.infer<typeof CacheKeysResponse>Source: minds-ui/apps/api-service/types/cache.ts:199.
CacheFlushRequest
CacheFlushRequest = z.object({
pattern: z.string().optional(),
confirm: z.boolean().optional().default(false),
})Source: minds-ui/apps/api-service/types/cache.ts:205.
CacheFlushRequest
export type CacheFlushRequest = z.infer<typeof CacheFlushRequest>Source: minds-ui/apps/api-service/types/cache.ts:210.
CacheFlushResponse
CacheFlushResponse = z.object({
flushed: z.number().int(),
pattern: z.string().optional(),
flushed_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/cache.ts:216.
CacheFlushResponse
export type CacheFlushResponse = z.infer<typeof CacheFlushResponse>Source: minds-ui/apps/api-service/types/cache.ts:222.
CacheIncrementRequest
CacheIncrementRequest = z.object({
key: z.string(),
value: z.number().int().optional().default(1),
ttl_seconds: z.number().int().min(1).optional(),
})Source: minds-ui/apps/api-service/types/cache.ts:228.
CacheIncrementRequest
export type CacheIncrementRequest = z.infer<typeof CacheIncrementRequest>Source: minds-ui/apps/api-service/types/cache.ts:234.
CacheIncrementResponse
CacheIncrementResponse = z.object({
key: z.string(),
value: z.number().int(),
ttl_seconds: z.number().int().nullable(),
})Source: minds-ui/apps/api-service/types/cache.ts:240.
CacheIncrementResponse
export type CacheIncrementResponse = z.infer<typeof CacheIncrementResponse>Source: minds-ui/apps/api-service/types/cache.ts:246.
CacheDecrementRequest
CacheDecrementRequest = z.object({
key: z.string(),
value: z.number().int().optional().default(1),
ttl_seconds: z.number().int().min(1).optional(),
})Source: minds-ui/apps/api-service/types/cache.ts:252.
CacheDecrementRequest
export type CacheDecrementRequest = z.infer<typeof CacheDecrementRequest>Source: minds-ui/apps/api-service/types/cache.ts:258.
CacheDecrementResponse
CacheDecrementResponse = z.object({
key: z.string(),
value: z.number().int(),
ttl_seconds: z.number().int().nullable(),
})Source: minds-ui/apps/api-service/types/cache.ts:264.
CacheDecrementResponse
export type CacheDecrementResponse = z.infer<typeof CacheDecrementResponse>Source: minds-ui/apps/api-service/types/cache.ts:270.
CacheStats
CacheStats = z.object({
total_keys: z.number().int(),
memory_usage_mb: z.number(),
hit_rate_percent: z.number().min(0).max(100),
miss_rate_percent: z.number().min(0).max(100),
evictions_per_second: z.number(),
operations_per_second: z.number(),
average_ttl_seconds: z.number().optional(),
period_start: z.string().datetime(),
period_end: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/cache.ts:276.
CacheStats
export type CacheStats = z.infer<typeof CacheStats>Source: minds-ui/apps/api-service/types/cache.ts:288.
GetCacheStatsResponse
GetCacheStatsResponse = z.object({
stats: CacheStats,
period: z.object({
start: z.string().datetime(),
end: z.string().datetime(),
}),
})Source: minds-ui/apps/api-service/types/cache.ts:294.
GetCacheStatsResponse
export type GetCacheStatsResponse = z.infer<typeof GetCacheStatsResponse>Source: minds-ui/apps/api-service/types/cache.ts:302.
CacheConfig
CacheConfig = z.object({
max_memory_mb: z.number().int().min(1),
max_keys: z.number().int().min(1),
default_ttl_seconds: z.number().int().min(1),
eviction_policy: z.enum(['lru', 'lfu', 'ttl', 'random']),
compression_enabled: z.boolean(),
persistence_enabled: z.boolean(),
cluster_enabled: z.boolean(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/cache.ts:308.
CacheConfig
export type CacheConfig = z.infer<typeof CacheConfig>Source: minds-ui/apps/api-service/types/cache.ts:320.
UpdateCacheConfigRequest
UpdateCacheConfigRequest = z.object({
max_memory_mb: z.number().int().min(1).optional(),
max_keys: z.number().int().min(1).optional(),
default_ttl_seconds: z.number().int().min(1).optional(),
eviction_policy: z.enum(['lru', 'lfu', 'ttl', 'random']).optional(),
compression_enabled: z.boolean().optional(),
persistence_enabled: z.boolean().optional(),
cluster_enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/cache.ts:326.
UpdateCacheConfigRequest
export type UpdateCacheConfigRequest = z.infer<typeof UpdateCacheConfigRequest>Source: minds-ui/apps/api-service/types/cache.ts:336.
GetCacheConfigResponse
GetCacheConfigResponse = z.object({
config: CacheConfig,
})Source: minds-ui/apps/api-service/types/cache.ts:342.
GetCacheConfigResponse
export type GetCacheConfigResponse = z.infer<typeof GetCacheConfigResponse>Source: minds-ui/apps/api-service/types/cache.ts:346.
CacheHealthCheck
CacheHealthCheck = z.object({
status: z.enum(['healthy', 'degraded', 'down']),
connected: z.boolean(),
memory_usage_percent: z.number().min(0).max(100),
hit_rate_percent: z.number().min(0).max(100),
response_time_ms: z.number(),
last_check: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/cache.ts:352.
CacheHealthCheck
export type CacheHealthCheck = z.infer<typeof CacheHealthCheck>Source: minds-ui/apps/api-service/types/cache.ts:361.
GetCacheHealthResponse
GetCacheHealthResponse = z.object({
health: CacheHealthCheck,
})Source: minds-ui/apps/api-service/types/cache.ts:367.
GetCacheHealthResponse
export type GetCacheHealthResponse = z.infer<typeof GetCacheHealthResponse>Source: minds-ui/apps/api-service/types/cache.ts:371.
CacheNamespace
CacheNamespace = z.object({
name: z.string(),
description: z.string().optional(),
ttl_seconds: z.number().int().min(1).optional(),
max_keys: z.number().int().min(1).optional(),
enabled: z.boolean(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/cache.ts:377.
CacheNamespace
export type CacheNamespace = z.infer<typeof CacheNamespace>Source: minds-ui/apps/api-service/types/cache.ts:387.
CreateCacheNamespaceRequest
CreateCacheNamespaceRequest = z.object({
name: z.string().min(1).max(100),
description: z.string().max(500).optional(),
ttl_seconds: z.number().int().min(1).optional(),
max_keys: z.number().int().min(1).optional(),
})Source: minds-ui/apps/api-service/types/cache.ts:393.
CreateCacheNamespaceRequest
export type CreateCacheNamespaceRequest = z.infer<typeof CreateCacheNamespaceRequest>Source: minds-ui/apps/api-service/types/cache.ts:400.
UpdateCacheNamespaceRequest
UpdateCacheNamespaceRequest = z.object({
description: z.string().max(500).optional(),
ttl_seconds: z.number().int().min(1).optional(),
max_keys: z.number().int().min(1).optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/cache.ts:406.
UpdateCacheNamespaceRequest
export type UpdateCacheNamespaceRequest = z.infer<typeof UpdateCacheNamespaceRequest>Source: minds-ui/apps/api-service/types/cache.ts:413.
ListCacheNamespacesResponse
ListCacheNamespacesResponse = z.object({
namespaces: z.array(CacheNamespace),
})Source: minds-ui/apps/api-service/types/cache.ts:419.
ListCacheNamespacesResponse
export type ListCacheNamespacesResponse = z.infer<typeof ListCacheNamespacesResponse>Source: minds-ui/apps/api-service/types/cache.ts:423.
CacheNamespaceStats
CacheNamespaceStats = z.object({
namespace: z.string(),
total_keys: z.number().int(),
memory_usage_mb: z.number(),
hit_rate_percent: z.number().min(0).max(100),
operations_per_second: z.number(),
average_ttl_seconds: z.number().optional(),
period_start: z.string().datetime(),
period_end: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/cache.ts:429.
CacheNamespaceStats
export type CacheNamespaceStats = z.infer<typeof CacheNamespaceStats>Source: minds-ui/apps/api-service/types/cache.ts:440.
GetCacheNamespaceStatsResponse
GetCacheNamespaceStatsResponse = z.object({
stats: CacheNamespaceStats,
period: z.object({
start: z.string().datetime(),
end: z.string().datetime(),
}),
})Source: minds-ui/apps/api-service/types/cache.ts:446.
GetCacheNamespaceStatsResponse
export type GetCacheNamespaceStatsResponse = z.infer<typeof GetCacheNamespaceStatsResponse>Source: minds-ui/apps/api-service/types/cache.ts:454.
minds-ui/apps/api-service/types/config.ts
ConfigKey
ConfigKey = z.enum([
'app_name',
'app_version',
'environment',
'debug_mode',
'log_level',
'database_url',
'redis_url',
'stripe_secret_key',
'stripe_webhook_secret',
'jwt_secret',
'encryption_key',
'cors_origins',
'rate_limit_requests',
'rate_limit_window',
'backup_retention_days',
'session_expiry_hours',
'api_key_expiry_days',
'max_tenants_per_org',
'max_users_per_org',
'default_tenant_plan',
'default_region',
'ingress_target',
'dns_provider',
'monitoring_enabled',
'analytics_enabled',
'notifications_enabled',
])Source: minds-ui/apps/api-service/types/config.ts:7.
ConfigKey
export type ConfigKey = z.infer<typeof ConfigKey>Source: minds-ui/apps/api-service/types/config.ts:36.
ConfigValueType
ConfigValueType = z.enum([
'string',
'number',
'boolean',
'json',
'array',
])Source: minds-ui/apps/api-service/types/config.ts:42.
ConfigValueType
export type ConfigValueType = z.infer<typeof ConfigValueType>Source: minds-ui/apps/api-service/types/config.ts:50.
Config
Config = z.object({
key: ConfigKey,
value: z.unknown(),
type: ConfigValueType,
description: z.string().optional(),
required: z.boolean().optional().default(false),
sensitive: z.boolean().optional().default(false),
environment: z.string().optional(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/config.ts:56.
Config
export type Config = z.infer<typeof Config>Source: minds-ui/apps/api-service/types/config.ts:68.
UpdateConfigRequest
UpdateConfigRequest = z.object({
key: ConfigKey,
value: z.unknown(),
})Source: minds-ui/apps/api-service/types/config.ts:74.
UpdateConfigRequest
export type UpdateConfigRequest = z.infer<typeof UpdateConfigRequest>Source: minds-ui/apps/api-service/types/config.ts:79.
ListConfigResponse
ListConfigResponse = z.object({
config: z.array(Config),
})Source: minds-ui/apps/api-service/types/config.ts:85.
ListConfigResponse
export type ListConfigResponse = z.infer<typeof ListConfigResponse>Source: minds-ui/apps/api-service/types/config.ts:89.
ConfigValidation
ConfigValidation = z.object({
key: ConfigKey,
valid: z.boolean(),
errors: z.array(z.string()).optional(),
warnings: z.array(z.string()).optional(),
})Source: minds-ui/apps/api-service/types/config.ts:95.
ConfigValidation
export type ConfigValidation = z.infer<typeof ConfigValidation>Source: minds-ui/apps/api-service/types/config.ts:102.
ValidateConfigResponse
ValidateConfigResponse = z.object({
valid: z.boolean(),
validations: z.array(ConfigValidation),
})Source: minds-ui/apps/api-service/types/config.ts:108.
ValidateConfigResponse
export type ValidateConfigResponse = z.infer<typeof ValidateConfigResponse>Source: minds-ui/apps/api-service/types/config.ts:113.
ConfigTemplate
ConfigTemplate = z.object({
id: z.string(),
name: z.string(),
description: z.string().optional(),
environment: z.string(),
config: z.record(z.unknown()),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/config.ts:119.
ConfigTemplate
export type ConfigTemplate = z.infer<typeof ConfigTemplate>Source: minds-ui/apps/api-service/types/config.ts:129.
CreateConfigTemplateRequest
CreateConfigTemplateRequest = z.object({
name: z.string().min(1).max(100),
description: z.string().max(500).optional(),
environment: z.string(),
config: z.record(z.unknown()),
})Source: minds-ui/apps/api-service/types/config.ts:135.
CreateConfigTemplateRequest
export type CreateConfigTemplateRequest = z.infer<typeof CreateConfigTemplateRequest>Source: minds-ui/apps/api-service/types/config.ts:142.
UpdateConfigTemplateRequest
UpdateConfigTemplateRequest = z.object({
name: z.string().min(1).max(100).optional(),
description: z.string().max(500).optional(),
environment: z.string().optional(),
config: z.record(z.unknown()).optional(),
})Source: minds-ui/apps/api-service/types/config.ts:148.
UpdateConfigTemplateRequest
export type UpdateConfigTemplateRequest = z.infer<typeof UpdateConfigTemplateRequest>Source: minds-ui/apps/api-service/types/config.ts:155.
ListConfigTemplatesResponse
ListConfigTemplatesResponse = z.object({
templates: z.array(ConfigTemplate),
})Source: minds-ui/apps/api-service/types/config.ts:161.
ListConfigTemplatesResponse
export type ListConfigTemplatesResponse = z.infer<typeof ListConfigTemplatesResponse>Source: minds-ui/apps/api-service/types/config.ts:165.
ConfigMigration
ConfigMigration = z.object({
id: z.string(),
version: z.string(),
description: z.string(),
from_version: z.string().optional(),
to_version: z.string(),
migration_script: z.string().optional(),
rollback_script: z.string().optional(),
applied: z.boolean(),
applied_at: z.string().datetime().nullable(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/config.ts:171.
ConfigMigration
export type ConfigMigration = z.infer<typeof ConfigMigration>Source: minds-ui/apps/api-service/types/config.ts:184.
ListConfigMigrationsResponse
ListConfigMigrationsResponse = z.object({
migrations: z.array(ConfigMigration),
})Source: minds-ui/apps/api-service/types/config.ts:190.
ListConfigMigrationsResponse
export type ListConfigMigrationsResponse = z.infer<typeof ListConfigMigrationsResponse>Source: minds-ui/apps/api-service/types/config.ts:194.
ApplyConfigMigrationRequest
ApplyConfigMigrationRequest = z.object({
migration_id: z.string(),
dry_run: z.boolean().optional().default(false),
})Source: minds-ui/apps/api-service/types/config.ts:200.
ApplyConfigMigrationRequest
export type ApplyConfigMigrationRequest = z.infer<typeof ApplyConfigMigrationRequest>Source: minds-ui/apps/api-service/types/config.ts:205.
ApplyConfigMigrationResponse
ApplyConfigMigrationResponse = z.object({
migration_id: z.string(),
applied: z.boolean(),
dry_run: z.boolean(),
changes: z.array(z.object({
key: ConfigKey,
old_value: z.unknown().optional(),
new_value: z.unknown(),
})).optional(),
applied_at: z.string().datetime().optional(),
})Source: minds-ui/apps/api-service/types/config.ts:211.
ApplyConfigMigrationResponse
export type ApplyConfigMigrationResponse = z.infer<typeof ApplyConfigMigrationResponse>Source: minds-ui/apps/api-service/types/config.ts:223.
ConfigBackup
ConfigBackup = z.object({
id: z.string(),
name: z.string(),
description: z.string().optional(),
config_snapshot: z.record(z.unknown()),
environment: z.string(),
created_by: z.string(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/config.ts:229.
ConfigBackup
export type ConfigBackup = z.infer<typeof ConfigBackup>Source: minds-ui/apps/api-service/types/config.ts:239.
CreateConfigBackupRequest
CreateConfigBackupRequest = z.object({
name: z.string().min(1).max(100),
description: z.string().max(500).optional(),
environment: z.string().optional(),
})Source: minds-ui/apps/api-service/types/config.ts:245.
CreateConfigBackupRequest
export type CreateConfigBackupRequest = z.infer<typeof CreateConfigBackupRequest>Source: minds-ui/apps/api-service/types/config.ts:251.
RestoreConfigBackupRequest
RestoreConfigBackupRequest = z.object({
backup_id: z.string(),
dry_run: z.boolean().optional().default(false),
})Source: minds-ui/apps/api-service/types/config.ts:257.
RestoreConfigBackupRequest
export type RestoreConfigBackupRequest = z.infer<typeof RestoreConfigBackupRequest>Source: minds-ui/apps/api-service/types/config.ts:262.
RestoreConfigBackupResponse
RestoreConfigBackupResponse = z.object({
backup_id: z.string(),
restored: z.boolean(),
dry_run: z.boolean(),
changes: z.array(z.object({
key: ConfigKey,
old_value: z.unknown().optional(),
new_value: z.unknown(),
})).optional(),
restored_at: z.string().datetime().optional(),
})Source: minds-ui/apps/api-service/types/config.ts:268.
RestoreConfigBackupResponse
export type RestoreConfigBackupResponse = z.infer<typeof RestoreConfigBackupResponse>Source: minds-ui/apps/api-service/types/config.ts:280.
ListConfigBackupsResponse
ListConfigBackupsResponse = z.object({
backups: z.array(ConfigBackup),
})Source: minds-ui/apps/api-service/types/config.ts:286.
ListConfigBackupsResponse
export type ListConfigBackupsResponse = z.infer<typeof ListConfigBackupsResponse>Source: minds-ui/apps/api-service/types/config.ts:290.
ConfigEnvironment
ConfigEnvironment = z.object({
name: z.string(),
description: z.string().optional(),
config: z.record(z.unknown()),
variables: z.record(z.string()).optional(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/config.ts:296.
ConfigEnvironment
export type ConfigEnvironment = z.infer<typeof ConfigEnvironment>Source: minds-ui/apps/api-service/types/config.ts:305.
ListConfigEnvironmentsResponse
ListConfigEnvironmentsResponse = z.object({
environments: z.array(ConfigEnvironment),
})Source: minds-ui/apps/api-service/types/config.ts:311.
ListConfigEnvironmentsResponse
export type ListConfigEnvironmentsResponse = z.infer<typeof ListConfigEnvironmentsResponse>Source: minds-ui/apps/api-service/types/config.ts:315.
ConfigSecret
ConfigSecret = z.object({
key: ConfigKey,
encrypted_value: z.string(),
description: z.string().optional(),
environment: z.string().optional(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/config.ts:321.
ConfigSecret
export type ConfigSecret = z.infer<typeof ConfigSecret>Source: minds-ui/apps/api-service/types/config.ts:330.
UpdateConfigSecretRequest
UpdateConfigSecretRequest = z.object({
key: ConfigKey,
value: z.string(),
})Source: minds-ui/apps/api-service/types/config.ts:336.
UpdateConfigSecretRequest
export type UpdateConfigSecretRequest = z.infer<typeof UpdateConfigSecretRequest>Source: minds-ui/apps/api-service/types/config.ts:341.
ListConfigSecretsResponse
ListConfigSecretsResponse = z.object({
secrets: z.array(ConfigSecret.omit({ encrypted_value: true })),
})Source: minds-ui/apps/api-service/types/config.ts:347.
ListConfigSecretsResponse
export type ListConfigSecretsResponse = z.infer<typeof ListConfigSecretsResponse>Source: minds-ui/apps/api-service/types/config.ts:351.
minds-ui/apps/api-service/types/errors.ts
ErrorCode
ErrorCode = z.enum([
'INVALID_REQUEST',
'AUTHENTICATION_REQUIRED',
'PERMISSION_DENIED',
'RESOURCE_NOT_FOUND',
'CONFLICT',
'RATE_LIMIT_EXCEEDED',
'PROVISIONING_FAILED',
'INTERNAL_ERROR',
'SERVICE_UNAVAILABLE',
])Source: minds-ui/apps/api-service/types/errors.ts:7.
ErrorCode
export type ErrorCode = z.infer<typeof ErrorCode>Source: minds-ui/apps/api-service/types/errors.ts:19.
ApiErrorResponse
ApiErrorResponse = z.object({
error: z.object({
code: ErrorCode,
message: z.string(),
details: z.unknown().optional(),
request_id: z.string(),
}),
})Source: minds-ui/apps/api-service/types/errors.ts:25.
ApiErrorResponse
export type ApiErrorResponse = z.infer<typeof ApiErrorResponse>Source: minds-ui/apps/api-service/types/errors.ts:34.
minds-ui/apps/api-service/types/health.ts
HealthStatus
HealthStatus = z.enum([
'healthy',
'degraded',
'down',
])Source: minds-ui/apps/api-service/types/health.ts:7.
HealthStatus
export type HealthStatus = z.infer<typeof HealthStatus>Source: minds-ui/apps/api-service/types/health.ts:13.
HealthCheck
HealthCheck = z.object({
name: z.string(),
status: HealthStatus,
message: z.string().optional(),
duration_ms: z.number().optional(),
metadata: z.record(z.unknown()).optional(),
})Source: minds-ui/apps/api-service/types/health.ts:19.
HealthCheck
export type HealthCheck = z.infer<typeof HealthCheck>Source: minds-ui/apps/api-service/types/health.ts:27.
HealthResponse
HealthResponse = z.object({
status: HealthStatus,
timestamp: z.string().datetime(),
version: z.string().optional(),
uptime_seconds: z.number().optional(),
checks: z.array(HealthCheck),
})Source: minds-ui/apps/api-service/types/health.ts:33.
HealthResponse
export type HealthResponse = z.infer<typeof HealthResponse>Source: minds-ui/apps/api-service/types/health.ts:41.
DatabaseHealthCheck
DatabaseHealthCheck = z.object({
connected: z.boolean(),
response_time_ms: z.number().optional(),
active_connections: z.number().int().optional(),
max_connections: z.number().int().optional(),
database_size_mb: z.number().optional(),
last_backup: z.string().datetime().optional(),
})Source: minds-ui/apps/api-service/types/health.ts:47.
DatabaseHealthCheck
export type DatabaseHealthCheck = z.infer<typeof DatabaseHealthCheck>Source: minds-ui/apps/api-service/types/health.ts:56.
StorageHealthCheck
StorageHealthCheck = z.object({
accessible: z.boolean(),
total_space_gb: z.number().optional(),
used_space_gb: z.number().optional(),
available_space_gb: z.number().optional(),
iops: z.number().optional(),
latency_ms: z.number().optional(),
})Source: minds-ui/apps/api-service/types/health.ts:62.
StorageHealthCheck
export type StorageHealthCheck = z.infer<typeof StorageHealthCheck>Source: minds-ui/apps/api-service/types/health.ts:71.
CacheHealthCheck
CacheHealthCheck = z.object({
connected: z.boolean(),
hit_rate_percent: z.number().min(0).max(100).optional(),
memory_usage_mb: z.number().optional(),
evictions_per_second: z.number().optional(),
response_time_ms: z.number().optional(),
})Source: minds-ui/apps/api-service/types/health.ts:77.
CacheHealthCheck
export type CacheHealthCheck = z.infer<typeof CacheHealthCheck>Source: minds-ui/apps/api-service/types/health.ts:85.
ExternalServiceHealthCheck
ExternalServiceHealthCheck = z.object({
name: z.string(),
url: z.string().url(),
status: HealthStatus,
response_time_ms: z.number().optional(),
last_check: z.string().datetime().optional(),
error_rate_percent: z.number().min(0).max(100).optional(),
})Source: minds-ui/apps/api-service/types/health.ts:91.
ExternalServiceHealthCheck
export type ExternalServiceHealthCheck = z.infer<typeof ExternalServiceHealthCheck>Source: minds-ui/apps/api-service/types/health.ts:100.
SystemResourcesHealthCheck
SystemResourcesHealthCheck = z.object({
cpu_usage_percent: z.number().min(0).max(100),
memory_usage_percent: z.number().min(0).max(100),
disk_usage_percent: z.number().min(0).max(100),
network_io_mbps: z.number().optional(),
load_average: z.number().optional(),
})Source: minds-ui/apps/api-service/types/health.ts:106.
SystemResourcesHealthCheck
export type SystemResourcesHealthCheck = z.infer<typeof SystemResourcesHealthCheck>Source: minds-ui/apps/api-service/types/health.ts:114.
DetailedHealthResponse
DetailedHealthResponse = z.object({
status: HealthStatus,
timestamp: z.string().datetime(),
version: z.string().optional(),
uptime_seconds: z.number().optional(),
checks: z.object({
database: DatabaseHealthCheck.optional(),
storage: StorageHealthCheck.optional(),
cache: CacheHealthCheck.optional(),
external_services: z.array(ExternalServiceHealthCheck).optional(),
system_resources: SystemResourcesHealthCheck.optional(),
}),
metadata: z.record(z.unknown()).optional(),
})Source: minds-ui/apps/api-service/types/health.ts:120.
DetailedHealthResponse
export type DetailedHealthResponse = z.infer<typeof DetailedHealthResponse>Source: minds-ui/apps/api-service/types/health.ts:135.
HealthCheckConfig
HealthCheckConfig = z.object({
enabled: z.boolean(),
interval_seconds: z.number().int().min(1),
timeout_seconds: z.number().int().min(1),
retry_count: z.number().int().min(0),
failure_threshold: z.number().int().min(1),
})Source: minds-ui/apps/api-service/types/health.ts:141.
HealthCheckConfig
export type HealthCheckConfig = z.infer<typeof HealthCheckConfig>Source: minds-ui/apps/api-service/types/health.ts:149.
HealthCheckResult
HealthCheckResult = z.object({
id: z.string(),
check_name: z.string(),
status: HealthStatus,
message: z.string().optional(),
duration_ms: z.number().optional(),
metadata: z.record(z.unknown()).optional(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/health.ts:155.
HealthCheckResult
export type HealthCheckResult = z.infer<typeof HealthCheckResult>Source: minds-ui/apps/api-service/types/health.ts:165.
ListHealthCheckResultsQuery
ListHealthCheckResultsQuery = z.object({
limit: z.coerce.number().int().min(1).max(1000).default(100),
offset: z.coerce.number().int().min(0).default(0),
check_name: z.string().optional(),
status: HealthStatus.optional(),
start_date: z.string().datetime().optional(),
end_date: z.string().datetime().optional(),
})Source: minds-ui/apps/api-service/types/health.ts:171.
ListHealthCheckResultsQuery
export type ListHealthCheckResultsQuery = z.infer<typeof ListHealthCheckResultsQuery>Source: minds-ui/apps/api-service/types/health.ts:180.
ListHealthCheckResultsResponse
ListHealthCheckResultsResponse = z.object({
results: z.array(HealthCheckResult),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/health.ts:186.
ListHealthCheckResultsResponse
export type ListHealthCheckResultsResponse = z.infer<typeof ListHealthCheckResultsResponse>Source: minds-ui/apps/api-service/types/health.ts:195.
HealthMetrics
HealthMetrics = z.object({
uptime_percent: z.number().min(0).max(100),
average_response_time_ms: z.number(),
error_rate_percent: z.number().min(0).max(100),
total_checks: z.number().int(),
successful_checks: z.number().int(),
failed_checks: z.number().int(),
period_start: z.string().datetime(),
period_end: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/health.ts:201.
HealthMetrics
export type HealthMetrics = z.infer<typeof HealthMetrics>Source: minds-ui/apps/api-service/types/health.ts:212.
GetHealthMetricsResponse
GetHealthMetricsResponse = z.object({
metrics: HealthMetrics,
period: z.object({
start: z.string().datetime(),
end: z.string().datetime(),
}),
})Source: minds-ui/apps/api-service/types/health.ts:218.
GetHealthMetricsResponse
export type GetHealthMetricsResponse = z.infer<typeof GetHealthMetricsResponse>Source: minds-ui/apps/api-service/types/health.ts:226.
HealthAlert
HealthAlert = z.object({
id: z.string(),
check_name: z.string(),
status: HealthStatus,
message: z.string(),
severity: z.enum(['low', 'medium', 'high', 'critical']),
acknowledged: z.boolean(),
acknowledged_by: z.string().optional(),
acknowledged_at: z.string().datetime().optional(),
created_at: z.string().datetime(),
resolved_at: z.string().datetime().optional(),
})Source: minds-ui/apps/api-service/types/health.ts:232.
HealthAlert
export type HealthAlert = z.infer<typeof HealthAlert>Source: minds-ui/apps/api-service/types/health.ts:245.
ListHealthAlertsQuery
ListHealthAlertsQuery = z.object({
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
status: HealthStatus.optional(),
severity: z.enum(['low', 'medium', 'high', 'critical']).optional(),
acknowledged: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/health.ts:251.
ListHealthAlertsQuery
export type ListHealthAlertsQuery = z.infer<typeof ListHealthAlertsQuery>Source: minds-ui/apps/api-service/types/health.ts:259.
ListHealthAlertsResponse
ListHealthAlertsResponse = z.object({
alerts: z.array(HealthAlert),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/health.ts:265.
ListHealthAlertsResponse
export type ListHealthAlertsResponse = z.infer<typeof ListHealthAlertsResponse>Source: minds-ui/apps/api-service/types/health.ts:274.
AcknowledgeHealthAlertRequest
AcknowledgeHealthAlertRequest = z.object({
message: z.string().max(500).optional(),
})Source: minds-ui/apps/api-service/types/health.ts:280.
AcknowledgeHealthAlertRequest
export type AcknowledgeHealthAlertRequest = z.infer<typeof AcknowledgeHealthAlertRequest>Source: minds-ui/apps/api-service/types/health.ts:284.
AcknowledgeHealthAlertResponse
AcknowledgeHealthAlertResponse = z.object({
alert_id: z.string(),
acknowledged: z.boolean(),
acknowledged_by: z.string(),
acknowledged_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/health.ts:290.
AcknowledgeHealthAlertResponse
export type AcknowledgeHealthAlertResponse = z.infer<typeof AcknowledgeHealthAlertResponse>Source: minds-ui/apps/api-service/types/health.ts:297.
minds-ui/apps/api-service/types/integrations.ts
StripeCustomer
export interface StripeCustomer {
id: string;
email: string;
name?: string;
metadata: Record<string, string>;
}Source: minds-ui/apps/api-service/types/integrations.ts:20.
StripeSubscription
export interface StripeSubscription {
id: string;
customer_id: string;
status: 'active' | 'canceled' | 'past_due' | 'trialing';
plan_id: string;
current_period_start: Date;
current_period_end: Date;
cancel_at_period_end: boolean;
}Source: minds-ui/apps/api-service/types/integrations.ts:30.
StripeInvoice
export interface StripeInvoice {
id: string;
customer_id: string;
subscription_id?: string;
amount_due: number;
amount_paid: number;
status: 'draft' | 'open' | 'paid' | 'void' | 'uncollectible';
due_date?: Date;
paid_at?: Date;
line_items: StripeLineItem[];
}Source: minds-ui/apps/api-service/types/integrations.ts:43.
StripeLineItem
export interface StripeLineItem {
description: string;
quantity: number;
unit_price: number;
amount: number;
}Source: minds-ui/apps/api-service/types/integrations.ts:55.
StripeWebhookEvent
export interface StripeWebhookEvent {
id: string;
type: string;
data: {
object: any;
};
created: number;
}Source: minds-ui/apps/api-service/types/integrations.ts:65.
IStripeClient
export interface IStripeClient {
/**
* Create a new customer
*/
createCustomer(params: {
email: string;
name?: string;
metadata: Record<string, string>;
}): Promise<StripeCustomer>;
/**
* Get customer by ID
*/
getCustomer(customerId: string): Promise<StripeCustomer>;
/**
* Create subscription
*/
createSubscription(params: {
customerId: string;
priceId: string;
metadata?: Record<string, string>;
}): Promise<StripeSubscription>;
/**
* Cancel subscription
*/
cancelSubscription(subscriptionId: string, cancelAtPeriodEnd?: boolean): Promise<StripeSubscription>;
/**
* Get invoices for customer
*/
getInvoices(customerId: string, limit?: number): Promise<StripeInvoice[]>;
/**
* Create usage record (for metered billing)
*/
createUsageRecord(params: {
subscriptionItemId: string;
quantity: number;
timestamp?: number;
action?: 'increment' | 'set';
}): Promise<{ id: string }>;
/**
* Verify webhook signature
*/
verifyWebhookSignature(payload: string, signature: string, secret: string): StripeWebhookEvent;
}Source: minds-ui/apps/api-service/types/integrations.ts:77.
PrometheusQueryResult
export interface PrometheusQueryResult {
status: 'success' | 'error';
data: {
resultType: 'matrix' | 'vector' | 'scalar' | 'string';
result: PrometheusMetric[];
};
errorType?: string;
error?: string;
}Source: minds-ui/apps/api-service/types/integrations.ts:134.
PrometheusMetric
export interface PrometheusMetric {
metric: Record<string, string>;
values?: [number, string][]; // [timestamp, value]
value?: [number, string]; // [timestamp, value]
}Source: minds-ui/apps/api-service/types/integrations.ts:144.
GrafanaDashboard
export interface GrafanaDashboard {
id: number;
uid: string;
title: string;
tags: string[];
url: string;
}Source: minds-ui/apps/api-service/types/integrations.ts:153.
IPrometheusClient
export interface IPrometheusClient {
/**
* Query Prometheus (instant query)
*/
query(query: string, time?: number): Promise<PrometheusQueryResult>;
/**
* Range query Prometheus
*/
queryRange(params: {
query: string;
start: number;
end: number;
step: string;
}): Promise<PrometheusQueryResult>;
/**
* Push metrics to Pushgateway
*/
pushMetrics(job: string, metrics: Record<string, number>): Promise<void>;
}Source: minds-ui/apps/api-service/types/integrations.ts:164.
IGrafanaClient
export interface IGrafanaClient {
/**
* Create dashboard for tenant
*/
createDashboard(params: {
title: string;
tags: string[];
dashboard: any;
}): Promise<GrafanaDashboard>;
/**
* Get dashboard by UID
*/
getDashboard(uid: string): Promise<GrafanaDashboard>;
/**
* Delete dashboard
*/
deleteDashboard(uid: string): Promise<void>;
/**
* Create dashboard snapshot (shareable link)
*/
createSnapshot(dashboardId: number, expiresSeconds?: number): Promise<{ url: string }>;
}Source: minds-ui/apps/api-service/types/integrations.ts:189.
KongService
export interface KongService {
id: string;
name: string;
url: string;
protocol: 'http' | 'https' | 'grpc' | 'grpcs';
host: string;
port: number;
path?: string;
connect_timeout?: number;
write_timeout?: number;
read_timeout?: number;
}Source: minds-ui/apps/api-service/types/integrations.ts:222.
KongRoute
export interface KongRoute {
id: string;
name: string;
service: { id: string };
protocols: string[];
hosts?: string[];
paths?: string[];
methods?: string[];
headers?: Record<string, string[]>;
}Source: minds-ui/apps/api-service/types/integrations.ts:238.
KongConsumer
export interface KongConsumer {
id: string;
username: string;
custom_id?: string;
tags?: string[];
}Source: minds-ui/apps/api-service/types/integrations.ts:252.
KongKeyAuth
export interface KongKeyAuth {
id: string;
key: string;
consumer: { id: string };
}Source: minds-ui/apps/api-service/types/integrations.ts:262.
KongACL
export interface KongACL {
id: string;
group: string;
consumer: { id: string };
}Source: minds-ui/apps/api-service/types/integrations.ts:271.
KongPlugin
export interface KongPlugin {
id: string;
name: string;
service?: { id: string };
route?: { id: string };
consumer?: { id: string };
config: Record<string, any>;
enabled: boolean;
}Source: minds-ui/apps/api-service/types/integrations.ts:280.
IKongClient
export interface IKongClient {
// Service management
createService(service: Omit<KongService, 'id'>): Promise<KongService>;
getService(serviceId: string): Promise<KongService>;
updateService(serviceId: string, updates: Partial<KongService>): Promise<KongService>;
deleteService(serviceId: string): Promise<void>;
// Route management
createRoute(route: Omit<KongRoute, 'id'>): Promise<KongRoute>;
getRoute(routeId: string): Promise<KongRoute>;
deleteRoute(routeId: string): Promise<void>;
// Consumer management
createConsumer(consumer: Omit<KongConsumer, 'id'>): Promise<KongConsumer>;
getConsumer(consumerId: string): Promise<KongConsumer>;
deleteConsumer(consumerId: string): Promise<void>;
// Credential management
createKeyAuth(consumerId: string, key?: string): Promise<KongKeyAuth>;
deleteKeyAuth(consumerId: string, keyId: string): Promise<void>;
// ACL management
createACL(consumerId: string, group: string): Promise<KongACL>;
deleteACL(consumerId: string, aclId: string): Promise<void>;
// Plugin management
createPlugin(plugin: Omit<KongPlugin, 'id'>): Promise<KongPlugin>;
getPlugin(pluginId: string): Promise<KongPlugin>;
updatePlugin(pluginId: string, updates: Partial<KongPlugin>): Promise<KongPlugin>;
deletePlugin(pluginId: string): Promise<void>;
}Source: minds-ui/apps/api-service/types/integrations.ts:293.
VercelDomain
export interface VercelDomain {
name: string;
apexName: string;
verified: boolean;
verification?: {
type: string;
domain: string;
value: string;
reason?: string;
}[];
}Source: minds-ui/apps/api-service/types/integrations.ts:332.
VercelDNSRecord
export interface VercelDNSRecord {
id: string;
slug: string;
name: string;
type: 'A' | 'AAAA' | 'CNAME' | 'TXT' | 'MX' | 'SRV';
value: string;
ttl?: number;
}Source: minds-ui/apps/api-service/types/integrations.ts:347.
VercelProject
export interface VercelProject {
id: string;
name: string;
framework?: string;
devCommand?: string;
buildCommand?: string;
outputDirectory?: string;
}Source: minds-ui/apps/api-service/types/integrations.ts:359.
VercelDeployment
export interface VercelDeployment {
id: string;
url: string;
name: string;
state: 'BUILDING' | 'READY' | 'ERROR' | 'CANCELED';
readyState: 'QUEUED' | 'BUILDING' | 'READY' | 'ERROR';
createdAt: number;
}Source: minds-ui/apps/api-service/types/integrations.ts:371.
IDNSClient
export interface IDNSClient {
/**
* Add domain to Vercel project
*/
addDomain(projectId: string, domain: string): Promise<VercelDomain>;
/**
* Verify domain ownership
*/
verifyDomain(projectId: string, domain: string): Promise<VercelDomain>;
/**
* Remove domain
*/
removeDomain(projectId: string, domain: string): Promise<void>;
/**
* Create DNS record
*/
createDNSRecord(domain: string, record: Omit<VercelDNSRecord, 'id' | 'slug'>): Promise<VercelDNSRecord>;
/**
* Delete DNS record
*/
deleteDNSRecord(domain: string, recordId: string): Promise<void>;
/**
* Get domains for project
*/
getDomains(projectId: string): Promise<VercelDomain[]>;
}Source: minds-ui/apps/api-service/types/integrations.ts:383.
K8sDeployment
export interface K8sDeployment {
metadata: {
name: string;
namespace: string;
labels: Record<string, string>;
};
spec: {
replicas: number;
selector: {
matchLabels: Record<string, string>;
};
template: {
metadata: {
labels: Record<string, string>;
};
spec: {
containers: K8sContainer[];
};
};
};
status?: {
availableReplicas: number;
readyReplicas: number;
};
}Source: minds-ui/apps/api-service/types/integrations.ts:422.
K8sContainer
export interface K8sContainer {
name: string;
image: string;
ports?: K8sContainerPort[];
env?: K8sEnvVar[];
resources?: K8sResourceRequirements;
}Source: minds-ui/apps/api-service/types/integrations.ts:448.
K8sContainerPort
export interface K8sContainerPort {
containerPort: number;
protocol: 'TCP' | 'UDP';
}Source: minds-ui/apps/api-service/types/integrations.ts:456.
K8sEnvVar
export interface K8sEnvVar {
name: string;
value?: string;
valueFrom?: {
secretKeyRef?: {
name: string;
key: string;
};
};
}Source: minds-ui/apps/api-service/types/integrations.ts:461.
K8sResourceRequirements
export interface K8sResourceRequirements {
requests?: {
cpu?: string;
memory?: string;
};
limits?: {
cpu?: string;
memory?: string;
};
}Source: minds-ui/apps/api-service/types/integrations.ts:472.
K8sService
export interface K8sService {
metadata: {
name: string;
namespace: string;
};
spec: {
type: 'ClusterIP' | 'NodePort' | 'LoadBalancer';
selector: Record<string, string>;
ports: {
port: number;
targetPort: number;
protocol: 'TCP' | 'UDP';
}[];
};
}Source: minds-ui/apps/api-service/types/integrations.ts:486.
IKubernetesClient
export interface IKubernetesClient {
/**
* Create deployment
*/
createDeployment(deployment: K8sDeployment): Promise<K8sDeployment>;
/**
* Get deployment
*/
getDeployment(namespace: string, name: string): Promise<K8sDeployment>;
/**
* Update deployment
*/
updateDeployment(namespace: string, name: string, deployment: Partial<K8sDeployment>): Promise<K8sDeployment>;
/**
* Delete deployment
*/
deleteDeployment(namespace: string, name: string): Promise<void>;
/**
* Create service
*/
createService(service: K8sService): Promise<K8sService>;
/**
* Delete service
*/
deleteService(namespace: string, name: string): Promise<void>;
/**
* Check pod health
*/
getPodStatus(namespace: string, labelSelector: string): Promise<{ ready: number; total: number }>;
}Source: minds-ui/apps/api-service/types/integrations.ts:505.
minds-ui/apps/api-service/types/logging.ts
LogLevel
LogLevel = z.enum([
'debug',
'info',
'warn',
'error',
'fatal',
])Source: minds-ui/apps/api-service/types/logging.ts:7.
LogLevel
export type LogLevel = z.infer<typeof LogLevel>Source: minds-ui/apps/api-service/types/logging.ts:15.
LogSource
LogSource = z.enum([
'api',
'database',
'cache',
'queue',
'worker',
'scheduler',
'webhook',
'auth',
'billing',
'monitoring',
'system',
])Source: minds-ui/apps/api-service/types/logging.ts:21.
LogSource
export type LogSource = z.infer<typeof LogSource>Source: minds-ui/apps/api-service/types/logging.ts:35.
LogEntry
LogEntry = z.object({
id: z.string(),
level: LogLevel,
source: LogSource,
message: z.string(),
tenant_id: z.string().optional(),
user_id: z.string().optional(),
request_id: z.string().optional(),
trace_id: z.string().optional(),
span_id: z.string().optional(),
metadata: z.record(z.unknown()).optional(),
timestamp: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/logging.ts:41.
LogEntry
export type LogEntry = z.infer<typeof LogEntry>Source: minds-ui/apps/api-service/types/logging.ts:55.
ListLogsQuery
ListLogsQuery = z.object({
limit: z.coerce.number().int().min(1).max(1000).default(100),
offset: z.coerce.number().int().min(0).default(0),
level: LogLevel.optional(),
source: LogSource.optional(),
tenant_id: z.string().optional(),
user_id: z.string().optional(),
request_id: z.string().optional(),
trace_id: z.string().optional(),
start_date: z.string().datetime().optional(),
end_date: z.string().datetime().optional(),
search: z.string().optional(),
})Source: minds-ui/apps/api-service/types/logging.ts:61.
ListLogsQuery
export type ListLogsQuery = z.infer<typeof ListLogsQuery>Source: minds-ui/apps/api-service/types/logging.ts:75.
ListLogsResponse
ListLogsResponse = z.object({
logs: z.array(LogEntry),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/logging.ts:81.
ListLogsResponse
export type ListLogsResponse = z.infer<typeof ListLogsResponse>Source: minds-ui/apps/api-service/types/logging.ts:90.
LogStats
LogStats = z.object({
total_logs: z.number().int(),
logs_by_level: z.record(z.number().int()),
logs_by_source: z.record(z.number().int()),
error_rate_percent: z.number().min(0).max(100),
average_logs_per_minute: z.number(),
period_start: z.string().datetime(),
period_end: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/logging.ts:96.
LogStats
export type LogStats = z.infer<typeof LogStats>Source: minds-ui/apps/api-service/types/logging.ts:106.
GetLogStatsResponse
GetLogStatsResponse = z.object({
stats: LogStats,
period: z.object({
start: z.string().datetime(),
end: z.string().datetime(),
}),
})Source: minds-ui/apps/api-service/types/logging.ts:112.
GetLogStatsResponse
export type GetLogStatsResponse = z.infer<typeof GetLogStatsResponse>Source: minds-ui/apps/api-service/types/logging.ts:120.
LogConfig
LogConfig = z.object({
level: LogLevel,
sources: z.array(LogSource),
retention_days: z.number().int().min(1).max(365),
max_file_size_mb: z.number().int().min(1).max(1000),
compression_enabled: z.boolean(),
structured_logging: z.boolean(),
performance_logging: z.boolean(),
audit_logging: z.boolean(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/logging.ts:126.
LogConfig
export type LogConfig = z.infer<typeof LogConfig>Source: minds-ui/apps/api-service/types/logging.ts:139.
UpdateLogConfigRequest
UpdateLogConfigRequest = z.object({
level: LogLevel.optional(),
sources: z.array(LogSource).optional(),
retention_days: z.number().int().min(1).max(365).optional(),
max_file_size_mb: z.number().int().min(1).max(1000).optional(),
compression_enabled: z.boolean().optional(),
structured_logging: z.boolean().optional(),
performance_logging: z.boolean().optional(),
audit_logging: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/logging.ts:145.
UpdateLogConfigRequest
export type UpdateLogConfigRequest = z.infer<typeof UpdateLogConfigRequest>Source: minds-ui/apps/api-service/types/logging.ts:156.
GetLogConfigResponse
GetLogConfigResponse = z.object({
config: LogConfig,
})Source: minds-ui/apps/api-service/types/logging.ts:162.
GetLogConfigResponse
export type GetLogConfigResponse = z.infer<typeof GetLogConfigResponse>Source: minds-ui/apps/api-service/types/logging.ts:166.
LogExportRequest
LogExportRequest = z.object({
format: z.enum(['json', 'csv', 'txt']),
level: LogLevel.optional(),
source: LogSource.optional(),
tenant_id: z.string().optional(),
start_date: z.string().datetime(),
end_date: z.string().datetime(),
include_metadata: z.boolean().optional().default(true),
})Source: minds-ui/apps/api-service/types/logging.ts:172.
LogExportRequest
export type LogExportRequest = z.infer<typeof LogExportRequest>Source: minds-ui/apps/api-service/types/logging.ts:182.
LogExportResponse
LogExportResponse = z.object({
export_id: z.string(),
format: z.enum(['json', 'csv', 'txt']),
status: z.enum(['processing', 'completed', 'failed']),
download_url: z.string().url().optional(),
expires_at: z.string().datetime().optional(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/logging.ts:188.
LogExportResponse
export type LogExportResponse = z.infer<typeof LogExportResponse>Source: minds-ui/apps/api-service/types/logging.ts:197.
LogAlert
LogAlert = z.object({
id: z.string(),
name: z.string(),
pattern: z.string(),
level: LogLevel,
source: LogSource.optional(),
threshold: z.number().int().min(1),
time_window_minutes: z.number().int().min(1),
enabled: z.boolean(),
last_triggered: z.string().datetime().nullable(),
trigger_count: z.number().int(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/logging.ts:203.
LogAlert
export type LogAlert = z.infer<typeof LogAlert>Source: minds-ui/apps/api-service/types/logging.ts:218.
CreateLogAlertRequest
CreateLogAlertRequest = z.object({
name: z.string().min(1).max(100),
pattern: z.string().min(1).max(500),
level: LogLevel,
source: LogSource.optional(),
threshold: z.number().int().min(1),
time_window_minutes: z.number().int().min(1),
})Source: minds-ui/apps/api-service/types/logging.ts:224.
CreateLogAlertRequest
export type CreateLogAlertRequest = z.infer<typeof CreateLogAlertRequest>Source: minds-ui/apps/api-service/types/logging.ts:233.
UpdateLogAlertRequest
UpdateLogAlertRequest = z.object({
name: z.string().min(1).max(100).optional(),
pattern: z.string().min(1).max(500).optional(),
level: LogLevel.optional(),
source: LogSource.optional(),
threshold: z.number().int().min(1).optional(),
time_window_minutes: z.number().int().min(1).optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/logging.ts:239.
UpdateLogAlertRequest
export type UpdateLogAlertRequest = z.infer<typeof UpdateLogAlertRequest>Source: minds-ui/apps/api-service/types/logging.ts:249.
ListLogAlertsResponse
ListLogAlertsResponse = z.object({
alerts: z.array(LogAlert),
})Source: minds-ui/apps/api-service/types/logging.ts:255.
ListLogAlertsResponse
export type ListLogAlertsResponse = z.infer<typeof ListLogAlertsResponse>Source: minds-ui/apps/api-service/types/logging.ts:259.
LogPattern
LogPattern = z.object({
id: z.string(),
name: z.string(),
pattern: z.string(),
description: z.string().optional(),
category: z.string().optional(),
severity: z.enum(['low', 'medium', 'high', 'critical']),
enabled: z.boolean(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/logging.ts:265.
LogPattern
export type LogPattern = z.infer<typeof LogPattern>Source: minds-ui/apps/api-service/types/logging.ts:277.
CreateLogPatternRequest
CreateLogPatternRequest = z.object({
name: z.string().min(1).max(100),
pattern: z.string().min(1).max(500),
description: z.string().max(500).optional(),
category: z.string().max(100).optional(),
severity: z.enum(['low', 'medium', 'high', 'critical']).optional().default('medium'),
})Source: minds-ui/apps/api-service/types/logging.ts:283.
CreateLogPatternRequest
export type CreateLogPatternRequest = z.infer<typeof CreateLogPatternRequest>Source: minds-ui/apps/api-service/types/logging.ts:291.
UpdateLogPatternRequest
UpdateLogPatternRequest = z.object({
name: z.string().min(1).max(100).optional(),
pattern: z.string().min(1).max(500).optional(),
description: z.string().max(500).optional(),
category: z.string().max(100).optional(),
severity: z.enum(['low', 'medium', 'high', 'critical']).optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/logging.ts:297.
UpdateLogPatternRequest
export type UpdateLogPatternRequest = z.infer<typeof UpdateLogPatternRequest>Source: minds-ui/apps/api-service/types/logging.ts:306.
ListLogPatternsResponse
ListLogPatternsResponse = z.object({
patterns: z.array(LogPattern),
})Source: minds-ui/apps/api-service/types/logging.ts:312.
ListLogPatternsResponse
export type ListLogPatternsResponse = z.infer<typeof ListLogPatternsResponse>Source: minds-ui/apps/api-service/types/logging.ts:316.
LogSearchRequest
LogSearchRequest = z.object({
query: z.string().min(1).max(1000),
level: LogLevel.optional(),
source: LogSource.optional(),
tenant_id: z.string().optional(),
start_date: z.string().datetime().optional(),
end_date: z.string().datetime().optional(),
limit: z.number().int().min(1).max(1000).optional().default(100),
})Source: minds-ui/apps/api-service/types/logging.ts:322.
LogSearchRequest
export type LogSearchRequest = z.infer<typeof LogSearchRequest>Source: minds-ui/apps/api-service/types/logging.ts:332.
LogSearchResponse
LogSearchResponse = z.object({
results: z.array(LogEntry),
total: z.number().int(),
query: z.string(),
execution_time_ms: z.number(),
})Source: minds-ui/apps/api-service/types/logging.ts:338.
LogSearchResponse
export type LogSearchResponse = z.infer<typeof LogSearchResponse>Source: minds-ui/apps/api-service/types/logging.ts:345.
LogRetentionPolicy
LogRetentionPolicy = z.object({
id: z.string(),
name: z.string(),
level: LogLevel,
retention_days: z.number().int().min(1).max(2555), // Max 7 years
archive_after_days: z.number().int().min(1).optional(),
enabled: z.boolean(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/logging.ts:351.
LogRetentionPolicy
export type LogRetentionPolicy = z.infer<typeof LogRetentionPolicy>Source: minds-ui/apps/api-service/types/logging.ts:362.
CreateLogRetentionPolicyRequest
CreateLogRetentionPolicyRequest = z.object({
name: z.string().min(1).max(100),
level: LogLevel,
retention_days: z.number().int().min(1).max(2555),
archive_after_days: z.number().int().min(1).optional(),
})Source: minds-ui/apps/api-service/types/logging.ts:368.
CreateLogRetentionPolicyRequest
export type CreateLogRetentionPolicyRequest = z.infer<typeof CreateLogRetentionPolicyRequest>Source: minds-ui/apps/api-service/types/logging.ts:375.
UpdateLogRetentionPolicyRequest
UpdateLogRetentionPolicyRequest = z.object({
name: z.string().min(1).max(100).optional(),
retention_days: z.number().int().min(1).max(2555).optional(),
archive_after_days: z.number().int().min(1).optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/logging.ts:381.
UpdateLogRetentionPolicyRequest
export type UpdateLogRetentionPolicyRequest = z.infer<typeof UpdateLogRetentionPolicyRequest>Source: minds-ui/apps/api-service/types/logging.ts:388.
ListLogRetentionPoliciesResponse
ListLogRetentionPoliciesResponse = z.object({
policies: z.array(LogRetentionPolicy),
})Source: minds-ui/apps/api-service/types/logging.ts:394.
ListLogRetentionPoliciesResponse
export type ListLogRetentionPoliciesResponse = z.infer<typeof ListLogRetentionPoliciesResponse>Source: minds-ui/apps/api-service/types/logging.ts:398.
LogPerformanceMetrics
LogPerformanceMetrics = z.object({
logs_per_second: z.number(),
average_processing_time_ms: z.number(),
disk_usage_mb: z.number(),
memory_usage_mb: z.number(),
compression_ratio: z.number().optional(),
period_start: z.string().datetime(),
period_end: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/logging.ts:404.
LogPerformanceMetrics
export type LogPerformanceMetrics = z.infer<typeof LogPerformanceMetrics>Source: minds-ui/apps/api-service/types/logging.ts:414.
GetLogPerformanceMetricsResponse
GetLogPerformanceMetricsResponse = z.object({
metrics: LogPerformanceMetrics,
period: z.object({
start: z.string().datetime(),
end: z.string().datetime(),
}),
})Source: minds-ui/apps/api-service/types/logging.ts:420.
GetLogPerformanceMetricsResponse
export type GetLogPerformanceMetricsResponse = z.infer<typeof GetLogPerformanceMetricsResponse>Source: minds-ui/apps/api-service/types/logging.ts:428.
minds-ui/apps/api-service/types/monitoring.ts
MetricsPeriod
MetricsPeriod = z.enum(['5m', '1h', '24h', '7d', '30d'])Source: minds-ui/apps/api-service/types/monitoring.ts:6.
MetricsPeriod
export type MetricsPeriod = z.infer<typeof MetricsPeriod>Source: minds-ui/apps/api-service/types/monitoring.ts:8.
ComputeMetrics
ComputeMetrics = z.object({
cpu_usage_percent: z.number().min(0).max(100),
memory_usage_mb: z.number(),
memory_total_mb: z.number(),
})Source: minds-ui/apps/api-service/types/monitoring.ts:13.
ComputeMetrics
export type ComputeMetrics = z.infer<typeof ComputeMetrics>Source: minds-ui/apps/api-service/types/monitoring.ts:19.
StorageMetrics
StorageMetrics = z.object({
used_gb: z.number(),
total_gb: z.number(),
shards: z.number().int(),
})Source: minds-ui/apps/api-service/types/monitoring.ts:24.
StorageMetrics
export type StorageMetrics = z.infer<typeof StorageMetrics>Source: minds-ui/apps/api-service/types/monitoring.ts:30.
PerformanceMetrics
PerformanceMetrics = z.object({
requests_per_sec: z.number(),
avg_latency_ms: z.number(),
p95_latency_ms: z.number(),
p99_latency_ms: z.number(),
error_rate_percent: z.number().min(0).max(100),
})Source: minds-ui/apps/api-service/types/monitoring.ts:35.
PerformanceMetrics
export type PerformanceMetrics = z.infer<typeof PerformanceMetrics>Source: minds-ui/apps/api-service/types/monitoring.ts:43.
CognitiveMetrics
CognitiveMetrics = z.object({
hrm_inferences_per_sec: z.number(),
vector_searches_per_sec: z.number(),
graph_queries_per_sec: z.number(),
})Source: minds-ui/apps/api-service/types/monitoring.ts:48.
CognitiveMetrics
export type CognitiveMetrics = z.infer<typeof CognitiveMetrics>Source: minds-ui/apps/api-service/types/monitoring.ts:54.
MetricsResponse
MetricsResponse = z.object({
tenant_id: z.string(),
period: MetricsPeriod,
timestamp: z.string().datetime(),
metrics: z.object({
compute: ComputeMetrics,
storage: StorageMetrics,
performance: PerformanceMetrics,
cognitive: CognitiveMetrics,
}),
})Source: minds-ui/apps/api-service/types/monitoring.ts:60.
MetricsResponse
export type MetricsResponse = z.infer<typeof MetricsResponse>Source: minds-ui/apps/api-service/types/monitoring.ts:72.
LogLevel
LogLevel = z.enum(['debug', 'info', 'warn', 'error'])Source: minds-ui/apps/api-service/types/monitoring.ts:77.
LogLevel
export type LogLevel = z.infer<typeof LogLevel>Source: minds-ui/apps/api-service/types/monitoring.ts:79.
LogEntry
LogEntry = z.object({
timestamp: z.string().datetime(),
level: LogLevel,
message: z.string(),
metadata: z.record(z.unknown()).optional(),
})Source: minds-ui/apps/api-service/types/monitoring.ts:84.
LogEntry
export type LogEntry = z.infer<typeof LogEntry>Source: minds-ui/apps/api-service/types/monitoring.ts:91.
LogsQuery
LogsQuery = z.object({
level: LogLevel.optional(),
start_time: z.string().datetime().optional(),
end_time: z.string().datetime().optional(),
limit: z.coerce.number().int().min(1).max(1000).default(100),
search: z.string().optional(),
})Source: minds-ui/apps/api-service/types/monitoring.ts:97.
LogsQuery
export type LogsQuery = z.infer<typeof LogsQuery>Source: minds-ui/apps/api-service/types/monitoring.ts:105.
LogsResponse
LogsResponse = z.object({
tenant_id: z.string(),
logs: z.array(LogEntry),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
has_more: z.boolean(),
}),
})Source: minds-ui/apps/api-service/types/monitoring.ts:111.
LogsResponse
export type LogsResponse = z.infer<typeof LogsResponse>Source: minds-ui/apps/api-service/types/monitoring.ts:121.
HealthStatus
HealthStatus = z.enum(['healthy', 'degraded', 'down'])Source: minds-ui/apps/api-service/types/monitoring.ts:126.
HealthStatus
export type HealthStatus = z.infer<typeof HealthStatus>Source: minds-ui/apps/api-service/types/monitoring.ts:128.
HealthChecks
HealthChecks = z.object({
instance_reachable: z.boolean(),
database_connected: z.boolean(),
storage_accessible: z.boolean(),
dns_resolved: z.boolean(),
tls_valid: z.boolean(),
})Source: minds-ui/apps/api-service/types/monitoring.ts:133.
HealthChecks
export type HealthChecks = z.infer<typeof HealthChecks>Source: minds-ui/apps/api-service/types/monitoring.ts:141.
HealthResponse
HealthResponse = z.object({
tenant_id: z.string(),
status: HealthStatus,
checks: HealthChecks,
last_check: z.string().datetime(),
uptime_percent: z.number().min(0).max(100), // Last 30 days
})Source: minds-ui/apps/api-service/types/monitoring.ts:147.
HealthResponse
export type HealthResponse = z.infer<typeof HealthResponse>Source: minds-ui/apps/api-service/types/monitoring.ts:155.
minds-ui/apps/api-service/types/notification.ts
NotificationType
NotificationType = z.enum([
'tenant_created',
'tenant_ready',
'tenant_suspended',
'tenant_deleted',
'backup_completed',
'backup_failed',
'usage_threshold_exceeded',
'billing_invoice_created',
'billing_payment_failed',
'api_key_created',
'api_key_revoked',
'security_alert',
'system_maintenance',
'feature_announcement',
])Source: minds-ui/apps/api-service/types/notification.ts:7.
NotificationType
export type NotificationType = z.infer<typeof NotificationType>Source: minds-ui/apps/api-service/types/notification.ts:24.
NotificationChannel
NotificationChannel = z.enum([
'email',
'push',
'webhook',
'sms',
])Source: minds-ui/apps/api-service/types/notification.ts:30.
NotificationChannel
export type NotificationChannel = z.infer<typeof NotificationChannel>Source: minds-ui/apps/api-service/types/notification.ts:37.
NotificationPriority
NotificationPriority = z.enum([
'low',
'normal',
'high',
'urgent',
])Source: minds-ui/apps/api-service/types/notification.ts:43.
NotificationPriority
export type NotificationPriority = z.infer<typeof NotificationPriority>Source: minds-ui/apps/api-service/types/notification.ts:50.
NotificationStatus
NotificationStatus = z.enum([
'pending',
'sent',
'delivered',
'failed',
'bounced',
'opened',
'clicked',
])Source: minds-ui/apps/api-service/types/notification.ts:56.
NotificationStatus
export type NotificationStatus = z.infer<typeof NotificationStatus>Source: minds-ui/apps/api-service/types/notification.ts:66.
Notification
Notification = z.object({
id: z.string(),
user_id: z.string().optional(),
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
type: NotificationType,
title: z.string(),
message: z.string(),
priority: NotificationPriority,
channels: z.array(NotificationChannel),
status: NotificationStatus,
sent_at: z.string().datetime().nullable(),
delivered_at: z.string().datetime().nullable(),
opened_at: z.string().datetime().nullable(),
clicked_at: z.string().datetime().nullable(),
metadata: z.record(z.unknown()).optional(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/notification.ts:72.
Notification
export type Notification = z.infer<typeof Notification>Source: minds-ui/apps/api-service/types/notification.ts:92.
CreateNotificationRequest
CreateNotificationRequest = z.object({
user_id: z.string().optional(),
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
type: NotificationType,
title: z.string().min(1).max(200),
message: z.string().min(1).max(1000),
priority: NotificationPriority.optional().default('normal'),
channels: z.array(NotificationChannel).optional().default(['email']),
metadata: z.record(z.unknown()).optional(),
})Source: minds-ui/apps/api-service/types/notification.ts:98.
CreateNotificationRequest
export type CreateNotificationRequest = z.infer<typeof CreateNotificationRequest>Source: minds-ui/apps/api-service/types/notification.ts:110.
CreateNotificationResponse
CreateNotificationResponse = z.object({
notification_id: z.string(),
status: NotificationStatus,
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/notification.ts:116.
CreateNotificationResponse
export type CreateNotificationResponse = z.infer<typeof CreateNotificationResponse>Source: minds-ui/apps/api-service/types/notification.ts:122.
ListNotificationsQuery
ListNotificationsQuery = z.object({
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
user_id: z.string().optional(),
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
type: NotificationType.optional(),
priority: NotificationPriority.optional(),
status: NotificationStatus.optional(),
start_date: z.string().datetime().optional(),
end_date: z.string().datetime().optional(),
})Source: minds-ui/apps/api-service/types/notification.ts:128.
ListNotificationsQuery
export type ListNotificationsQuery = z.infer<typeof ListNotificationsQuery>Source: minds-ui/apps/api-service/types/notification.ts:141.
ListNotificationsResponse
ListNotificationsResponse = z.object({
notifications: z.array(Notification),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/notification.ts:147.
ListNotificationsResponse
export type ListNotificationsResponse = z.infer<typeof ListNotificationsResponse>Source: minds-ui/apps/api-service/types/notification.ts:156.
NotificationTemplate
NotificationTemplate = z.object({
id: z.string(),
name: z.string(),
type: NotificationType,
title_template: z.string(),
message_template: z.string(),
priority: NotificationPriority,
channels: z.array(NotificationChannel),
variables: z.array(z.string()),
enabled: z.boolean(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/notification.ts:162.
NotificationTemplate
export type NotificationTemplate = z.infer<typeof NotificationTemplate>Source: minds-ui/apps/api-service/types/notification.ts:176.
CreateNotificationTemplateRequest
CreateNotificationTemplateRequest = z.object({
name: z.string().min(1).max(100),
type: NotificationType,
title_template: z.string().min(1).max(200),
message_template: z.string().min(1).max(1000),
priority: NotificationPriority.optional().default('normal'),
channels: z.array(NotificationChannel).optional().default(['email']),
variables: z.array(z.string()).optional(),
})Source: minds-ui/apps/api-service/types/notification.ts:182.
CreateNotificationTemplateRequest
export type CreateNotificationTemplateRequest = z.infer<typeof CreateNotificationTemplateRequest>Source: minds-ui/apps/api-service/types/notification.ts:192.
UpdateNotificationTemplateRequest
UpdateNotificationTemplateRequest = z.object({
name: z.string().min(1).max(100).optional(),
title_template: z.string().min(1).max(200).optional(),
message_template: z.string().min(1).max(1000).optional(),
priority: NotificationPriority.optional(),
channels: z.array(NotificationChannel).optional(),
variables: z.array(z.string()).optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/notification.ts:198.
UpdateNotificationTemplateRequest
export type UpdateNotificationTemplateRequest = z.infer<typeof UpdateNotificationTemplateRequest>Source: minds-ui/apps/api-service/types/notification.ts:208.
ListNotificationTemplatesResponse
ListNotificationTemplatesResponse = z.object({
templates: z.array(NotificationTemplate),
})Source: minds-ui/apps/api-service/types/notification.ts:214.
ListNotificationTemplatesResponse
export type ListNotificationTemplatesResponse = z.infer<typeof ListNotificationTemplatesResponse>Source: minds-ui/apps/api-service/types/notification.ts:218.
NotificationPreference
NotificationPreference = z.object({
id: z.string(),
user_id: z.string(),
type: NotificationType,
channels: z.array(NotificationChannel),
enabled: z.boolean(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/notification.ts:224.
NotificationPreference
export type NotificationPreference = z.infer<typeof NotificationPreference>Source: minds-ui/apps/api-service/types/notification.ts:234.
UpdateNotificationPreferenceRequest
UpdateNotificationPreferenceRequest = z.object({
preferences: z.array(z.object({
type: NotificationType,
channels: z.array(NotificationChannel),
enabled: z.boolean(),
})),
})Source: minds-ui/apps/api-service/types/notification.ts:240.
UpdateNotificationPreferenceRequest
export type UpdateNotificationPreferenceRequest = z.infer<typeof UpdateNotificationPreferenceRequest>Source: minds-ui/apps/api-service/types/notification.ts:248.
ListNotificationPreferencesResponse
ListNotificationPreferencesResponse = z.object({
preferences: z.array(NotificationPreference),
})Source: minds-ui/apps/api-service/types/notification.ts:254.
ListNotificationPreferencesResponse
export type ListNotificationPreferencesResponse = z.infer<typeof ListNotificationPreferencesResponse>Source: minds-ui/apps/api-service/types/notification.ts:258.
NotificationDelivery
NotificationDelivery = z.object({
id: z.string(),
notification_id: z.string(),
channel: NotificationChannel,
status: NotificationStatus,
sent_at: z.string().datetime().nullable(),
delivered_at: z.string().datetime().nullable(),
opened_at: z.string().datetime().nullable(),
clicked_at: z.string().datetime().nullable(),
error_message: z.string().nullable(),
retry_count: z.number().int(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/notification.ts:264.
NotificationDelivery
export type NotificationDelivery = z.infer<typeof NotificationDelivery>Source: minds-ui/apps/api-service/types/notification.ts:279.
ListNotificationDeliveriesQuery
ListNotificationDeliveriesQuery = z.object({
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
channel: NotificationChannel.optional(),
status: NotificationStatus.optional(),
})Source: minds-ui/apps/api-service/types/notification.ts:285.
ListNotificationDeliveriesQuery
export type ListNotificationDeliveriesQuery = z.infer<typeof ListNotificationDeliveriesQuery>Source: minds-ui/apps/api-service/types/notification.ts:292.
ListNotificationDeliveriesResponse
ListNotificationDeliveriesResponse = z.object({
deliveries: z.array(NotificationDelivery),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/notification.ts:298.
ListNotificationDeliveriesResponse
export type ListNotificationDeliveriesResponse = z.infer<typeof ListNotificationDeliveriesResponse>Source: minds-ui/apps/api-service/types/notification.ts:307.
NotificationStats
NotificationStats = z.object({
total_sent: z.number().int(),
total_delivered: z.number().int(),
total_opened: z.number().int(),
total_clicked: z.number().int(),
delivery_rate: z.number().min(0).max(100),
open_rate: z.number().min(0).max(100),
click_rate: z.number().min(0).max(100),
period_start: z.string().datetime(),
period_end: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/notification.ts:313.
NotificationStats
export type NotificationStats = z.infer<typeof NotificationStats>Source: minds-ui/apps/api-service/types/notification.ts:325.
GetNotificationStatsResponse
GetNotificationStatsResponse = z.object({
stats: NotificationStats,
period: z.object({
start: z.string().datetime(),
end: z.string().datetime(),
}),
})Source: minds-ui/apps/api-service/types/notification.ts:331.
GetNotificationStatsResponse
export type GetNotificationStatsResponse = z.infer<typeof GetNotificationStatsResponse>Source: minds-ui/apps/api-service/types/notification.ts:339.
NotificationWebhook
NotificationWebhook = z.object({
id: z.string(),
user_id: z.string().optional(),
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
url: z.string().url(),
events: z.array(NotificationType),
secret: z.string(),
enabled: z.boolean(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/notification.ts:345.
NotificationWebhook
export type NotificationWebhook = z.infer<typeof NotificationWebhook>Source: minds-ui/apps/api-service/types/notification.ts:358.
CreateNotificationWebhookRequest
CreateNotificationWebhookRequest = z.object({
user_id: z.string().optional(),
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
url: z.string().url(),
events: z.array(NotificationType).min(1),
secret: z.string().optional(),
})Source: minds-ui/apps/api-service/types/notification.ts:364.
CreateNotificationWebhookRequest
export type CreateNotificationWebhookRequest = z.infer<typeof CreateNotificationWebhookRequest>Source: minds-ui/apps/api-service/types/notification.ts:373.
UpdateNotificationWebhookRequest
UpdateNotificationWebhookRequest = z.object({
url: z.string().url().optional(),
events: z.array(NotificationType).optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/notification.ts:379.
UpdateNotificationWebhookRequest
export type UpdateNotificationWebhookRequest = z.infer<typeof UpdateNotificationWebhookRequest>Source: minds-ui/apps/api-service/types/notification.ts:385.
ListNotificationWebhooksResponse
ListNotificationWebhooksResponse = z.object({
webhooks: z.array(NotificationWebhook),
})Source: minds-ui/apps/api-service/types/notification.ts:391.
ListNotificationWebhooksResponse
export type ListNotificationWebhooksResponse = z.infer<typeof ListNotificationWebhooksResponse>Source: minds-ui/apps/api-service/types/notification.ts:395.
NotificationWebhookPayload
NotificationWebhookPayload = z.object({
id: z.string(),
type: NotificationType,
title: z.string(),
message: z.string(),
priority: NotificationPriority,
user_id: z.string().optional(),
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
metadata: z.record(z.unknown()).optional(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/notification.ts:401.
NotificationWebhookPayload
export type NotificationWebhookPayload = z.infer<typeof NotificationWebhookPayload>Source: minds-ui/apps/api-service/types/notification.ts:414.
minds-ui/apps/api-service/types/operations.ts
OperationType
export type OperationType = typeof OperationType[keyof typeof OperationType]Source: minds-ui/apps/api-service/types/operations.ts:18.
OperationTypeSchema
OperationTypeSchema = z.enum([
OperationType.READ,
OperationType.WRITE,
OperationType.DELETE,
OperationType.API_REQUEST,
OperationType.STORAGE_READ,
OperationType.STORAGE_WRITE,
OperationType.VECTOR_SEARCH,
OperationType.GRAPH_QUERY,
OperationType.HRM_INFERENCE,
OperationType.SQL_QUERY,
OperationType.BACKUP_CREATE,
OperationType.BACKUP_RESTORE,
])Source: minds-ui/apps/api-service/types/operations.ts:20.
ScalingRequest
ScalingRequest = z.object({
target_shards: z.number().int().min(1).max(100),
reason: z.string().max(500).optional(),
})Source: minds-ui/apps/api-service/types/operations.ts:39.
ScalingRequest
export type ScalingRequest = z.infer<typeof ScalingRequest>Source: minds-ui/apps/api-service/types/operations.ts:44.
ScalingResponse
ScalingResponse = z.object({
id: z.string(),
current_shards: z.number().int(),
target_shards: z.number().int(),
status: z.literal('scaling'),
estimated_duration: z.number().int(), // seconds
})Source: minds-ui/apps/api-service/types/operations.ts:50.
ScalingResponse
export type ScalingResponse = z.infer<typeof ScalingResponse>Source: minds-ui/apps/api-service/types/operations.ts:58.
SuspendTenantRequest
SuspendTenantRequest = z.object({
reason: z.string().min(1).max(500),
notify_user: z.boolean().optional().default(true),
})Source: minds-ui/apps/api-service/types/operations.ts:64.
SuspendTenantRequest
export type SuspendTenantRequest = z.infer<typeof SuspendTenantRequest>Source: minds-ui/apps/api-service/types/operations.ts:69.
TransferTenantRequest
TransferTenantRequest = z.object({
target_org_id: z.string(),
})Source: minds-ui/apps/api-service/types/operations.ts:75.
TransferTenantRequest
export type TransferTenantRequest = z.infer<typeof TransferTenantRequest>Source: minds-ui/apps/api-service/types/operations.ts:79.
TransferTenantResponse
TransferTenantResponse = z.object({
tenant_id: z.string(),
old_org_id: z.string(),
new_org_id: z.string(),
transferred_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/operations.ts:85.
TransferTenantResponse
export type TransferTenantResponse = z.infer<typeof TransferTenantResponse>Source: minds-ui/apps/api-service/types/operations.ts:92.
RotateSecretResponse
RotateSecretResponse = z.object({
tenant_id: z.string(),
new_secret_version: z.number().int(),
tokens_invalidated_at: z.string().datetime(),
grace_period_hours: z.number().default(1),
})Source: minds-ui/apps/api-service/types/operations.ts:98.
RotateSecretResponse
export type RotateSecretResponse = z.infer<typeof RotateSecretResponse>Source: minds-ui/apps/api-service/types/operations.ts:105.
ProvisioningOperation
ProvisioningOperation = z.object({
id: z.string(),
tenant_id: z.string(),
status: z.enum(['pending', 'in_progress', 'completed', 'failed']),
started_at: z.string().datetime(),
completed_at: z.string().datetime().optional(),
error_message: z.string().optional(),
steps: z.array(
z.object({
name: z.string(),
status: z.enum(['pending', 'in_progress', 'completed', 'failed']),
started_at: z.string().datetime().optional(),
completed_at: z.string().datetime().optional(),
}),
),
})Source: minds-ui/apps/api-service/types/operations.ts:111.
ProvisioningOperation
export type ProvisioningOperation = z.infer<typeof ProvisioningOperation>Source: minds-ui/apps/api-service/types/operations.ts:128.
minds-ui/apps/api-service/types/organization.ts
OrganizationRole
OrganizationRole = z.enum([
'owner',
'admin',
'member',
'billing',
])Source: minds-ui/apps/api-service/types/organization.ts:7.
OrganizationRole
export type OrganizationRole = z.infer<typeof OrganizationRole>Source: minds-ui/apps/api-service/types/organization.ts:14.
Organization
Organization = z.object({
id: z.string(),
name: z.string().min(1).max(100),
slug: z.string().regex(/^[a-z0-9-]+$/),
description: z.string().max(500).optional(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/organization.ts:20.
Organization
export type Organization = z.infer<typeof Organization>Source: minds-ui/apps/api-service/types/organization.ts:29.
OrganizationMember
OrganizationMember = z.object({
id: z.string(),
organization_id: z.string(),
user_id: z.string(),
role: OrganizationRole,
active: z.boolean(),
invited_by: z.string().optional(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/organization.ts:35.
OrganizationMember
export type OrganizationMember = z.infer<typeof OrganizationMember>Source: minds-ui/apps/api-service/types/organization.ts:46.
CreateOrganizationRequest
CreateOrganizationRequest = z.object({
name: z.string().min(1).max(100),
slug: z
.string()
.regex(/^[a-z0-9-]+$/)
.min(3)
.max(63)
.optional(), // Auto-generated if omitted
description: z.string().max(500).optional(),
})Source: minds-ui/apps/api-service/types/organization.ts:52.
CreateOrganizationRequest
export type CreateOrganizationRequest = z.infer<typeof CreateOrganizationRequest>Source: minds-ui/apps/api-service/types/organization.ts:63.
CreateOrganizationResponse
CreateOrganizationResponse = z.object({
organization_id: z.string(),
name: z.string(),
slug: z.string(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/organization.ts:69.
CreateOrganizationResponse
export type CreateOrganizationResponse = z.infer<typeof CreateOrganizationResponse>Source: minds-ui/apps/api-service/types/organization.ts:76.
UpdateOrganizationRequest
UpdateOrganizationRequest = z.object({
name: z.string().min(1).max(100).optional(),
description: z.string().max(500).optional(),
})Source: minds-ui/apps/api-service/types/organization.ts:82.
UpdateOrganizationRequest
export type UpdateOrganizationRequest = z.infer<typeof UpdateOrganizationRequest>Source: minds-ui/apps/api-service/types/organization.ts:87.
ListOrganizationsQuery
ListOrganizationsQuery = z.object({
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
search: z.string().optional(),
})Source: minds-ui/apps/api-service/types/organization.ts:93.
ListOrganizationsQuery
export type ListOrganizationsQuery = z.infer<typeof ListOrganizationsQuery>Source: minds-ui/apps/api-service/types/organization.ts:99.
ListOrganizationsResponse
ListOrganizationsResponse = z.object({
organizations: z.array(Organization),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/organization.ts:105.
ListOrganizationsResponse
export type ListOrganizationsResponse = z.infer<typeof ListOrganizationsResponse>Source: minds-ui/apps/api-service/types/organization.ts:114.
InviteOrganizationMemberRequest
InviteOrganizationMemberRequest = z.object({
email: z.string().email(),
role: OrganizationRole,
message: z.string().max(500).optional(),
})Source: minds-ui/apps/api-service/types/organization.ts:120.
InviteOrganizationMemberRequest
export type InviteOrganizationMemberRequest = z.infer<typeof InviteOrganizationMemberRequest>Source: minds-ui/apps/api-service/types/organization.ts:126.
InviteOrganizationMemberResponse
InviteOrganizationMemberResponse = z.object({
invitation_id: z.string(),
email: z.string().email(),
role: OrganizationRole,
expires_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/organization.ts:132.
InviteOrganizationMemberResponse
export type InviteOrganizationMemberResponse = z.infer<typeof InviteOrganizationMemberResponse>Source: minds-ui/apps/api-service/types/organization.ts:139.
UpdateOrganizationMemberRequest
UpdateOrganizationMemberRequest = z.object({
role: OrganizationRole.optional(),
active: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/organization.ts:145.
UpdateOrganizationMemberRequest
export type UpdateOrganizationMemberRequest = z.infer<typeof UpdateOrganizationMemberRequest>Source: minds-ui/apps/api-service/types/organization.ts:150.
ListOrganizationMembersQuery
ListOrganizationMembersQuery = z.object({
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
role: OrganizationRole.optional(),
active: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/organization.ts:156.
ListOrganizationMembersQuery
export type ListOrganizationMembersQuery = z.infer<typeof ListOrganizationMembersQuery>Source: minds-ui/apps/api-service/types/organization.ts:163.
ListOrganizationMembersResponse
ListOrganizationMembersResponse = z.object({
members: z.array(
OrganizationMember.extend({
user: z.object({
id: z.string(),
email: z.string().email(),
name: z.string().optional(),
image: z.string().url().optional(),
}),
}),
),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/organization.ts:169.
ListOrganizationMembersResponse
export type ListOrganizationMembersResponse = z.infer<typeof ListOrganizationMembersResponse>Source: minds-ui/apps/api-service/types/organization.ts:187.
OrganizationStats
OrganizationStats = z.object({
total_tenants: z.number().int(),
active_tenants: z.number().int(),
total_members: z.number().int(),
total_usage_gb: z.number(),
monthly_cost: z.number(),
currency: z.string(),
})Source: minds-ui/apps/api-service/types/organization.ts:193.
OrganizationStats
export type OrganizationStats = z.infer<typeof OrganizationStats>Source: minds-ui/apps/api-service/types/organization.ts:202.
GetOrganizationStatsResponse
GetOrganizationStatsResponse = z.object({
organization_id: z.string(),
stats: OrganizationStats,
period: z.object({
start: z.string().datetime(),
end: z.string().datetime(),
}),
})Source: minds-ui/apps/api-service/types/organization.ts:208.
GetOrganizationStatsResponse
export type GetOrganizationStatsResponse = z.infer<typeof GetOrganizationStatsResponse>Source: minds-ui/apps/api-service/types/organization.ts:217.
OrganizationSettings
OrganizationSettings = z.object({
id: z.string(),
organization_id: z.string(),
default_tenant_plan: z.string().optional(),
default_region: z.string().optional(),
backup_retention_days: z.number().int().min(1).max(90).optional(),
notification_email: z.string().email().optional(),
billing_email: z.string().email().optional(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/organization.ts:223.
OrganizationSettings
export type OrganizationSettings = z.infer<typeof OrganizationSettings>Source: minds-ui/apps/api-service/types/organization.ts:235.
UpdateOrganizationSettingsRequest
UpdateOrganizationSettingsRequest = z.object({
default_tenant_plan: z.string().optional(),
default_region: z.string().optional(),
backup_retention_days: z.number().int().min(1).max(90).optional(),
notification_email: z.string().email().optional(),
billing_email: z.string().email().optional(),
})Source: minds-ui/apps/api-service/types/organization.ts:241.
UpdateOrganizationSettingsRequest
export type UpdateOrganizationSettingsRequest = z.infer<typeof UpdateOrganizationSettingsRequest>Source: minds-ui/apps/api-service/types/organization.ts:249.
OrganizationInvitation
OrganizationInvitation = z.object({
id: z.string(),
organization_id: z.string(),
email: z.string().email(),
role: OrganizationRole,
invited_by: z.string(),
expires_at: z.string().datetime(),
accepted_at: z.string().datetime().nullable(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/organization.ts:255.
OrganizationInvitation
export type OrganizationInvitation = z.infer<typeof OrganizationInvitation>Source: minds-ui/apps/api-service/types/organization.ts:266.
ListOrganizationInvitationsQuery
ListOrganizationInvitationsQuery = z.object({
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
status: z.enum(['pending', 'accepted', 'expired']).optional(),
})Source: minds-ui/apps/api-service/types/organization.ts:272.
ListOrganizationInvitationsQuery
export type ListOrganizationInvitationsQuery = z.infer<typeof ListOrganizationInvitationsQuery>Source: minds-ui/apps/api-service/types/organization.ts:278.
ListOrganizationInvitationsResponse
ListOrganizationInvitationsResponse = z.object({
invitations: z.array(OrganizationInvitation),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/organization.ts:284.
ListOrganizationInvitationsResponse
export type ListOrganizationInvitationsResponse = z.infer<typeof ListOrganizationInvitationsResponse>Source: minds-ui/apps/api-service/types/organization.ts:293.
AcceptOrganizationInvitationRequest
AcceptOrganizationInvitationRequest = z.object({
invitation_token: z.string(),
})Source: minds-ui/apps/api-service/types/organization.ts:299.
AcceptOrganizationInvitationRequest
export type AcceptOrganizationInvitationRequest = z.infer<typeof AcceptOrganizationInvitationRequest>Source: minds-ui/apps/api-service/types/organization.ts:303.
AcceptOrganizationInvitationResponse
AcceptOrganizationInvitationResponse = z.object({
organization_id: z.string(),
role: OrganizationRole,
accepted_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/organization.ts:309.
AcceptOrganizationInvitationResponse
export type AcceptOrganizationInvitationResponse = z.infer<typeof AcceptOrganizationInvitationResponse>Source: minds-ui/apps/api-service/types/organization.ts:315.
minds-ui/apps/api-service/types/queue.ts
QueueStatus
QueueStatus = z.enum([
'pending',
'processing',
'completed',
'failed',
'retrying',
'cancelled',
])Source: minds-ui/apps/api-service/types/queue.ts:7.
QueueStatus
export type QueueStatus = z.infer<typeof QueueStatus>Source: minds-ui/apps/api-service/types/queue.ts:16.
QueuePriority
QueuePriority = z.enum([
'low',
'normal',
'high',
'urgent',
])Source: minds-ui/apps/api-service/types/queue.ts:22.
QueuePriority
export type QueuePriority = z.infer<typeof QueuePriority>Source: minds-ui/apps/api-service/types/queue.ts:29.
QueueItem
QueueItem = z.object({
id: z.string(),
queue_name: z.string(),
payload: z.record(z.unknown()),
status: QueueStatus,
priority: QueuePriority,
attempts: z.number().int(),
max_attempts: z.number().int(),
scheduled_at: z.string().datetime().optional(),
started_at: z.string().datetime().nullable(),
completed_at: z.string().datetime().nullable(),
failed_at: z.string().datetime().nullable(),
error_message: z.string().nullable(),
metadata: z.record(z.unknown()).optional(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/queue.ts:35.
QueueItem
export type QueueItem = z.infer<typeof QueueItem>Source: minds-ui/apps/api-service/types/queue.ts:53.
EnqueueRequest
EnqueueRequest = z.object({
payload: z.record(z.unknown()),
priority: QueuePriority.optional().default('normal'),
max_attempts: z.number().int().min(1).max(10).optional().default(3),
scheduled_at: z.string().datetime().optional(),
metadata: z.record(z.unknown()).optional(),
})Source: minds-ui/apps/api-service/types/queue.ts:59.
EnqueueRequest
export type EnqueueRequest = z.infer<typeof EnqueueRequest>Source: minds-ui/apps/api-service/types/queue.ts:67.
EnqueueResponse
EnqueueResponse = z.object({
item_id: z.string(),
queue_name: z.string(),
status: QueueStatus,
scheduled_at: z.string().datetime().optional(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/queue.ts:73.
EnqueueResponse
export type EnqueueResponse = z.infer<typeof EnqueueResponse>Source: minds-ui/apps/api-service/types/queue.ts:81.
ListQueueItemsQuery
ListQueueItemsQuery = z.object({
limit: z.coerce.number().int().min(1).max(1000).default(100),
offset: z.coerce.number().int().min(0).default(0),
status: QueueStatus.optional(),
priority: QueuePriority.optional(),
start_date: z.string().datetime().optional(),
end_date: z.string().datetime().optional(),
})Source: minds-ui/apps/api-service/types/queue.ts:87.
ListQueueItemsQuery
export type ListQueueItemsQuery = z.infer<typeof ListQueueItemsQuery>Source: minds-ui/apps/api-service/types/queue.ts:96.
ListQueueItemsResponse
ListQueueItemsResponse = z.object({
items: z.array(QueueItem),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/queue.ts:102.
ListQueueItemsResponse
export type ListQueueItemsResponse = z.infer<typeof ListQueueItemsResponse>Source: minds-ui/apps/api-service/types/queue.ts:111.
QueueStats
QueueStats = z.object({
queue_name: z.string(),
total_items: z.number().int(),
pending_items: z.number().int(),
processing_items: z.number().int(),
completed_items: z.number().int(),
failed_items: z.number().int(),
average_processing_time_ms: z.number().optional(),
throughput_per_minute: z.number().optional(),
error_rate_percent: z.number().min(0).max(100).optional(),
period_start: z.string().datetime(),
period_end: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/queue.ts:117.
QueueStats
export type QueueStats = z.infer<typeof QueueStats>Source: minds-ui/apps/api-service/types/queue.ts:131.
GetQueueStatsResponse
GetQueueStatsResponse = z.object({
stats: QueueStats,
period: z.object({
start: z.string().datetime(),
end: z.string().datetime(),
}),
})Source: minds-ui/apps/api-service/types/queue.ts:137.
GetQueueStatsResponse
export type GetQueueStatsResponse = z.infer<typeof GetQueueStatsResponse>Source: minds-ui/apps/api-service/types/queue.ts:145.
QueueConfig
QueueConfig = z.object({
name: z.string(),
concurrency: z.number().int().min(1).max(100).optional().default(1),
max_attempts: z.number().int().min(1).max(10).optional().default(3),
retry_delay_ms: z.number().int().min(100).optional().default(1000),
timeout_ms: z.number().int().min(1000).optional().default(30000),
dead_letter_queue: z.string().optional(),
enabled: z.boolean().optional().default(true),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/queue.ts:151.
QueueConfig
export type QueueConfig = z.infer<typeof QueueConfig>Source: minds-ui/apps/api-service/types/queue.ts:163.
CreateQueueRequest
CreateQueueRequest = z.object({
name: z.string().min(1).max(100),
concurrency: z.number().int().min(1).max(100).optional().default(1),
max_attempts: z.number().int().min(1).max(10).optional().default(3),
retry_delay_ms: z.number().int().min(100).optional().default(1000),
timeout_ms: z.number().int().min(1000).optional().default(30000),
dead_letter_queue: z.string().optional(),
})Source: minds-ui/apps/api-service/types/queue.ts:169.
CreateQueueRequest
export type CreateQueueRequest = z.infer<typeof CreateQueueRequest>Source: minds-ui/apps/api-service/types/queue.ts:178.
UpdateQueueRequest
UpdateQueueRequest = z.object({
concurrency: z.number().int().min(1).max(100).optional(),
max_attempts: z.number().int().min(1).max(10).optional(),
retry_delay_ms: z.number().int().min(100).optional(),
timeout_ms: z.number().int().min(1000).optional(),
dead_letter_queue: z.string().optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/queue.ts:184.
UpdateQueueRequest
export type UpdateQueueRequest = z.infer<typeof UpdateQueueRequest>Source: minds-ui/apps/api-service/types/queue.ts:193.
ListQueuesResponse
ListQueuesResponse = z.object({
queues: z.array(QueueConfig),
})Source: minds-ui/apps/api-service/types/queue.ts:199.
ListQueuesResponse
export type ListQueuesResponse = z.infer<typeof ListQueuesResponse>Source: minds-ui/apps/api-service/types/queue.ts:203.
QueueWorker
QueueWorker = z.object({
id: z.string(),
queue_name: z.string(),
status: z.enum(['idle', 'busy', 'stopped']),
current_item_id: z.string().nullable(),
processed_items: z.number().int(),
failed_items: z.number().int(),
started_at: z.string().datetime(),
last_activity_at: z.string().datetime().nullable(),
})Source: minds-ui/apps/api-service/types/queue.ts:209.
QueueWorker
export type QueueWorker = z.infer<typeof QueueWorker>Source: minds-ui/apps/api-service/types/queue.ts:220.
ListQueueWorkersResponse
ListQueueWorkersResponse = z.object({
workers: z.array(QueueWorker),
})Source: minds-ui/apps/api-service/types/queue.ts:226.
ListQueueWorkersResponse
export type ListQueueWorkersResponse = z.infer<typeof ListQueueWorkersResponse>Source: minds-ui/apps/api-service/types/queue.ts:230.
QueueJob
QueueJob = z.object({
id: z.string(),
name: z.string(),
queue_name: z.string(),
handler: z.string(),
description: z.string().optional(),
enabled: z.boolean(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/queue.ts:236.
QueueJob
export type QueueJob = z.infer<typeof QueueJob>Source: minds-ui/apps/api-service/types/queue.ts:247.
CreateQueueJobRequest
CreateQueueJobRequest = z.object({
name: z.string().min(1).max(100),
queue_name: z.string(),
handler: z.string(),
description: z.string().max(500).optional(),
})Source: minds-ui/apps/api-service/types/queue.ts:253.
CreateQueueJobRequest
export type CreateQueueJobRequest = z.infer<typeof CreateQueueJobRequest>Source: minds-ui/apps/api-service/types/queue.ts:260.
UpdateQueueJobRequest
UpdateQueueJobRequest = z.object({
name: z.string().min(1).max(100).optional(),
handler: z.string().optional(),
description: z.string().max(500).optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/queue.ts:266.
UpdateQueueJobRequest
export type UpdateQueueJobRequest = z.infer<typeof UpdateQueueJobRequest>Source: minds-ui/apps/api-service/types/queue.ts:273.
ListQueueJobsResponse
ListQueueJobsResponse = z.object({
jobs: z.array(QueueJob),
})Source: minds-ui/apps/api-service/types/queue.ts:279.
ListQueueJobsResponse
export type ListQueueJobsResponse = z.infer<typeof ListQueueJobsResponse>Source: minds-ui/apps/api-service/types/queue.ts:283.
QueueSchedule
QueueSchedule = z.object({
id: z.string(),
queue_name: z.string(),
job_name: z.string(),
cron_expression: z.string(),
payload: z.record(z.unknown()),
timezone: z.string().optional(),
enabled: z.boolean(),
last_run: z.string().datetime().nullable(),
next_run: z.string().datetime().nullable(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/queue.ts:289.
QueueSchedule
export type QueueSchedule = z.infer<typeof QueueSchedule>Source: minds-ui/apps/api-service/types/queue.ts:303.
CreateQueueScheduleRequest
CreateQueueScheduleRequest = z.object({
queue_name: z.string(),
job_name: z.string(),
cron_expression: z.string(),
payload: z.record(z.unknown()),
timezone: z.string().optional(),
})Source: minds-ui/apps/api-service/types/queue.ts:309.
CreateQueueScheduleRequest
export type CreateQueueScheduleRequest = z.infer<typeof CreateQueueScheduleRequest>Source: minds-ui/apps/api-service/types/queue.ts:317.
UpdateQueueScheduleRequest
UpdateQueueScheduleRequest = z.object({
cron_expression: z.string().optional(),
payload: z.record(z.unknown()).optional(),
timezone: z.string().optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/queue.ts:323.
UpdateQueueScheduleRequest
export type UpdateQueueScheduleRequest = z.infer<typeof UpdateQueueScheduleRequest>Source: minds-ui/apps/api-service/types/queue.ts:330.
ListQueueSchedulesResponse
ListQueueSchedulesResponse = z.object({
schedules: z.array(QueueSchedule),
})Source: minds-ui/apps/api-service/types/queue.ts:336.
ListQueueSchedulesResponse
export type ListQueueSchedulesResponse = z.infer<typeof ListQueueSchedulesResponse>Source: minds-ui/apps/api-service/types/queue.ts:340.
QueueDeadLetterItem
QueueDeadLetterItem = z.object({
id: z.string(),
original_queue_name: z.string(),
payload: z.record(z.unknown()),
error_message: z.string(),
attempts: z.number().int(),
failed_at: z.string().datetime(),
metadata: z.record(z.unknown()).optional(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/queue.ts:346.
QueueDeadLetterItem
export type QueueDeadLetterItem = z.infer<typeof QueueDeadLetterItem>Source: minds-ui/apps/api-service/types/queue.ts:357.
ListQueueDeadLetterItemsQuery
ListQueueDeadLetterItemsQuery = z.object({
limit: z.coerce.number().int().min(1).max(1000).default(100),
offset: z.coerce.number().int().min(0).default(0),
start_date: z.string().datetime().optional(),
end_date: z.string().datetime().optional(),
})Source: minds-ui/apps/api-service/types/queue.ts:363.
ListQueueDeadLetterItemsQuery
export type ListQueueDeadLetterItemsQuery = z.infer<typeof ListQueueDeadLetterItemsQuery>Source: minds-ui/apps/api-service/types/queue.ts:370.
ListQueueDeadLetterItemsResponse
ListQueueDeadLetterItemsResponse = z.object({
items: z.array(QueueDeadLetterItem),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/queue.ts:376.
ListQueueDeadLetterItemsResponse
export type ListQueueDeadLetterItemsResponse = z.infer<typeof ListQueueDeadLetterItemsResponse>Source: minds-ui/apps/api-service/types/queue.ts:385.
RetryQueueItemRequest
RetryQueueItemRequest = z.object({
item_id: z.string(),
delay_ms: z.number().int().min(0).optional().default(0),
})Source: minds-ui/apps/api-service/types/queue.ts:391.
RetryQueueItemRequest
export type RetryQueueItemRequest = z.infer<typeof RetryQueueItemRequest>Source: minds-ui/apps/api-service/types/queue.ts:396.
RetryQueueItemResponse
RetryQueueItemResponse = z.object({
item_id: z.string(),
status: QueueStatus,
retry_at: z.string().datetime().optional(),
})Source: minds-ui/apps/api-service/types/queue.ts:402.
RetryQueueItemResponse
export type RetryQueueItemResponse = z.infer<typeof RetryQueueItemResponse>Source: minds-ui/apps/api-service/types/queue.ts:408.
CancelQueueItemRequest
CancelQueueItemRequest = z.object({
item_id: z.string(),
reason: z.string().max(500).optional(),
})Source: minds-ui/apps/api-service/types/queue.ts:414.
CancelQueueItemRequest
export type CancelQueueItemRequest = z.infer<typeof CancelQueueItemRequest>Source: minds-ui/apps/api-service/types/queue.ts:419.
CancelQueueItemResponse
CancelQueueItemResponse = z.object({
item_id: z.string(),
status: QueueStatus,
cancelled_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/queue.ts:425.
CancelQueueItemResponse
export type CancelQueueItemResponse = z.infer<typeof CancelQueueItemResponse>Source: minds-ui/apps/api-service/types/queue.ts:431.
minds-ui/apps/api-service/types/region.ts
RegionProvider
RegionProvider = z.enum(['KKP', 'TALOS', 'EKS', 'AKS', 'GKE'])Source: minds-ui/apps/api-service/types/region.ts:12.
RegionProvider
export type RegionProvider = z.infer<typeof RegionProvider>Source: minds-ui/apps/api-service/types/region.ts:13.
RegionStatus
RegionStatus = z.enum(['ACTIVE', 'DEGRADED', 'DRAINING', 'DISABLED'])Source: minds-ui/apps/api-service/types/region.ts:15.
RegionStatus
export type RegionStatus = z.infer<typeof RegionStatus>Source: minds-ui/apps/api-service/types/region.ts:16.
RegionCapacity
RegionCapacity = z.object({
autoScales: z.boolean(),
maxTenants: z.number().nullable(),
currentTenantCount: z.number(),
cpuCapacityMillis: z.number().nullable(),
cpuAllocatedMillis: z.number().nullable(),
cpuUtilizationPercent: z.number().nullable(),
memoryCapacityMb: z.number().nullable(),
memoryAllocatedMb: z.number().nullable(),
memoryUtilizationPercent: z.number().nullable(),
storageCapacityGb: z.number().nullable(),
storageAllocatedGb: z.number().nullable(),
storageUtilizationPercent: z.number().nullable(),
isOverloaded: z.boolean(),
acceptingNewTenants: z.boolean(),
})Source: minds-ui/apps/api-service/types/region.ts:22.
RegionCapacity
export type RegionCapacity = z.infer<typeof RegionCapacity>Source: minds-ui/apps/api-service/types/region.ts:38.
RegionResponse
RegionResponse = z.object({
id: z.string(),
slug: z.string(),
name: z.string(),
displayName: z.string(),
description: z.string().nullable(),
provider: RegionProvider,
status: RegionStatus,
isPrimary: z.boolean(),
ingressDomain: z.string().nullable(),
latitude: z.number().nullable(),
longitude: z.number().nullable(),
capacity: RegionCapacity,
lastHealthCheck: z.string().nullable(),
healthMessage: z.string().nullable(),
})Source: minds-ui/apps/api-service/types/region.ts:44.
RegionResponse
export type RegionResponse = z.infer<typeof RegionResponse>Source: minds-ui/apps/api-service/types/region.ts:60.
ListRegionsQuery
ListRegionsQuery = z.object({
status: RegionStatus.optional(),
provider: RegionProvider.optional(),
accepting_tenants: z.coerce.boolean().optional(),
})Source: minds-ui/apps/api-service/types/region.ts:66.
ListRegionsQuery
export type ListRegionsQuery = z.infer<typeof ListRegionsQuery>Source: minds-ui/apps/api-service/types/region.ts:71.
ListRegionsResponse
ListRegionsResponse = z.object({
regions: z.array(RegionResponse),
defaultRegion: z.string().nullable(),
})Source: minds-ui/apps/api-service/types/region.ts:73.
ListRegionsResponse
export type ListRegionsResponse = z.infer<typeof ListRegionsResponse>Source: minds-ui/apps/api-service/types/region.ts:77.
CreateRegionRequest
CreateRegionRequest = z.object({
slug: z.string().min(2).max(50).regex(/^[a-z0-9-]+$/),
name: z.string().min(1).max(100),
displayName: z.string().min(1).max(200),
description: z.string().max(500).optional(),
provider: RegionProvider,
isPrimary: z.boolean().optional().default(false),
controlPlaneEndpoint: z.string().url().optional(),
ingressDomain: z.string().optional(),
kkpProjectId: z.string().optional(),
kkpClusterId: z.string().optional(),
kubeconfigSecretPath: z.string(),
tlsBundleSecretPath: z.string().optional(),
autoScales: z.boolean().optional().default(false),
maxTenants: z.number().positive().optional(),
latitude: z.number().min(-90).max(90).optional(),
longitude: z.number().min(-180).max(180).optional(),
})Source: minds-ui/apps/api-service/types/region.ts:83.
CreateRegionRequest
export type CreateRegionRequest = z.infer<typeof CreateRegionRequest>Source: minds-ui/apps/api-service/types/region.ts:101.
UpdateRegionRequest
UpdateRegionRequest = z.object({
name: z.string().min(1).max(100).optional(),
displayName: z.string().min(1).max(200).optional(),
description: z.string().max(500).optional(),
status: RegionStatus.optional(),
isPrimary: z.boolean().optional(),
autoScales: z.boolean().optional(),
maxTenants: z.number().positive().nullable().optional(),
latitude: z.number().min(-90).max(90).optional(),
longitude: z.number().min(-180).max(180).optional(),
})Source: minds-ui/apps/api-service/types/region.ts:103.
UpdateRegionRequest
export type UpdateRegionRequest = z.infer<typeof UpdateRegionRequest>Source: minds-ui/apps/api-service/types/region.ts:114.
RegionHealthResponse
RegionHealthResponse = z.object({
regionId: z.string(),
slug: z.string(),
status: RegionStatus,
healthy: z.boolean(),
lastCheck: z.string(),
message: z.string().nullable(),
capacity: RegionCapacity,
kubernetesConnected: z.boolean(),
ingressHealthy: z.boolean(),
certificatesValid: z.boolean(),
})Source: minds-ui/apps/api-service/types/region.ts:120.
RegionHealthResponse
export type RegionHealthResponse = z.infer<typeof RegionHealthResponse>Source: minds-ui/apps/api-service/types/region.ts:132.
minds-ui/apps/api-service/types/security.ts
SecurityThreatLevel
SecurityThreatLevel = z.enum([
'low',
'medium',
'high',
'critical',
])Source: minds-ui/apps/api-service/types/security.ts:7.
SecurityThreatLevel
export type SecurityThreatLevel = z.infer<typeof SecurityThreatLevel>Source: minds-ui/apps/api-service/types/security.ts:14.
SecurityEventType
SecurityEventType = z.enum([
'login_attempt',
'login_success',
'login_failure',
'logout',
'password_change',
'api_key_created',
'api_key_revoked',
'permission_granted',
'permission_revoked',
'data_access',
'data_export',
'data_import',
'configuration_change',
'suspicious_activity',
'brute_force_attack',
'sql_injection_attempt',
'xss_attempt',
'csrf_attempt',
'unauthorized_access',
'privilege_escalation',
])Source: minds-ui/apps/api-service/types/security.ts:20.
SecurityEventType
export type SecurityEventType = z.infer<typeof SecurityEventType>Source: minds-ui/apps/api-service/types/security.ts:43.
SecurityEvent
SecurityEvent = z.object({
id: z.string(),
type: SecurityEventType,
threat_level: SecurityThreatLevel,
user_id: z.string().optional(),
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
ip_address: z.string().optional(),
user_agent: z.string().optional(),
request_id: z.string().optional(),
session_id: z.string().optional(),
api_key_id: z.string().optional(),
message: z.string(),
details: z.record(z.unknown()).optional(),
resolved: z.boolean(),
resolved_by: z.string().optional(),
resolved_at: z.string().datetime().optional(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/security.ts:49.
SecurityEvent
export type SecurityEvent = z.infer<typeof SecurityEvent>Source: minds-ui/apps/api-service/types/security.ts:69.
ListSecurityEventsQuery
ListSecurityEventsQuery = z.object({
limit: z.coerce.number().int().min(1).max(1000).default(100),
offset: z.coerce.number().int().min(0).default(0),
type: SecurityEventType.optional(),
threat_level: SecurityThreatLevel.optional(),
user_id: z.string().optional(),
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
ip_address: z.string().optional(),
resolved: z.boolean().optional(),
start_date: z.string().datetime().optional(),
end_date: z.string().datetime().optional(),
})Source: minds-ui/apps/api-service/types/security.ts:75.
ListSecurityEventsQuery
export type ListSecurityEventsQuery = z.infer<typeof ListSecurityEventsQuery>Source: minds-ui/apps/api-service/types/security.ts:89.
ListSecurityEventsResponse
ListSecurityEventsResponse = z.object({
events: z.array(SecurityEvent),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/security.ts:95.
ListSecurityEventsResponse
export type ListSecurityEventsResponse = z.infer<typeof ListSecurityEventsResponse>Source: minds-ui/apps/api-service/types/security.ts:104.
SecurityAlert
SecurityAlert = z.object({
id: z.string(),
title: z.string(),
description: z.string(),
threat_level: SecurityThreatLevel,
event_type: SecurityEventType,
user_id: z.string().optional(),
tenant_id: z.string().optional(),
organization_id: z.string().optional(),
ip_address: z.string().optional(),
metadata: z.record(z.unknown()).optional(),
acknowledged: z.boolean(),
acknowledged_by: z.string().optional(),
acknowledged_at: z.string().datetime().optional(),
resolved: z.boolean(),
resolved_by: z.string().optional(),
resolved_at: z.string().datetime().optional(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/security.ts:110.
SecurityAlert
export type SecurityAlert = z.infer<typeof SecurityAlert>Source: minds-ui/apps/api-service/types/security.ts:130.
ListSecurityAlertsQuery
ListSecurityAlertsQuery = z.object({
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
threat_level: SecurityThreatLevel.optional(),
event_type: SecurityEventType.optional(),
acknowledged: z.boolean().optional(),
resolved: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/security.ts:136.
ListSecurityAlertsQuery
export type ListSecurityAlertsQuery = z.infer<typeof ListSecurityAlertsQuery>Source: minds-ui/apps/api-service/types/security.ts:145.
ListSecurityAlertsResponse
ListSecurityAlertsResponse = z.object({
alerts: z.array(SecurityAlert),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/security.ts:151.
ListSecurityAlertsResponse
export type ListSecurityAlertsResponse = z.infer<typeof ListSecurityAlertsResponse>Source: minds-ui/apps/api-service/types/security.ts:160.
AcknowledgeSecurityAlertRequest
AcknowledgeSecurityAlertRequest = z.object({
message: z.string().max(500).optional(),
})Source: minds-ui/apps/api-service/types/security.ts:166.
AcknowledgeSecurityAlertRequest
export type AcknowledgeSecurityAlertRequest = z.infer<typeof AcknowledgeSecurityAlertRequest>Source: minds-ui/apps/api-service/types/security.ts:170.
AcknowledgeSecurityAlertResponse
AcknowledgeSecurityAlertResponse = z.object({
alert_id: z.string(),
acknowledged: z.boolean(),
acknowledged_by: z.string(),
acknowledged_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/security.ts:176.
AcknowledgeSecurityAlertResponse
export type AcknowledgeSecurityAlertResponse = z.infer<typeof AcknowledgeSecurityAlertResponse>Source: minds-ui/apps/api-service/types/security.ts:183.
ResolveSecurityAlertRequest
ResolveSecurityAlertRequest = z.object({
message: z.string().max(500).optional(),
})Source: minds-ui/apps/api-service/types/security.ts:189.
ResolveSecurityAlertRequest
export type ResolveSecurityAlertRequest = z.infer<typeof ResolveSecurityAlertRequest>Source: minds-ui/apps/api-service/types/security.ts:193.
ResolveSecurityAlertResponse
ResolveSecurityAlertResponse = z.object({
alert_id: z.string(),
resolved: z.boolean(),
resolved_by: z.string(),
resolved_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/security.ts:199.
ResolveSecurityAlertResponse
export type ResolveSecurityAlertResponse = z.infer<typeof ResolveSecurityAlertResponse>Source: minds-ui/apps/api-service/types/security.ts:206.
SecurityPolicy
SecurityPolicy = z.object({
id: z.string(),
name: z.string(),
description: z.string().optional(),
policy_type: z.enum(['access_control', 'data_protection', 'audit', 'incident_response']),
rules: z.array(z.record(z.unknown())),
enabled: z.boolean(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/security.ts:212.
SecurityPolicy
export type SecurityPolicy = z.infer<typeof SecurityPolicy>Source: minds-ui/apps/api-service/types/security.ts:223.
CreateSecurityPolicyRequest
CreateSecurityPolicyRequest = z.object({
name: z.string().min(1).max(100),
description: z.string().max(500).optional(),
policy_type: z.enum(['access_control', 'data_protection', 'audit', 'incident_response']),
rules: z.array(z.record(z.unknown())).min(1),
})Source: minds-ui/apps/api-service/types/security.ts:229.
CreateSecurityPolicyRequest
export type CreateSecurityPolicyRequest = z.infer<typeof CreateSecurityPolicyRequest>Source: minds-ui/apps/api-service/types/security.ts:236.
UpdateSecurityPolicyRequest
UpdateSecurityPolicyRequest = z.object({
name: z.string().min(1).max(100).optional(),
description: z.string().max(500).optional(),
rules: z.array(z.record(z.unknown())).optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/security.ts:242.
UpdateSecurityPolicyRequest
export type UpdateSecurityPolicyRequest = z.infer<typeof UpdateSecurityPolicyRequest>Source: minds-ui/apps/api-service/types/security.ts:249.
ListSecurityPoliciesResponse
ListSecurityPoliciesResponse = z.object({
policies: z.array(SecurityPolicy),
})Source: minds-ui/apps/api-service/types/security.ts:255.
ListSecurityPoliciesResponse
export type ListSecurityPoliciesResponse = z.infer<typeof ListSecurityPoliciesResponse>Source: minds-ui/apps/api-service/types/security.ts:259.
SecurityScan
SecurityScan = z.object({
id: z.string(),
name: z.string(),
scan_type: z.enum(['vulnerability', 'compliance', 'penetration', 'code_analysis']),
target: z.string(),
schedule: z.string().optional(), // Cron expression
enabled: z.boolean(),
last_run: z.string().datetime().nullable(),
next_run: z.string().datetime().nullable(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/security.ts:265.
SecurityScan
export type SecurityScan = z.infer<typeof SecurityScan>Source: minds-ui/apps/api-service/types/security.ts:278.
CreateSecurityScanRequest
CreateSecurityScanRequest = z.object({
name: z.string().min(1).max(100),
scan_type: z.enum(['vulnerability', 'compliance', 'penetration', 'code_analysis']),
target: z.string(),
schedule: z.string().optional(),
})Source: minds-ui/apps/api-service/types/security.ts:284.
CreateSecurityScanRequest
export type CreateSecurityScanRequest = z.infer<typeof CreateSecurityScanRequest>Source: minds-ui/apps/api-service/types/security.ts:291.
UpdateSecurityScanRequest
UpdateSecurityScanRequest = z.object({
name: z.string().min(1).max(100).optional(),
target: z.string().optional(),
schedule: z.string().optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/security.ts:297.
UpdateSecurityScanRequest
export type UpdateSecurityScanRequest = z.infer<typeof UpdateSecurityScanRequest>Source: minds-ui/apps/api-service/types/security.ts:304.
ListSecurityScansResponse
ListSecurityScansResponse = z.object({
scans: z.array(SecurityScan),
})Source: minds-ui/apps/api-service/types/security.ts:310.
ListSecurityScansResponse
export type ListSecurityScansResponse = z.infer<typeof ListSecurityScansResponse>Source: minds-ui/apps/api-service/types/security.ts:314.
SecurityScanResult
SecurityScanResult = z.object({
id: z.string(),
scan_id: z.string(),
status: z.enum(['running', 'completed', 'failed']),
findings: z.array(z.object({
severity: SecurityThreatLevel,
title: z.string(),
description: z.string(),
recommendation: z.string().optional(),
cve: z.string().optional(),
cvss_score: z.number().optional(),
})),
started_at: z.string().datetime(),
completed_at: z.string().datetime().nullable(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/security.ts:320.
SecurityScanResult
export type SecurityScanResult = z.infer<typeof SecurityScanResult>Source: minds-ui/apps/api-service/types/security.ts:337.
ListSecurityScanResultsQuery
ListSecurityScanResultsQuery = z.object({
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
status: z.enum(['running', 'completed', 'failed']).optional(),
})Source: minds-ui/apps/api-service/types/security.ts:343.
ListSecurityScanResultsQuery
export type ListSecurityScanResultsQuery = z.infer<typeof ListSecurityScanResultsQuery>Source: minds-ui/apps/api-service/types/security.ts:349.
ListSecurityScanResultsResponse
ListSecurityScanResultsResponse = z.object({
results: z.array(SecurityScanResult),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/security.ts:355.
ListSecurityScanResultsResponse
export type ListSecurityScanResultsResponse = z.infer<typeof ListSecurityScanResultsResponse>Source: minds-ui/apps/api-service/types/security.ts:364.
SecurityCompliance
SecurityCompliance = z.object({
id: z.string(),
name: z.string(),
framework: z.enum(['SOC2', 'ISO27001', 'GDPR', 'HIPAA', 'PCI-DSS', 'NIST']),
description: z.string().optional(),
requirements: z.array(z.object({
id: z.string(),
title: z.string(),
description: z.string(),
status: z.enum(['compliant', 'non_compliant', 'partial', 'not_applicable']),
evidence: z.array(z.string()).optional(),
})),
last_assessment: z.string().datetime().nullable(),
next_assessment: z.string().datetime().nullable(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/security.ts:370.
SecurityCompliance
export type SecurityCompliance = z.infer<typeof SecurityCompliance>Source: minds-ui/apps/api-service/types/security.ts:388.
CreateSecurityComplianceRequest
CreateSecurityComplianceRequest = z.object({
name: z.string().min(1).max(100),
framework: z.enum(['SOC2', 'ISO27001', 'GDPR', 'HIPAA', 'PCI-DSS', 'NIST']),
description: z.string().max(500).optional(),
})Source: minds-ui/apps/api-service/types/security.ts:394.
CreateSecurityComplianceRequest
export type CreateSecurityComplianceRequest = z.infer<typeof CreateSecurityComplianceRequest>Source: minds-ui/apps/api-service/types/security.ts:400.
UpdateSecurityComplianceRequest
UpdateSecurityComplianceRequest = z.object({
name: z.string().min(1).max(100).optional(),
description: z.string().max(500).optional(),
requirements: z.array(z.object({
id: z.string(),
title: z.string(),
description: z.string(),
status: z.enum(['compliant', 'non_compliant', 'partial', 'not_applicable']),
evidence: z.array(z.string()).optional(),
})).optional(),
})Source: minds-ui/apps/api-service/types/security.ts:406.
UpdateSecurityComplianceRequest
export type UpdateSecurityComplianceRequest = z.infer<typeof UpdateSecurityComplianceRequest>Source: minds-ui/apps/api-service/types/security.ts:418.
ListSecurityComplianceResponse
ListSecurityComplianceResponse = z.object({
compliance: z.array(SecurityCompliance),
})Source: minds-ui/apps/api-service/types/security.ts:424.
ListSecurityComplianceResponse
export type ListSecurityComplianceResponse = z.infer<typeof ListSecurityComplianceResponse>Source: minds-ui/apps/api-service/types/security.ts:428.
SecurityStats
SecurityStats = z.object({
total_events: z.number().int(),
events_by_level: z.record(z.number().int()),
events_by_type: z.record(z.number().int()),
active_alerts: z.number().int(),
resolved_alerts: z.number().int(),
compliance_score: z.number().min(0).max(100),
period_start: z.string().datetime(),
period_end: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/security.ts:434.
SecurityStats
export type SecurityStats = z.infer<typeof SecurityStats>Source: minds-ui/apps/api-service/types/security.ts:445.
GetSecurityStatsResponse
GetSecurityStatsResponse = z.object({
stats: SecurityStats,
period: z.object({
start: z.string().datetime(),
end: z.string().datetime(),
}),
})Source: minds-ui/apps/api-service/types/security.ts:451.
GetSecurityStatsResponse
export type GetSecurityStatsResponse = z.infer<typeof GetSecurityStatsResponse>Source: minds-ui/apps/api-service/types/security.ts:459.
SecurityIncident
SecurityIncident = z.object({
id: z.string(),
title: z.string(),
description: z.string(),
severity: SecurityThreatLevel,
status: z.enum(['open', 'investigating', 'contained', 'resolved', 'closed']),
assigned_to: z.string().optional(),
affected_users: z.array(z.string()).optional(),
affected_tenants: z.array(z.string()).optional(),
timeline: z.array(z.object({
timestamp: z.string().datetime(),
event: z.string(),
user: z.string().optional(),
})),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/security.ts:465.
SecurityIncident
export type SecurityIncident = z.infer<typeof SecurityIncident>Source: minds-ui/apps/api-service/types/security.ts:483.
CreateSecurityIncidentRequest
CreateSecurityIncidentRequest = z.object({
title: z.string().min(1).max(200),
description: z.string().min(1).max(1000),
severity: SecurityThreatLevel,
affected_users: z.array(z.string()).optional(),
affected_tenants: z.array(z.string()).optional(),
})Source: minds-ui/apps/api-service/types/security.ts:489.
CreateSecurityIncidentRequest
export type CreateSecurityIncidentRequest = z.infer<typeof CreateSecurityIncidentRequest>Source: minds-ui/apps/api-service/types/security.ts:497.
UpdateSecurityIncidentRequest
UpdateSecurityIncidentRequest = z.object({
title: z.string().min(1).max(200).optional(),
description: z.string().min(1).max(1000).optional(),
severity: SecurityThreatLevel.optional(),
status: z.enum(['open', 'investigating', 'contained', 'resolved', 'closed']).optional(),
assigned_to: z.string().optional(),
})Source: minds-ui/apps/api-service/types/security.ts:503.
UpdateSecurityIncidentRequest
export type UpdateSecurityIncidentRequest = z.infer<typeof UpdateSecurityIncidentRequest>Source: minds-ui/apps/api-service/types/security.ts:511.
ListSecurityIncidentsQuery
ListSecurityIncidentsQuery = z.object({
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
severity: SecurityThreatLevel.optional(),
status: z.enum(['open', 'investigating', 'contained', 'resolved', 'closed']).optional(),
assigned_to: z.string().optional(),
})Source: minds-ui/apps/api-service/types/security.ts:517.
ListSecurityIncidentsQuery
export type ListSecurityIncidentsQuery = z.infer<typeof ListSecurityIncidentsQuery>Source: minds-ui/apps/api-service/types/security.ts:525.
ListSecurityIncidentsResponse
ListSecurityIncidentsResponse = z.object({
incidents: z.array(SecurityIncident),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/security.ts:531.
ListSecurityIncidentsResponse
export type ListSecurityIncidentsResponse = z.infer<typeof ListSecurityIncidentsResponse>Source: minds-ui/apps/api-service/types/security.ts:540.
minds-ui/apps/api-service/types/service.ts
ServiceCategory
ServiceCategory = z.enum([
'storage',
'compute',
'memory',
'backup',
'full_stack',
])Source: minds-ui/apps/api-service/types/service.ts:7.
ServiceCategory
export type ServiceCategory = z.infer<typeof ServiceCategory>Source: minds-ui/apps/api-service/types/service.ts:15.
ServiceStatus
ServiceStatus = z.enum([
'provisioning',
'active',
'degraded',
'suspended',
'failed',
'deleted',
])Source: minds-ui/apps/api-service/types/service.ts:21.
ServiceStatus
export type ServiceStatus = z.infer<typeof ServiceStatus>Source: minds-ui/apps/api-service/types/service.ts:30.
ServicePlanName
ServicePlanName = z.enum(['free', 'starter', 'pro', 'enterprise'])Source: minds-ui/apps/api-service/types/service.ts:36.
ServicePlanName
export type ServicePlanName = z.infer<typeof ServicePlanName>Source: minds-ui/apps/api-service/types/service.ts:38.
ServiceType
ServiceType = z.object({
id: z.string(),
name: z.string(), // e.g., "kv", "graph", "vector", "full_akasha"
display_name: z.string(),
description: z.string().optional(),
category: ServiceCategory,
capabilities: z.array(z.string()), // e.g., ["kv", "transactions", "mvcc"]
base_price: z.number(),
pricing_unit: z.string(), // "requests", "storage", "inferences"
default_config: z.record(z.unknown()).optional(),
enabled: z.boolean(),
beta_only: z.boolean(),
})Source: minds-ui/apps/api-service/types/service.ts:44.
ServiceType
export type ServiceType = z.infer<typeof ServiceType>Source: minds-ui/apps/api-service/types/service.ts:58.
ServiceInstance
ServiceInstance = z.object({
id: z.string(),
service_type_id: z.string(),
tenant_id: z.string().optional(),
name: z.string(),
slug: z.string(),
endpoint: z.string().url().optional(),
config: z.record(z.unknown()).optional(),
plan: ServicePlanName,
status: ServiceStatus,
region: z.string(),
storage_quota_gb: z.number().int().optional(),
bound_to_instance_id: z.string().optional(),
binding_config: z.record(z.unknown()).optional(),
metadata: z.record(z.unknown()).optional(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
deleted_at: z.string().datetime().optional(),
})Source: minds-ui/apps/api-service/types/service.ts:64.
ServiceInstance
export type ServiceInstance = z.infer<typeof ServiceInstance>Source: minds-ui/apps/api-service/types/service.ts:84.
Bundle
Bundle = z.object({
id: z.string(),
name: z.string(),
display_name: z.string(),
description: z.string().optional(),
is_default: z.boolean(),
enabled: z.boolean(),
services: z.array(
z.object({
service_type: ServiceType,
required: z.boolean(),
display_order: z.number().int(),
}),
),
})Source: minds-ui/apps/api-service/types/service.ts:90.
Bundle
export type Bundle = z.infer<typeof Bundle>Source: minds-ui/apps/api-service/types/service.ts:106.
ServicePlanTier
ServicePlanTier = z.object({
id: z.string(),
service_type_id: z.string(),
plan: ServicePlanName,
storage_quota_gb: z.number().int().optional(),
included_requests: z.number().int().optional(),
included_inferences: z.number().int().optional(),
included_operations: z.number().int().optional(),
base_price: z.number(),
overage_rates: z.record(z.number()).optional(),
features: z.array(z.string()).optional(),
})Source: minds-ui/apps/api-service/types/service.ts:112.
ServicePlanTier
export type ServicePlanTier = z.infer<typeof ServicePlanTier>Source: minds-ui/apps/api-service/types/service.ts:125.
CreateServiceRequest
CreateServiceRequest = z.object({
service_type: z.string(), // Service type name (e.g., "kv", "graph")
name: z.string().min(1).max(100),
slug: z
.string()
.regex(/^[a-z0-9-]+$/)
.min(3)
.max(63)
.optional(), // Auto-generated if omitted
plan: ServicePlanName.optional().default('free'),
region: z.string().optional().default('us-east-1'),
config: z.record(z.unknown()).optional(),
tenant_id: z.string().optional(), // Link to existing tenant
})Source: minds-ui/apps/api-service/types/service.ts:131.
CreateServiceRequest
export type CreateServiceRequest = z.infer<typeof CreateServiceRequest>Source: minds-ui/apps/api-service/types/service.ts:146.
CreateServiceResponse
CreateServiceResponse = z.object({
service_id: z.string(),
service_type: z.string(),
name: z.string(),
slug: z.string(),
endpoint: z.string().url().optional(),
status: z.literal('provisioning'),
created_at: z.string().datetime(),
estimated_ready_in: z.number().int(), // seconds
})Source: minds-ui/apps/api-service/types/service.ts:152.
CreateServiceResponse
export type CreateServiceResponse = z.infer<typeof CreateServiceResponse>Source: minds-ui/apps/api-service/types/service.ts:163.
UpdateServiceRequest
UpdateServiceRequest = z.object({
name: z.string().min(1).max(100).optional(),
plan: ServicePlanName.optional(),
config: z.record(z.unknown()).optional(),
})Source: minds-ui/apps/api-service/types/service.ts:169.
UpdateServiceRequest
export type UpdateServiceRequest = z.infer<typeof UpdateServiceRequest>Source: minds-ui/apps/api-service/types/service.ts:175.
ListServicesQuery
ListServicesQuery = z.object({
tenant_id: z.string().optional(),
service_type: z.string().optional(),
status: ServiceStatus.optional(),
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
})Source: minds-ui/apps/api-service/types/service.ts:181.
ListServicesQuery
export type ListServicesQuery = z.infer<typeof ListServicesQuery>Source: minds-ui/apps/api-service/types/service.ts:189.
ListServicesResponse
ListServicesResponse = z.object({
services: z.array(
ServiceInstance.pick({
id: true,
service_type_id: true,
tenant_id: true,
name: true,
slug: true,
endpoint: true,
plan: true,
status: true,
created_at: true,
}),
),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/service.ts:195.
ListServicesResponse
export type ListServicesResponse = z.infer<typeof ListServicesResponse>Source: minds-ui/apps/api-service/types/service.ts:216.
ServiceBindingRequest
ServiceBindingRequest = z.object({
target_service_id: z.string(),
binding_config: z.record(z.unknown()).optional(),
})Source: minds-ui/apps/api-service/types/service.ts:222.
ServiceBindingRequest
export type ServiceBindingRequest = z.infer<typeof ServiceBindingRequest>Source: minds-ui/apps/api-service/types/service.ts:227.
ServiceBindingResponse
ServiceBindingResponse = z.object({
source_service_id: z.string(),
target_service_id: z.string(),
binding_status: z.enum(['bound', 'failed']),
endpoint: z.string().url().optional(),
binding_metadata: z.record(z.unknown()).optional(),
})Source: minds-ui/apps/api-service/types/service.ts:233.
ServiceBindingResponse
export type ServiceBindingResponse = z.infer<typeof ServiceBindingResponse>Source: minds-ui/apps/api-service/types/service.ts:241.
BundleExpansionRequest
BundleExpansionRequest = z.object({
bundle_name: z.string(),
base_slug: z.string().regex(/^[a-z0-9-]+$/),
plan: ServicePlanName.default('free'),
region: z.string().default('us-east-1'),
tenant_id: z.string().optional(),
service_overrides: z
.record(
z.object({
config: z.record(z.unknown()).optional(),
plan: ServicePlanName.optional(),
}),
)
.optional(),
})Source: minds-ui/apps/api-service/types/service.ts:247.
BundleExpansionRequest
export type BundleExpansionRequest = z.infer<typeof BundleExpansionRequest>Source: minds-ui/apps/api-service/types/service.ts:263.
BundleExpansionResponse
BundleExpansionResponse = z.object({
bundle_name: z.string(),
services: z.array(CreateServiceResponse),
total_services: z.number().int(),
estimated_ready_in: z.number().int(),
})Source: minds-ui/apps/api-service/types/service.ts:269.
BundleExpansionResponse
export type BundleExpansionResponse = z.infer<typeof BundleExpansionResponse>Source: minds-ui/apps/api-service/types/service.ts:276.
ServiceHealthCheck
ServiceHealthCheck = z.object({
instance_reachable: z.boolean(),
endpoint_responding: z.boolean(),
storage_accessible: z.boolean().optional(),
last_health_check: z.string().datetime().optional(),
})Source: minds-ui/apps/api-service/types/service.ts:282.
ServiceHealthCheck
export type ServiceHealthCheck = z.infer<typeof ServiceHealthCheck>Source: minds-ui/apps/api-service/types/service.ts:289.
ServiceStatusResponse
ServiceStatusResponse = z.object({
id: z.string(),
status: ServiceStatus,
health: ServiceHealthCheck,
current_operation: z
.object({
type: z.enum(['provisioning', 'scaling', 'backup', 'restore']),
started_at: z.string().datetime(),
progress_percent: z.number().min(0).max(100),
})
.optional(),
})Source: minds-ui/apps/api-service/types/service.ts:295.
ServiceStatusResponse
export type ServiceStatusResponse = z.infer<typeof ServiceStatusResponse>Source: minds-ui/apps/api-service/types/service.ts:308.
ListBundlesResponse
ListBundlesResponse = z.object({
bundles: z.array(Bundle),
total: z.number().int(),
})Source: minds-ui/apps/api-service/types/service.ts:314.
ListBundlesResponse
export type ListBundlesResponse = z.infer<typeof ListBundlesResponse>Source: minds-ui/apps/api-service/types/service.ts:319.
ListServiceTypesResponse
ListServiceTypesResponse = z.object({
service_types: z.array(ServiceType),
total: z.number().int(),
})Source: minds-ui/apps/api-service/types/service.ts:325.
ListServiceTypesResponse
export type ListServiceTypesResponse = z.infer<typeof ListServiceTypesResponse>Source: minds-ui/apps/api-service/types/service.ts:330.
minds-ui/apps/api-service/types/tenant.ts
TenantStatus
TenantStatus = z.enum([
'provisioning', // K8s deployment in progress
'active', // Instance running and accessible
'scaling', // Horizontal scaling in progress
'suspended', // Payment failed or admin action
'failed', // Provisioning error
'deleted', // Soft-deleted, data retained for 30 days
])Source: minds-ui/apps/api-service/types/tenant.ts:13.
TenantStatus
export type TenantStatus = z.infer<typeof TenantStatus>Source: minds-ui/apps/api-service/types/tenant.ts:22.
TenantPlan
TenantPlan = z.enum(['free', 'starter', 'pro', 'enterprise'])Source: minds-ui/apps/api-service/types/tenant.ts:28.
TenantPlan
export type TenantPlan = z.infer<typeof TenantPlan>Source: minds-ui/apps/api-service/types/tenant.ts:30.
TenantRegion
export type TenantRegion = z.infer<typeof TenantRegion>Source: minds-ui/apps/api-service/types/tenant.ts:41.
TenantConfig
TenantConfig = z.object({
storage_gb: z.number().int().positive().optional(),
enable_backups: z.boolean().optional(),
retention_days: z.number().int().min(1).max(90).optional(),
})Source: minds-ui/apps/api-service/types/tenant.ts:47.
TenantConfig
export type TenantConfig = z.infer<typeof TenantConfig>Source: minds-ui/apps/api-service/types/tenant.ts:53.
TenantMetadata
TenantMetadata = z.object({
instance_id: z.string(), // K8s deployment name
k8s_namespace: z.string(),
storage_namespace: z.string(), // S3 bucket path
jwt_secret_version: z.number().int().default(1),
last_health_check: z.string().datetime().optional(),
provisioning_duration_ms: z.number().int().optional(),
})Source: minds-ui/apps/api-service/types/tenant.ts:59.
TenantMetadata
export type TenantMetadata = z.infer<typeof TenantMetadata>Source: minds-ui/apps/api-service/types/tenant.ts:68.
TenantStats
TenantStats = z.object({
storage_used_gb: z.number(),
requests_total: z.number().int(),
uptime_percent: z.number().min(0).max(100),
})Source: minds-ui/apps/api-service/types/tenant.ts:74.
TenantStats
export type TenantStats = z.infer<typeof TenantStats>Source: minds-ui/apps/api-service/types/tenant.ts:80.
ProductType
ProductType = z.enum(['legacy', 'memory_cloud'])Source: minds-ui/apps/api-service/types/tenant.ts:86.
ProductType
export type ProductType = z.infer<typeof ProductType>Source: minds-ui/apps/api-service/types/tenant.ts:88.
Tenant
Tenant = z.object({
id: z.string(),
org_id: z.string(), // L1fe Console organization ID
project_id: z.string().optional(),
name: z.string().min(1).max(100),
slug: z.string().regex(/^[a-z0-9-]+$/), // Subdomain-safe slug
endpoint: z.string().url(), // https://{slug}.akasha.ooo
plan: TenantPlan,
plan_memory_limit: z.number().int().min(0).nullable().optional(),
plan_retrieval_quota: z.number().int().min(0).nullable().optional(),
plan_graph_enabled: z.boolean().default(false),
plan_node_partitioning: z.boolean().default(false),
product_type: ProductType.default('legacy'),
region: TenantRegion,
status: TenantStatus,
config: TenantConfig.optional(),
metadata: TenantMetadata,
stats: TenantStats.optional(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
deleted_at: z.string().datetime().optional(),
})Source: minds-ui/apps/api-service/types/tenant.ts:90.
Tenant
export type Tenant = z.infer<typeof Tenant>Source: minds-ui/apps/api-service/types/tenant.ts:113.
CreateTenantRequest
CreateTenantRequest = z.object({
org_id: z.string(),
project_id: z.string().optional(),
name: z.string().min(1).max(100),
slug: z
.string()
.regex(/^[a-z0-9-]+$/)
.min(3)
.max(63)
.optional(), // Auto-generated if omitted
plan: TenantPlan,
product_type: ProductType.default('legacy').optional(),
region: TenantRegion.optional().default('us-east-1'),
config: TenantConfig.optional(),
// Modular Services Extension (PRD §5.1)
service_type: z
.string()
.optional(), // Specific service type (e.g., "kv", "graph", "memory_suite")
bundle: z
.string()
.optional(), // Bundle name (e.g., "full_akasha", "kv_graph", "memory_suite")
service_config: z
.record(z.unknown())
.optional(), // Service-specific configuration overrides
})Source: minds-ui/apps/api-service/types/tenant.ts:124.
CreateTenantRequest
export type CreateTenantRequest = z.infer<typeof CreateTenantRequest>Source: minds-ui/apps/api-service/types/tenant.ts:151.
CreateTenantRequestInput
export type CreateTenantRequestInput = z.input<typeof CreateTenantRequest>Source: minds-ui/apps/api-service/types/tenant.ts:152.
CreateTenantResponse
CreateTenantResponse = z.object({
tenant_id: z.string(),
slug: z.string(),
endpoint: z.string().url(),
status: z.literal('provisioning'),
created_at: z.string().datetime(),
estimated_ready_in: z.number().int(), // seconds
})Source: minds-ui/apps/api-service/types/tenant.ts:158.
CreateTenantResponse
export type CreateTenantResponse = z.infer<typeof CreateTenantResponse>Source: minds-ui/apps/api-service/types/tenant.ts:167.
UpdateTenantRequest
UpdateTenantRequest = z.object({
name: z.string().min(1).max(100).optional(),
plan: TenantPlan.optional(),
product_type: ProductType.optional(),
config: TenantConfig.optional(),
plan_memory_limit: z.number().int().min(0).nullable().optional(),
plan_retrieval_quota: z.number().int().min(0).nullable().optional(),
plan_graph_enabled: z.boolean().optional(),
plan_node_partitioning: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/tenant.ts:173.
UpdateTenantRequest
export type UpdateTenantRequest = z.infer<typeof UpdateTenantRequest>Source: minds-ui/apps/api-service/types/tenant.ts:184.
ListTenantsQuery
ListTenantsQuery = z.object({
org_id: z.string().optional(),
status: TenantStatus.optional(),
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
})Source: minds-ui/apps/api-service/types/tenant.ts:190.
ListTenantsQuery
export type ListTenantsQuery = z.infer<typeof ListTenantsQuery>Source: minds-ui/apps/api-service/types/tenant.ts:197.
ListTenantsQueryInput
export type ListTenantsQueryInput = z.input<typeof ListTenantsQuery>Source: minds-ui/apps/api-service/types/tenant.ts:198.
ListTenantsResponse
ListTenantsResponse = z.object({
tenants: z.array(
Tenant.pick({
id: true,
org_id: true,
project_id: true,
name: true,
slug: true,
endpoint: true,
plan: true,
product_type: true,
plan_memory_limit: true,
plan_retrieval_quota: true,
plan_graph_enabled: true,
plan_node_partitioning: true,
status: true,
created_at: true,
}),
),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/tenant.ts:204.
ListTenantsResponse
export type ListTenantsResponse = z.infer<typeof ListTenantsResponse>Source: minds-ui/apps/api-service/types/tenant.ts:230.
TenantHealthCheck
TenantHealthCheck = z.object({
instance_reachable: z.boolean(),
database_connected: z.boolean(),
storage_accessible: z.boolean(),
dns_resolved: z.boolean(),
tls_valid: z.boolean(),
last_health_check: z.string().datetime().optional(),
})Source: minds-ui/apps/api-service/types/tenant.ts:236.
TenantHealthCheck
export type TenantHealthCheck = z.infer<typeof TenantHealthCheck>Source: minds-ui/apps/api-service/types/tenant.ts:245.
TenantStatusResponse
TenantStatusResponse = z.object({
id: z.string(),
status: TenantStatus,
health: TenantHealthCheck,
current_operation: z
.object({
type: z.enum(['provisioning', 'scaling', 'backup', 'restore']),
started_at: z.string().datetime(),
progress_percent: z.number().min(0).max(100),
})
.optional(),
})Source: minds-ui/apps/api-service/types/tenant.ts:251.
TenantStatusResponse
export type TenantStatusResponse = z.infer<typeof TenantStatusResponse>Source: minds-ui/apps/api-service/types/tenant.ts:264.
minds-ui/apps/api-service/types/usage.ts
UsageMetric
UsageMetric = z.object({
current: z.number(),
included: z.number(),
overage: z.number(),
cost: z.number(), // USD
})Source: minds-ui/apps/api-service/types/usage.ts:8.
UsageMetric
export type UsageMetric = z.infer<typeof UsageMetric>Source: minds-ui/apps/api-service/types/usage.ts:15.
BillingPeriod
BillingPeriod = z.object({
start: z.string().datetime(),
end: z.string().datetime(),
days_elapsed: z.number().int(),
})Source: minds-ui/apps/api-service/types/usage.ts:20.
BillingPeriod
export type BillingPeriod = z.infer<typeof BillingPeriod>Source: minds-ui/apps/api-service/types/usage.ts:26.
UsageResponse
UsageResponse = z.object({
tenant_id: z.string(),
plan: TenantPlan,
billing_period: BillingPeriod,
usage: z.object({
storage_gb: UsageMetric,
requests: UsageMetric,
hrm_inferences: UsageMetric,
vector_searches: z.object({
total: z.number().int(),
cost: z.number(),
}),
graph_queries: z.object({
total: z.number().int(),
cost: z.number(),
}),
}),
estimated_cost: z.object({
base: z.number(), // Plan base cost
usage: z.number(), // Overage cost
total: z.number(), // Total estimated
currency: z.literal('USD'),
}),
})Source: minds-ui/apps/api-service/types/usage.ts:32.
UsageResponse
export type UsageResponse = z.infer<typeof UsageResponse>Source: minds-ui/apps/api-service/types/usage.ts:57.
UsageHistoryMetric
UsageHistoryMetric = z.enum([
'storage',
'requests',
'hrm_inferences',
'vector_searches',
'graph_queries',
])Source: minds-ui/apps/api-service/types/usage.ts:62.
UsageHistoryMetric
export type UsageHistoryMetric = z.infer<typeof UsageHistoryMetric>Source: minds-ui/apps/api-service/types/usage.ts:70.
UsageHistoryGranularity
UsageHistoryGranularity = z.enum(['hour', 'day', 'week', 'month'])Source: minds-ui/apps/api-service/types/usage.ts:75.
UsageHistoryGranularity
export type UsageHistoryGranularity = z.infer<typeof UsageHistoryGranularity>Source: minds-ui/apps/api-service/types/usage.ts:77.
UsageHistoryQuery
UsageHistoryQuery = z.object({
metric: UsageHistoryMetric,
granularity: UsageHistoryGranularity,
start_date: z.string().datetime(),
end_date: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/usage.ts:83.
UsageHistoryQuery
export type UsageHistoryQuery = z.infer<typeof UsageHistoryQuery>Source: minds-ui/apps/api-service/types/usage.ts:90.
UsageHistoryResponse
UsageHistoryResponse = z.object({
tenant_id: z.string(),
metric: UsageHistoryMetric,
granularity: UsageHistoryGranularity,
data_points: z.array(
z.object({
timestamp: z.string().datetime(),
value: z.number(),
}),
),
})Source: minds-ui/apps/api-service/types/usage.ts:96.
UsageHistoryResponse
export type UsageHistoryResponse = z.infer<typeof UsageHistoryResponse>Source: minds-ui/apps/api-service/types/usage.ts:108.
InvoiceLineItem
InvoiceLineItem = z.object({
description: z.string(),
quantity: z.number(),
unit_price: z.number(),
amount: z.number(),
})Source: minds-ui/apps/api-service/types/usage.ts:113.
InvoiceLineItem
export type InvoiceLineItem = z.infer<typeof InvoiceLineItem>Source: minds-ui/apps/api-service/types/usage.ts:120.
InvoicePaymentMethod
InvoicePaymentMethod = z.object({
type: z.literal('card'),
last4: z.string(),
brand: z.string(),
})Source: minds-ui/apps/api-service/types/usage.ts:125.
InvoicePaymentMethod
export type InvoicePaymentMethod = z.infer<typeof InvoicePaymentMethod>Source: minds-ui/apps/api-service/types/usage.ts:131.
InvoiceStatus
InvoiceStatus = z.enum(['draft', 'open', 'paid', 'void'])Source: minds-ui/apps/api-service/types/usage.ts:136.
InvoiceStatus
export type InvoiceStatus = z.infer<typeof InvoiceStatus>Source: minds-ui/apps/api-service/types/usage.ts:138.
Invoice
Invoice = z.object({
id: z.string(),
tenant_id: z.string(),
period_start: z.string().datetime(),
period_end: z.string().datetime(),
subtotal: z.number(),
tax: z.number(),
total: z.number(),
status: InvoiceStatus,
due_date: z.string().datetime(),
line_items: z.array(InvoiceLineItem),
payment_method: InvoicePaymentMethod.optional(),
})Source: minds-ui/apps/api-service/types/usage.ts:144.
Invoice
export type Invoice = z.infer<typeof Invoice>Source: minds-ui/apps/api-service/types/usage.ts:158.
minds-ui/apps/api-service/types/user.ts
User
User = z.object({
id: z.string(),
email: z.string().email(),
name: z.string().optional(),
image: z.string().url().optional(),
email_verified: z.boolean(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/user.ts:7.
User
export type User = z.infer<typeof User>Source: minds-ui/apps/api-service/types/user.ts:17.
UserProfile
UserProfile = z.object({
id: z.string(),
email: z.string().email(),
name: z.string().optional(),
image: z.string().url().optional(),
email_verified: z.boolean(),
bio: z.string().max(500).optional(),
website: z.string().url().optional(),
location: z.string().max(100).optional(),
timezone: z.string().optional(),
preferences: z.object({
theme: z.enum(['light', 'dark', 'system']).optional(),
language: z.string().optional(),
notifications: z.object({
email: z.boolean().optional(),
push: z.boolean().optional(),
webhook: z.boolean().optional(),
}).optional(),
}).optional(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/user.ts:23.
UserProfile
export type UserProfile = z.infer<typeof UserProfile>Source: minds-ui/apps/api-service/types/user.ts:46.
UpdateUserProfileRequest
UpdateUserProfileRequest = z.object({
name: z.string().min(1).max(100).optional(),
bio: z.string().max(500).optional(),
website: z.string().url().optional(),
location: z.string().max(100).optional(),
timezone: z.string().optional(),
preferences: z.object({
theme: z.enum(['light', 'dark', 'system']).optional(),
language: z.string().optional(),
notifications: z.object({
email: z.boolean().optional(),
push: z.boolean().optional(),
webhook: z.boolean().optional(),
}).optional(),
}).optional(),
})Source: minds-ui/apps/api-service/types/user.ts:52.
UpdateUserProfileRequest
export type UpdateUserProfileRequest = z.infer<typeof UpdateUserProfileRequest>Source: minds-ui/apps/api-service/types/user.ts:69.
UserStats
UserStats = z.object({
total_organizations: z.number().int(),
total_tenants: z.number().int(),
total_api_keys: z.number().int(),
total_requests: z.number().int(),
last_active_at: z.string().datetime().nullable(),
})Source: minds-ui/apps/api-service/types/user.ts:75.
UserStats
export type UserStats = z.infer<typeof UserStats>Source: minds-ui/apps/api-service/types/user.ts:83.
GetUserStatsResponse
GetUserStatsResponse = z.object({
user_id: z.string(),
stats: UserStats,
period: z.object({
start: z.string().datetime(),
end: z.string().datetime(),
}),
})Source: minds-ui/apps/api-service/types/user.ts:89.
GetUserStatsResponse
export type GetUserStatsResponse = z.infer<typeof GetUserStatsResponse>Source: minds-ui/apps/api-service/types/user.ts:98.
UserSession
UserSession = z.object({
id: z.string(),
user_id: z.string(),
expires_at: z.string().datetime(),
created_at: z.string().datetime(),
last_used_at: z.string().datetime().nullable(),
ip_address: z.string().optional(),
user_agent: z.string().optional(),
})Source: minds-ui/apps/api-service/types/user.ts:104.
UserSession
export type UserSession = z.infer<typeof UserSession>Source: minds-ui/apps/api-service/types/user.ts:114.
ListUserSessionsQuery
ListUserSessionsQuery = z.object({
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
active: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/user.ts:120.
ListUserSessionsQuery
export type ListUserSessionsQuery = z.infer<typeof ListUserSessionsQuery>Source: minds-ui/apps/api-service/types/user.ts:126.
ListUserSessionsResponse
ListUserSessionsResponse = z.object({
sessions: z.array(UserSession),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/user.ts:132.
ListUserSessionsResponse
export type ListUserSessionsResponse = z.infer<typeof ListUserSessionsResponse>Source: minds-ui/apps/api-service/types/user.ts:141.
RevokeUserSessionRequest
RevokeUserSessionRequest = z.object({
session_id: z.string(),
})Source: minds-ui/apps/api-service/types/user.ts:147.
RevokeUserSessionRequest
export type RevokeUserSessionRequest = z.infer<typeof RevokeUserSessionRequest>Source: minds-ui/apps/api-service/types/user.ts:151.
UserActivity
UserActivity = z.object({
id: z.string(),
user_id: z.string(),
action: z.string(),
resource_type: z.string().optional(),
resource_id: z.string().optional(),
ip_address: z.string().optional(),
user_agent: z.string().optional(),
metadata: z.record(z.unknown()).optional(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/user.ts:157.
UserActivity
export type UserActivity = z.infer<typeof UserActivity>Source: minds-ui/apps/api-service/types/user.ts:169.
ListUserActivitiesQuery
ListUserActivitiesQuery = z.object({
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
action: z.string().optional(),
resource_type: z.string().optional(),
start_date: z.string().datetime().optional(),
end_date: z.string().datetime().optional(),
})Source: minds-ui/apps/api-service/types/user.ts:175.
ListUserActivitiesQuery
export type ListUserActivitiesQuery = z.infer<typeof ListUserActivitiesQuery>Source: minds-ui/apps/api-service/types/user.ts:184.
ListUserActivitiesResponse
ListUserActivitiesResponse = z.object({
activities: z.array(UserActivity),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/user.ts:190.
ListUserActivitiesResponse
export type ListUserActivitiesResponse = z.infer<typeof ListUserActivitiesResponse>Source: minds-ui/apps/api-service/types/user.ts:199.
UserNotification
UserNotification = z.object({
id: z.string(),
user_id: z.string(),
type: z.string(),
enabled: z.boolean(),
channels: z.array(z.enum(['email', 'push', 'webhook'])),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/user.ts:205.
UserNotification
export type UserNotification = z.infer<typeof UserNotification>Source: minds-ui/apps/api-service/types/user.ts:215.
UpdateUserNotificationRequest
UpdateUserNotificationRequest = z.object({
enabled: z.boolean().optional(),
channels: z.array(z.enum(['email', 'push', 'webhook'])).optional(),
})Source: minds-ui/apps/api-service/types/user.ts:221.
UpdateUserNotificationRequest
export type UpdateUserNotificationRequest = z.infer<typeof UpdateUserNotificationRequest>Source: minds-ui/apps/api-service/types/user.ts:226.
ListUserNotificationsResponse
ListUserNotificationsResponse = z.object({
notifications: z.array(UserNotification),
})Source: minds-ui/apps/api-service/types/user.ts:232.
ListUserNotificationsResponse
export type ListUserNotificationsResponse = z.infer<typeof ListUserNotificationsResponse>Source: minds-ui/apps/api-service/types/user.ts:236.
UserApiKey
UserApiKey = z.object({
id: z.string(),
tenant_id: z.string(),
name: z.string(),
description: z.string().optional(),
permissions: z.array(z.string()),
enabled: z.boolean(),
expires_at: z.string().datetime().nullable(),
last_used_at: z.string().datetime().nullable(),
usage_count: z.number().int(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
tenant: z.object({
id: z.string(),
name: z.string(),
slug: z.string(),
organization: z.object({
id: z.string(),
name: z.string(),
}),
}),
})Source: minds-ui/apps/api-service/types/user.ts:242.
UserApiKey
export type UserApiKey = z.infer<typeof UserApiKey>Source: minds-ui/apps/api-service/types/user.ts:265.
ListUserApiKeysQuery
ListUserApiKeysQuery = z.object({
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
tenant_id: z.string().optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/user.ts:271.
ListUserApiKeysQuery
export type ListUserApiKeysQuery = z.infer<typeof ListUserApiKeysQuery>Source: minds-ui/apps/api-service/types/user.ts:278.
ListUserApiKeysResponse
ListUserApiKeysResponse = z.object({
api_keys: z.array(UserApiKey),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/user.ts:284.
ListUserApiKeysResponse
export type ListUserApiKeysResponse = z.infer<typeof ListUserApiKeysResponse>Source: minds-ui/apps/api-service/types/user.ts:293.
UserOrganizationMembership
UserOrganizationMembership = z.object({
id: z.string(),
organization_id: z.string(),
user_id: z.string(),
role: z.string(),
active: z.boolean(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
organization: z.object({
id: z.string(),
name: z.string(),
slug: z.string(),
}),
})Source: minds-ui/apps/api-service/types/user.ts:299.
UserOrganizationMembership
export type UserOrganizationMembership = z.infer<typeof UserOrganizationMembership>Source: minds-ui/apps/api-service/types/user.ts:314.
ListUserOrganizationMembershipsResponse
ListUserOrganizationMembershipsResponse = z.object({
memberships: z.array(UserOrganizationMembership),
})Source: minds-ui/apps/api-service/types/user.ts:320.
ListUserOrganizationMembershipsResponse
export type ListUserOrganizationMembershipsResponse = z.infer<typeof ListUserOrganizationMembershipsResponse>Source: minds-ui/apps/api-service/types/user.ts:324.
minds-ui/apps/api-service/types/webhook.ts
WebhookEventType
WebhookEventType = z.enum([
'instance.created',
'instance.ready',
'instance.scaling',
'instance.suspended',
'instance.deleted',
'backup.started',
'backup.completed',
'backup.failed',
'usage.threshold_exceeded',
'billing.invoice_created',
'billing.payment_failed',
])Source: minds-ui/apps/api-service/types/webhook.ts:7.
WebhookEventType
export type WebhookEventType = z.infer<typeof WebhookEventType>Source: minds-ui/apps/api-service/types/webhook.ts:21.
Webhook
Webhook = z.object({
id: z.string(),
tenant_id: z.string(),
url: z.string().url(),
events: z.array(WebhookEventType),
secret: z.string(),
enabled: z.boolean(),
created_at: z.string().datetime(),
updated_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/webhook.ts:27.
Webhook
export type Webhook = z.infer<typeof Webhook>Source: minds-ui/apps/api-service/types/webhook.ts:38.
CreateWebhookRequest
CreateWebhookRequest = z.object({
url: z.string().url(),
events: z.array(WebhookEventType).min(1),
secret: z.string().optional(), // Auto-generated if not provided
})Source: minds-ui/apps/api-service/types/webhook.ts:44.
CreateWebhookRequest
export type CreateWebhookRequest = z.infer<typeof CreateWebhookRequest>Source: minds-ui/apps/api-service/types/webhook.ts:50.
CreateWebhookResponse
CreateWebhookResponse = z.object({
webhook_id: z.string(),
url: z.string().url(),
secret: z.string(),
events: z.array(WebhookEventType),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/webhook.ts:56.
CreateWebhookResponse
export type CreateWebhookResponse = z.infer<typeof CreateWebhookResponse>Source: minds-ui/apps/api-service/types/webhook.ts:64.
UpdateWebhookRequest
UpdateWebhookRequest = z.object({
url: z.string().url().optional(),
events: z.array(WebhookEventType).optional(),
enabled: z.boolean().optional(),
})Source: minds-ui/apps/api-service/types/webhook.ts:70.
UpdateWebhookRequest
export type UpdateWebhookRequest = z.infer<typeof UpdateWebhookRequest>Source: minds-ui/apps/api-service/types/webhook.ts:76.
ListWebhooksResponse
ListWebhooksResponse = z.object({
webhooks: z.array(Webhook),
})Source: minds-ui/apps/api-service/types/webhook.ts:82.
ListWebhooksResponse
export type ListWebhooksResponse = z.infer<typeof ListWebhooksResponse>Source: minds-ui/apps/api-service/types/webhook.ts:86.
WebhookDelivery
WebhookDelivery = z.object({
id: z.string(),
webhook_id: z.string(),
event_type: WebhookEventType,
payload: z.record(z.unknown()),
response_status: z.number().int().nullable(),
response_body: z.string().nullable(),
delivered_at: z.string().datetime().nullable(),
failed_at: z.string().datetime().nullable(),
retry_count: z.number().int(),
created_at: z.string().datetime(),
})Source: minds-ui/apps/api-service/types/webhook.ts:92.
WebhookDelivery
export type WebhookDelivery = z.infer<typeof WebhookDelivery>Source: minds-ui/apps/api-service/types/webhook.ts:105.
ListWebhookDeliveriesQuery
ListWebhookDeliveriesQuery = z.object({
limit: z.coerce.number().int().min(1).max(100).default(20),
offset: z.coerce.number().int().min(0).default(0),
event_type: WebhookEventType.optional(),
status: z.enum(['delivered', 'failed', 'pending']).optional(),
})Source: minds-ui/apps/api-service/types/webhook.ts:111.
ListWebhookDeliveriesQuery
export type ListWebhookDeliveriesQuery = z.infer<typeof ListWebhookDeliveriesQuery>Source: minds-ui/apps/api-service/types/webhook.ts:118.
ListWebhookDeliveriesResponse
ListWebhookDeliveriesResponse = z.object({
deliveries: z.array(WebhookDelivery),
pagination: z.object({
total: z.number().int(),
limit: z.number().int(),
offset: z.number().int(),
}),
})Source: minds-ui/apps/api-service/types/webhook.ts:124.
ListWebhookDeliveriesResponse
export type ListWebhookDeliveriesResponse = z.infer<typeof ListWebhookDeliveriesResponse>Source: minds-ui/apps/api-service/types/webhook.ts:133.
WebhookEventPayload
WebhookEventPayload = z.object({
id: z.string(),
type: WebhookEventType,
tenant_id: z.string(),
timestamp: z.string().datetime(),
data: z.record(z.unknown()),
metadata: z.record(z.unknown()).optional(),
})Source: minds-ui/apps/api-service/types/webhook.ts:139.
WebhookEventPayload
export type WebhookEventPayload = z.infer<typeof WebhookEventPayload>Source: minds-ui/apps/api-service/types/webhook.ts:148.
WebhookSignature
WebhookSignature = z.object({
signature: z.string(),
timestamp: z.string(),
payload: z.string(),
})Source: minds-ui/apps/api-service/types/webhook.ts:154.
WebhookSignature
export type WebhookSignature = z.infer<typeof WebhookSignature>Source: minds-ui/apps/api-service/types/webhook.ts:160.
WebhookTestRequest
WebhookTestRequest = z.object({
event_type: WebhookEventType.optional(),
payload: z.record(z.unknown()).optional(),
})Source: minds-ui/apps/api-service/types/webhook.ts:166.
WebhookTestRequest
export type WebhookTestRequest = z.infer<typeof WebhookTestRequest>Source: minds-ui/apps/api-service/types/webhook.ts:171.
WebhookTestResponse
WebhookTestResponse = z.object({
delivery_id: z.string(),
status: z.enum(['delivered', 'failed']),
response_status: z.number().int().nullable(),
response_body: z.string().nullable(),
delivered_at: z.string().datetime().nullable(),
})Source: minds-ui/apps/api-service/types/webhook.ts:177.
WebhookTestResponse
export type WebhookTestResponse = z.infer<typeof WebhookTestResponse>Source: minds-ui/apps/api-service/types/webhook.ts:185.
WebhookStats
WebhookStats = z.object({
total_deliveries: z.number().int(),
successful_deliveries: z.number().int(),
failed_deliveries: z.number().int(),
success_rate: z.number().min(0).max(100),
average_response_time_ms: z.number().nullable(),
last_delivery_at: z.string().datetime().nullable(),
})Source: minds-ui/apps/api-service/types/webhook.ts:191.
WebhookStats
export type WebhookStats = z.infer<typeof WebhookStats>Source: minds-ui/apps/api-service/types/webhook.ts:200.
GetWebhookStatsResponse
GetWebhookStatsResponse = z.object({
webhook_id: z.string(),
stats: WebhookStats,
period: z.object({
start: z.string().datetime(),
end: z.string().datetime(),
}),
})Source: minds-ui/apps/api-service/types/webhook.ts:206.
GetWebhookStatsResponse
export type GetWebhookStatsResponse = z.infer<typeof GetWebhookStatsResponse>Source: minds-ui/apps/api-service/types/webhook.ts:215.
minds-ui/apps/app/lib/provisioning/types.ts
InstanceMode
export type InstanceMode = 'shared' | 'dedicated';Source: minds-ui/apps/app/lib/provisioning/types.ts:1.
SubscriptionState
export type SubscriptionState = 'active' | 'trialing' | 'past_due' | 'canceled' | 'missing';Source: minds-ui/apps/app/lib/provisioning/types.ts:2.
InstanceStatus
export type InstanceStatus = 'provisioning' | 'active' | 'reconcile_required' | 'deleting' | 'deleted';Source: minds-ui/apps/app/lib/provisioning/types.ts:3.
ServiceName
export type ServiceName = 'kv' | 'graph' | 'vector' | 'analytics' | 'memory' | 'ml';Source: minds-ui/apps/app/lib/provisioning/types.ts:4.
PlanTier
export type PlanTier = 'free' | 'starter' | 'pro' | 'enterprise';Source: minds-ui/apps/app/lib/provisioning/types.ts:5.
ProvisioningProvider
export type ProvisioningProvider = 'render' | 'ensure' | 'firecracker';Source: minds-ui/apps/app/lib/provisioning/types.ts:6.
DomainKind
export type DomainKind = 'minds_subdomain' | 'customer_hostname';Source: minds-ui/apps/app/lib/provisioning/types.ts:7.
ModuleConfig
export type ModuleConfig = Record<ServiceName, boolean>;Source: minds-ui/apps/app/lib/provisioning/types.ts:9.
AkashaRuntimeSecrets
export type AkashaRuntimeSecrets = Record<string, string> & {
AKASHA_ADMIN_TOKEN: string;
AKASHA_CAPABILITY_PUBLIC_KEY: string;
};Source: minds-ui/apps/app/lib/provisioning/types.ts:10.
SharedPoolRecord
export interface SharedPoolRecord {
region: string;
pool: string;
currentTenants: number;
maxTenants: number;
renderServiceId?: string;
renderServiceName?: string;
}Source: minds-ui/apps/app/lib/provisioning/types.ts:15.
SharedPoolSelection
export interface SharedPoolSelection {
region: string;
pool: string;
currentTenants: number;
maxTenants: number;
utilization: number;
threshold: number;
shouldScaleOut: boolean;
source: 'existing_pool' | 'new_pool';
}Source: minds-ui/apps/app/lib/provisioning/types.ts:24.
ProvisioningConfig
export interface ProvisioningConfig {
renderOwnerId: string;
image: string;
baseDomain: string;
sharedPool: string;
sharedPools?: SharedPoolRecord[];
sharedScaleThreshold?: number;
sharedPoolMaxTenants?: number;
renderApiBaseUrl?: string;
renderPlan?: string;
renderRegistryCredentialId?: string;
cloudflareApiBaseUrl?: string;
cloudflareZoneId?: string;
cloudflareProxied?: boolean;
cloudflareSaasEnabled?: boolean;
volumeSizeGb?: number;
cpuKind?: 'shared' | 'performance';
cpus?: number;
memoryMb?: number;
capabilityIssuer?: string;
capabilityAudience?: string;
}Source: minds-ui/apps/app/lib/provisioning/types.ts:35.
CreateProvisioningPlanInput
export interface CreateProvisioningPlanInput {
organizationId: string;
name: string;
mode: InstanceMode;
region: string;
plan: PlanTier | string;
services: ServiceName[];
hotLoading: boolean;
deploymentSlug: string;
customHostnames?: string[];
config: ProvisioningConfig;
}Source: minds-ui/apps/app/lib/provisioning/types.ts:58.
ProvisioningDomainPlan
export interface ProvisioningDomainPlan {
hostname: string;
dnsTarget: string;
kind: DomainKind;
}Source: minds-ui/apps/app/lib/provisioning/types.ts:71.
ProvisioningPlan
export interface ProvisioningPlan {
id: string;
organizationId: string;
mode: InstanceMode;
plan: string;
region: string;
deploymentSlug: string;
serviceNames: ServiceName[];
provider: ProvisioningProvider;
renderOwnerId: string;
renderServiceName: string;
endpoint: string;
providerEndpoint: string;
image: string;
sharedPool?: SharedPoolSelection;
disk: {
name: string;
sizeGb: number;
mountPath: string;
};
service: {
name: string;
region: string;
plan: string;
config: {
image: string;
env: Record<string, string>;
labels: Record<string, string>;
healthCheckPath: string;
numInstances: number;
};
};
domains: ProvisioningDomainPlan[];
primaryDomain: ProvisioningDomainPlan;
}Source: minds-ui/apps/app/lib/provisioning/types.ts:77.
GardenEntitlements
export interface GardenEntitlements {
organizationId: string;
subscriptionState: SubscriptionState;
allowedModes: InstanceMode[];
maxSharedInstances: number;
maxDedicatedInstances: number;
currentSharedInstances: number;
currentDedicatedInstances: number;
}Source: minds-ui/apps/app/lib/provisioning/types.ts:113.
ProvisionedInstance
export interface ProvisionedInstance {
id: string;
organizationId: string;
mode: InstanceMode;
plan: string;
region: string;
deploymentSlug?: string;
provider: ProvisioningProvider;
endpoint: string;
providerEndpoint: string;
renderServiceId: string;
renderServiceName: string;
renderDeployId?: string;
resourceIds: string[];
diskIds: string[];
hostnames: string[];
image: string;
status: InstanceStatus;
}Source: minds-ui/apps/app/lib/provisioning/types.ts:123.
minds-ui/apps/app/lib/control-plane/types.ts
ServiceStatus
export type ServiceStatus = 'provisioning' | 'active' | 'scaling' | 'suspended' | 'failed' | 'deleted';Source: minds-ui/apps/app/lib/control-plane/types.ts:6.
ServiceTypeName
export type ServiceTypeName = 'kv' | 'graph' | 'vector' | 'memory' | 'analytics' | 'queue' | 'backups';Source: minds-ui/apps/app/lib/control-plane/types.ts:8.
PlanTier
export type PlanTier = 'free' | 'starter' | 'pro' | 'enterprise';Source: minds-ui/apps/app/lib/control-plane/types.ts:10.
ProductType
export type ProductType = 'legacy' | 'memory_cloud';Source: minds-ui/apps/app/lib/control-plane/types.ts:11.
TenantStatus
export type TenantStatus =
| 'provisioning'
| 'active'
| 'scaling'
| 'suspended'
| 'failed'
| 'deleted';Source: minds-ui/apps/app/lib/control-plane/types.ts:13.
ControlPlaneService
export interface ControlPlaneService {
id: string;
service_type_id: string;
tenant_id: string;
name: string;
slug: string;
endpoint: string;
plan: PlanTier;
status: ServiceStatus;
config: Record<string, unknown>;
region: string;
metadata: {
created_by: string;
service_type_name: ServiceTypeName;
[key: string]: unknown;
};
created_at: string;
updated_at: string;
}Source: minds-ui/apps/app/lib/control-plane/types.ts:24.
ControlPlaneTenant
export interface ControlPlaneTenant {
id: string;
org_id: string;
project_id?: string | null;
name: string;
slug: string;
endpoint?: string;
plan?: PlanTier;
product_type?: ProductType;
plan_memory_limit?: number | null;
plan_retrieval_quota?: number | null;
plan_graph_enabled?: boolean;
plan_node_partitioning?: boolean;
region?: string | null;
preferred_region?: string | null;
failover_region?: string | null;
status?: TenantStatus;
metadata?: Record<string, unknown>;
created_at: string;
updated_at: string;
}Source: minds-ui/apps/app/lib/control-plane/types.ts:47.
TenantServiceGroup
export interface TenantServiceGroup {
tenant: ControlPlaneTenant;
services: ControlPlaneService[];
}Source: minds-ui/apps/app/lib/control-plane/types.ts:69.
ListServicesResponse
export interface ListServicesResponse {
services: ControlPlaneService[];
pagination: {
total: number;
limit: number;
offset: number;
};
}Source: minds-ui/apps/app/lib/control-plane/types.ts:77.
ListTenantsResponse
export interface ListTenantsResponse {
tenants: ControlPlaneTenant[];
pagination: {
total: number;
limit: number;
offset: number;
};
}Source: minds-ui/apps/app/lib/control-plane/types.ts:89.
minds-ui/apps/app/lib/chat/operator-context.ts
BuildOperatorContextInput
export type BuildOperatorContextInput = {
accessToken?: string;
tokenOrgId?: string;
tokenTenantId?: string;
activeTenantId?: string;
activeServiceId?: string;
userName?: string | null;
userEmail?: string | null;
};Source: minds-ui/apps/app/lib/chat/operator-context.ts:68.