26 lines
1.2 KiB
SQL
26 lines
1.2 KiB
SQL
-- ============================================================================
|
|
-- Migration 018: Create resources table (Resource Registry)
|
|
-- ============================================================================
|
|
-- Purpose:
|
|
-- 1. Allow Processors and Agents to register themselves.
|
|
-- 2. Track status and last heartbeat for monitoring.
|
|
-- 3. Support capabilities metadata for discovery.
|
|
-- ============================================================================
|
|
|
|
CREATE TABLE IF NOT EXISTS resources (
|
|
resource_id VARCHAR(64) PRIMARY KEY,
|
|
resource_type VARCHAR(20) NOT NULL, -- 'processor', 'agent', 'service'
|
|
category VARCHAR(50), -- 'visual', 'speech', 'logic'
|
|
capabilities JSONB DEFAULT '{}',
|
|
config JSONB DEFAULT '{}',
|
|
metadata JSONB DEFAULT '{}',
|
|
status VARCHAR(20) DEFAULT 'offline', -- 'idle', 'busy', 'offline', 'error'
|
|
last_heartbeat TIMESTAMPTZ,
|
|
created_at TIMESTAMPTZ DEFAULT NOW()
|
|
);
|
|
|
|
CREATE INDEX idx_resources_type ON resources(resource_type);
|
|
CREATE INDEX idx_resources_status ON resources(status);
|
|
|
|
COMMENT ON TABLE resources IS 'Registry for Processors, Agents, and Services. Used for monitoring and discovery.';
|