optimizely-opal.opal-tools-sdk 0.1.31.dev0__tar.gz → 0.1.32.dev0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/PKG-INFO +1 -1
  2. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/opal_tools_sdk/proteus.py +30 -1
  3. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/optimizely_opal.opal_tools_sdk.egg-info/PKG-INFO +1 -1
  4. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/pyproject.toml +1 -1
  5. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/setup.py +1 -1
  6. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/README.md +0 -0
  7. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/opal_tools_sdk/__init__.py +0 -0
  8. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/opal_tools_sdk/_registry.py +0 -0
  9. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/opal_tools_sdk/auth.py +0 -0
  10. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/opal_tools_sdk/decorators.py +0 -0
  11. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/opal_tools_sdk/logging.py +0 -0
  12. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/opal_tools_sdk/models.py +0 -0
  13. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/opal_tools_sdk/service.py +0 -0
  14. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/opal_tools_sdk/ui.py +0 -0
  15. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/optimizely_opal.opal_tools_sdk.egg-info/SOURCES.txt +0 -0
  16. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/optimizely_opal.opal_tools_sdk.egg-info/dependency_links.txt +0 -0
  17. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/optimizely_opal.opal_tools_sdk.egg-info/requires.txt +0 -0
  18. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/optimizely_opal.opal_tools_sdk.egg-info/top_level.txt +0 -0
  19. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/setup.cfg +0 -0
  20. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/tests/test_integration.py +0 -0
  21. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/tests/test_nested_schema.py +0 -0
  22. {optimizely_opal_opal_tools_sdk-0.1.31.dev0 → optimizely_opal_opal_tools_sdk-0.1.32.dev0}/tests/test_proteus.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optimizely-opal.opal-tools-sdk
3
- Version: 0.1.31.dev0
3
+ Version: 0.1.32.dev0
4
4
  Summary: SDK for creating Opal-compatible tools services
5
5
  Home-page: https://github.com/optimizely/opal-tools-sdk
6
6
  Author: Optimizely
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: proteus-document-spec.json
3
- # timestamp: 2026-05-04T14:57:54+00:00
3
+ # timestamp: 2026-05-11T14:40:18+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -283,6 +283,14 @@ class ProteusDocument(BaseModel):
283
283
  default=None,
284
284
  description="If true, constrains the body to a max height and makes it scrollable when content overflows.",
285
285
  )
286
+ data: dict[str, Any] | None = Field(
287
+ default=None,
288
+ description="Initial data for the document. Not used by the renderer directly — intended for the outer component managing state to use as the starting data.",
289
+ )
290
+ meta: Any | None = Field(
291
+ default=None,
292
+ description="Additional metadata not directly consumed by Proteus. Use this to pass along any extra data.",
293
+ )
286
294
  subtitle: ProteusNode | None = Field(
287
295
  default=None,
288
296
  description="A brief description or tagline that provides additional context about the Proteus document's purpose.",
@@ -979,6 +987,23 @@ class ProteusDataTable(BaseModel):
979
987
  data: list[dict[str, Any]] | ProteusExpression | ProteusZip | None = None
980
988
 
981
989
 
990
+ class ProteusFederated(BaseModel):
991
+ model_config = ConfigDict(
992
+ extra="forbid",
993
+ )
994
+ field_type: Literal["Federated"] = Field(default="Federated", alias="$type")
995
+ entry: str = Field(
996
+ ..., description="URL to the remote application's remoteEntry.js or mf-manifest.json"
997
+ )
998
+ exposeKey: str | None = Field(
999
+ default=".",
1000
+ description="The key from the remote's ModuleFederationPlugin exposes config (e.g. './App'). Defaults to '.' (root export)",
1001
+ )
1002
+ fallback: ProteusNode | None = Field(
1003
+ default=None, description="Content rendered when the federated component fails to load"
1004
+ )
1005
+
1006
+
982
1007
  class ProteusField(BaseModel):
983
1008
  model_config = ConfigDict(
984
1009
  extra="forbid",
@@ -2252,6 +2277,7 @@ class ProteusElement(
2252
2277
  | ProteusChart
2253
2278
  | ProteusConcat
2254
2279
  | ProteusDataTable
2280
+ | ProteusFederated
2255
2281
  | ProteusField
2256
2282
  | ProteusFileUpload
2257
2283
  | ProteusGroup
@@ -2289,6 +2315,7 @@ class ProteusElement(
2289
2315
  | ProteusChart
2290
2316
  | ProteusConcat
2291
2317
  | ProteusDataTable
2318
+ | ProteusFederated
2292
2319
  | ProteusField
2293
2320
  | ProteusFileUpload
2294
2321
  | ProteusGroup
@@ -3970,6 +3997,7 @@ ProteusCardLink.model_rebuild()
3970
3997
  ProteusChart.model_rebuild()
3971
3998
  ProteusConcat.model_rebuild()
3972
3999
  ProteusDataTable.model_rebuild()
4000
+ ProteusFederated.model_rebuild()
3973
4001
  ProteusField.model_rebuild()
3974
4002
  ProteusFileUpload.model_rebuild()
3975
4003
  ProteusGroup.model_rebuild()
@@ -4017,6 +4045,7 @@ class UI:
4017
4045
  Concat = ProteusConcat
4018
4046
  DataTable = ProteusDataTable
4019
4047
  Document = ProteusDocument
4048
+ Federated = ProteusFederated
4020
4049
  Field = ProteusField
4021
4050
  FileUpload = ProteusFileUpload
4022
4051
  Group = ProteusGroup
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optimizely-opal.opal-tools-sdk
3
- Version: 0.1.31.dev0
3
+ Version: 0.1.32.dev0
4
4
  Summary: SDK for creating Opal-compatible tools services
5
5
  Home-page: https://github.com/optimizely/opal-tools-sdk
6
6
  Author: Optimizely
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "optimizely-opal.opal-tools-sdk"
7
- version = "0.1.31-dev"
7
+ version = "0.1.32-dev"
8
8
  description = "SDK for creating Opal-compatible tools services"
9
9
  authors = [{ name = "Optimizely", email = "opal-team@optimizely.com" }]
10
10
  readme = "README.md"
@@ -2,7 +2,7 @@ from setuptools import find_packages, setup
2
2
 
3
3
  setup(
4
4
  name="optimizely-opal.opal-tools-sdk",
5
- version="0.1.31-dev",
5
+ version="0.1.32-dev",
6
6
  packages=find_packages(),
7
7
  install_requires=[
8
8
  "fastapi>=0.100.0",