Skip to content

Latest commit

Β 

History

History
572 lines (427 loc) Β· 19.1 KB

File metadata and controls

572 lines (427 loc) Β· 19.1 KB

πŸ“š Codomyrmex API Reference

"Complete API documentation for all Codomyrmex modules and functionality"

This comprehensive API reference provides detailed documentation for all Codomyrmex modules, including function signatures, parameters, return values, examples, and integration patterns.

πŸ—οΈ API Architecture Overview

Codomyrmex provides 4 distinct API layers to accommodate different integration needs:

1. 🐍 Python Module APIs {#module-apis}

  • Direct imports and function calls from Python code
  • Type-safe interfaces with comprehensive documentation
  • Modular design - import only what you need
  • Extensive examples and usage patterns

2. πŸ’» CLI APIs

  • Command-line interface for all functionality
  • Scripting support for automation workflows
  • Rich output formatting with JSON/structured data
  • Comprehensive help system and examples

3. πŸ€– MCP Tool APIs

  • Model Context Protocol tools for AI/LLM integration
  • Standardized tool calling interface
  • AI agent compatibility with OpenAI, Anthropic, and other providers
  • Tool discovery and metadata

4. 🌐 REST APIs (Planned)

  • HTTP endpoints for web integration
  • JSON-based communication
  • Authentication and authorization
  • Rate limiting and monitoring

πŸ“‹ API Status Legend

Status Description Stability
βœ… Stable Production-ready, fully tested High - Breaking changes rare
πŸ”„ Evolving Feature-complete, minor updates Medium - Minor changes possible
🚧 Developing Core functionality, active development Low - API may change
πŸ“ Planned Not yet implemented N/A - Subject to change

πŸ—οΈ Module API Index

πŸ—οΈ Foundation Modules

These modules provide essential infrastructure used by all other Codomyrmex modules.

Centralized logging and monitoring system

Function Description Status
setup_logging() Initialize structured logging system βœ… Stable
get_logger(name) Get logger instance with proper configuration βœ… Stable
log_performance(func) Decorator for automatic performance logging βœ… Stable
StructuredLogger Advanced logging with JSON formatting βœ… Stable

Quick Example:

from codomyrmex.logging_monitoring import setup_logging, get_logger

# Initialize logging (call once at startup)
setup_logging()

# Get logger for your module
logger = get_logger(__name__)
logger.info("Application started successfully")

Development environment validation and setup automation

Function Description Status
ensure_dependencies_installed() Validate all required dependencies βœ… Stable
check_and_setup_env_vars(root_path) Environment variable validation and setup βœ… Stable
setup_development_environment() Complete development environment setup βœ… Stable
validate_environment() Comprehensive environment health check βœ… Stable

Quick Example:

from codomyrmex.environment_setup import ensure_dependencies_installed, validate_environment

# Ensure all dependencies are available
ensure_dependencies_installed()

# Validate environment configuration
env_status = validate_environment()
print(f"Environment: {'βœ… Good' if env_status['valid'] else '❌ Issues found'}")

Standardized AI/LLM communication framework

Component Description Status
MCPToolCall Schema for AI tool invocation requests βœ… Stable
MCPToolResult Schema for tool execution responses βœ… Stable
validate_mcp_tool() Tool definition validation βœ… Stable
MCPServer Server implementation for MCP tools πŸ”„ Evolving

Quick Example:

from codomyrmex.model_context_protocol import MCPToolCall, MCPToolResult

# Create a tool call (as would be sent by an AI)
tool_call = MCPToolCall(
    tool_name="generate_code_snippet",
    parameters={"prompt": "Create a hello world function", "language": "python"}
)

# Execute tool and return result
result = MCPToolResult(
    success=True,
    result={"generated_code": "def hello(): print('Hello, World!')"},
    metadata={"execution_time": 0.5}
)

πŸ€– AI & Intelligence Modules

AI-powered code generation, refactoring, and analysis

Function Description Status Example
generate_code_snippet() Generate code from natural language πŸ”„ Evolving generate_code_snippet("Create fibonacci function", "python")
refactor_code_snippet() Refactor existing code πŸ”„ Evolving refactor_code_snippet(code, "optimize", "python")
analyze_code_quality() Analyze code quality and suggest improvements πŸ”„ Evolving analyze_code_quality(code, "python")
explain_code() Generate code explanations πŸ”„ Evolving explain_code(code, "python")
generate_documentation() Auto-generate code documentation πŸ”„ Evolving generate_documentation(code, "python")

Quick Example:

from codomyrmex.agents import generate_code_snippet

# Generate a complete function
result = generate_code_snippet(
    prompt="Create a secure user authentication system",
    language="python",
    provider="openai"
)

if result["status"] == "success":
    print("πŸ€– Generated Code:")
    print(result["generated_code"])
    print(f"⏱️ Generated in {result['execution_time']:.2f}s")

Rich plotting and charting capabilities

Function Description Status Example
create_line_plot() Line charts for trends and time series βœ… Stable create_line_plot(x_data, y_data, title="Trends")
create_bar_chart() Bar charts for comparisons and rankings βœ… Stable create_bar_chart(categories, values)
create_scatter_plot() Scatter plots for correlations βœ… Stable create_scatter_plot(x_data, y_data)
create_histogram() Histograms for distributions βœ… Stable create_histogram(data, bins=50)
create_heatmap() Heatmaps for 2D data patterns βœ… Stable create_heatmap(data_matrix, x_labels, y_labels)
create_advanced_dashboard() Multi-chart interactive dashboards πŸ”„ Evolving create_advanced_dashboard(datasets, layout)

Quick Example:

from codomyrmex.data_visualization import create_bar_chart
import numpy as np

# Create sample data
languages = ["Python", "JavaScript", "Java", "C++", "Go"]
popularity = [85, 72, 65, 58, 45]

# Create a beautiful bar chart
create_bar_chart(
    categories=languages,
    values=popularity,
    title="Programming Language Popularity (2024)",
    x_label="Programming Language",
    y_label="Popularity Score",
    output_path="language_popularity.png",
    color_palette="viridis"
)

Multi-language code quality and security analysis

Function Description Status Example
run_pyrefly_analysis() Python-specific static analysis πŸ”„ Evolving run_pyrefly_analysis(["src/"], ".")
analyze_code_quality() General code quality assessment πŸ”„ Evolving analyze_code_quality(code, "python")
check_security_issues() Security vulnerability scanning πŸ”„ Evolving check_security_issues(codebase_path)
analyze_dependencies() Dependency analysis and suggestions πŸ”„ Evolving analyze_dependencies("pyproject.toml")

Quick Example:

from codomyrmex.coding.static_analysis import run_pyrefly_analysis

# Analyze your Python project
analysis = run_pyrefly_analysis(
    target_paths=["src/codomyrmex/"],
    project_root="."
)

print(f"πŸ“Š Analysis Results:")
print(f"πŸ“ Files analyzed: {analysis.get('files_analyzed', 0)}")
print(f"🚨 Issues found: {analysis.get('issue_count', 0)}")
print(f"⚑ Performance score: {analysis.get('performance_score', 'N/A')}")

Secure multi-language code execution

Function Description Status Example
execute_code() Execute code in secure Docker containers βœ… Stable execute_code("python", "print('Hello')")
validate_language() Check if language is supported βœ… Stable validate_language("python")
list_supported_languages() Get all supported languages βœ… Stable list_supported_languages()
CodeExecutor Advanced code execution with resource limits πŸ”„ Evolving CodeExecutor(language="python", timeout=30)

Quick Example:

from codomyrmex.coding import execute_code

# Execute Python code safely
result = execute_code(
    language="python",
    code="print('Hello from Codomyrmex!')",
    timeout=10  # 10 second timeout
)

print(f"βœ… Success: {result['success']}")
print(f"πŸ“„ Output: {result['output']}")
print(f"⏱️ Execution time: {result['execution_time']:.3f}s")

πŸ›‘οΈ Secure Cognitive Modules

  • IdentityManager: Manage 3-tier personas (Blue/Grey/Black)
  • verify_persona(tier): Bio-cognitive verification
  • Status: βœ… Stable
  • WalletCore: Self-custody key management
  • recover_access(shards): Natural Ritual recovery
  • Status: βœ… Stable
  • DefenseCore: Active defense system
  • detect_exploit(context): Cognitive exploit detection
  • Status: βœ… Stable
  • MarketCore: Anonymous marketplace access
  • post_demand(item): Reverse auction demand posting
  • Status: βœ… Stable
  • PrivacyCore: Digital exhaust management
  • scrub_crumbs(data): Metadata sanitization
  • Status: βœ… Stable

Service Modules

  • trigger_build(target, config): Build automation
  • synthesize_code_component(template, params): Code generation
  • BuildOrchestrator: Main build class
  • MCP Tools: trigger_build, synthesize_code_component
  • Status: πŸ”„ Evolving API
  • repository_manager: Repository management functions
  • metadata_cli: CLI for metadata operations
  • repo_cli: Repository CLI operations
  • Status: πŸ”„ Evolving API
  • generate_documentation_website(): Website generation
  • build_static_site(): Static site building
  • DocumentationGenerator: Main documentation class
  • Status: πŸ”„ Evolving API

πŸ”Œ MCP Tool Reference

Model Context Protocol tools for AI integration:

AI Code Editing Tools

interface GenerateCodeSnippet {
  name: "generate_code_snippet"
  parameters: {
    prompt: string
    language: string
    provider?: "openai" | "anthropic" | "google"
    model_name?: string
  }
  returns: {
    status: "success" | "error"
    generated_code?: string
    explanation?: string
    error_message?: string
  }
}

interface RefactorCodeSnippet {
  name: "refactor_code_snippet"
  parameters: {
    code_snippet: string
    refactoring_instruction: string
    language: string
  }
  returns: {
    status: "success" | "error"
    refactored_code?: string
    explanation?: string
    error_message?: string
  }
}

Code Execution Tools

interface ExecuteCode {
  name: "execute_code"
  parameters: {
    language: string
    code: string
    timeout?: number
    input_data?: string
  }
  returns: {
    status: "success" | "error"
    stdout?: string
    stderr?: string
    exit_code?: number
    execution_time?: number
    error_message?: string
  }
}

Build Synthesis Tools

interface TriggerBuild {
  name: "trigger_build"
  parameters: {
    target: string
    config?: object
  }
  returns: {
    status: "success" | "error"
    build_result?: object
    artifacts?: string[]
    error_message?: string
  }
}

interface SynthesizeCodeComponent {
  name: "synthesize_code_component"
  parameters: {
    template: string
    parameters: object
  }
  returns: {
    status: "success" | "error"
    generated_files?: string[]
    component_info?: object
    error_message?: string
  }
}

🌐 CLI API Reference

Complete command-line interface. See CLI Reference for full details.

Core Commands

  • codomyrmex check: System health verification
  • codomyrmex info: Project information display
  • codomyrmex setup: Environment configuration

AI Commands

  • codomyrmex generate: AI-powered code generation
  • codomyrmex refactor: AI-assisted code refactoring

Analysis Commands

  • codomyrmex analyze: Static code analysis
  • codomyrmex visualize: Data visualization creation

Execution Commands

  • codomyrmex execute: Safe code execution
  • codomyrmex test: Test execution and validation

πŸ“Š Usage Patterns

Basic Module Usage

# Foundation setup
from codomyrmex.logging_monitoring import setup_logging, get_logger
from codomyrmex.environment_setup import ensure_dependencies_installed

# Initialize environment
setup_logging()
logger = get_logger(__name__)
ensure_dependencies_installed()

# Use core modules
from codomyrmex.data_visualization import create_line_plot
from codomyrmex.agents import generate_code_snippet

# Create visualization
plot_result = create_line_plot(x_data, y_data, title="My Plot")

# Generate code with AI
code_result = generate_code_snippet("Create a sorting function", "python")

MCP Integration Pattern

from codomyrmex.model_context_protocol import MCPToolCall, MCPToolResult

# Create tool call
tool_call = MCPToolCall(
    tool_name="generate_code_snippet",
    parameters={
        "prompt": "Create a data processing function",
        "language": "python",
        "provider": "openai"
    }
)

# Execute tool (handled by MCP framework)
result = mcp_framework.execute_tool(tool_call)

CLI Integration Pattern

# Scripted workflow
codomyrmex generate "data processor" --language python --output processor.py
codomyrmex analyze processor.py --type security --format json --output analysis.json
codomyrmex execute processor.py --input data.txt --output results.txt

πŸ” API Discovery

Programmatic Discovery

from codomyrmex.system_discovery import SystemDiscovery

discovery = SystemDiscovery()
modules = discovery.discover_modules()

for module_name, module_info in modules.items():
    print(f"Module: {module_name}")
    print(f"API Functions: {len(module_info.functions)}")
    print(f"MCP Tools: {len(module_info.mcp_tools)}")
    print(f"Status: {'βœ…' if module_info.is_importable else '❌'}")

CLI Discovery

# Discover available APIs
codomyrmex discover --detailed --output api-inventory.json

# List available MCP tools
codomyrmex info --modules --format json | jq '.modules[].mcp_tools'

# Show specific module API
codomyrmex docs generate --module agents --format markdown

πŸ“š Documentation Links

Module-Specific API Documentation

Module API Reference MCP Tools Status
agents API Docs MCP Tools πŸ”„ Evolving
data_visualization API Docs None βœ… Stable
code API Docs MCP Tools πŸ”„ Evolving
static_analysis API Docs MCP Tools πŸ”„ Evolving
deployment API Docs MCP Tools πŸ”„ Evolving
pattern_matching API Docs MCP Tools πŸ”„ Evolving
git_operations API Docs MCP Tools πŸ”„ Evolving
documentation API Docs None πŸ”„ Evolving
logging_monitoring API Docs None βœ… Stable
environment_setup API Docs None βœ… Stable
model_context_protocol API Docs Schema Only βœ… Stable

Additional References

πŸš€ Getting Started with APIs

New Users

  1. Start with Installation Guide
  2. Try Quick Start Examples
  3. Explore Module Overview

API Developers

  1. Read Architecture Guide
  2. Study Module Relationships
  3. Follow Module Creation Tutorial

Integration Developers

  1. Review MCP Tool Specifications (each module has MCP_TOOL_SPECIFICATION.md in its directory)
  2. Examine CLI Reference
  3. Check Usage Examples (each module has USAGE_EXAMPLES.md in its directory)

Version: 0.1.0 Last Updated: March 2026 API Stability: See individual module documentation for stability guarantees

Navigation Links