From bbaeac27c637ba21d8f257f5af50399d8d7b5675 Mon Sep 17 00:00:00 2001 From: John Smith Date: Fri, 1 Nov 2024 10:06:34 +1030 Subject: [PATCH] feat: Add run start to DotNet and Node bootstraps (#22) * feat(node): Add run trigger to bootstrap * feat(dotnet): Add run trigger to bootstrap * chore: Comment out run start * [skip ci] Update bootstrap project archives --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- .github/workflows/create-archives.yml | 1 + archives/bootstrap-dotnet.zip | Bin 4508 -> 4922 bytes archives/bootstrap-go.zip | Bin 5995761 -> 5995761 bytes archives/bootstrap-node.zip | Bin 6743 -> 6963 bytes bootstrap-dotnet/Program.cs | 45 +++++++++++++++++++---- bootstrap-dotnet/bootstrap-dotnet.csproj | 2 +- bootstrap-node/package-lock.json | 8 ++-- bootstrap-node/package.json | 2 +- bootstrap-node/src/index.ts | 29 +++++++++++---- sdk-dotnet/README.md | 8 ++-- 10 files changed, 70 insertions(+), 25 deletions(-) diff --git a/.github/workflows/create-archives.yml b/.github/workflows/create-archives.yml index 91759ad7..e43487e1 100644 --- a/.github/workflows/create-archives.yml +++ b/.github/workflows/create-archives.yml @@ -32,6 +32,7 @@ jobs: create-archives: runs-on: ubuntu-latest + needs: check_changes if: ${{ needs.check_changes.outputs.bootstrap == 'true' }} permissions: contents: write diff --git a/archives/bootstrap-dotnet.zip b/archives/bootstrap-dotnet.zip index 27e6cfd171c97923a3f52ee902f2ff519e64d8a4..e381bd3248317503f9c67a95ed30fac5bf393af2 100644 GIT binary patch delta 1879 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 la6)C3q4p?X0S6xymx0n@O5xI*(6$QO--e_vg_ zskN1JAEv_6U-*7HbVdI@)R>08O^3c(-BbxZwfbWv^w#R{l~AhH-O2y{r(|uuQ2mjF F_zwX$(c}OC delta 555 zcmY+ByG~SL6h`Ho5pf(voe{5ymk|||n~I<#im0gL1;zW{*^mgqF_D-sCovSOSe;h$ z6gDJ=NAMXew4${jR)$870**V`#kan1?_%$zUq7OymClWo<4kr#T8r}^bH&DTT%0J! zwKqw~XX8v^g*T(8t6rRQ|?8YAK#XdZPXYm~N<9Qsw zLA-z$v4od!2ruIm9LB3Sg4ggm-oR13iMQ}JmhleW#d~-k$M69@#BqFtkMRjU#b@{& zUwk&qy^0p+Yq`nLv39-EWcZn~-l@>J$`)Qug<6!t<>}D12D@K}q#=c$D*uw-D`6s& z!qJ)al?(4?!tx*Zb~f}ye?QckhQ7>(p?ck34FmQ1eKic$>#x;Ns@MI=|Ne($eLi3N HmW0A@>Dbe< diff --git a/archives/bootstrap-node.zip b/archives/bootstrap-node.zip index 284f0f801549961fe673356580b7b84ba811cab7..c1270f93c818a8c572cd3f71d7831514cb37ebf3 100644 GIT binary patch delta 5074 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 delta 4811 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 F`~!jG7gGQL diff --git a/bootstrap-dotnet/Program.cs b/bootstrap-dotnet/Program.cs index be9622ca..f29fae56 100644 --- a/bootstrap-dotnet/Program.cs +++ b/bootstrap-dotnet/Program.cs @@ -24,43 +24,72 @@ Env.Load(); } -var inferable = app.Services.GetService(); +var client = app.Services.GetService(); -if (inferable == null) +if (client == null) { throw new Exception("Could not get InferableClient"); } -inferable.Default.RegisterFunction(new FunctionRegistration { +client.Default.RegisterFunction(new FunctionRegistration { Name = "SearchInventory", Description = "Searches the inventory", Func = new Func(input => InventorySystem.SearchInventory(input)) }); -inferable.Default.RegisterFunction(new FunctionRegistration { +client.Default.RegisterFunction(new FunctionRegistration { Name = "GetInventoryItem", Description = "Gets an inventory item", Func = new Func(input => InventorySystem.GetInventoryItem(input)) }); -inferable.Default.RegisterFunction(new FunctionRegistration { +client.Default.RegisterFunction(new FunctionRegistration { Name = "ListOrders", Description = "Lists all orders", Func = new Func(input => InventorySystem.ListOrders()) }); -inferable.Default.RegisterFunction(new FunctionRegistration { +client.Default.RegisterFunction(new FunctionRegistration { Name = "TotalOrderValue", Description = "Calculates the total value of all orders", Func = new Func(input => InventorySystem.TotalOrderValue()) }); -inferable.Default.RegisterFunction(new FunctionRegistration { +client.Default.RegisterFunction(new FunctionRegistration { Name = "MakeOrder", Description = "Makes an order", Func = new Func(input => InventorySystem.MakeOrder(input)) }); -await inferable.Default.Start(); +_ = client.Default.StartAsync(); + +// Trigger a Run programmatically +// var run = await client.CreateRunAsync(new Inferable.API.CreateRunInput +// { +// Message = "Can you make an order for 2 lightsabers?", +// // Optional: Explicitly attach the `sayHello` function (All functions attached by default) +// // AttachedFunctions = new List +// // { +// // new FunctionReference { +// // Function = "SayHello", +// // Service = "default" +// // } +// // }, +// // Optional: Define a schema for the result to conform to +// //ResultSchema = JsonSchema.FromType(); +// // Optional: Subscribe an Inferable function to receive notifications when the run status changes +// //OnStatusChange = new OnStatusChange +// //{ +// // Function = OnStatusChangeFunction +// //} +// }); +// +// Console.WriteLine($"Run started: {run.ID}"); +// +// // Wait for the run to complete and log +// var result = await run.PollAsync(null); +// +// Console.WriteLine($"Run result: {result}"); app.Run(); + diff --git a/bootstrap-dotnet/bootstrap-dotnet.csproj b/bootstrap-dotnet/bootstrap-dotnet.csproj index dda36059..a6558b42 100644 --- a/bootstrap-dotnet/bootstrap-dotnet.csproj +++ b/bootstrap-dotnet/bootstrap-dotnet.csproj @@ -9,7 +9,7 @@ - + diff --git a/bootstrap-node/package-lock.json b/bootstrap-node/package-lock.json index ae3329da..ff0d78cd 100644 --- a/bootstrap-node/package-lock.json +++ b/bootstrap-node/package-lock.json @@ -7,7 +7,7 @@ "name": "@inferable/node-bootstrap", "dependencies": { "dotenv": "^16.4.5", - "inferable": "^0.30.32", + "inferable": "^0.30.34", "tsx": "^4.16.2", "zod": "^3.23.8" }, @@ -223,9 +223,9 @@ } }, "node_modules/inferable": { - "version": "0.30.32", - "resolved": "https://registry.npmjs.org/inferable/-/inferable-0.30.32.tgz", - "integrity": "sha512-5Fja4i7soDELmz8vW+F7eC31v0IHq5mINHzEbRAs8xwpSxfyVShpkNh5PbmpqsmgoG59npdVEFL6jWyshTpBNg==", + "version": "0.30.34", + "resolved": "https://registry.npmjs.org/inferable/-/inferable-0.30.34.tgz", + "integrity": "sha512-vCoju67bxrSXbEYyWocwvxbo1O3At019dL7t8mBcW8MtQAoffOfYTBvLJ1Cfgp5oXV577hgojlINFU2YlR0nNQ==", "license": "MIT", "dependencies": { "@ts-rest/core": "^3.28.0", diff --git a/bootstrap-node/package.json b/bootstrap-node/package.json index dcae0cd5..e9e9b590 100644 --- a/bootstrap-node/package.json +++ b/bootstrap-node/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "dotenv": "^16.4.5", - "inferable": "^0.30.32", + "inferable": "^0.30.34", "tsx": "^4.16.2", "zod": "^3.23.8" }, diff --git a/bootstrap-node/src/index.ts b/bootstrap-node/src/index.ts index 27fdafd2..aca375e2 100644 --- a/bootstrap-node/src/index.ts +++ b/bootstrap-node/src/index.ts @@ -5,14 +5,14 @@ import { z } from 'zod'; import * as demo from './demo'; // Instantiate the Inferable client. -const i = new Inferable({ +const client = new Inferable({ // To get a new key, run: // npx @inferable/cli auth keys create 'My New Machine Key' --type='cluster_machine' apiSecret: process.env.INFERABLE_API_SECRET }) // Register some demo functions -i.default.register({ +client.default.register({ name: "searchInventory", func: demo.searchInventory, description: "Searches the inventory", @@ -23,7 +23,7 @@ i.default.register({ }, }); -i.default.register({ +client.default.register({ name: "getInventoryItem", func: demo.getInventoryItem, description: "Gets an inventory item", @@ -34,7 +34,7 @@ i.default.register({ }, }); -i.default.register({ +client.default.register({ name: "listOrders", func: demo.listOrders, description: "Lists all orders", @@ -43,7 +43,7 @@ i.default.register({ }, }); -i.default.register({ +client.default.register({ name: "totalOrderValue", func: demo.totalOrderValue, description: "Calculates the total value of all orders", @@ -52,7 +52,7 @@ i.default.register({ }, }); -i.default.register({ +client.default.register({ name: "makeOrder", func: demo.makeOrder, description: "Makes an order", @@ -71,6 +71,21 @@ i.default.register({ }, }); -i.default.start().then(() => { +client.default.start().then(() => { console.log("Inferable demo service started"); }) + +// Trigger a Run programmatically +// https://docs.inferable.ai/pages/runs +// client.run({ +// message: "Can you make an order for 2 lightsabers?", +// // Optional: Explicitly attach the functions (All functions attached by default) +// //attachedFunctions: [], +// // Optional: Specify the schema of the result +// //resultSchema: z.object({}), +// }).then(async (run) => { +// console.log("Run result", { +// result: await run.poll(), +// }); +// }); + diff --git a/sdk-dotnet/README.md b/sdk-dotnet/README.md index 7e9a613a..68b39729 100644 --- a/sdk-dotnet/README.md +++ b/sdk-dotnet/README.md @@ -60,7 +60,7 @@ client.Default.RegisterFunction(new FunctionRegistration }), }); -await client.Default.Start(); +_ = client.Default.Start(); ```
@@ -81,7 +81,7 @@ The following code will create an [Inferable run](https://docs.inferable.ai/page > - in the [CLI](https://www.npmjs.com/package/@inferable/cli) via `inf runs list` ```csharp -var run = await inferable.CreateRun(new CreateRunInput +var run = await inferable.CreateRunAsync(new CreateRunInput { Message = "Say hello to John", // Optional: Explicitly attach the `sayHello` function (All functions attached by default) @@ -101,10 +101,10 @@ var run = await inferable.CreateRun(new CreateRunInput //} }); -Console.WriteLine($"Run started: {run.Id}"); +Console.WriteLine($"Run started: {run.ID}"); // Wait for the run to complete and log -var result = await run.Poll(null); +var result = await run.PollAsync(null); Console.WriteLine($"Run result: {result}"); ```