Dmytro Skarzhynets
f22c169198
refactor: generalize TestDbCallbackExecutor into DirectListeningExecutor enum singleton
Move TestDbCallbackExecutor from rule-engine test sources to
common/util main sources as DirectListeningExecutor, making it
available to all modules. Convert to an enum singleton since the
executor is stateless. Widen JpaAbstractDaoListeningExecutorService
service field type from JpaExecutorService to ListeningExecutor to
allow injecting DirectListeningExecutor in tests. Fix
AbstractChunkedAggregationTimeseriesDaoTest NPE by injecting the
direct executor into the spy.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 months ago
Dmytro Skarzhynets
00238968e9
fix: preserve rule node execution counter when copying messages in delay and deduplication nodes
Delay and deduplication rule nodes were creating brand new TbMsg objects
instead of copying the original, which reset the ruleNodeExecCounter to 0.
This allowed bypassing the maxRuleNodeExecutionsPerMessage limit.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 months ago
Viacheslav Klimov
132b6a1e3f
Version changed to 4.2.2
4 months ago
Dmytro Skarzhynets
2264a40285
fix: resolve race condition in TbRestApiCallNodeTest
The deleteRequestWithBody and deleteRequestWithoutBody tests used
time-based synchronization (Thread.sleep) to wait for the async
WebClient response callback. Under CI load, the callback could fire
after the verify() check, causing flaky failures.
Replace the sleep-based approach with Mockito's timeout() on verify,
which properly polls for the async interaction.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4 months ago
Viacheslav Klimov
b244e14ef7
Version set to 4.2.1.3-SNAPSHOT
4 months ago
Viacheslav Klimov
5b5b4dff6b
Update license header
5 months ago
Viacheslav Klimov
f2dadd0791
Version set to 4.2.1.2-SNAPSHOT
6 months ago
Viacheslav Klimov
295d29fc68
Version set to 4.2.1.1-RC
6 months ago
Viacheslav Klimov
e498d346ad
Fix CVE-2025-66566
6 months ago
Viacheslav Klimov
f3408ffc0a
Fix CVE-2025-12183
6 months ago
Viacheslav Klimov
2fe9646de8
Use org.thingsboard.langchain4j:1.8.0-TB instead of dev.langchain4j:1.1.0
6 months ago
Dmytro Skarzhynets
038332a836
Device profile node: add test for NPE if no device activity before dynamic duration rules evaluation
9 months ago
Dmytro Skarzhynets
2165162dd5
Device profile node: fix NPE when evaluation dynamic duration rules
10 months ago
Dmytro Skarzhynets
9a34396d45
Support all customer-owned entities in 'customer attributes' and 'change originator' rule nodes
7 months ago
dashevchenko
ad6ab9cc53
AI node: fixed resources validation
8 months ago
VIacheslavKlimov
aefb7dcb41
Version set to 4.2.1-RC
8 months ago
Dmytro Skarzhynets
14efeecdc3
Update rule node doc links
8 months ago
Dmytro Skarzhynets
5c7f20a151
AI models: add support for Ollama
9 months ago
VIacheslavKlimov
5a6ddce8f5
AI Request Node: added ability to attach files ( #13910 )
9 months ago
Dmytro Skarzhynets
e688a8af0f
AI models: add base URL to OpenAI
8 months ago
Dmytro Skarzhynets
41f0a9702e
AI models: add support for Ollama
9 months ago
VIacheslavKlimov
ec30bb0578
AI Request Node: added ability to attach files ( #13910 )
9 months ago
Dmytro Skarzhynets
a1cebcc54c
AI request node: fix prompts validation
10 months ago
Igor Kulikov
dbd6c2a085
Remove tomcat version override because spring boot uses fixed version. Update nimbus-jose-jwt version to fix vulnerabilities and remove test scope as it used directly by spring-security-oauth2-client.
11 months ago
Igor Kulikov
cc7c496b13
Version set to 4.2.0-RC
11 months ago
VIacheslavKlimov
43425961d6
Fix CVE-2023-52428
11 months ago
Dmytro Skarzhynets
b323bdc5d0
Create alarm node: process message asynchronously to avoid blocking dispatcher thread
11 months ago
Dmytro Skarzhynets
583c622210
AI rule node: add rule node docs link
11 months ago
Dmytro Skarzhynets
7315f3ba15
AI rule node: add rule node tests
11 months ago
Dmytro Skarzhynets
1ce1a1b89c
AI rule node: fail node init if JSON mode is configured and the model does not support it
11 months ago
Andrii Landiak
233d883d4c
Test: givenInvalidClientId_whenInit_thenThrowsException
11 months ago
Andrii Landiak
3e223ed8bf
Max client id for different mqtt protocol version
11 months ago
Dmytro Skarzhynets
46bdbbdb05
AI rule node: wording and default values adjustments
11 months ago
Dmytro Skarzhynets
103a712f0d
AI rule node: add default value for force ack in node config
11 months ago
Dmytro Skarzhynets
eb52e7c767
AI rule node: add force ack configuration option to rule node
11 months ago
Dmytro Skarzhynets
5abbe9ec02
AI rule node: rename `aiModelId` to `modelId` in rule node config
11 months ago
Dmytro Skarzhynets
fd7faa5a9e
AI rule node: fix flaky Azure IoT hub node test
11 months ago
Dmytro Skarzhynets
e7c971a7bb
AI rule node: add node description and details
11 months ago
Dmytro Skarzhynets
b6b30dbba9
AI rule node: rename AI model settings to AI model
11 months ago
Artem Dzhereleiko
6ecb3a49f1
UI: AI models
11 months ago
Andrii Landiak
345c28c482
Add admin settings entity type
11 months ago
Dmytro Skarzhynets
d4ec3f8b39
AI rule node: change structure of response format info in node config
11 months ago
Dmytro Skarzhynets
cdb7e3b0c0
AI rule node: correct method name for schema adapter
11 months ago
Dmytro Skarzhynets
a2e7ff293b
AI rule node: add API for sending arbitrary chat requests to LLM model
11 months ago
Dmytro Skarzhynets
8d87031b9a
AI rule node: change validation message for system prompt to be more consistent with others
11 months ago
VIacheslavKlimov
fb966bded0
Fix no type-cast for attributes; telemetry controller refactoring
11 months ago
Dmytro Skarzhynets
61669dde3f
AI rule node: increase length limit for prompts
11 months ago
Dmytro Skarzhynets
80ebd784d8
AI rule node: make system prompt optional
11 months ago
Dmytro Skarzhynets
0cc5980156
AI rule node: add Anthropic support
12 months ago
Dmytro Skarzhynets
1343c4af3b
AI rule node: refactor model config data structure; rename from AI settings to AI model settings
12 months ago