Skip to content

Commit

Permalink
[Package] Finalize version 0.4.3
Browse files Browse the repository at this point in the history
- 📦 (Elvex) Update to version 1.1.6
- ✏️ (ReleaseNode, Readme) Update information 0.4.3
- 📦 (Democ, Blackboard) Update pre-release version for testing
- 🐛 (Signal, Dynamic) GRainService must inherite from ISignalReadOnlyReceiver to cllas this way
- Merge branch 'feature/prepare-0.4.3-version' of https://dev.azure.com/elvexoft/Nexai/_git/democrite into feature/prepare-0.4.3-version
- 📦 (Demo, Democrite) Update pre-release package
- Merge branch 'feature/prepare-0.4.3-version' of https://dev.azure.com/elvexoft/Nexai/_git/democrite into feature/prepare-0.4.3-version
- 📦 (Demo, Forex) Update pre-release package for testing
- ⚡ (Python) Move library code in sub-dir isolated
- Update azure-pipeline-release-pip.yml for Azure Pipelines
- ✏️ (Demo) Add swagger redirection
- Merge branch 'feature/prepare-0.4.3-version' of https://dev.azure.com/elvexoft/Nexai/_git/democrite into feature/prepare-0.4.3-version
- 📦 (Demo, Redirection) Update pre-release package
- 📦 (Demo, Relay) Update pre-release package
- 📦 (Demo, Streams) Update pre-release package
- 📦 (Demo, Streams) Update package to 0.4.3
- 📦 (Demo) Update demo to democrite package 0.4.3
  • Loading branch information
MickaelThumerel committed Jul 15, 2024
1 parent 40d97d3 commit 3ad6543
Show file tree
Hide file tree
Showing 21 changed files with 116 additions and 58 deletions.
6 changes: 3 additions & 3 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
<ItemGroup>
<!-- Orlean -->
<PackageVersion Include="Docker.DotNet" Version="3.125.15" />
<PackageVersion Include="Elvex.Toolbox" Version="1.1.5" />
<PackageVersion Include="Elvex.Toolbox" Version="1.1.6" />
<PackageVersion Include="Elvex.Toolbox.Abstractions" Version="1.1.2.519-prerelease" />
<PackageVersion Include="Elvex.Toolbox.Configuration" Version="1.1.5" />
<PackageVersion Include="Elvex.Toolbox.UnitTests.ToolKit" Version="1.1.5" />
<PackageVersion Include="Elvex.Toolbox.Configuration" Version="1.1.6" />
<PackageVersion Include="Elvex.Toolbox.UnitTests.ToolKit" Version="1.1.6" />
<PackageVersion Include="H.Formatters.Newtonsoft.Json" Version="13.0.59" />
<PackageVersion Include="MessagePack" Version="2.5.140" />
<PackageVersion Include="Microsoft.Orleans.Clustering.AdoNet" Version="7.2.4" />
Expand Down
23 changes: 21 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ All configurations possible with Orleans are still available, but Democrite offe
- [Doors](#door-types) : Connectors designed to initiate reactions based on stimulus that follow specific conditions.
- [External Code VGrain](#external-code-vgrain) : VGrain write in other technologie than .net, like Python, C++, Javascript, ...
- [Blackboard](#blackboard) : Technologie of shared memory with intelligent controller. Use to organize and process a specific task, goal.
- [<font color="green">Redirections</font>](#redirections) : Enable switch of implementations for a particular contract during runtime.
- [<font color="green">Dynamic Definitions</font>](#dynamic-definitions) : Allow definition to be generated and inject at runtime.
- [Redirections](#redirections) : Enable switch of implementations for a particular contract during runtime.
- [Dynamic Definitions](#dynamic-definitions) : Allow definition to be generated and inject at runtime.

>[!TIP]
> In green this is the lastest feature integrated
Expand Down Expand Up @@ -840,6 +840,25 @@ In the section [Sample/DynamicDefinition](/samples/DynamicDefinition//)

![Static Badge](https://img.shields.io/badge/BETA-FF6A00?style=for-the-badge&logo=windows)
**v 0.4.3-prerelease:** <br/>
[Release Node](/docs/ReleaseNotes.md#043-prerelease)

- [x] Blackboard
- [x] Query
- [x] Life Status
- [x] Signals
- [x] Deferred Query Response
- [x] Signal - Hierarchy
- [x] Sequence : improve input usage
- [x] Execution Handler
- [x] Signal at the end
- [x] Deferred
- [x] Meta-Data -- Descriptor
- [x] Artifact - Enviroment - Docker


<br />

**v 0.4.1-prerelease:** <br/>
[Release Node](/docs/ReleaseNotes.md#041-prerelease)

Expand Down
33 changes: 33 additions & 0 deletions docs/ReleaseNotes.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,39 @@ Release Notes

# Beta

## 0.4.3-prerelease

In this version we mainly:
- Enhance Blackboard usage
- Managed result after processing
- Stabilisation

### Features
- **Blackboard** :
- **Query** : Able to send query to blackboard, A type Request to have information or a type command to give order without response to the blackboard.
- **Life Status** : Able to define a lifecycle status to request initialization or sealed with specific result when job is done.
- **Signal** : Able to subscribe, received and unsubscribe to signals.

- **Sequence** :
- **Extend Call** : Able to use property access in the call part, example : (grain, input, ctx) => grain.MethodAsync(input.Property.SubProperty, ctx).

- **Signal Hierarchy** : Able to create a hierarchy or signal, simply when a child fire it will automatically fire the parent.
- **Execution Handler** :
- **Signal** : Add a signal information that need to be fire at the end of a execution.
- **Deferred** : Able let process continue in background and use the deferred system let you know when the job is done
- **Meta Data** : Able to add description, tags, category information on descriptor like (Sequence, Trigger, ...), those meta data are used to "Understand" the goal
- **Artifact** : Able to setup an execution environment. Support Docker

### Breaking Changes
>[CAUTION]
> - **Artifact** : External execution had an issue during the message serialization. The protocol have been improved and change a bit.<br />
> Python democrite librairy MUST be updated
### Fix
- **node** :
- **Deco/Reco** : With mongo db as cluster theire was a singleton issue
- **Restore** :

## 0.4.1-prerelease

In this version we mainly focus on dynamic feature :
Expand Down
4 changes: 1 addition & 3 deletions eng/azure-pipeline-release-pip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,8 @@ variables:
${{ else }}:
value: testpypi



- name: PythonPkgFolder
value: "./src/Extensions/Dist/Python/"
value: "./src/Extensions/Dist/Python/Lib/"

steps:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
namespace Democrite.Sample.Blackboard.Memory.Controllers
{
using Democrite.Framework.Core;
using Democrite.Framework.Node.Blackboard.Abstractions;
using Democrite.Framework.Node.Blackboard.Abstractions.Models;
using Democrite.Framework.Node.Blackboard.Abstractions.Models.Commands;
Expand All @@ -14,7 +13,6 @@
using Orleans.Runtime;

using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;

internal sealed class AutoComputeEventController : BlackboardBaseEventControllerGrain<AutoComputeBlackboardOptions, IAutoComputeEventController>, IAutoComputeEventController
Expand All @@ -26,7 +24,7 @@ internal sealed class AutoComputeEventController : BlackboardBaseEventController
/// </summary>
public AutoComputeEventController(ILogger<IAutoComputeEventController> logger,
IBlackboardProvider blackboardProvider,
[PersistentState(BlackboardConstants.BlackboardStorageStateKey, BlackboardConstants.BlackboardStorageConfigurationKey)] IPersistentState<AutoComputeBlackboardOptions> persistentState)
[PersistentState(BlackboardConstants.BlackboardStateStorageKey, BlackboardConstants.BlackboardStateStorageConfigurationKey)] IPersistentState<AutoComputeBlackboardOptions> persistentState)
: base(logger, blackboardProvider, persistentState)
{
}
Expand All @@ -36,15 +34,15 @@ public AutoComputeEventController(ILogger<IAutoComputeEventController> logger,
#region Methods

/// <inheritdoc />
public override async Task<IReadOnlyCollection<BlackboardCommand>?> InitializationAsync(ControllerBaseOptions? option, GrainCancellationToken cancellationToken)
protected override async Task<IReadOnlyCollection<BlackboardCommand>?> OnInitializationAsync(ControllerBaseOptions? option, GrainCancellationToken cancellationToken)
{
if (option is AutoComputeBlackboardOptions auto)
await PushStateAsync(auto, cancellationToken.CancellationToken);
return null;
}

/// <inheritdoc />
public override async Task<IReadOnlyCollection<BlackboardCommand>?> ReactToEventsAsync(BlackboardEventBook eventBook, GrainCancellationToken token)
protected override async Task<IReadOnlyCollection<BlackboardCommand>?> OnReactToEventsAsync(BlackboardEventBook eventBook, GrainCancellationToken token)
{
if (this.State is null || this.State.ComputeSequenceUid == Guid.Empty)
return null;
Expand Down
5 changes: 3 additions & 2 deletions samples/Blackboard/Blackboard.API/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,9 @@
{
// A blackboard is a grain that manager shared data and execute controller orders
// The blackboard state is store in default blackboard storage (BlackboardConstants.BlackboardStorageConfigurationKey) or default one
b.UseDefaultStorageForBoardState()
.UseDefaultStorageForRegistryState();
b.UseInMemoryStorageForBoardState()
.UseInMemoryStorageForRecords()
.UseInMemoryStorageForRegistryState();
})

.SetupNodeMemories(m =>
Expand Down
8 changes: 4 additions & 4 deletions samples/Blackboard/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<ItemGroup>
</ItemGroup>
<ItemGroup>
<PackageVersion Include="Democrite.Framework.Node" Version="0.4.1.446-prerelease" />
<PackageVersion Include="Democrite.Framework.Node.Blackboard" Version="0.4.1.446-prerelease" />
<PackageVersion Include="Democrite.Framework.Node.Blackboard.Builders" Version="0.4.1.446-prerelease" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.5.0" />
<PackageVersion Include="Democrite.Framework.Node" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Node.Blackboard" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Node.Blackboard.Builders" Version="0.4.3" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.6.2" />
</ItemGroup>
</Project>
12 changes: 6 additions & 6 deletions samples/DynamicDefinition/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
</PropertyGroup>
<!-- Democrite -->
<ItemGroup>
<PackageVersion Include="Democrite.Framework.Bag.DebugTools" Version="0.4.1.446-prerelease" />
<PackageVersion Include="Democrite.Framework.Builders" Version="0.4.1.446-prerelease" />
<PackageVersion Include="Democrite.Framework.Node" Version="0.4.1.446-prerelease" />
<PackageVersion Include="Democrite.Framework.Node.Cron" Version="0.4.1.446-prerelease" />
<PackageVersion Include="Democrite.Framework.Node.Signals" Version="0.4.1.446-prerelease" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.5.0" />
<PackageVersion Include="Democrite.Framework.Bag.DebugTools" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Builders" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Node" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Node.Cron" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Node.Signals" Version="0.4.3" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.6.2" />
<PackageVersion Include="Unchase.Swashbuckle.AspNetCore.Extensions" Version="2.7.1" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

using DynamicDefinition.Api.VGrains;

using Elvex.Toolbox.Models;

using System;
using System.Collections.Generic;
using System.Diagnostics;
Expand Down Expand Up @@ -41,7 +43,7 @@ public async Task<Guid> GenerateAndPushNewAsync(string template, GenerationModeE
{
ArgumentException.ThrowIfNullOrEmpty(template);

var parts = template.OptiSplit(false,
var parts = template.OptiSplit(StringIncludeSeparatorMode.None,
StringComparison.OrdinalIgnoreCase,
StringSplitOptions.RemoveEmptyEntries,
" ",
Expand Down
22 changes: 11 additions & 11 deletions samples/Forex/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@
</PropertyGroup>
<ItemGroup>
<!-- Democrite -->
<PackageVersion Include="Democrite.Framework.Node" Version="0.2.1.186-prerelease" />
<PackageVersion Include="Democrite.Framework.Node.Cron" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Node.Signals" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Core" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Builders" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Client" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Core.Abstractions" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Bag.Web" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Bag.Web.Abstractions" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Node" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Node.Cron" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Node.Signals" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Core" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Builders" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Client" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Core.Abstractions" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Bag.Web" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Bag.Web.Abstractions" Version="0.4.3" />
<!-- Utilities -->
<PackageVersion Include="Swashbuckle.AspNetCore" version="6.5.0" />
<PackageVersion Include="HtmlAgilityPack" Version="1.11.59" />
<PackageVersion Include="Swashbuckle.AspNetCore" version="6.6.2" />
<PackageVersion Include="HtmlAgilityPack" Version="1.11.61" />
</ItemGroup>
</Project>
3 changes: 2 additions & 1 deletion samples/Forex/Nexai.Sample.Forex.Api/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
// The Democrite licenses this file to you under the MIT license.
// Produce by nexai & community (cf. docs/Teams.md)

using Democrite.Framework.Client;
using Democrite.Framework.Core.Abstractions;

using Microsoft.AspNetCore.Mvc;
Expand All @@ -12,6 +11,8 @@

var builder = WebApplication.CreateBuilder(args);

await Task.Delay(3000);

builder.Services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo
Expand Down
6 changes: 3 additions & 3 deletions samples/PythonVGrains/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
</PropertyGroup>
<ItemGroup>
<!-- Democrite -->
<PackageVersion Include="Democrite.Framework.Node" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Builders" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Node" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Builders" Version="0.4.3" />
<!-- Utilities -->
<PackageVersion Include="Swashbuckle.AspNetCore" version="6.5.0" />
<PackageVersion Include="Swashbuckle.AspNetCore" version="6.6.2" />
<PackageVersion Include="HtmlAgilityPack" Version="1.11.57" />
</ItemGroup>
</Project>
6 changes: 6 additions & 0 deletions samples/PythonVGrains/PythonCalculatorApi/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,12 @@ public static async Task Main(string[] args)

app.UseSwagger();

app.MapGet("/", request =>
{
request.Response.Redirect("swagger");
return Task.CompletedTask;
});

app.MapGet("/calc", ([FromServices] IDemocriteExecutionHandler handler, [FromQuery] string operation) =>
{
return handler.VGrain<IGenericArtifactExecutableVGrain>()
Expand Down
6 changes: 3 additions & 3 deletions samples/Redirections/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
</PropertyGroup>
<!-- Democrite -->
<ItemGroup>
<PackageVersion Include="Democrite.Framework.Builders" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Node" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.5.0" />
<PackageVersion Include="Democrite.Framework.Builders" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Node" Version="0.4.3" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.6.2" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ public async Task<bool> ClearGlobalConjuctionRedirection(IExecutionContext execu
public async Task<IReadOnlyCollection<VGrainRedirectionDefinition>> GetAllRedirection(IExecutionContext executionContext)
{
var grain = await this._democriteSystemProvider.GetVGrainAsync<IClusterRouteRegistryVGrain>(executionContext);
using (var grainToken = executionContext.CancellationToken.ToGrainCancellationToken())
using (var grainToken = executionContext.CancellationToken.ToGrainCancellationTokenSource())
{
var redirections = await grain.GetGlobalRedirection(string.Empty, grainToken.Token);
return redirections.Value.Info;
Expand Down
10 changes: 5 additions & 5 deletions samples/RelayFilterDoor/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
</PropertyGroup>
<!-- Democrite -->
<ItemGroup>
<PackageVersion Include="Democrite.Framework.Builders" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Node" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Node.Cron" Version="0.2.0.185-prerelease" />
<PackageVersion Include="Democrite.Framework.Node.Signals" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Bag.DebugTools" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Builders" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Node" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Node.Cron" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Node.Signals" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Bag.DebugTools" Version="0.4.3" />
</ItemGroup>
</Project>
14 changes: 7 additions & 7 deletions samples/Streams/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
</PropertyGroup>
<!-- Democrite -->
<ItemGroup>
<PackageVersion Include="Democrite.Framework.Bag.DebugTools" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Bag.Toolbox" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Builders" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Node" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Node.Cron" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Node.Signals" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Node.StreamQueue" Version="0.4.1.377-prerelease" />
<PackageVersion Include="Democrite.Framework.Bag.DebugTools" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Bag.Toolbox" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Builders" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Node" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Node.Cron" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Node.Signals" Version="0.4.3" />
<PackageVersion Include="Democrite.Framework.Node.StreamQueue" Version="0.4.3" />
</ItemGroup>
</Project>
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ namespace Democrite.Framework.Node.Services
/// <summary>
///
/// </summary>
internal interface ISignalLocalGrainServiceRelay : IGrainService, ISignalReceiver
internal interface ISignalLocalGrainServiceRelay : IGrainService, ISignalReceiver, ISignalReceiverReadOnly
{
/// <summary>
/// Subscribes the specified action to be called when <paramref name="signalId"/> is emit
Expand Down

0 comments on commit 3ad6543

Please sign in to comment.