summaryrefslogtreecommitdiff
path: root/src/marlin.agents.shell/Program.cs
diff options
context:
space:
mode:
authorMelodi <62381002+Melodi17@users.noreply.github.com>2026-09-13 13:22:20 +1000
committerMelodi <62381002+Melodi17@users.noreply.github.com>2026-09-13 13:22:20 +1000
commitdf0737e55afeb5c01eb39909605970d1d3a73ffc (patch)
tree09823eaa310c60eefd2420dc305acae45c81900f /src/marlin.agents.shell/Program.cs
parentee69ce25b2fba871920260028bb10c2d6b62b26f (diff)
refactor: cleanup; feat: connection to agent
Diffstat (limited to 'src/marlin.agents.shell/Program.cs')
-rw-r--r--src/marlin.agents.shell/Program.cs21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/marlin.agents.shell/Program.cs b/src/marlin.agents.shell/Program.cs
index 837131c..02a0bc9 100644
--- a/src/marlin.agents.shell/Program.cs
+++ b/src/marlin.agents.shell/Program.cs
@@ -1 +1,20 @@
-Console.WriteLine("Hello, World!"); \ No newline at end of file
+using System.Runtime.InteropServices;
+using marlin.agents.shell;
+using marlin.core.models;
+
+DotNetEnv.Env.NoClobber().TraversePath().Load();
+
+var client = MarlinApiClient.FromEnvironment();
+
+var capabilities = new CapabilitySet();
+capabilities.Items.Add(KnownCapabilities.Architecture, RuntimeInformation.OSArchitecture.ToString());
+capabilities.Items.Add(KnownCapabilities.CoreCount, Environment.ProcessorCount.ToString());
+capabilities.Items.Add(KnownCapabilities.Memory, (GC.GetGCMemoryInfo().TotalAvailableMemoryBytes / (1024 * 1024)).ToString());
+var status = new AgentStatus(capabilities);
+
+AgentConfiguration config = await client.Handshake(status);
+Console.WriteLine($"IAM: {config.Name}");
+Console.WriteLine($"MCJ: {config.MaxConcurrentJobs}");
+
+var job = await client.QueueNextJob();
+Console.WriteLine(job == null ? "No pending jobs." : $"Claimed job {job.Id}: {job.Recipe}");