Skip to content

Conversation

@bbockelm
Copy link
Collaborator

At some level, this is also an experiment in providing significant standalone functionality through the use of agentic AI ... I was driving the code and overseeing the implementation but didn't write any of the generated code.

This PR provides a "local client server"; listening on a domain socket, the client-api server listens for incoming requests and performs them. Multiple clients can connect to the server and benefit from it executing work in the background.

@bbockelm bbockelm requested a review from Copilot October 29, 2025 23:45
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a Client API Server for Pelican that exposes client functionality through a RESTful API over Unix domain sockets. This enables programmatic access to Pelican transfer capabilities without directly invoking the CLI.

Key Changes:

  • Job-based transfer management with asynchronous execution and progress tracking
  • RESTful API endpoints for transfer operations (get, put, copy, stat, list, delete)
  • Unix domain socket communication for secure local IPC
  • CLI integration with serve, stop, and status subcommands

Reviewed Changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
cmd/client_api.go CLI commands for managing the API server (serve, stop, status)
client_api/transfer_manager.go Core transfer job management with concurrency control and progress tracking
client_api/server.go HTTP server setup, Unix socket handling, and lifecycle management
client_api/handlers.go REST API endpoint handlers for all operations
client_api/models.go Request/response data structures and constants
client_api/middleware.go Logging and recovery middleware
client_api/integration_test.go End-to-end integration tests with test federation
client_api/handlers_test.go Unit tests for API handlers
client_api/README.md Comprehensive API documentation and usage examples
client_api/IMPLEMENTATION.md Implementation summary and technical details
client_api/DESIGN-CLIENT-API-SERVER.md Detailed design document for the feature

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@bbockelm bbockelm linked an issue Oct 30, 2025 that may be closed by this pull request
@bbockelm bbockelm added client Issue affecting the OSDF client enhancement New feature or request labels Oct 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

client Issue affecting the OSDF client enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add local client agent mode.

1 participant