optimizely-opal.opal-tools-sdk 0.1.34.dev0__tar.gz → 0.1.35.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.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/PKG-INFO +1 -1
  2. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/opal_tools_sdk/proteus.py +101 -3
  3. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/optimizely_opal.opal_tools_sdk.egg-info/PKG-INFO +1 -1
  4. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/pyproject.toml +1 -1
  5. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/setup.py +1 -1
  6. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/README.md +0 -0
  7. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/opal_tools_sdk/__init__.py +0 -0
  8. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/opal_tools_sdk/_registry.py +0 -0
  9. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/opal_tools_sdk/auth.py +0 -0
  10. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/opal_tools_sdk/decorators.py +0 -0
  11. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/opal_tools_sdk/logging.py +0 -0
  12. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/opal_tools_sdk/models.py +0 -0
  13. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/opal_tools_sdk/service.py +0 -0
  14. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/opal_tools_sdk/ui.py +0 -0
  15. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/optimizely_opal.opal_tools_sdk.egg-info/SOURCES.txt +0 -0
  16. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/optimizely_opal.opal_tools_sdk.egg-info/dependency_links.txt +0 -0
  17. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/optimizely_opal.opal_tools_sdk.egg-info/requires.txt +0 -0
  18. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/optimizely_opal.opal_tools_sdk.egg-info/top_level.txt +0 -0
  19. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/setup.cfg +0 -0
  20. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/tests/test_integration.py +0 -0
  21. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.dev0}/tests/test_nested_schema.py +0 -0
  22. {optimizely_opal_opal_tools_sdk-0.1.34.dev0 → optimizely_opal_opal_tools_sdk-0.1.35.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.34.dev0
3
+ Version: 0.1.35.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-11T17:24:58+00:00
3
+ # timestamp: 2026-05-18T18:51:08+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -344,6 +344,20 @@ class ProteusEventHandler4(BaseModel):
344
344
  url: ProteusExpression | str = Field(..., description="URL to open in a new tab")
345
345
 
346
346
 
347
+ class ProteusEventHandler5(BaseModel):
348
+ """
349
+ Client-side component action - for previewing a file inline
350
+ """
351
+
352
+ model_config = ConfigDict(
353
+ extra="forbid",
354
+ )
355
+ action: Literal["preview"] = Field(default="preview", description="The action type")
356
+ file: ProteusExpression | dict[str, Any] | str = Field(
357
+ ..., description="The file object to preview"
358
+ )
359
+
360
+
347
361
  class Part(BaseModel):
348
362
  model_config = ConfigDict(
349
363
  extra="forbid",
@@ -927,6 +941,9 @@ class ProteusCardLink(BaseModel):
927
941
  mx: SprinklePropMx | None = None
928
942
  my: SprinklePropMy | None = None
929
943
  objectFit: SprinklePropObjectFit | None = None
944
+ onClick: ProteusEventHandler | None = Field(
945
+ default=None, description="Action triggered when link is clicked"
946
+ )
930
947
  overflow: SprinklePropOverflow | None = None
931
948
  overflowX: SprinklePropOverflowX | None = None
932
949
  overflowY: SprinklePropOverflowY | None = None
@@ -1080,6 +1097,74 @@ class ProteusField(BaseModel):
1080
1097
  z: SprinklePropZ | None = None
1081
1098
 
1082
1099
 
1100
+ class ProteusFileIcon(BaseModel):
1101
+ model_config = ConfigDict(
1102
+ extra="forbid",
1103
+ )
1104
+ field_type: Literal["FileIcon"] = Field(default="FileIcon", alias="$type")
1105
+ alignItems: SprinklePropAlignItems | None = None
1106
+ alignSelf: SprinklePropAlignSelf | None = None
1107
+ animation: SprinklePropAnimation | None = None
1108
+ backgroundImage: SprinklePropBackgroundImage | None = None
1109
+ bg: SprinklePropBg | None = None
1110
+ border: SprinklePropBorder | None = None
1111
+ borderB: SprinklePropBorderB | None = None
1112
+ borderColor: SprinklePropBorderColor | None = None
1113
+ borderL: SprinklePropBorderL | None = None
1114
+ borderR: SprinklePropBorderR | None = None
1115
+ borderT: SprinklePropBorderT | None = None
1116
+ color: SprinklePropColor | None = None
1117
+ cursor: SprinklePropCursor | None = None
1118
+ display: SprinklePropDisplay | None = None
1119
+ flex: SprinklePropFlex | None = None
1120
+ flexDirection: SprinklePropFlexDirection | None = None
1121
+ flexWrap: SprinklePropFlexWrap | None = None
1122
+ fontFamily: SprinklePropFontFamily | None = None
1123
+ fontSize: SprinklePropFontSize | None = None
1124
+ fontWeight: SprinklePropFontWeight | None = None
1125
+ gap: SprinklePropGap | None = None
1126
+ gridAutoRows: SprinklePropGridAutoRows | None = None
1127
+ gridColumn: SprinklePropGridColumn | None = None
1128
+ gridTemplateColumns: SprinklePropGridTemplateColumns | None = None
1129
+ h: SprinklePropH | None = None
1130
+ justifyContent: SprinklePropJustifyContent | None = None
1131
+ justifyItems: SprinklePropJustifyItems | None = None
1132
+ m: SprinklePropM | None = None
1133
+ maxH: SprinklePropMaxH | None = None
1134
+ maxW: SprinklePropMaxW | None = None
1135
+ mb: SprinklePropMb | None = None
1136
+ ml: SprinklePropMl | None = None
1137
+ mr: SprinklePropMr | None = None
1138
+ mt: SprinklePropMt | None = None
1139
+ mx: SprinklePropMx | None = None
1140
+ my: SprinklePropMy | None = None
1141
+ objectFit: SprinklePropObjectFit | None = None
1142
+ overflow: SprinklePropOverflow | None = None
1143
+ overflowX: SprinklePropOverflowX | None = None
1144
+ overflowY: SprinklePropOverflowY | None = None
1145
+ p: SprinklePropP | None = None
1146
+ pb: SprinklePropPb | None = None
1147
+ pl: SprinklePropPl | None = None
1148
+ placeItems: SprinklePropPlaceItems | None = None
1149
+ pointerEvents: SprinklePropPointerEvents | None = None
1150
+ pr: SprinklePropPr | None = None
1151
+ pt: SprinklePropPt | None = None
1152
+ px: SprinklePropPx | None = None
1153
+ py: SprinklePropPy | None = None
1154
+ rounded: SprinklePropRounded | None = None
1155
+ shadow: SprinklePropShadow | None = None
1156
+ size: SprinklePropSize | None = None
1157
+ textAlign: SprinklePropTextAlign | None = None
1158
+ textTransform: SprinklePropTextTransform | None = None
1159
+ transition: SprinklePropTransition | None = None
1160
+ w: SprinklePropW | None = None
1161
+ whiteSpace: SprinklePropWhiteSpace | None = None
1162
+ z: SprinklePropZ | None = None
1163
+ mimeType: str | ProteusExpression | None = Field(
1164
+ default=None, description="MIME type of the file to determine which icon to display"
1165
+ )
1166
+
1167
+
1083
1168
  class ProteusFileUpload(BaseModel):
1084
1169
  model_config = ConfigDict(
1085
1170
  extra="forbid",
@@ -2255,11 +2340,19 @@ class ProteusCondition(
2255
2340
 
2256
2341
  class ProteusEventHandler(
2257
2342
  RootModel[
2258
- ProteusEventHandler1 | ProteusEventHandler2 | ProteusEventHandler3 | ProteusEventHandler4
2343
+ ProteusEventHandler1
2344
+ | ProteusEventHandler2
2345
+ | ProteusEventHandler3
2346
+ | ProteusEventHandler4
2347
+ | ProteusEventHandler5
2259
2348
  ]
2260
2349
  ):
2261
2350
  root: (
2262
- ProteusEventHandler1 | ProteusEventHandler2 | ProteusEventHandler3 | ProteusEventHandler4
2351
+ ProteusEventHandler1
2352
+ | ProteusEventHandler2
2353
+ | ProteusEventHandler3
2354
+ | ProteusEventHandler4
2355
+ | ProteusEventHandler5
2263
2356
  ) = Field(
2264
2357
  ...,
2265
2358
  description="Handler for user interactions - a server-side interaction call, client-side message, or client-side component action",
@@ -2287,6 +2380,7 @@ class ProteusElement(
2287
2380
  | ProteusDataTable
2288
2381
  | ProteusFederated
2289
2382
  | ProteusField
2383
+ | ProteusFileIcon
2290
2384
  | ProteusFileUpload
2291
2385
  | ProteusGroup
2292
2386
  | ProteusHeading
@@ -2325,6 +2419,7 @@ class ProteusElement(
2325
2419
  | ProteusDataTable
2326
2420
  | ProteusFederated
2327
2421
  | ProteusField
2422
+ | ProteusFileIcon
2328
2423
  | ProteusFileUpload
2329
2424
  | ProteusGroup
2330
2425
  | ProteusHeading
@@ -3991,6 +4086,7 @@ ProteusDocument.model_rebuild()
3991
4086
  ProteusEventHandler2.model_rebuild()
3992
4087
  ProteusEventHandler3.model_rebuild()
3993
4088
  ProteusEventHandler4.model_rebuild()
4089
+ ProteusEventHandler5.model_rebuild()
3994
4090
  Part.model_rebuild()
3995
4091
  ProteusStructuredMessage.model_rebuild()
3996
4092
  ProteusZip.model_rebuild()
@@ -4007,6 +4103,7 @@ ProteusConcat.model_rebuild()
4007
4103
  ProteusDataTable.model_rebuild()
4008
4104
  ProteusFederated.model_rebuild()
4009
4105
  ProteusField.model_rebuild()
4106
+ ProteusFileIcon.model_rebuild()
4010
4107
  ProteusFileUpload.model_rebuild()
4011
4108
  ProteusGroup.model_rebuild()
4012
4109
  ProteusHeading.model_rebuild()
@@ -4055,6 +4152,7 @@ class UI:
4055
4152
  Document = ProteusDocument
4056
4153
  Federated = ProteusFederated
4057
4154
  Field = ProteusField
4155
+ FileIcon = ProteusFileIcon
4058
4156
  FileUpload = ProteusFileUpload
4059
4157
  Group = ProteusGroup
4060
4158
  Heading = ProteusHeading
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optimizely-opal.opal-tools-sdk
3
- Version: 0.1.34.dev0
3
+ Version: 0.1.35.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.34-dev"
7
+ version = "0.1.35-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.34-dev",
5
+ version="0.1.35-dev",
6
6
  packages=find_packages(),
7
7
  install_requires=[
8
8
  "fastapi>=0.100.0",