Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions api/oss/src/core/applications/dtos.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Optional, List
from uuid import UUID

from pydantic import Field
from pydantic import ConfigDict, Field

from oss.src.core.shared.dtos import sync_alias, AliasConfig
from oss.src.core.shared.dtos import (
Expand Down Expand Up @@ -212,7 +212,7 @@ class ApplicationVariantQuery(WorkflowVariantQuery):


class ApplicationRevisionData(WorkflowRevisionData):
pass
model_config = ConfigDict(extra="forbid")


class ApplicationRevision(
Expand Down
39 changes: 0 additions & 39 deletions api/oss/src/core/embeds/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,43 +16,6 @@
log = get_module_logger(__name__)


def _normalize_configuration_for_legacy_paths(
configuration: Dict[str, Any],
) -> Dict[str, Any]:
"""
Normalize config shape so embed path extraction works across old/new payloads.

Some revisions store prompt config under:
- parameters.prompt...
while others use:
- configuration.parameters.prompt...

The resolver may receive embed paths targeting either shape, so we expose both.
"""
normalized = dict(configuration or {})

parameters = normalized.get("parameters")
config_obj = normalized.get("configuration")

# If only legacy configuration.parameters exists, expose top-level parameters.
if not isinstance(parameters, dict) and isinstance(config_obj, dict):
cfg_params = config_obj.get("parameters")
if isinstance(cfg_params, dict):
normalized["parameters"] = cfg_params
parameters = cfg_params

# If only top-level parameters exists, expose configuration.parameters too.
if isinstance(parameters, dict):
if not isinstance(config_obj, dict):
config_obj = {}
if not isinstance(config_obj.get("parameters"), dict):
config_obj = dict(config_obj)
config_obj["parameters"] = parameters
normalized["configuration"] = config_obj

return normalized


class EmbedsService:
"""
Centralized service for resolving embedded references.
Expand Down Expand Up @@ -101,8 +64,6 @@ async def resolve_configuration(
Returns:
Tuple of (resolved configuration dict, ResolutionInfo metadata)
"""
configuration = _normalize_configuration_for_legacy_paths(configuration)

# Create universal resolver with all available services
resolver_callback = create_universal_resolver(
project_id=project_id,
Expand Down
4 changes: 3 additions & 1 deletion api/oss/src/core/environments/dtos.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Optional, Dict, List
from uuid import UUID

from pydantic import BaseModel, Field
from pydantic import BaseModel, ConfigDict, Field

from oss.src.core.shared.dtos import (
sync_alias,
Expand Down Expand Up @@ -128,6 +128,8 @@ class EnvironmentRevisionData(BaseModel):
}
"""

model_config = ConfigDict(extra="forbid")

references: Optional[Dict[str, Dict[str, Reference]]] = None


Expand Down
4 changes: 2 additions & 2 deletions api/oss/src/core/evaluators/dtos.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Optional, List
from uuid import UUID

from pydantic import Field
from pydantic import ConfigDict, Field

from oss.src.core.shared.dtos import sync_alias, AliasConfig
from oss.src.core.shared.dtos import (
Expand Down Expand Up @@ -208,7 +208,7 @@ class EvaluatorVariantQuery(WorkflowVariantQuery):


class EvaluatorRevisionData(WorkflowRevisionData):
pass
model_config = ConfigDict(extra="forbid")


class EvaluatorRevision(
Expand Down
4 changes: 3 additions & 1 deletion api/oss/src/core/queries/dtos.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import List, Optional
from uuid import UUID

from pydantic import BaseModel, Field
from pydantic import BaseModel, ConfigDict, Field


from oss.src.core.tracing.dtos import Filtering, Formatting
Expand Down Expand Up @@ -139,6 +139,8 @@ class QueryVariantQuery(VariantQuery):


class QueryRevisionData(BaseModel):
model_config = ConfigDict(extra="forbid")

Comment thread
jp-agenta marked this conversation as resolved.
formatting: Optional[Formatting] = None
filtering: Optional[Filtering] = None
windowing: Optional[Windowing] = None
Comment thread
jp-agenta marked this conversation as resolved.
Comment thread
jp-agenta marked this conversation as resolved.
Expand Down
4 changes: 3 additions & 1 deletion api/oss/src/core/testsets/dtos.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Optional, List, Tuple
from uuid import UUID

from pydantic import BaseModel, Field
from pydantic import BaseModel, ConfigDict, Field

from oss.src.core.shared.dtos import (
sync_alias,
Expand Down Expand Up @@ -154,6 +154,8 @@ class TestsetVariantQuery(VariantQuery):


class TestsetRevisionData(BaseModel):
model_config = ConfigDict(extra="forbid")

Comment thread
jp-agenta marked this conversation as resolved.
testcase_ids: Optional[List[UUID]] = None
testcases: Optional[List[Testcase]] = None
Comment thread
jp-agenta marked this conversation as resolved.
Comment thread
jp-agenta marked this conversation as resolved.

Expand Down
10 changes: 9 additions & 1 deletion api/oss/src/core/workflows/dtos.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,17 @@
WorkflowServiceStreamResponse, # noqa: F401
#
JsonSchemas, # noqa: F401
WorkflowRevisionData,
WorkflowRevisionData as BaseWorkflowRevisionData,
)


Comment thread
jp-agenta marked this conversation as resolved.
class WorkflowRevisionData(BaseWorkflowRevisionData):
pass
Comment thread
jp-agenta marked this conversation as resolved.


WorkflowRevisionCommitData = WorkflowRevisionData


Comment thread
jp-agenta marked this conversation as resolved.
# aliases ----------------------------------------------------------------------


Expand Down
Loading
Loading