Skip to content

Conversation

@mmabrouk
Copy link
Member

@mmabrouk mmabrouk commented Jan 23, 2026

ardaerzin and others added 30 commits January 15, 2026 21:06
- Add InfiniteVirtualTable with virtualized scrolling, infinite loading, column visibility
- Add presentational components: VersionBadge, RevisionLabel, EntityPathLabel, SectionCard, CopyButton
- Add selection components: SearchInput, VirtualList, ListItem, Breadcrumb
- Add EnhancedModal and CopyButtonDropdown utilities
- Add semantic theme tokens (textColors, bgColors, borderColors, interactiveStyles)
- Standardize cn utility (replaces clsx), add type-safe column definitions
- No react-jss dependency - pure Tailwind CSS
- Internal atoms not exported (columnVisibility, columnWidths, columnHiddenKeys)
…y classes

- Update styles.ts with proper token documentation from antd-tailwind.json
- Replace text-gray-* with text-zinc-* (zinc-4, zinc-6, zinc-7, zinc-9)
- Replace bg-gray-* with bg-zinc-* (zinc-1, zinc-2)
- Replace border-gray-* with border-zinc-* (zinc-1, zinc-2)
- Add new exports: statusColors (success, warning, error, info), shadows
- Add more semantic tokens: textColors.primary/secondary/tertiary/quaternary
- Update all components: ListItem, VirtualList, SearchInput, LoadMoreButton,
  LoadAllButton, SectionCard, ColumnVisibilityTrigger, ColumnVisibilityPopoverContent
Initialize the @agenta/entities workspace package with:
- package.json with peer dependencies (jotai, tanstack-query, antd, zod)
- TypeScript configuration
- Main README with architecture overview
- Root index.ts exporting shared utilities

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add the core entity management infrastructure:
- molecule/ - Jotai atom factories (createMolecule, extendMolecule,
  createEntityController, createListExtension)
- utils/ - Schema utilities, Zod helpers, transforms, batch operations
- user/ - User resolution atoms and UserAuthorLabel component

The molecule pattern provides a unified API for entity state management
with draft state, dirty detection, and lifecycle management.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Complete testcase entity management with:
- core/ - Zod schemas, types, flatten/unflatten utilities
- api/ - HTTP functions (single, batch, paginated fetch)
- state/ - testcaseMolecule with cell-level subscriptions

Features:
- Flat/unflatten for table display
- Cell-level atom subscriptions (minimal re-renders)
- Pagination support with cursor-based navigation
- Batch update operations
- @internal JSDoc warning for low-level store atoms

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Complete testset/revision entity management with:
- core/ - Zod schemas for testset, revision, variant
- api/ - CRUD operations, file upload/download, clone
- state/ - revisionMolecule, testsetMolecule, table state

Features:
- Revision immutability (editing creates new revision)
- Latest revision batch fetching optimization
- Table column/row operations with pending state
- Clone and archive operations
- @internal JSDoc warning for low-level store atoms

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Complete trace/span entity management with:
- core/ - Zod schemas for TraceSpan, SpanAttributes, enums
- api/ - Fetch traces/spans, delete, sessions
- state/ - traceSpanMolecule with batch fetching
- utils/ - Data selectors (inputs, outputs, agData)

Features:
- Two-level abstraction (trace for read, span for edit)
- Batch fetching with cache redirect
- Retry logic for not-yet-ingested data
- Auto-mapping for testset column creation
- Lifecycle event tracking (mount/unmount)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Entity-agnostic UI components for molecule-based entities:

DrillInView/
- MoleculeDrillInView - Hierarchical data navigation
- Breadcrumb, FieldList, FieldItem components
- ClassNames API for Ant Design v6 style customization

modals/
- EntityDeleteModal, EntityCommitModal, EntitySaveModal
- Adapter registry for entity-agnostic operations
- useSaveOrCommit unified hook

selection/
- EntityPicker, EntityCascader, EntityListWithPopover
- Hierarchical selection with lazy loading
- Pre-built adapters (appRevision, evaluatorRevision, testset)
- Renamed CreateAdapterOptions to CreateSelectionAdapterOptions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add LLMIcons module with README and usage examples
- Add SVG icon components for 20 LLM providers: OpenAI, Anthropic, Gemini, Vertex, Bedrock, SageMaker, Azure, Mistral, Cohere, Together, OpenRouter, Groq, Perplexity, Anyscale, DeepInfra, AlephAlpha, Fireworks, Lepton, Replicate, xAI
- Add IconProps type definition for consistent SVG props
- Add LLMIconMap for dynamic provider icon lookup
…r components to agenta-ui package

- Add new package exports: editor, shared-editor, chat-message, llm-icons, select-llm-provider
- Add peer dependencies: @lexical/* packages (>=0.38.0), js-yaml (>=4.0.0), lexical (>=0.38.0), uuid (>=9.0.0)
- Add dependencies: @agenta/shared workspace package, clsx, fast-deep-equal, json5, jsonrepair, prismjs
- Add devDependencies: @floating-ui/react, @lexical/* packages (^0.38.2), @types/js-yaml, @types/lo
- Add SharedEditor wrapper component with borderless/bordered styling, debounced input, and optional header/footer slots
- Add support for antd Input fallback and code-only mode with syntax highlighting
- Add BaseContainerProps and SharedEditorProps type definitions
- Add module exports and re-export useDebounceInput from @agenta/shared
- Add controlled value support for undo/redo functionality with optional sync with initial value changes
- Add dis
- Add exports for getColumnViewportVisibilityAtom, getColumnUserVisibilityAtom, and getColumnEffectiveVisibilityAtom from columnVisibility atoms
- Update internal atoms comment to reflect that columnVisibility atoms are now partially exported via getters
- Add documentation comment explaining these are for viewport-aware rendering components
- Add ChatMessage module with README and comprehensive documentation
- Add ChatMessageEditor component with role selector, text editor, and attachment support
- Add ChatMessageList component for managing multiple messages with add/remove controls
- Add AttachmentButton component for uploading images and documents
- Add MessageAttachments component for displaying and removing attachments
- Add ToolMessageHeader component for tool response
- Update Modal prop from destroyOnClose to destroyOnHidden for better cleanup behavior
- Add SelectLLMProvider module with README and comprehensive documentation
- Add SelectLLMProviderBase component with cascading menu, search, and provider icons
- Add support for grouped provider options with metadata tooltips for cost information
- Add provider icon mapping utilities: getProviderIcon, getProviderDisplayName, PROVIDER_ICON_MAP
- Add ProviderGroup and ProviderOption type definitions
- Add extensible footer content
… components to agenta-ui package

- Add AttachmentGrid component for displaying attachments in a flexible grid layout with configurable gap
- Add FileAttachment component with icon, filename display, truncation, and optional remove button
- Add ImageAttachment component with image preview, custom preview component support, and optional remove button
- Add EditableText component for inline text editing with keyboard support (Enter to
… Base64Node and LongTextNode

- Replace direct navigator.clipboard.writeText calls with copyToClipboard utility function
- Update error handling to check boolean success return value instead of try-catch blocks
- Import copyToClipboard from utils/copyToClipboard in both Base64Node and LongTextNode components
…aredEditor, and ChatMessage modules to agenta-ui package

- Add LLMIconMap and 20 individual provider icon components (OpenAi, Anthropic, Gemini, etc.) with IconProps type
- Add SelectLLMProviderBase component with provider utilities (capitalize, PROVIDER_ICON_MAP, getProviderIcon, getProviderDisplayName) and types (ProviderOption, ProviderGroup)
- Add Editor components (Editor, EditorProvider, DiffView), state management (EditorStateProvider,
… components, and main package structure

- Add ChatMessage/README.md with module overview, architecture notes about re-exports from @agenta/shared and presentational components
- Add SharedEditor/README.md with API reference, container variants, useDebounceInput hook documentation, and Editor integration details
- Add components/README.md with complete component catalog organized by domain (selection, presentational, modal, action
…itialization with server data awareness

- Export InitializeEmptyRevisionParams type from testcase module index and state index
- Add InitializeEmptyRevisionParams interface with revisionId, serverTotalCount, and isNewTestset fields
- Update initializeEmptyRevisionAtom to accept params object instead of only revisionId string for better API flexibility
- Add server data detection using serverTotalCount parameter instead of unre
…and cache redirect support

- Add api.ts with HTTP functions and data transformers for app revision entity
- Add ApiRevision, EnhancedVariantLike, and RevisionRequest types for API responses and batch operations
- Add transformEnhancedVariant function to enable cache redirect from variant revisions cache
- Add transformApiRevision function to normalize API responses to internal AppRevisionData format
- Add extractAgConfigFromEn
…ents and JSON editor integration

- Add BooleanField component with Switch toggle and value mode support for string/native boolean values
- Add NumberField component with InputNumber and value mode handling for string/native number values
- Add JsonArrayField component with navigation select, JSON editor, and drill-in support for array items
- Add JsonObjectField component with ChatMessageEditor detection for message objects an
…and dynamic width based on diff data availability

- Add DiffView component from @agenta/ui for displaying configuration changes
- Add two-column layout when diff data is available (form left, diff right)
- Add diff preview section with changes count header and scrollable content area
- Add dynamic modal width: 900px with diff, 520px without diff
- Add overflow handling with fixed form width (320px) and flexible diff section
- Update
…guration and entity selector enhancements

- Add initializeSelection.ts with centralized configuration for all selection adapters (testset, appRevision, evaluatorRevision, user)
- Add SelectionSystemConfig, TestsetSelectionConfig, AppRevisionSelectionConfig, and EvaluatorRevisionSelectionConfig types
- Add initializeSelectionSystem, resetSelectionSystem, and isSelectionSystemInitialized functions with safe multi-call handling
- Export
…ntrols, and selection system initialization to agenta-entities UI module

- Add MoleculeDrillInView components (View, Breadcrumb, FieldList, FieldItem, Provider) and useDrillIn hook
- Add DrillInUIProvider, useDrillInUI, and defaultShowMessage for UI injection context
- Add field renderer components (BooleanField, JsonArrayField, JsonObjectField, MessagesField, NumberField, TextField, RawModeDisplay)
- Add field utilities (tryPar
… optional entity implementations

- Add evaluatorRevision/index.ts with stub molecule implementation using createStubMolecule factory
- Add EvaluatorRevisionData and SettingsPreset types for evaluator revision entity structure
- Add evaluatorRevisionMolecule with presets selector (returns empty array) and applyPreset action (no-op)
- Add shared/stubMolecule.ts factory for creating placeholder molecule implementations
- Add StubQueryState,
…estcase integration, and comprehensive documentation

- Add loadable/README.md with architecture overview, API reference, source types (testcase, future trace), and integration details
- Add loadable/bridge.ts with loadableBridge configuration using createLoadableBridge factory and testcase source integration
- Add loadable/controller.ts with testset-specific controller, testcaseMolecule bridge atoms, and row/column/execution actions
…ema extraction, and comprehensive documentation

- Add runnable/README.md with architecture overview, API reference, runnable types (appRevision, evaluatorRevision), execution utilities, and legacy API compatibility notes
- Add runnable/bridge.ts with runnableBridge configuration using createRunnableBridge factory and appRevision/evaluatorRevision integrations
- Add runnable/context/PlaygroundEntityContext.tsx with legacy DI provider for
@ardaerzin ardaerzin marked this pull request as ready for review January 30, 2026 22:12
@dosubot dosubot bot added size:XXL This PR changes 1000+ lines, ignoring generated files. Backend SDK labels Jan 30, 2026
Copy link
Contributor

@ashrafchowdury ashrafchowdury left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a few comments from github-advanced-security[bot] @ardaerzin

@ardaerzin
Copy link
Contributor

There are a few comments from github-advanced-security[bot] @ardaerzin

@ashrafchowdury those were addressed some time ago, no idea why they weren't picked up

Screenshot 2026-02-03 at 18 16 06

@ashrafchowdury
Copy link
Contributor

@jp-agenta, I have requested your review for the backend changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backend SDK size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants