mirror of
https://github.com/allaunthefox/Research-Stack.git
synced 2026-07-31 03:05:21 +00:00
206 lines
5.2 KiB
YAML
206 lines
5.2 KiB
YAML
openapi: 3.1.2
|
|
info:
|
|
title: NoDupeLabs API
|
|
summary: CLI tool for duplicate file detection and management
|
|
description: |
|
|
NoDupeLabs is a Python library and CLI tool for detecting, managing,
|
|
and removing duplicate files. It provides a plugin architecture for
|
|
extensible similarity detection algorithms.
|
|
|
|
## Features
|
|
- Fast duplicate detection using various similarity algorithms
|
|
- Plugin system for custom algorithms
|
|
- Parallel processing for large file sets
|
|
- Database-backed file tracking
|
|
- Incremental scanning support
|
|
|
|
## API Stability
|
|
This specification describes the CLI commands. The internal Python API
|
|
uses decorator-based stability markers (STABLE, BETA, EXPERIMENTAL).
|
|
version: 1.0.0
|
|
contact:
|
|
name: NoDupeLabs Support
|
|
url: https://github.com/allaunthefox/NoDupeLabs
|
|
license:
|
|
name: MIT
|
|
identifier: MIT
|
|
termsOfService: https://github.com/allaunthefox/NoDupeLabs/blob/main/LICENSE
|
|
|
|
servers:
|
|
- url: https://localhost
|
|
description: Local execution (CLI only)
|
|
|
|
tags:
|
|
- name: Core
|
|
description: Core CLI commands
|
|
- name: Plugin
|
|
description: Plugin management commands
|
|
- name: Config
|
|
description: Configuration commands
|
|
|
|
paths:
|
|
/version:
|
|
get:
|
|
operationId: getVersion
|
|
summary: Show version information
|
|
description: |
|
|
Displays the current version of NoDupeLabs CLI,
|
|
platform information, and system configuration details.
|
|
tags:
|
|
- Core
|
|
responses:
|
|
'200':
|
|
description: Version information
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/VersionInfo'
|
|
example:
|
|
version: 1.0.0
|
|
platform: ssd
|
|
cores: 8
|
|
ram_gb: 16
|
|
'1':
|
|
description: Error response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
/plugin:
|
|
get:
|
|
operationId: listPlugins
|
|
summary: List loaded plugins
|
|
description: |
|
|
Lists all currently loaded plugins with their names and versions.
|
|
tags:
|
|
- Plugin
|
|
parameters:
|
|
- name: verbose
|
|
in: query
|
|
description: Show detailed plugin information
|
|
schema:
|
|
type: boolean
|
|
example: false
|
|
responses:
|
|
'200':
|
|
description: List of plugins
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PluginList'
|
|
example:
|
|
plugins:
|
|
- name: hash
|
|
version: 1.0.0
|
|
type: similarity
|
|
- name: database
|
|
version: 1.0.0
|
|
type: storage
|
|
'1':
|
|
description: Error response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
components:
|
|
schemas:
|
|
VersionInfo:
|
|
type: object
|
|
description: Version and system information
|
|
required:
|
|
- version
|
|
properties:
|
|
version:
|
|
type: string
|
|
description: Semantic version
|
|
example: 1.0.0
|
|
platform:
|
|
type: string
|
|
description: Drive type (ssd/hdd)
|
|
example: ssd
|
|
cores:
|
|
type: integer
|
|
description: Detected CPU cores
|
|
example: 8
|
|
ram_gb:
|
|
type: integer
|
|
description: Available RAM in GB
|
|
example: 16
|
|
|
|
PluginList:
|
|
type: object
|
|
description: List of loaded plugins
|
|
required:
|
|
- plugins
|
|
properties:
|
|
plugins:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/PluginInfo'
|
|
|
|
PluginInfo:
|
|
type: object
|
|
description: Plugin metadata
|
|
required:
|
|
- name
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: Plugin name
|
|
example: hash
|
|
version:
|
|
type: string
|
|
description: Plugin version
|
|
example: 1.0.0
|
|
type:
|
|
type: string
|
|
description: Plugin category
|
|
enum:
|
|
- similarity
|
|
- storage
|
|
- command
|
|
- time_sync
|
|
|
|
Error:
|
|
type: object
|
|
description: Error response
|
|
required:
|
|
- message
|
|
properties:
|
|
code:
|
|
type: integer
|
|
description: Error code
|
|
example: 1
|
|
message:
|
|
type: string
|
|
description: Error message
|
|
example: Command failed
|
|
|
|
securitySchemes:
|
|
API_KEY_REMOVED:
|
|
type: apiKey
|
|
name: X-API-Key
|
|
in: header
|
|
description: API key for authenticated endpoints
|
|
|
|
responses:
|
|
BadRequest:
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
NotFound:
|
|
description: Resource not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
InternalError:
|
|
description: Internal server error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|