Skip to content

Latest commit

 

History

History
140 lines (108 loc) · 5 KB

File metadata and controls

140 lines (108 loc) · 5 KB

DMTools Server API Documentation

Overview

DMTools Server provides REST APIs for presentation generation, job execution, and development management tools. The server includes comprehensive OpenAPI/Swagger documentation accessible via web interface.

Quick Start

  1. Start the server:

    ./gradlew bootRun
  2. Access API documentation:

    • Swagger UI: http://localhost:8080/swagger-ui.html
    • OpenAPI Spec: http://localhost:8080/v3/api-docs

API Categories

🔧 Job Management API

Execute jobs with various parameters for automation tasks.

📊 Presentation Management API

Create and manage presentations with dynamic content generation.

🤖 Agent & Orchestrator APIs

Access AI-powered agents and orchestration workflows.

💬 Chat API

AI-powered chat with MCP tools integration for real-time data access.

🔐 Authentication API

OAuth2 and security management endpoints.

Base URLs

  • Local Development: http://localhost:8080
  • Production: Configure in application.properties

Using the API

For detailed API documentation including:

  • Request/response schemas
  • Parameter descriptions
  • Example requests
  • Error codes and responses
  • Authentication requirements

Visit the Swagger UI at: http://localhost:8080/swagger-ui.html

Error Handling

All endpoints return appropriate HTTP status codes:

  • 200 OK: Successful operation
  • 400 Bad Request: Invalid request parameters
  • 401 Unauthorized: Authentication required
  • 403 Forbidden: Insufficient permissions
  • 500 Internal Server Error: Server-side errors

Configuration

Server configuration is managed through application.properties. See the main README.md for detailed configuration options.

Support

For issues or questions:

Diagram

Diagram

   flowchart TD
    A[User Request] --> B[RequestDecompositionAgent]
    B -->|Processes through| C[First Prompt]
    C -->|Generates| D[Structured JSON]
    D -->|Feeds into| E[TeamAssistantAgent]
    E -->|Processes through| F[Second Prompt]
    F -->|Generates| G[Final Response]

    subgraph "First Prompt Processing"
        C --> C1[Extract formatting rules]
        C --> C2[Extract few-shots/examples]
        C --> C3[Extract attachments/files]
        C --> C4[Rephrase request]
        C --> C5[Identify questions]
        C --> C6[Identify tasks]
        C --> C7[Determine AI Agent role]
        C --> C8[Define instructions]
    end

    subgraph "JSON Structure"
        D --> D1[aiRole]
        D --> D2[request]
        D --> D3[questions]
        D --> D4[tasks]
        D --> D5[instructions]
        D --> D6[knownInfo]
        D --> D7[formattingRules]
        D --> D8[fewShots]
    end

    subgraph "Second Prompt Processing"
        F --> F1[Apply AI role]
        F --> F2[Process request]
        F --> F3[Address questions]
        F --> F4[Complete tasks]
        F --> F5[Apply formatting rules]
    end

    subgraph "Context Enhancement"
        H[Large Context] --> I[Chunk Processing]
        I --> I1[Process individual chunks]
        I1 --> I2[Track dependencies]
        I2 --> I3[Maintain context]
        I3 --> F
    end

    subgraph "Expert Class Flow"
        J[Expert.runJob] --> K[Get project context]
        K --> L[Process ticket context]
        L --> M[Prepare context chunks]
        M --> B
        D --> N[Extend context if needed]
        N --> N1[Code context]
        N --> N2[Confluence context]
        N --> N3[Tracker context]
        N1 --> O[Final context chunks]
        N2 --> O
        N3 --> O
        O --> E
        G --> P[Attach response to ticket]
        P --> Q[Update field or post comment]
    end
Loading