https://github.com/code0-tech/hercules
The action sdk to connect with aquila
https://github.com/code0-tech/hercules
Last synced: 10 days ago
JSON representation
The action sdk to connect with aquila
- Host: GitHub
- URL: https://github.com/code0-tech/hercules
- Owner: code0-tech
- License: mit
- Created: 2026-01-15T18:09:51.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-06-17T20:59:44.000Z (about 1 month ago)
- Last Synced: 2026-06-17T22:25:43.078Z (about 1 month ago)
- Language: TypeScript
- Size: 608 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome - code0-tech/hercules - The action sdk to connect with aquila (TypeScript)
README
# hercules
The action sdk to connect with aquila
This action sdk is currently implemented in:
- [Typescript](./ts/README.md)
# GRPC Communcation Flow
## Connection Flow
```mermaid
sequenceDiagram
participant Hercules as Hercules (Client)
participant Aquila as Aquila (Server)
participant Stream as Stream (gRPC)
Hercules->>Aquila: Register datatypes
because maybe they are needed in the config definitions
Aquila-->>Hercules: Validation result
Hercules->>Aquila: Register function definitions
Aquila-->>Hercules: Validation result
Hercules->>Aquila: Register flow types
Aquila-->>Hercules: Validation result
Hercules->>Stream: Open bi-directional stream
Hercules->>Stream: ActionLogon request
Stream-->>Hercules: Receive action configurations
```
## Function execution flow
```mermaid
sequenceDiagram
participant Hercules as Hercules (Client)
participant Stream as Stream (gRPC)
Stream-->>Hercules: Receive execution request
Note right of Hercules: Hercules maps the request
with a registed function
and computes the result
Hercules->>Stream: Execution response
with computed result
```
## Event flow
```mermaid
sequenceDiagram
participant Hercules as Hercules (Client)
participant Stream as Stream (gRPC)
Hercules->>Stream: Event dispatch request
with project id and payload
```
# Test Server
To use a simple test server use the following command:
```bash
./bin/test_server.rb
```
This will start a test server on `localhost:50051` that you can connect to with the action sdk.
Watch out this test server isnt really working its just an way to test the connection.