EywaClient 0.2.3
dotnet add package EywaClient --version 0.2.3
NuGet\Install-Package EywaClient -Version 0.2.3
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EywaClient" Version="0.2.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="EywaClient" Version="0.2.3" />
<PackageReference Include="EywaClient" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add EywaClient --version 0.2.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: EywaClient, 0.2.3"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package EywaClient@0.2.3
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=EywaClient&version=0.2.3
#tool nuget:?package=EywaClient&version=0.2.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
EYWA C# Client
Dynamic GraphQL-first client for the EYWA automation platform. Provides comprehensive integration with EYWA's GraphQL API, file management capabilities, and task reporting.
Quick Start
using EywaClient;
var eywa = new Eywa();
eywa.OpenPipe();
// Task reporting with rich content
await eywa.Tasks.ReportAsync("Processing Complete", new ReportOptions
{
Data = new ReportData
{
Card = """
# Success! ✅
Processed **1,000 records** with 0 errors.
""",
Tables = new Dictionary<string, TableData>
{
["Results"] = new TableData
{
Headers = ["Item", "Count", "Status"],
Rows = new object[][]
{
["Orders", "1,000", "✅ Complete"],
["Errors", "0", "✅ None"]
}
}
}
}
});
await eywa.Tasks.CloseTaskAsync(Status.Success);
Features
✅ Task Management & Reporting
- Rich Reports - Markdown cards, structured tables, base64 images
- Logging - Info, error, debug, trace with structured data
- Task Lifecycle - Get task info, update status, close tasks
✅ Dynamic GraphQL Operations
- Type-safe Queries - Execute any GraphQL operation
- Variable Support - Pass parameters safely
- Error Handling - Comprehensive GraphQL error management
✅ File Operations
- Upload/Download - Stream-based file handling
- S3 Integration - Compatible with S3 APIs
- Metadata Management - File attributes and relationships
✅ JSON-RPC Communication
- Bi-directional - Handle requests and responses
- Type Safety - Dictionary-based dynamic approach
- Error Handling - Structured error responses
API Overview
Task Operations
// Get current task
var task = await eywa.Tasks.GetTaskAsync();
// Create reports
await eywa.Tasks.ReportAsync("Title", options);
// Logging
await eywa.Logger.InfoAsync("Message", data);
await eywa.Logger.ErrorAsync("Error occurred", errorData);
// Close task
await eywa.Tasks.CloseTaskAsync(Status.Success);
GraphQL Operations
// Execute queries
var result = await eywa.GraphQLAsync(query, variables);
// Access data dynamically
var users = result["data"]["searchUser"] as JsonElement[];
File Operations
// Upload files
var fileId = await eywa.Files.UploadAsync("file.pdf", stream);
// Download files
using var stream = await eywa.Files.DownloadAsync(fileId);
Installation
dotnet add package EywaClient
Requirements
- .NET 6.0, 8.0, or 9.0
- System.Text.Json (included automatically)
Architecture
The client uses a dynamic Dictionary-based approach that:
- ✅ Eliminates "JsonElement hell"
- ✅ Provides JavaScript/Clojure-like property access
- ✅ Maintains full GraphQL schema compatibility
- ✅ Reduces code complexity significantly
Documentation
Support
- Repository: github.com/neyho/eywa
- Issues: Report bugs and feature requests
- Examples: Complete examples
Built for the EYWA automation platform - GraphQL-powered data modeling and task automation.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- System.Text.Json (>= 6.0.10)
-
net8.0
- System.Text.Json (>= 8.0.5)
-
net9.0
- System.Text.Json (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial release: GraphQL operations, file management, JSON-RPC communication