Skip to content

[FSSDK-11589] Add go-sdk logic to support agent for cmab #412

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 43 commits into
base: master
Choose a base branch
from

Conversation

Mat001
Copy link
Contributor

@Mat001 Mat001 commented Jun 27, 2025

Add logic to suport agent cmab in go-sdk.

  • Added cmabService field to client: Essential for storing and accessing the CMAB decision service instance
  • Implemented WithCmabService() factory option: Allows proper dependency injection during client creation
  • Added CMAB decision path in decide(): Checks CMAB-enabled experiments and calls external service

https://jira.sso.episerver.net/browse/FSSDK-11589

@Mat001 Mat001 changed the title [FSSDK-] add go-sdk logic to support agent for cmab [FSSDK-11589] Add go-sdk logic to support agent for cmab Jun 27, 2025
Mat001 added 26 commits June 26, 2025 19:45
* Fix CMAB error handling to properly propagate error reasons in Decision objects

* add cmab cache options to getAllOptions

* fix failing fsc tests

* add cmab errors file

* adjust lowercase

* add test

* fix error message propagation in resons

* add error handling to feature experiment servvice

* Add more error handling to feature exper and composite feature service

* nil back to err

* add reasons message to composite feature service GetDecision

* use AddError for reasons

* Trigger PR check

* remove implicit error handling - PR feedback

* use nil instead of err for legacy

* fix error format

* Fix lint issue with fsc error

* Rename error var, lint stuttering issue
@Mat001 Mat001 requested review from raju-opti and jaeopt July 25, 2025 05:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant