Commit Graph
74 Commits
Author SHA1 Message Date
stefan-gorules 6c0ca51354 feat: policy engine (#450)
* feat: policy engine

* fix: cargo fmt

* fix: resolve issues with miri
2026-06-23 18:51:47 +02:00
stefan-gorules 602d214b96 feat: expression static analysis (#449)
* feat: expression static analysis

* fix: cargo fmt

* fix: python workflow

* fix: python workflow

* fix: python workflow

* fix: ignore miri test bound by clock

* fix: memory leaks
2026-06-22 15:48:05 +02:00
bcrevar-gorules 63957b7010 fix(GRL-517): bump reqsign to 0.20 to drop vulnerable jsonwebtoken (#446)
* dep update

* lld fix

* lld fix 2

* lld fix 3

* lld fix 4

* lld fix 6

* lld fix 7

* lld fix 8

* lld fix 9

* lld fix 10
2026-05-29 14:16:48 +02:00
stefan-gorules 6beecb423f fix: simplify compilation (#429)
* fix: simplify compilation

* improve opcodecache structure
2026-02-11 16:07:34 +01:00
stefan-gorules f054aa876c fix: omit reserved properties in fn return (#417) 2025-11-24 12:44:32 +01:00
stefan-gorules 070a7567db fix: improve fn performance (#416)
* fix: improve fn performance

* micro optimisations
2025-11-21 21:15:24 +01:00
bcrevar-gorulesandStefan 7bfebd90fe feat: precompile decision content (#401)
* precompile first

* test

* add Opcode cache through Option<T>

* Compiled support for decisionTable,
default compile of new DecisionContent for node.js and py bindings

* format

* DecisionContent refactored to model module

* fmt

* added back BaseDecisionContent

* tests and benchmark

---------

Co-authored-by: Stefan <stefan@gorules.io>
2025-11-21 14:44:24 +01:00
bcrevar-gorules 8ebc344603 fix: DecisionLoader and downcast trait (#414) 2025-11-21 12:49:21 +01:00
stefan-gorules 1e34717c49 fix: function node serde (#412) 2025-11-20 10:16:28 +01:00
stefan-gorules de25f98a7f fix: improve fn variable conversion performance (#410) 2025-11-19 13:38:29 +01:00
stefan-gorules a6ad0a7894 fix: clean variable before validation (#409)
* fix: clean variable before validation

* bump workflow to macos-14

* move to macos latest

* update runners

* improve performance of implementation
2025-11-19 11:59:51 +01:00
stefan-gorulesandIvan Miletic 922a262e98 feat: wasm support (#404)
* feat: wasm support

* add http callback

* streamline structs

* fix: wasm workflow

* fix: wasi path

* fix: wasm

* fix: wasm path

* fix: clang dev

* fix: libclang static

* fix: build

* fix: node

* fix: wasm

* fix: wasm wasi

* fix: npm dirs

* fix: node workflow

* fix: testing

* fix: test

* update version

* fix: targets

* fix: wasm fix

* fix: commit files

---------

Co-authored-by: Ivan Miletic <vnmiletic@gmail.com>
2025-11-13 12:36:59 +01:00
stefan-gorules 07040c8a96 feat: lazy load fn nodes (#389)
* feat: lazy load fn nodes

* fix rebase, fix $nodes

* fix

* miri ignore test
2025-11-07 10:53:21 +01:00
stefan-gorules 013c1312f8 feat: http auth (#393)
* temp: http auth

* add better error handling

* improve Cargo.toml format

* add enable/disable for http auth

* make aws region optional

* add fallback for aws
2025-09-11 09:58:16 +02:00
stefan-gorules 91509821be feat: refactor engine (#390)
* temp: refactor engine

* temp

* implement remaining nodes

* resolve snapshot tests

* improve decision graph implementation

* implement changes in bindings

* implement changes in bindings

* fix function impl gaps

* update cargo.toml

* fix issues with trace
2025-09-04 18:54:32 +02:00
stefan-gorulesandbojancrevar 80fe4021c2 feat: compact trace (#384)
* feat: compact trace

* align with changes

* add deserialization

* add tests and deserializer

* fix bindings

* first draft

* mock time; update snapshots

* fix

* Node.js test fix

* fix merge

* fix utc override

* fix cross-env

* fix workflow

* fix

---------

Co-authored-by: bojancrevar <bojan.crevar@gorules.io>
2025-08-25 12:33:07 +02:00
bcrevar-gorulesandStefan 4a59f222db feat: add snapshot tests (#385)
* first draft

* mock time; update snapshots

* fix

* Node.js test fix

---------

Co-authored-by: Stefan <stefan@gorules.io>
2025-08-20 16:30:28 +02:00
bojancrevar 8cdafa62a8 Check for null config.data value in http module 2025-07-23 15:15:29 +02:00
stefan-gorules 30b8396f3b feat: function omit nodes (#370) 2025-07-03 09:28:22 +02:00
stefan-gorules 21a1238efd fix: reference in evaluation (#363) 2025-06-18 10:42:34 +02:00
stefan-gorules f36974a8d6 feat: configurable function timeout (#367) 2025-06-18 10:39:53 +02:00
stefan-gorules de6d13e1c7 feat: date v2 (#345)
* feat: date v2

* implement more date functions

* improve type safety

* add more methods for dates

* update utc to tz and add support

* add unary node behaviour for date methods

* add tests; fix errors in bindings

* add date operators

* fix types

* change set date signature

* update nightly
2025-05-12 22:39:08 +02:00
stefan-gorules 737b9d9b69 fix: resolve root stackoverflow in expression node (#338) 2025-04-24 11:59:54 +02:00
stefan-gorules e10412c2b1 fix: improve trace (#333) 2025-04-14 12:37:07 +02:00
stefan-gorules d6f52f29c5 fix: node cache collision (#295)
* fix: node cache collision

* bump graph
2024-12-31 15:10:15 +01:00
stefan-gorules 2b73856d55 feat: schema validation (#267)
* feat: schema validation

* fix prettier

* update implementation

* add test cases

* change validator to string

* update tests
2024-12-25 13:00:04 +01:00
stefan-gorules ba288db541 fix: nested graph reset (#292) 2024-12-11 14:11:27 +01:00
stefan-gorules e940fd662d fix: function trace format (#288) 2024-12-07 02:05:42 +01:00
stefan-gorules 0f4c522ee4 feat: partial trace (#287) 2024-12-07 01:26:13 +01:00
stefan-gorules 3760feb15c fix: napi trace order and performance rounding (#286)
* fix: napi trace order

* fix

* fix file

* fix types

* fix format
2024-12-06 15:29:41 +01:00
stefan-gorules f93880b110 feat: add order to trace (#285) 2024-12-06 12:11:33 +01:00
stefan-gorules 091b2b3bbc fix: node merge strategy (#281)
* fix: node merge strategy

* update merge strategy
2024-12-03 14:08:03 +01:00
stefan-gorules 92879f9c05 feat: bump rquickjs, fix loop cache for decisionTable (#274)
* fix: loop cache

* update rquickjs

* bump version
2024-11-19 13:38:17 +01:00
stefan-gorulesandIvan Miletic 47812143a0 feat: passthrough nodes (#261)
* feat: passthrough nodes

* update bindings

* update model

* update exclusion

* fix merge strategy

* fix

* fix merge

* add tests

* fix walk

* fix merge

* fix

* fix: add tests

* fix types

---------

Co-authored-by: Ivan Miletic <vnmiletic@gmail.com>
2024-10-23 15:59:31 +02:00
stefan-gorules 31d1730f5a feat: decision transform attributes (#255) 2024-10-09 22:57:41 +02:00
stefan-gorules ec6004a6d4 fix: double borrow (#252) 2024-10-04 22:53:49 +02:00
stefan-gorules 91598166ce feat: rc variable (#246)
* feat: rc variable

* feat: implement variable in engine

* add exports

* fix bindings and improve clone accuracy

* fix tests, fix bindings

* fix fmt

* improve code
2024-09-30 18:34:54 +02:00
stefan-gorules 3e7cdfcde1 feat: intellisense (#244)
* local: fault tolerant parser

* fix tests

* add intellisense

* fix minor issues

* improve support

* fix fmt

* fix

* fix: improve error messages

* improve error handling and ast

* fix lint

* fix tests

* exclude zen-nodejs from rust tests
2024-09-23 09:23:48 +02:00
stefan-gorules 12ca3f4951 feat: expose engine methods (#242) 2024-09-10 15:05:16 +02:00
stefan-gorules 512aeb65ba fix: switch node trace (#224) 2024-08-01 11:42:05 +02:00
stefan-gorules cc3d938b2f feat: function v2 (#212)
* feat: function v2

* expose evaluate

* remove async trait, add caching

* fix naming

* add reverse compatibility

* add http module

* update impl

* resolve issues with reqwest

* fix

* fix

* fix ssl

* remove unused deps

* fix: tests

* fix
2024-07-16 11:22:51 +02:00
stefan-gorules 6271d8ab1a feat: expression chain (#166)
* feat: expression chain

* fix implementation

* fix

* implement env update on expression execution

* fix error handling for serde

* rebase

* update deps

* add $ prefix for expression reference
2024-05-24 14:46:57 +02:00
stefan-gorules bfc8f94eaa fix: graph performance (#162)
* fix: graph performance

* fix switch clones
2024-05-17 11:46:41 +02:00
stefan-gorules 2d1bebab03 feat: improve switch performance (#159)
* fix: improve switch performance

* fix pipeline
2024-05-13 10:11:24 +02:00
stefan-gorules ebba323366 fix: rename templates crate (#140)
* fix: rename templates crate

* fix: update workflow
2024-04-03 16:45:22 +02:00
stefan-gorules daecf901e6 feat: custom node (#138)
* feat: custom node

* add zen template, expose $nodes and $root

* add custom handler to go and nodejs

* add support for python, improve bindings, add error to zen template

* fix: correct binding exports for nodejs and python

* fix benchmark

* improve rust api, trim template in zen templates

* update cargo action

* update expression version

* compile action

* fix action format
2024-04-03 16:09:51 +02:00
stefan-gorules c281c55ef1 feat: replace v8 with quickjs (#119)
* feat: replace v8 with quickjs

* fix format; fix pipelines

* fix: workflow

* fix: remove incorrect target in node windows pipeline
2024-02-09 10:48:08 +01:00
Ivan Miletic 4a6b4334f2 fix: trim input before check (#113)
* fix: trim input before check

* fix: added tests
2024-01-31 01:27:39 +01:00
stefan-gorules 5f423b7910 feat: zen expression rewrite (#107)
* temp: zen-expression rewrite

* rewrite standard parser

* stabilise parser, upgrade dependencies

* implement unary parser

* align builtin behavior

* fix tests and minor bugs

* refactor exports, update docs

* fix expression repl

* cleanup

* cleanup vm

* replace expression with expression-rewrite

* update d.ts file

* fix failing test
2023-12-12 08:50:25 +01:00
stefan-gorules f3c56b7bdb fix: expose graph response (#104) 2023-11-30 16:10:56 +01:00