Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
373 commits
Select commit Hold shift + click to select a range
93923f3
implmented:
ashrafchowdury Dec 31, 2025
d28653f
revert backend changes for the 'anthropic/' prefix
ashrafchowdury Dec 31, 2025
6275659
fix lint
ashrafchowdury Dec 31, 2025
89e0cba
fix single cetagorical type display issue
ashrafchowdury Dec 31, 2025
0a739cd
fix data revalidation after annotation on trace
ashrafchowdury Dec 31, 2025
ba31a73
Implement model cost retrieval and metadata building for supported LLMs
mmabrouk Dec 31, 2025
57e07ed
v0.72.4
ashrafchowdury Dec 31, 2025
6b8ec0e
fixed all the of the reported issues
ashrafchowdury Dec 31, 2025
1fe6378
Add testset revision download endpoint with CSV/JSON export support a…
ardaerzin Dec 31, 2025
1ac4d39
Upgrade @tanstack/query-core and @tanstack/react-query to 5.90.16, jo…
ardaerzin Dec 31, 2025
325d571
refactor(api): enhance get_nested_value function to support multiple …
mmabrouk Dec 31, 2025
23b05c0
refactor: improve layout and styling in evaluation result components
bekossy Dec 31, 2025
b0e9904
refactor: enhance layout and add typography to AggregatedOverviewSect…
bekossy Dec 31, 2025
e301624
refactor: enhance EvaluatorMetricsChart with delta computation and im…
bekossy Dec 31, 2025
d73c4e5
refactor: add toneOverride and showIconOverride props to reference la…
bekossy Dec 31, 2025
3ebb2e5
refactor: enhance PreviewEvalRunMeta with comparison functionality an…
bekossy Dec 31, 2025
6677a34
Merge pull request #3334 from Agenta-AI/fix/annotation-single-cetagor…
ashrafchowdury Dec 31, 2025
eda50bf
Merge pull request #3332 from Agenta-AI/feat/ability-to-delete-multip…
ashrafchowdury Dec 31, 2025
c4914c1
updated tooltip bg color
ashrafchowdury Dec 31, 2025
1fadbfe
Merge pull request #3326 from Agenta-AI/feat/showing-model-metrics-on…
ashrafchowdury Dec 31, 2025
3a1883c
Merge pull request #3330 from Agenta-AI/feat/variant-use-api-snippets
ashrafchowdury Dec 31, 2025
c3eb5b5
Merge pull request #3329 from Agenta-AI/feat/sdk-variant-body-params
ashrafchowdury Dec 31, 2025
da2cadb
Remove unused draft store implementation, change default testset revi…
ardaerzin Dec 31, 2025
5075c3f
Refactor TestsetsTable to use centralized testset entity store instea…
ardaerzin Dec 31, 2025
adae343
Refactor TestcasesTableNew to use centralized testcase entity store i…
ardaerzin Dec 31, 2025
88b0321
Refactor TestsetDrawer and entity state management to use centralized…
ardaerzin Dec 31, 2025
75905df
Refactor DrillInView components to use centralized entity controller …
ardaerzin Dec 31, 2025
a4a0e3e
Refactor LoadTestsetModal and related components to use centralized t…
ardaerzin Dec 31, 2025
f2d0cd2
Refactor EvaluatorVariantModal and DebugSection to use centralized re…
ardaerzin Dec 31, 2025
5e3a0f4
Refactor scenarioTestcase atoms to use centralized testcase controlle…
ardaerzin Dec 31, 2025
07f4e18
Refactor ReferenceLabels and TestsetCells to use centralized revision…
ardaerzin Dec 31, 2025
e6d9a76
Add Entity Controller Pattern documentation to AGENTS.md with compreh…
ardaerzin Dec 31, 2025
13f9214
Merge branch 'frontend-feat/new-testsets-integration' of https://gith…
ardaerzin Dec 31, 2025
6411e4f
Merge pull request #3335 from Agenta-AI/release/v0.72.4
ashrafchowdury Dec 31, 2025
ccf7969
Bump qs and body-parser in /docs
dependabot[bot] Dec 31, 2025
b0761a2
clean up Organization Tab and fix some API bugs
jp-agenta Dec 31, 2025
8e34e79
minor UI fixes
jp-agenta Dec 31, 2025
a79d87b
fix default organization flags
jp-agenta Dec 31, 2025
22f97d7
minor UI fixes
jp-agenta Dec 31, 2025
bd0b417
Minor copy fixes
jp-agenta Dec 31, 2025
50ceed9
minor copy fixes
jp-agenta Dec 31, 2025
31b8cdf
minor flags fix
jp-agenta Dec 31, 2025
c416cd8
Refactor DataPreviewEditor to use EntityDualViewEditor component for …
ardaerzin Dec 31, 2025
269f886
Merge branch 'main' into frontend-feat/new-testsets-integration
ardaerzin Dec 31, 2025
943d304
move sso provider settings to secrets
jp-agenta Dec 31, 2025
2305e1c
fix secrets serialization
jp-agenta Dec 31, 2025
aed9351
refactor: streamline CompareRunsMenu and PreviewEvalRunHeader compone…
bekossy Jan 2, 2026
72b3c9a
eslint and fix acces token auth
jp-agenta Jan 2, 2026
3f99ce5
v0.73.0
junaway Jan 2, 2026
9ce5afe
Merge branch 'frontend-feat/new-testsets-integration' into chore/chec…
jp-agenta Jan 2, 2026
d9d6858
ruff format
jp-agenta Jan 2, 2026
d80eb78
Merge branch 'main' of https://github.com/Agenta-AI/agenta into feat/…
ashrafchowdury Jan 2, 2026
52ba44b
v0.74.0
junaway Jan 2, 2026
417dae2
fix migration owner detection
jp-agenta Jan 2, 2026
fc5c4cc
Refactor TestcaseEditDrawer to persist drill-in navigation path and i…
ardaerzin Jan 2, 2026
2e460fc
Refactor CreateTestsetFromScratch and modal components to use Testset…
ardaerzin Jan 2, 2026
f5b359d
Merge branch 'frontend-feat/new-testsets-integration' of https://gith…
ardaerzin Jan 2, 2026
60c2b4c
refactor: replace AreaChart with CustomAreaChart in AnalyticsDashboar…
mmabrouk Jan 2, 2026
b09dcab
First SSO login !
jp-agenta Jan 2, 2026
5257fa1
Refactor AddToTestsetDrawer to fix cursor loss during mapping input a…
ardaerzin Jan 2, 2026
bec26bf
Refactor TraceReferences to pass testset revision ID to TestsetTag fo…
ardaerzin Jan 2, 2026
3d96395
Refactor selectTestsetAtom to ensure revision selection is always cle…
ardaerzin Jan 2, 2026
f8a0ae6
Remove auto-generated commit message filtering to display all commit …
ardaerzin Jan 2, 2026
f4856d1
Refactor CommitMessageCell to remove commented-out code that filtered…
ardaerzin Jan 2, 2026
deb0d96
Refactor LoadTestsetModal to fix modal body height and flex behavior …
ardaerzin Jan 2, 2026
2f37d39
Refactor column visibility locking to support explicit columnVisibili…
ardaerzin Jan 2, 2026
36b9e81
Filter out v0 placeholder revisions from testset revision lists and a…
ardaerzin Jan 2, 2026
986e550
Refactor testcases search to use debounced setter and remove search t…
ardaerzin Jan 2, 2026
7bd3073
Add ag.data path prefix handling for trace span entity navigation in …
ardaerzin Jan 2, 2026
f3309fd
Refactor DrillInContent to remove unused props and fix empty path han…
ardaerzin Jan 2, 2026
4f8e077
Add markdown preview toggle to DrillInFieldHeader for string fields w…
ardaerzin Jan 2, 2026
fbf2cba
refactor: implement EvaluationRunTag component and integrate it into …
bekossy Jan 2, 2026
710daa4
refactor: update EvalRunDetailsTable and evaluations.css for improved…
bekossy Jan 2, 2026
89f2c0a
refactor: simplify FocusDrawerSidePanel by removing unused metric nod…
bekossy Jan 2, 2026
35b2d5d
Add commit message support for new testset creation in AddToTestsetDr…
ardaerzin Jan 2, 2026
0a7fa80
refactor: enhance CustomTreeComponent integration and improve styling…
bekossy Jan 2, 2026
ac2ef9f
fix(docs): add Bedrock inference profile troubleshooting
mmabrouk Jan 3, 2026
1f0890c
chore(docker): remove unnecessary exposed ports in EE dev compose
mmabrouk Jan 3, 2026
cf3161c
chore(docker): remove unnecessary exposed ports in OSS dev compose
mmabrouk Jan 3, 2026
6a4866d
Merge pull request #3339 from Agenta-AI/dependabot/npm_and_yarn/docs/…
mmabrouk Jan 3, 2026
5f01c15
Add instructions for Claude in a new markdown file
mmabrouk Jan 3, 2026
08ee759
refactor: enhance GeneralSection and InvocationSection components, im…
bekossy Jan 3, 2026
7bac587
refactor: enhance FocusDrawer component structure and styling, improv…
bekossy Jan 3, 2026
31be0ce
Merge branch 'AGE-3539-/-frontend-unify-evaluation-result-scenarios-p…
bekossy Jan 3, 2026
8758eb7
Merge pull request #3346 from Agenta-AI/chore/cleanup-docker-compose-…
mmabrouk Jan 3, 2026
9dc2599
feat(docker): add multi-instance support to dev compose files
mmabrouk Jan 3, 2026
a8986d6
fix(docker): correct Traefik port mapping in OSS gh compose
mmabrouk Jan 3, 2026
3d13f61
Delete hosting/docker-compose/ee/env.ee.dev.instance.example
mmabrouk Jan 3, 2026
d48efc4
ui: add indentation and bullets to tools list
adityadewan22-hub Jan 2, 2026
fc49664
Fix __dedup_id__
jp-agenta Jan 4, 2026
93ceec9
Merge branch 'frontend-feat/new-testsets-integration' into chore/chec…
jp-agenta Jan 4, 2026
09a16d3
Fix sidebar
jp-agenta Jan 4, 2026
47f4ce6
fix runtime
jp-agenta Jan 4, 2026
6617b89
Merge branch 'frontend-feat/new-testsets-integration' into chore/chec…
jp-agenta Jan 4, 2026
306e9a7
Fix runtime
jp-agenta Jan 4, 2026
7cfa317
fix blank form on reload
jp-agenta Jan 4, 2026
620ac3f
Merge branch 'chore/check-daytona-code-evaluator' into feat/sso-oidc
jp-agenta Jan 4, 2026
0718d75
fix(frontend): keep scenario row tint on hover
bekossy Jan 5, 2026
67eb181
fix
bekossy Jan 5, 2026
2e858c2
Merge pull request #3349 from Agenta-AI/AGE-3539-/-frontend-unify-eva…
bekossy Jan 5, 2026
5ac29f8
Merge pull request #3348 from Agenta-AI/AGE-3539-/-frontend-unify-eva…
bekossy Jan 5, 2026
29648d6
Add trailing slash to testsets API endpoint in cloneTestset function
ardaerzin Jan 5, 2026
5ae542b
fix
bekossy Jan 5, 2026
fa73ef5
Add settingsDropdownMenuItems prop to TestcasesTableShell and pass me…
ardaerzin Jan 5, 2026
8f99c1b
Merge branch 'main' into AGE-3539-/-frontend-unify-evaluation-result-…
bekossy Jan 5, 2026
dcdaae8
Merge branch 'frontend-feat/new-testsets-integration' into AGE-3539-/…
bekossy Jan 5, 2026
7a49469
fix patch as delta
jp-agenta Jan 5, 2026
b1d9d3e
Merge branch 'frontend-feat/new-testsets-integration' of github.com:A…
jp-agenta Jan 5, 2026
5ba6d05
preserve ordering upon commit
jp-agenta Jan 5, 2026
f32a7ba
second half of fix
jp-agenta Jan 5, 2026
e8b4653
reduce memory requirements of delta commit from x3 to x2 , still O(n)
jp-agenta Jan 5, 2026
c02e397
Add ImportTestsetRevisionModal component with file upload support for…
ardaerzin Jan 5, 2026
f80c7f2
Merge branch 'frontend-feat/new-testsets-integration' of https://gith…
ardaerzin Jan 5, 2026
d1160b6
fix fetch/query testcases
jp-agenta Jan 5, 2026
917bf86
Merge branch 'frontend-feat/new-testsets-integration' of github.com:A…
jp-agenta Jan 5, 2026
64ec605
Merge branch 'main' into release/v0.73.0
jp-agenta Jan 5, 2026
82baa27
Merge branch 'release/v0.73.0' into frontend-feat/new-testsets-integr…
jp-agenta Jan 5, 2026
08b0570
Remove client-side CSV export from TestcasesTableShell and exclude ac…
ardaerzin Jan 5, 2026
d19d89d
Rename actions column key to __ui_actions__ to avoid conflict with us…
ardaerzin Jan 5, 2026
9ca8486
Merge branch 'frontend-feat/new-testsets-integration' of https://gith…
ardaerzin Jan 5, 2026
6ee876f
fixed the import and funcational issues
ashrafchowdury Jan 5, 2026
3476b16
fix UI issues
ashrafchowdury Jan 5, 2026
70114dc
refactor post main branch merge
ashrafchowdury Jan 5, 2026
c2be3bc
refactored code
ashrafchowdury Jan 5, 2026
30af014
lint fix
ashrafchowdury Jan 5, 2026
2a22514
Merge branch 'frontend-feat/new-testsets-integration' into AGE-3539-/…
bekossy Jan 5, 2026
61f1907
Merge pull request #3351 from Agenta-AI/fix/docker-compose-gh-traefik…
junaway Jan 5, 2026
75efc91
Update CLAUDE.md
junaway Jan 5, 2026
99d8f6d
Merge pull request #3347 from Agenta-AI/chore/claude-md
ashrafchowdury Jan 5, 2026
85c457e
Merge branch 'main' of https://github.com/Agenta-AI/agenta into feat/…
ashrafchowdury Jan 5, 2026
0208d70
Refactor column width calculation to maintain sum constraint and impr…
ardaerzin Jan 5, 2026
4e6b771
larger cleanup
jp-agenta Jan 5, 2026
9b12cf1
remove web ports
jp-agenta Jan 5, 2026
fdec3af
remove redis ports
jp-agenta Jan 5, 2026
058f5bf
Fix COMPOSE_ env var
jp-agenta Jan 5, 2026
1f5c3bb
fix web entrypoints port
jp-agenta Jan 5, 2026
b37c133
minor fix
jp-agenta Jan 5, 2026
15e736c
remove more redis ports
jp-agenta Jan 5, 2026
d1658d9
Merge branch 'fix/larger-docker-compose-cleanup' into feat/docker-com…
jp-agenta Jan 5, 2026
0ac6508
apply ruff
jp-agenta Jan 5, 2026
ba0b205
organize docker compose files
jp-agenta Jan 5, 2026
311584e
header shrink
jp-agenta Jan 5, 2026
1da3afb
header shrink 2
jp-agenta Jan 5, 2026
69e9db8
Change pagination cursor from id to created_at for testcases and blob…
ardaerzin Jan 5, 2026
1f62c0b
remove extra ports
jp-agenta Jan 5, 2026
fe8c7b9
fix
bekossy Jan 5, 2026
3cae37b
fix
bekossy Jan 5, 2026
fdd1374
Apply ESLint autofix formatting changes across multiple components
ardaerzin Jan 5, 2026
66c9dd1
Add custom ICellRendererParams interface to replace ag-grid dependenc…
ardaerzin Jan 5, 2026
564c61b
Merge branch 'frontend-feat/new-testsets-integration' of https://gith…
ardaerzin Jan 5, 2026
ce85f39
Add text truncation and prevent layout overflow in testset name column
ardaerzin Jan 5, 2026
bd2c1c8
Increase default minimum column width and prioritize default width ov…
ardaerzin Jan 5, 2026
c13c5b3
Fix final diffs
jp-agenta Jan 5, 2026
7f2e29d
Merge pull request #3350 from Agenta-AI/feat/docker-compose-dev-multi…
junaway Jan 5, 2026
b044932
Merge branch 'release/v0.73.0' into fix/fix-3lines-in-observability-c…
jp-agenta Jan 5, 2026
6390f94
Merge branch 'release/v0.73.0' into frontend-feat/new-testsets-integr…
jp-agenta Jan 5, 2026
aba48ff
Merge branch 'frontend-feat/new-testsets-integration' into feat/sso-oidc
jp-agenta Jan 5, 2026
d842983
add COMPOSE_PROJECT_NAME
jp-agenta Jan 5, 2026
7858e1a
Improve time-based pagination cursor handling for content-hashed IDs
ardaerzin Jan 5, 2026
2c0f1e3
Add oldest/newest timestamp boundaries to WindowingState for time-bas…
ardaerzin Jan 5, 2026
a755cca
Merge branch 'frontend-feat/new-testsets-integration' of https://gith…
ardaerzin Jan 5, 2026
df98370
Merge pull request #3353 from Agenta-AI/frontend-feat/new-testsets-in…
ardaerzin Jan 5, 2026
18a430e
Merge branch 'release/v0.73.0' into AGE-3539-/-frontend-unify-evaluat…
bekossy Jan 5, 2026
4726683
Add UUID validation to prevent SSRF attacks in testset revision endpo…
ardaerzin Jan 5, 2026
73afd3b
Centralize UUID validation utilities to eliminate code duplication ac…
ardaerzin Jan 5, 2026
83f0470
Add UUID validation to testset revision ID parameter to prevent SSRF …
ardaerzin Jan 5, 2026
8b71986
Merge pull request #3341 from Agenta-AI/release/v0.73.0
junaway Jan 5, 2026
e41b262
Merge branch 'main' into release/v0.74.0
jp-agenta Jan 5, 2026
5c6729f
Merge branch 'release/v0.74.0' into chore/check-daytona-code-evaluator
jp-agenta Jan 5, 2026
51f9590
Merge branch 'main' into ui/indent-tools-list
adityadewan22-hub Jan 5, 2026
ab58697
Fixing Auth pages and Personal Org name
jp-agenta Jan 5, 2026
369be5d
Fix org rename and org/prj switch
jp-agenta Jan 5, 2026
047e242
fix race condition at identity creation
jp-agenta Jan 5, 2026
7f0c6c1
Fixing account linking
jp-agenta Jan 5, 2026
a051dcd
implemnted windowing on analytics endpoint
ashrafchowdury Jan 5, 2026
e0c2564
Merge remote-tracking branch 'origin/main' into feat/json-multi-field…
mmabrouk Jan 5, 2026
cc255ad
Refactor FieldsTagsEditor to use Form.useWatch for correct_answer_key…
mmabrouk Jan 5, 2026
7616cb3
Fix AutoComplete options in AdvancedSettings to use the correct testc…
mmabrouk Jan 5, 2026
e1eea57
Update LangChain integration documentation and examples
mmabrouk Jan 5, 2026
6858f04
Merge branch 'main' of https://github.com/Agenta-AI/agenta into feat/…
ashrafchowdury Jan 6, 2026
50f6bc1
lint fix
ashrafchowdury Jan 6, 2026
31c507b
Merge branch 'main' of https://github.com/Agenta-AI/agenta into feat/…
ashrafchowdury Jan 6, 2026
017088a
Merge pull request #3345 from Agenta-AI/fix/docs-bedrock-troubleshooting
mmabrouk Jan 6, 2026
0a3a545
docs: update README.md [skip ci]
allcontributors[bot] Jan 6, 2026
d8c0a0f
docs: update .all-contributorsrc [skip ci]
allcontributors[bot] Jan 6, 2026
1cc8112
Merge branch 'main' into ui/indent-tools-list
mmabrouk Jan 6, 2026
8a055b0
Merge pull request #3360 from Agenta-AI/all-contributors/add-adityade…
mmabrouk Jan 6, 2026
b1e2664
added _sandbox_context
jp-agenta Jan 6, 2026
ccd6087
fix 3-tuple in secrets
jp-agenta Jan 6, 2026
f4be4d7
Merge branch 'main' into feat/analytics-windowing
bekossy Jan 6, 2026
f0beb20
restricted python and dependencies cleanup
jp-agenta Jan 6, 2026
710bdf9
add missing locks
jp-agenta Jan 6, 2026
bf20e23
Merge pull request #3359 from Agenta-AI/feat/analytics-windowing
bekossy Jan 6, 2026
e44550a
Merge branch 'release/v0.74.0' into fix/fix-3lines-in-observability-c…
bekossy Jan 6, 2026
6b2194b
Merge pull request #3344 from Agenta-AI/fix/fix-3lines-in-observabili…
bekossy Jan 6, 2026
796eacf
Merge pull request #3343 from adityadewan22-hub/ui/indent-tools-list
bekossy Jan 6, 2026
87fa2b5
Merge pull request #3355 from Agenta-AI/fix/fix-autocomplete-in-evalu…
bekossy Jan 6, 2026
2b87214
fixed issue
ashrafchowdury Jan 6, 2026
66b9a1d
Merge pull request #3331 from Agenta-AI/feat/json-multi-field-match-e…
bekossy Jan 6, 2026
3b81c05
Merge pull request #3105 from Agenta-AI/feat/completion-playground-im…
bekossy Jan 6, 2026
30f9fb4
Merge pull request #3342 from Agenta-AI/release/v0.74.0
bekossy Jan 6, 2026
aaaca36
Merge branch 'main' into AGE-3539-/-frontend-unify-evaluation-result-…
bekossy Jan 6, 2026
0b8183f
Enhance accessibility and keyboard navigation for tree and configurat…
bekossy Jan 6, 2026
a1ded86
v0.75.0
bekossy Jan 6, 2026
50bbd77
Add POSTGRES_PORT to examples
jp-agenta Jan 6, 2026
840fcc1
Propagate custom code evaluator exception
jp-agenta Jan 6, 2026
ce3ba20
Error copy fix
jp-agenta Jan 6, 2026
93eee32
added docs for env vars
jp-agenta Jan 6, 2026
33ebca9
Merge branch 'main' into chore/check-daytona-code-evaluator
jp-agenta Jan 6, 2026
c252958
Merge branch 'chore/check-daytona-code-evaluator' into feat/sso-oidc
jp-agenta Jan 6, 2026
5350265
Refactor layout and styles for EvaluatorMetricsChart, AggregatedOverv…
bekossy Jan 6, 2026
c2eccc9
Working on verified identities and access control
jp-agenta Jan 6, 2026
2900e8c
Trying to fix Access Control (Deny)
jp-agenta Jan 6, 2026
cac2df7
Merge pull request #3356 from Agenta-AI/docs/fix-langchain-obs-docs
mmabrouk Jan 7, 2026
6fd4ca7
Merge branch 'main' into release/v0.75.0
jp-agenta Jan 7, 2026
9e7960f
Merge branch 'release/v0.75.0' into chore/check-daytona-code-evaluator
jp-agenta Jan 7, 2026
d9feb15
Fix poetry.lock
jp-agenta Jan 7, 2026
eef9477
fix var name in web
jp-agenta Jan 7, 2026
d8364c7
fix fallback in js/ts evaluators
jp-agenta Jan 7, 2026
6497bfe
Merge pull request #3258 from Agenta-AI/chore/check-daytona-code-eval…
junaway Jan 7, 2026
074f73d
Merge pull request #3361 from Agenta-AI/release/v0.75.0
junaway Jan 7, 2026
adc5272
v0.76.0
junaway Jan 7, 2026
3c4fd59
email auth merges identities
jp-agenta Jan 7, 2026
a57b9e3
Enhance evaluation result overview: refactor table export logic, impr…
bekossy Jan 7, 2026
44b7efc
updated compare runs menu
bekossy Jan 7, 2026
d46b80c
Refactor EvalRunDetails components: improve overflow handling in Tabl…
bekossy Jan 7, 2026
7f99d05
fix
bekossy Jan 7, 2026
4311c14
Fix cross-organization navigation and authentiation
jp-agenta Jan 7, 2026
0db7343
sso login and disabled work
jp-agenta Jan 7, 2026
bef1188
fixing SSO and auth flows
jp-agenta Jan 8, 2026
4c291e4
Refactor EvalRunDetails components: streamline layout, enhance access…
bekossy Jan 8, 2026
9d14463
fix
bekossy Jan 8, 2026
f5606dd
Merge branch 'main' into AGE-3539-/-frontend-unify-evaluation-result-…
bekossy Jan 8, 2026
31f9e85
Testing things throughout
jp-agenta Jan 8, 2026
3e9aefb
fix
bekossy Jan 8, 2026
3399f74
fix
bekossy Jan 8, 2026
9369f19
fix: Handle flat column keys with dots in testcase table grouping and…
ardaerzin Jan 8, 2026
8cd277a
fix
bekossy Jan 8, 2026
d4e0bea
v0.75.1
ashrafchowdury Jan 8, 2026
80e046a
Merge pull request #3368 from Agenta-AI/frontend-fix/fix-preview-tabl…
ashrafchowdury Jan 8, 2026
dded104
Merge pull request #3369 from Agenta-AI/release/v0.75.1
ashrafchowdury Jan 8, 2026
2b5f929
fix
bekossy Jan 8, 2026
6ab63ba
Merge pull request #3336 from Agenta-AI/AGE-3539-/-frontend-unify-eva…
bekossy Jan 8, 2026
bfa0a6d
fixing flags (WIP)
jp-agenta Jan 8, 2026
9a6e99b
Merge branch 'main' into release/v0.76.0
bekossy Jan 8, 2026
7193da2
Add tooltip
jp-agenta Jan 8, 2026
6d9b9be
Merge pull request #3363 from Agenta-AI/release/v0.76.0
bekossy Jan 8, 2026
c228f9e
cleanup flags
jp-agenta Jan 8, 2026
f07148c
apply ruff and fix domain enforcement
jp-agenta Jan 8, 2026
96cc1c3
Merge branch 'main' into feat/sso-oidc
jp-agenta Jan 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,15 @@
"doc",
"example"
]
},
{
"login": "adityadewan22-hub",
"name": "adityadewan22-hub",
"avatar_url": "https://avatars.githubusercontent.com/u/225586510?v=4",
"profile": "https://github.com/adityadewan22-hub",
"contributions": [
"code"
]
}
],
"contributorsPerLine": 7,
Expand Down
113 changes: 113 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -377,6 +377,119 @@ export const createItemAtom = atom(

---

### Entity Controller Pattern

For entities requiring CRUD operations with draft state, loading indicators, and cache management, use the **Entity Controller Pattern**. This provides a unified API that abstracts multiple atoms into a single cohesive interface.

**Full documentation:** `web/oss/src/state/entities/shared/README.md`

**Quick Decision - Which API to Use:**

| Need | API | Returns |
|------|-----|---------|
| Full state + actions | `entity.controller(id)` | `[state, dispatch]` |
| Data only | `entity.selectors.data(id)` | `T \| null` |
| Loading/error | `entity.selectors.query(id)` | `QueryState<T>` |
| Dirty indicator | `entity.selectors.isDirty(id)` | `boolean` |
| Single cell (tables) | `entity.selectors.cell({id, col})` | `unknown` |
| Dispatch in atoms | `entity.actions.update/discard` | Write atom |

**Basic Usage:**

```typescript
import {testcase} from "@/oss/state/entities/testcase"

// Full controller - state + dispatch
function TestcaseEditor({testcaseId}: {testcaseId: string}) {
const [state, dispatch] = useAtom(testcase.controller(testcaseId))

if (state.isPending) return <Skeleton />
if (!state.data) return <NotFound />

return (
<Input
value={state.data.input}
onChange={(e) => dispatch({
type: "update",
changes: {input: e.target.value}
})}
/>
)
}

// Fine-grained selector - only re-renders on data change
function TestcaseDisplay({testcaseId}: {testcaseId: string}) {
const data = useAtomValue(testcase.selectors.data(testcaseId))
if (!data) return null
return <div>{data.input}</div>
}
```

**Reading Multiple Entities:**

```typescript
// Create a derived atom that subscribes to all selected entities
const useMultipleTestcases = (ids: string[]) => {
const dataAtom = useMemo(
() => atom((get) => ids.map(id => get(testcase.selectors.data(id))).filter(Boolean)),
[ids.join(",")]
)
return useAtomValue(dataAtom)
}
```

**Anti-Patterns to Avoid:**

```typescript
// BAD - No reactivity, snapshot read
const globalStore = getDefaultStore()
const data = globalStore.get(testcase.selectors.data(id))

// GOOD - Proper subscription
const data = useAtomValue(testcase.selectors.data(id))
```

```typescript
// BAD - Variable shadowing
import {testcase} from "@/oss/state/entities/testcase"
const {testcase, ...rest} = entity // Shadows import!

// GOOD - Rename destructured variable
const {testcase: testcaseField, ...rest} = entity
```

**Available Controllers:**

| Entity | Import | Description |
|--------|--------|-------------|
| Testcase | `testcase` from `@/oss/state/entities/testcase` | Testcase with cell subscriptions + drill-in |
| Trace Span | `traceSpan` from `@/oss/state/entities/trace` | Trace span with attribute drill-in |
| Revision | `revision` from `@/oss/state/entities/testset` | Revision with column management |
| Testset | `testset` from `@/oss/state/entities/testset` | Testset with list/detail queries |

**Architecture:**

```
┌─────────────────────────────────────────────────────────────────┐
│ Controller │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Query │ │ Draft │ │ isDirty │ │
│ │ (server) │→ │ (local) │→ │ (derived) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ ↓ ↓ │
│ ┌─────────────────────────────────────────────────────────────┐│
│ │ Entity Atom (merged) ││
│ └─────────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────────┘
```

- **Query atoms** are the single source of truth for server data
- **Draft atoms** store local changes only
- **Entity atoms** merge: `query.data + draft → merged entity`
- **Dirty detection** compares draft to server data

---

**Legacy: SWR Pattern (avoid for new code)**

We previously used SWR with Axios for data fetching. This pattern is still present in older code but should not be used for new features.
Expand Down
7 changes: 7 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Instructions for Claude

Please read and follow all instructions in:

@AGENTS.md

Project conventions, guidelines, and best practices are documented there.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ We welcome contributions of all kinds — from filing issues and sharing ideas t
## Contributors ✨

<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-54-orange.svg?style=flat-square)](#contributors-)
[![All Contributors](https://img.shields.io/badge/all_contributors-55-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Expand Down Expand Up @@ -270,6 +270,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<td align="center" valign="top" width="14.28%"><a href="https://github.com/VahantSharma"><img src="https://avatars.githubusercontent.com/u/172914890?v=4?s=100" width="100px;" alt="Vahant Sharma"/><br /><sub><b>Vahant Sharma</b></sub></a><br /><a href="https://github.com/Agenta-AI/agenta/commits?author=VahantSharma" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/muzman123"><img src="https://avatars.githubusercontent.com/u/66068301?v=4?s=100" width="100px;" alt="Muhammad Muzammil"/><br /><sub><b>Muhammad Muzammil</b></sub></a><br /><a href="https://github.com/Agenta-AI/agenta/commits?author=muzman123" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/CyrusNamjoo"><img src="https://avatars.githubusercontent.com/u/209579763?v=4?s=100" width="100px;" alt="Sirous Namjoo"/><br /><sub><b>Sirous Namjoo</b></sub></a><br /><a href="https://github.com/Agenta-AI/agenta/commits?author=CyrusNamjoo" title="Documentation">📖</a> <a href="#example-CyrusNamjoo" title="Examples">💡</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/adityadewan22-hub"><img src="https://avatars.githubusercontent.com/u/225586510?v=4?s=100" width="100px;" alt="adityadewan22-hub"/><br /><sub><b>adityadewan22-hub</b></sub></a><br /><a href="https://github.com/Agenta-AI/agenta/commits?author=adityadewan22-hub" title="Code">💻</a></td>
</tr>
</tbody>
</table>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@
)

# Redis client and TracingWorker for publishing spans to Redis Streams
if env.REDIS_URI_DURABLE:
redis_client = Redis.from_url(env.REDIS_URI_DURABLE, decode_responses=False)
if env.redis.uri_durable:
redis_client = Redis.from_url(env.redis.uri_durable, decode_responses=False)
tracing_worker = TracingWorker(
service=tracing_service,
redis_client=redis_client,
Expand Down Expand Up @@ -81,9 +81,10 @@ async def _fetch_project_owner(
WorkspaceMemberDBE.role == "owner",
ProjectDBE.id == project_id,
)
.order_by(WorkspaceMemberDBE.created_at.asc())
)
result = await connection.execute(workspace_owner_query)
owner = result.scalar_one_or_none()
owner = result.scalars().first()
return owner


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,10 @@ async def _fetch_project_owner(
WorkspaceMemberDBE.role == "owner",
ProjectDBE.id == project_id,
)
.order_by(WorkspaceMemberDBE.created_at.asc())
)
result = await connection.execute(workspace_owner_query)
owner = result.scalar_one_or_none()
owner = result.scalars().first()
return owner


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def get_or_create_workspace_default_project(

if project is None:
statement = insert(ProjectDB).values(
project_name="Default Project",
project_name="Default",
is_default=True,
workspace_id=workspace.id,
organization_id=workspace.organization_id,
Expand Down
4 changes: 3 additions & 1 deletion api/ee/databases/postgres/migrations/core/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,9 @@ async def get_pending_migration_head():

def run_alembic_migration():
"""
Applies migration for first-time users and also checks the environment variable "AGENTA_AUTO_MIGRATIONS" to determine whether to apply migrations for returning users.
Applies migration for first-time users and also checks the environment variable
"ALEMBIC_AUTO_MIGRATIONS" (legacy: "AGENTA_AUTO_MIGRATIONS") to determine whether
to apply migrations for returning users.
"""

try:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
"""add slug to organizations

Revision ID: 12d23a8f7dde
Revises: 59b85eb7516c
Create Date: 2025-12-25 00:00:00.000000+00:00

"""

from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa

# revision identifiers, used by Alembic.
revision: str = "12d23a8f7dde"
down_revision: Union[str, None] = "59b85eb7516c"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
# Add slug column to organizations table
op.add_column(
"organizations",
sa.Column(
"slug",
sa.String(),
nullable=True,
),
)

# Add unique constraint on slug
op.create_unique_constraint(
"uq_organizations_slug",
"organizations",
["slug"],
)

# Add index for faster lookups
op.create_index(
"ix_organizations_slug",
"organizations",
["slug"],
)


def downgrade() -> None:
# Drop in reverse order
op.drop_index("ix_organizations_slug", table_name="organizations")
op.drop_constraint("uq_organizations_slug", "organizations", type_="unique")
op.drop_column("organizations", "slug")
Loading
Loading