Spaces:
Runtime error
Runtime error
-- Create the table for storing agent parameters | |
CREATE TABLE agent_parameters ( | |
id SERIAL PRIMARY KEY, | |
tenant_id UUID NOT NULL, | |
default_learning_rate FLOAT NOT NULL, | |
default_exploration_rate FLOAT NOT NULL, | |
agent_types TEXT[] NOT NULL, | |
agent_specializations TEXT[] NOT NULL, | |
reward_structure VARCHAR(50) NOT NULL, | |
max_tokens INT NOT NULL, | |
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP | |
); | |
-- Insert initial agent parameters data | |
INSERT INTO agent_parameters (tenant_id, default_learning_rate, default_exploration_rate, agent_types, agent_specializations, reward_structure, max_tokens) VALUES | |
('tenant-1-uuid', 0.1, 0.1, ARRAY['Conversational', 'Retrieval-based'], ARRAY['Sales', 'Support'], 'Fixed', 512); | |
-- Create the table for storing resource management settings | |
CREATE TABLE resource_management ( | |
id SERIAL PRIMARY KEY, | |
tenant_id UUID NOT NULL, | |
max_compute_usage INT NOT NULL, | |
max_storage_usage INT NOT NULL, | |
cost_per_compute_hour FLOAT NOT NULL, | |
cost_per_gb_storage FLOAT NOT NULL, | |
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP | |
); | |
-- Insert initial resource management data | |
INSERT INTO resource_management (tenant_id, max_compute_usage, max_storage_usage, cost_per_compute_hour, cost_per_gb_storage) VALUES | |
('tenant-1-uuid', 10000, 1000, 0.05, 0.02); | |
-- Create the table for storing access and permissions settings | |
CREATE TABLE access_permissions ( | |
id SERIAL PRIMARY KEY, | |
tenant_id UUID NOT NULL, | |
user_roles TEXT[] NOT NULL, | |
enable_api_access BOOLEAN NOT NULL, | |
api_rate_limit INT NOT NULL, | |
enable_logging BOOLEAN NOT NULL, | |
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP | |
); | |
-- Insert initial access and permissions data | |
INSERT INTO access_permissions (tenant_id, user_roles, enable_api_access, api_rate_limit, enable_logging) VALUES | |
('tenant-1-uuid', ARRAY['Administrator', 'Developer'], TRUE, 1000, TRUE); | |
-- Enable Row-Level Security (RLS) for all system settings tables | |
ALTER TABLE agent_parameters ENABLE ROW LEVEL SECURITY; | |
ALTER TABLE resource_management ENABLE ROW LEVEL SECURITY; | |
ALTER TABLE access_permissions ENABLE ROW LEVEL SECURITY; | |
-- Create RLS policies for agent_parameters | |
CREATE POLICY "tenant_isolation" ON agent_parameters | |
FOR ALL | |
USING (tenant_id = current_setting('app.current_tenant')::uuid); | |
CREATE POLICY "Enable real-time" ON agent_parameters | |
FOR SELECT USING (true); | |
CREATE POLICY "parameters_access" ON agent_parameters | |
FOR SELECT | |
USING (auth.uid() = user_id); | |
-- Create RLS policies for resource_management | |
CREATE POLICY "tenant_isolation" ON resource_management | |
FOR ALL | |
USING (tenant_id = current_setting('app.current_tenant')::uuid); | |
CREATE POLICY "Enable real-time" ON resource_management | |
FOR SELECT USING (true); | |
CREATE POLICY "resource_access" ON resource_management | |
FOR SELECT | |
USING (auth.uid() = user_id); | |
-- Create RLS policies for access_permissions | |
CREATE POLICY "tenant_isolation" ON access_permissions | |
FOR ALL | |
USING (tenant_id = current_setting('app.current_tenant')::uuid); | |
CREATE POLICY "Enable real-time" ON access_permissions | |
FOR SELECT USING (true); | |
CREATE POLICY "permissions_access" ON access_permissions | |
FOR SELECT | |
USING (auth.uid() = user_id); | |
-- Create indexes for optimization | |
CREATE INDEX idx_agent_parameters_tenant_id ON agent_parameters(tenant_id); | |
CREATE INDEX idx_resource_management_tenant_id ON resource_management(tenant_id); | |
CREATE INDEX idx_access_permissions_tenant_id ON access_permissions(tenant_id); |