UNPKG

claude-flow-novice

Version:

Claude Flow Novice - Advanced orchestration platform for multi-agent AI workflows with CFN Loop architecture Includes CodeSearch (hybrid SQLite + pgvector), mem0/memgraph specialists, and all CFN skills.

291 lines (290 loc) 7.88 kB
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "data-format-transformations/sqlite-redis-mapping/v1.0.0", "title": "SQLite ↔ Redis Schema Mapping", "description": "Schema for bidirectional SQLite-Redis schema mapping (Integration Point 6.5)", "type": "object", "required": ["mapping_id", "direction", "source_schema", "target_schema", "timestamp"], "properties": { "mapping_id": { "type": "string", "description": "Unique identifier for mapping", "pattern": "^mapping-[a-z0-9-]+$" }, "direction": { "type": "string", "enum": ["sqlite_to_redis", "redis_to_sqlite", "bidirectional"], "description": "Mapping direction" }, "source_schema": { "type": "object", "description": "Source schema definition", "required": ["database", "structure"], "properties": { "database": { "type": "string", "enum": ["sqlite", "redis"] }, "structure": { "type": "object", "description": "Schema structure", "properties": { "table": { "type": "string", "description": "SQLite table name" }, "key_pattern": { "type": "string", "description": "Redis key pattern" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "type": "string", "enum": ["TEXT", "INTEGER", "REAL", "BLOB", "NULL", "string", "number", "boolean"] }, "nullable": { "type": "boolean" } } } } } } } }, "target_schema": { "type": "object", "description": "Target schema definition", "required": ["database", "structure"], "properties": { "database": { "type": "string", "enum": ["sqlite", "redis"] }, "structure": { "type": "object" } } }, "timestamp": { "type": "string", "format": "date-time", "description": "Mapping timestamp" }, "type_mapping": { "type": "object", "description": "Type conversion rules", "properties": { "rules": { "type": "array", "items": { "type": "object", "required": ["from_type", "to_type"], "properties": { "from_type": { "type": "string" }, "to_type": { "type": "string" }, "conversion_function": { "type": "string", "description": "Function to perform conversion" } } } }, "type_mismatch_handling": { "type": "string", "enum": ["error", "coerce", "skip"], "default": "coerce" } } }, "bidirectional_sync": { "type": "object", "description": "Bidirectional sync configuration", "properties": { "enabled": { "type": "boolean" }, "sync_interval_seconds": { "type": "integer", "minimum": 1 }, "conflict_resolution": { "type": "string", "enum": ["last_write_wins", "source_wins", "target_wins", "manual"], "default": "last_write_wins" }, "change_tracking": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "track_deletes": { "type": "boolean" } } } } }, "conflict_resolution": { "type": "object", "description": "Conflict resolution strategy", "properties": { "strategy": { "type": "string", "enum": ["last_write_wins", "merge", "manual_review", "reject"] }, "conflict_log": { "type": "array", "items": { "type": "object", "properties": { "conflict_id": { "type": "string" }, "timestamp": { "type": "string", "format": "date-time" }, "resolution": { "type": "string" } } } } } }, "validation": { "type": "object", "description": "Mapping validation", "properties": { "source_validated": { "type": "boolean" }, "target_validated": { "type": "boolean" }, "type_compatibility_checked": { "type": "boolean" }, "validation_errors": { "type": "array", "items": { "type": "string" } } } }, "performance": { "type": "object", "properties": { "batch_size": { "type": "integer", "description": "Batch size for bulk operations", "minimum": 1, "default": 100 }, "mapping_duration_ms": { "type": "integer", "description": "Time to perform mapping" } } } }, "additionalProperties": false, "examples": [ { "mapping_id": "mapping-agents-001", "direction": "bidirectional", "source_schema": { "database": "sqlite", "structure": { "table": "agents", "fields": [ { "name": "id", "type": "TEXT", "nullable": false }, { "name": "status", "type": "TEXT", "nullable": false }, { "name": "confidence", "type": "REAL", "nullable": true } ] } }, "target_schema": { "database": "redis", "structure": { "key_pattern": "agent:{id}", "fields": [ { "name": "status", "type": "string" }, { "name": "confidence", "type": "number" } ] } }, "timestamp": "2025-11-17T10:30:00Z", "type_mapping": { "rules": [ { "from_type": "REAL", "to_type": "number", "conversion_function": "parseFloat" }, { "from_type": "TEXT", "to_type": "string", "conversion_function": "toString" } ], "type_mismatch_handling": "coerce" }, "bidirectional_sync": { "enabled": true, "sync_interval_seconds": 60, "conflict_resolution": "last_write_wins", "change_tracking": { "enabled": true, "track_deletes": true } }, "conflict_resolution": { "strategy": "last_write_wins", "conflict_log": [] }, "validation": { "source_validated": true, "target_validated": true, "type_compatibility_checked": true, "validation_errors": [] }, "performance": { "batch_size": 100, "mapping_duration_ms": 50 } } ] }