@plures/praxis 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +101 -22
- package/dist/core/actors.js.map +1 -1
- package/dist/core/schema/loader.js +2 -2
- package/dist/core/schema/loader.js.map +1 -1
- package/package.json +1 -1
- package/src/core/actors.ts +1 -1
- package/src/core/schema/loader.ts +2 -2
package/README.md
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
[](https://github.com/plures/praxis/actions/workflows/codeql.yml)
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
6
|
[](https://www.npmjs.com/package/@plures/praxis)
|
|
7
|
+
[](https://www.nuget.org/packages/Plures.Praxis/)
|
|
7
8
|
[](https://jsr.io/@plures/praxis)
|
|
8
9
|
[](https://nodejs.org/)
|
|
9
10
|
[](https://deno.land/)
|
|
@@ -19,18 +20,27 @@
|
|
|
19
20
|
- 💬 [Discussions](https://github.com/plures/praxis/discussions) | [Issues](https://github.com/plures/praxis/issues)
|
|
20
21
|
- 🚀 [Contributing](./CONTRIBUTING.md) | [Security Policy](./SECURITY.md)
|
|
21
22
|
- 📋 [Changelog](./CHANGELOG.md) | [Roadmap](https://github.com/plures/praxis/issues?q=is%3Aissue+is%3Aopen+label%3Aroadmap)
|
|
23
|
+
- 🔄 [Cross-Language Sync](./CROSS_LANGUAGE_SYNC.md) | [C# Documentation](./csharp/Praxis/README.md)
|
|
22
24
|
|
|
23
25
|
### Project Status
|
|
24
26
|
|
|
25
27
|
| Category | Status |
|
|
26
28
|
|----------|--------|
|
|
27
29
|
| **CI/CD** | ✅ Automated testing & builds |
|
|
28
|
-
| **Version** | 0.
|
|
29
|
-
| **Runtime Support** | Node.js 18+, Deno (experimental) |
|
|
30
|
-
| **Package Registries** | npm ✅ / JSR 🚧 (coming soon) |
|
|
31
|
-
| **Test Coverage** | 165 tests passing |
|
|
30
|
+
| **Version** | 0.2.0 (Alpha) |
|
|
31
|
+
| **Runtime Support** | Node.js 18+, Deno (experimental), .NET 8+ |
|
|
32
|
+
| **Package Registries** | npm ✅ / NuGet ✅ / JSR 🚧 (coming soon) |
|
|
33
|
+
| **Test Coverage** | 165 TypeScript + 68 C# tests passing |
|
|
32
34
|
| **Documentation** | 📚 Comprehensive guides available |
|
|
33
35
|
|
|
36
|
+
### Language Support
|
|
37
|
+
|
|
38
|
+
| Language | Package | Registry | Status |
|
|
39
|
+
|----------|---------|----------|--------|
|
|
40
|
+
| **TypeScript** | @plures/praxis | npm | ✅ Available |
|
|
41
|
+
| **C#** | Plures.Praxis | NuGet | ✅ Available |
|
|
42
|
+
| **PowerShell** | Praxis.psm1 | GitHub | ✅ Available |
|
|
43
|
+
|
|
34
44
|
### Integration Status
|
|
35
45
|
|
|
36
46
|
| Integration | Status | Notes |
|
|
@@ -214,6 +224,20 @@ A comprehensive example demonstrating all Praxis features:
|
|
|
214
224
|
npm install @plures/praxis
|
|
215
225
|
```
|
|
216
226
|
|
|
227
|
+
### NuGet (.NET / C#)
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
dotnet add package Plures.Praxis
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
Or add to your `.csproj`:
|
|
234
|
+
|
|
235
|
+
```xml
|
|
236
|
+
<PackageReference Include="Plures.Praxis" Version="0.2.0" />
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
See [C# Documentation](./csharp/Praxis/README.md) for detailed usage.
|
|
240
|
+
|
|
217
241
|
### JSR (Deno)
|
|
218
242
|
|
|
219
243
|
```bash
|
|
@@ -227,7 +251,7 @@ For now, you can use Praxis with Deno via import maps:
|
|
|
227
251
|
// import_map.json
|
|
228
252
|
{
|
|
229
253
|
"imports": {
|
|
230
|
-
"@plures/praxis": "npm:@plures/praxis@^0.
|
|
254
|
+
"@plures/praxis": "npm:@plures/praxis@^0.2.0"
|
|
231
255
|
}
|
|
232
256
|
}
|
|
233
257
|
```
|
|
@@ -239,14 +263,15 @@ For now, you can use Praxis with Deno via import maps:
|
|
|
239
263
|
git clone https://github.com/plures/praxis.git
|
|
240
264
|
cd praxis
|
|
241
265
|
|
|
242
|
-
#
|
|
266
|
+
# TypeScript
|
|
243
267
|
npm install
|
|
244
|
-
|
|
245
|
-
# Build
|
|
246
268
|
npm run build
|
|
247
|
-
|
|
248
|
-
# Run tests
|
|
249
269
|
npm test
|
|
270
|
+
|
|
271
|
+
# C#
|
|
272
|
+
cd csharp
|
|
273
|
+
dotnet build
|
|
274
|
+
dotnet test
|
|
250
275
|
```
|
|
251
276
|
|
|
252
277
|
## Quick Start
|
|
@@ -887,24 +912,67 @@ Write-Host "Count: $($result.state.context.count)"
|
|
|
887
912
|
|
|
888
913
|
See [powershell/README.md](./powershell/README.md) for complete documentation and examples.
|
|
889
914
|
|
|
890
|
-
### C# (
|
|
915
|
+
### C# (.NET 8+)
|
|
916
|
+
|
|
917
|
+
**NEW!** Full C# implementation with functional, immutable design:
|
|
891
918
|
|
|
892
|
-
|
|
919
|
+
```csharp
|
|
920
|
+
using Praxis.Core;
|
|
921
|
+
using Praxis.Dsl;
|
|
922
|
+
|
|
923
|
+
// Define facts and events
|
|
924
|
+
var UserLoggedIn = PraxisDsl.DefineFact<UserPayload>("UserLoggedIn");
|
|
925
|
+
var Login = PraxisDsl.DefineEvent<LoginPayload>("LOGIN");
|
|
926
|
+
|
|
927
|
+
record UserPayload(string UserId);
|
|
928
|
+
record LoginPayload(string Username);
|
|
929
|
+
|
|
930
|
+
// Define rules
|
|
931
|
+
var loginRule = PraxisDsl.DefineRule<AuthContext>(
|
|
932
|
+
id: "auth.login",
|
|
933
|
+
description: "Process login event",
|
|
934
|
+
impl: (state, context, events) =>
|
|
935
|
+
{
|
|
936
|
+
var loginEvent = events.FindEvent(Login);
|
|
937
|
+
if (loginEvent != null)
|
|
938
|
+
{
|
|
939
|
+
var payload = Login.GetPayload(loginEvent);
|
|
940
|
+
return [UserLoggedIn.Create(new UserPayload(payload?.Username ?? "unknown"))];
|
|
941
|
+
}
|
|
942
|
+
return [];
|
|
943
|
+
});
|
|
944
|
+
|
|
945
|
+
// Create engine
|
|
946
|
+
var registry = new PraxisRegistry<AuthContext>();
|
|
947
|
+
registry.RegisterRule(loginRule);
|
|
948
|
+
|
|
949
|
+
var engine = PraxisEngine.Create(new PraxisEngineOptions<AuthContext>
|
|
950
|
+
{
|
|
951
|
+
InitialContext = new AuthContext(null),
|
|
952
|
+
Registry = registry
|
|
953
|
+
});
|
|
954
|
+
|
|
955
|
+
// Dispatch events
|
|
956
|
+
var result = engine.Step([Login.Create(new LoginPayload("alice"))]);
|
|
957
|
+
Console.WriteLine($"Facts: {result.State.Facts.Count}"); // Facts: 1
|
|
958
|
+
```
|
|
959
|
+
|
|
960
|
+
See [csharp/Praxis/README.md](./csharp/Praxis/README.md) for complete documentation.
|
|
893
961
|
|
|
894
962
|
## Future Roadmap
|
|
895
963
|
|
|
896
|
-
### Short Term (v0.2.0)
|
|
897
|
-
- Complete CLI implementation
|
|
898
|
-
- Basic project templates
|
|
899
|
-
- Component generation MVP
|
|
900
|
-
-
|
|
964
|
+
### Short Term (v0.2.0) ✅
|
|
965
|
+
- ✅ Complete CLI implementation
|
|
966
|
+
- ✅ Basic project templates
|
|
967
|
+
- ✅ Component generation MVP
|
|
968
|
+
- ✅ C# implementation with NuGet publishing
|
|
901
969
|
|
|
902
970
|
### Medium Term (v0.3.0 - v0.5.0)
|
|
903
971
|
- Full CodeCanvas integration
|
|
904
972
|
- Unum identity support
|
|
905
973
|
- State-Docs generation
|
|
906
974
|
- Multi-language schemas
|
|
907
|
-
-
|
|
975
|
+
- Enhanced PluresDB integration
|
|
908
976
|
|
|
909
977
|
### Long Term (v1.0.0+)
|
|
910
978
|
- Mobile templates (iOS, Android)
|
|
@@ -925,18 +993,29 @@ Cross-language adapter for C# is planned with similar JSON-based protocol.
|
|
|
925
993
|
|
|
926
994
|
### Cross-Language Support
|
|
927
995
|
|
|
928
|
-
The core protocol is
|
|
996
|
+
The core protocol is implemented across multiple languages:
|
|
929
997
|
|
|
930
|
-
**C# (
|
|
998
|
+
**C# (Available):**
|
|
931
999
|
```csharp
|
|
932
|
-
|
|
1000
|
+
// Full functional C# implementation with immutable records
|
|
1001
|
+
var engine = PraxisEngine.Create(new PraxisEngineOptions<TContext> { ... });
|
|
1002
|
+
var result = engine.Step(events);
|
|
933
1003
|
```
|
|
934
1004
|
|
|
935
|
-
|
|
1005
|
+
See [csharp/Praxis/README.md](./csharp/Praxis/README.md) for full documentation.
|
|
1006
|
+
|
|
1007
|
+
**PowerShell (Available):**
|
|
936
1008
|
```powershell
|
|
937
1009
|
$newState = Invoke-PraxisStep -State $state -Events $events
|
|
938
1010
|
```
|
|
939
1011
|
|
|
1012
|
+
See [powershell/README.md](./powershell/README.md) for full documentation.
|
|
1013
|
+
|
|
1014
|
+
### Cross-Language Sync Strategy
|
|
1015
|
+
|
|
1016
|
+
All implementations share the same protocol version and JSON format for interoperability.
|
|
1017
|
+
See [CROSS_LANGUAGE_SYNC.md](./CROSS_LANGUAGE_SYNC.md) for details on keeping implementations in sync.
|
|
1018
|
+
|
|
940
1019
|
### Advanced Features
|
|
941
1020
|
|
|
942
1021
|
- Prolog/CLP-inspired features (facts, rules, declarative constraints, goal-style interactions)
|
package/dist/core/actors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actors.js","sourceRoot":"","sources":["../../src/core/actors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"actors.js","sourceRoot":"","sources":["../../src/core/actors.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Loads and validates Praxis schema files.
|
|
5
5
|
*/
|
|
6
|
-
import { readFile } from 'fs/promises';
|
|
7
|
-
import { pathToFileURL } from 'url';
|
|
6
|
+
import { readFile } from 'node:fs/promises';
|
|
7
|
+
import { pathToFileURL } from 'node:url';
|
|
8
8
|
import { load as yamlLoad } from 'js-yaml';
|
|
9
9
|
import { validateSchema } from './types.js';
|
|
10
10
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/core/schema/loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/core/schema/loader.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/core/actors.ts
CHANGED
|
@@ -185,7 +185,7 @@ export function createTimerActor<TContext = unknown>(
|
|
|
185
185
|
intervalMs: number,
|
|
186
186
|
createEvent: () => PraxisEvent
|
|
187
187
|
): Actor<TContext> {
|
|
188
|
-
let timerId:
|
|
188
|
+
let timerId: ReturnType<typeof setInterval> | null = null;
|
|
189
189
|
|
|
190
190
|
return {
|
|
191
191
|
id,
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Loads and validates Praxis schema files.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { readFile } from 'fs/promises';
|
|
8
|
-
import { pathToFileURL } from 'url';
|
|
7
|
+
import { readFile } from 'node:fs/promises';
|
|
8
|
+
import { pathToFileURL } from 'node:url';
|
|
9
9
|
import { load as yamlLoad } from 'js-yaml';
|
|
10
10
|
import type { PraxisSchema, ValidationResult } from './types.js';
|
|
11
11
|
import { validateSchema } from './types.js';
|