diff --git a/osmfeula.txt b/osmfeula.txt new file mode 100644 index 0000000..18760f9 --- /dev/null +++ b/osmfeula.txt @@ -0,0 +1,63 @@ +End User License Agreement + +This Open Source Maintenance Fee Agreement ("Agreement") is a legal +agreement between you ("User") and Devlooped ("Project") for the use of +Devlooped.WhatsApp ("Software"), an open source software project licensed +under the MIT License ("OSI License"), an OSI-approved open source license. +Project offers a Binary Release of the Software to Users in exchange for a +maintenance fee ("Fee"). "Binary Release" refers to pre-compiled executable +versions of the Software provided by Project. By accessing or using the +Binary Release, User agrees to be bound by the terms of this Agreement. + +1. Applicability + +Project agrees to provide User with the Binary Release in exchange for the +Fees outlined in Section 2, subject to the terms of this Agreement. The Fee +applies only to Users that generate revenue by the Software. +Non-revenue-generating use of the Software is exempt from this Fee. In +addition, Users who pay separate support and/or maintenance fees to the +maintainers of the Software are exempt from the Fee outlined in this +Agreement. This distinction ensures that duplicate fees are not imposed, +promoting fairness and consistency while respecting alternative support +arrangements. + +2. Monthly Fee and Payment Terms + +Revenue-generating Users required to pay the Fee shall follow the payment +terms set forth by the Project. Failure to comply with these terms may result +in suspending access to the Binary Release. However, this does not restrict +the User from obtaining or redistributing binaries from other sources or +self-compiling them. + +3. Nature of the Fee + +The Fee is not a license fee. The Software's source code is licensed to User +under the OSI License and remains freely distributable under the terms of the +OSI License and any applicable open-source licenses. + +4. Conflicts with OSI License + +To the extent any term of this Agreement conflicts with User's rights +under the OSI License regarding the Software, the OSI License shall govern. +This Agreement applies only to the Binary Release and does not limit User's +ability to access, modify, or distribute the Software's source code or +self-compiled binaries. User may independently compile binaries from the +Software's source code without this Agreement, subject to OSI License terms. +User may redistribute the Binary Release received under this Agreement, +provided such redistribution complies with the OSI License (e.g., including +copyright and permission notices). This Agreement imposes no additional +restrictions on such rights. + +5. Disclaimer of Warranty and Limitation of Liability + +THE SOFTWARE AND BINARY RELEASE ARE PROVIDED BY THE PROJECT "AS IS" AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THE SOFTWARE AND BINARY RELEASE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. \ No newline at end of file diff --git a/readme.md b/readme.md index 9ee7c31..4c17d6f 100644 --- a/readme.md +++ b/readme.md @@ -6,9 +6,23 @@ [![License](https://img.shields.io/github/license/devlooped/Extensions.AI.svg?color=blue)](https://github.com//devlooped/Extensions.AI/blob/main/license.txt) [![Build](https://github.com/devlooped/Extensions.AI/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/devlooped/Extensions.AI/actions/workflows/build.yml) - + Extensions for Microsoft.Extensions.AI + + +## Open Source Maintenance Fee + +To ensure the long-term sustainability of this project, use of this project requires an +[Open Source Maintenance Fee](https://opensourcemaintenancefee.org). While the source +code is freely available under the terms of the [MIT License](./license.txt), all other aspects of the +project --including opening or commenting on issues, participating in discussions and +downloading releases-- require [adherence to the Maintenance Fee](./osmfeula.txt). + +In short, if you use this project to generate revenue, the [Maintenance Fee is required](./osmfeula.txt). +To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/devlooped). + + ## Grok Full support for Grok [Live Search](https://docs.x.ai/docs/guides/live-search) @@ -137,17 +151,21 @@ var messages = new Chat() { "user", "What is 101*3?" }, }; -IChatClient chat = new OpenAIChatClient(Env.Get("OPENAI_API_KEY")!, "o3-mini"); +IChatClient chat = new OpenAIChatClient(Env.Get("OPENAI_API_KEY")!, "gpt-5"); var options = new ChatOptions { - ModelId = "o4-mini", // 👈 can override the model on the client - ReasoningEffort = ReasoningEffort.High, // 👈 or Medium/Low, extension property + ModelId = "gpt-5-mini", // 👈 can override the model on the client + ReasoningEffort = ReasoningEffort.High, // 👈 or Medium/Low/Minimal, extension property }; var response = await chat.GetResponseAsync(messages, options); ``` +> [!TIP] +> We provide support for the newest `Minimal` reasoning effort in the just-released +> GPT-5 model family. + ### Web Search Similar to the Grok client, we provide the `WebSearchTool` to enable search customization @@ -159,7 +177,7 @@ var options = new ChatOptions // 👇 search in Argentina, Bariloche region Tools = [new WebSearchTool("AR") { - Region = "Bariloche", // 👈 Bariloche region + Region = "Bariloche", // 👈 Bariloche region TimeZone = "America/Argentina/Buenos_Aires", // 👈 IANA timezone ContextSize = WebSearchContextSize.High // 👈 high search context size }] @@ -235,6 +253,7 @@ var options = new ChatOptions }; var response = await client.GetResponseAsync(chat, options); +// 👇 finds the expected result of the tool call var result = response.FindCalls(tool).FirstOrDefault(); if (result != null) diff --git a/src/AI/AI.csproj b/src/AI/AI.csproj index 447ad91..b552497 100644 --- a/src/AI/AI.csproj +++ b/src/AI/AI.csproj @@ -6,6 +6,9 @@ Devlooped.Extensions.AI Extensions for Microsoft.Extensions.AI $(NoWarn);OPENAI001 + + OSMFEULA.txt + true @@ -25,6 +28,7 @@ + diff --git a/src/AI/readme.md b/src/AI/readme.md index ee5f44f..c10a0f5 100644 --- a/src/AI/readme.md +++ b/src/AI/readme.md @@ -1,4 +1,17 @@ - + +## Open Source Maintenance Fee + +To ensure the long-term sustainability of this project, use of `Devlooped.Extensions.AI` requires an +[Open Source Maintenance Fee](https://opensourcemaintenancefee.org). While the source +code is freely available under the terms of the +[MIT License](https://github.com/devlooped/Extensions.AI/blob/main/license.txt), +this package and other aspects of the project require +[adherence to the Maintenance Fee](https://github.com/devlooped/Extensions.AI/blob/main/osmfeula.txt). + +In short, if you use this project to generate revenue, the [Maintenance Fee is required](https://github.com/devlooped/Extensions.AI/blob/main/osmfeula.txt). + +To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/devlooped). + \ No newline at end of file