optimizely-opal.opal-tools-sdk 0.1.25.dev0__tar.gz → 0.1.26.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.
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/PKG-INFO +1 -1
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/opal_tools_sdk/proteus.py +50 -33
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/optimizely_opal.opal_tools_sdk.egg-info/PKG-INFO +1 -1
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/pyproject.toml +1 -1
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/setup.py +1 -1
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/tests/test_integration.py +0 -2
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/README.md +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/opal_tools_sdk/__init__.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/opal_tools_sdk/_registry.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/opal_tools_sdk/auth.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/opal_tools_sdk/decorators.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/opal_tools_sdk/logging.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/opal_tools_sdk/models.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/opal_tools_sdk/service.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/opal_tools_sdk/ui.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/optimizely_opal.opal_tools_sdk.egg-info/SOURCES.txt +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/optimizely_opal.opal_tools_sdk.egg-info/dependency_links.txt +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/optimizely_opal.opal_tools_sdk.egg-info/requires.txt +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/optimizely_opal.opal_tools_sdk.egg-info/top_level.txt +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/setup.cfg +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/tests/test_nested_schema.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/tests/test_proteus.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: proteus-document-spec.json
|
|
3
|
-
# timestamp: 2026-04-
|
|
3
|
+
# timestamp: 2026-04-17T20:57:26+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -588,14 +588,29 @@ class ProteusBadge(BaseModel):
|
|
|
588
588
|
z: SprinklePropZ | None = None
|
|
589
589
|
|
|
590
590
|
|
|
591
|
-
class
|
|
591
|
+
class ProteusButton(BaseModel):
|
|
592
592
|
model_config = ConfigDict(
|
|
593
593
|
extra='forbid',
|
|
594
594
|
)
|
|
595
|
-
field_type: Literal['
|
|
595
|
+
field_type: Literal['Button'] = Field(default='Button', alias='$type')
|
|
596
596
|
alignItems: SprinklePropAlignItems | None = None
|
|
597
597
|
alignSelf: SprinklePropAlignSelf | None = None
|
|
598
598
|
animation: SprinklePropAnimation | None = None
|
|
599
|
+
appearance: (
|
|
600
|
+
Literal['default']
|
|
601
|
+
| Literal['danger']
|
|
602
|
+
| Literal['primary']
|
|
603
|
+
| Literal['subtle']
|
|
604
|
+
| Literal['danger-outline']
|
|
605
|
+
| Literal['default-opal']
|
|
606
|
+
| Literal['inverse']
|
|
607
|
+
| Literal['primary-opal']
|
|
608
|
+
| ProteusExpression
|
|
609
|
+
| None
|
|
610
|
+
) = Field(
|
|
611
|
+
default=None,
|
|
612
|
+
description='Control the appearance by selecting between the different button types.',
|
|
613
|
+
)
|
|
599
614
|
backgroundImage: SprinklePropBackgroundImage | None = None
|
|
600
615
|
bg: SprinklePropBg | None = None
|
|
601
616
|
border: SprinklePropBorder | None = None
|
|
@@ -648,11 +663,14 @@ class ProteusCancelAction(BaseModel):
|
|
|
648
663
|
textAlign: SprinklePropTextAlign | None = None
|
|
649
664
|
textTransform: SprinklePropTextTransform | None = None
|
|
650
665
|
transition: SprinklePropTransition | None = None
|
|
666
|
+
type: Literal['button'] | Literal['reset'] | Literal['submit'] | ProteusExpression | None = (
|
|
667
|
+
Field(default=None, description='The default behavior of the button.')
|
|
668
|
+
)
|
|
651
669
|
w: SprinklePropW | None = None
|
|
652
670
|
whiteSpace: SprinklePropWhiteSpace | None = None
|
|
653
671
|
z: SprinklePropZ | None = None
|
|
654
|
-
|
|
655
|
-
default=None, description='
|
|
672
|
+
onClick: ProteusEventHandler | None = Field(
|
|
673
|
+
default=None, description='Action triggered when button is clicked'
|
|
656
674
|
)
|
|
657
675
|
|
|
658
676
|
|
|
@@ -876,6 +894,9 @@ class ProteusChart(BaseModel):
|
|
|
876
894
|
default=None,
|
|
877
895
|
description='Chart data records, either inline, a ProteusExpression, or a ProteusZip transformation',
|
|
878
896
|
)
|
|
897
|
+
layout: Literal['horizontal', 'vertical'] | None = Field(
|
|
898
|
+
default=None, description='Chart layout direction'
|
|
899
|
+
)
|
|
879
900
|
series: list[Series] | None = Field(default=None, description='Data series configuration')
|
|
880
901
|
type: Literal['bar', 'line'] | None = Field(default=None, description='Chart type')
|
|
881
902
|
xAxisKey: str | None = Field(default=None, description='Key in data records for x-axis labels')
|
|
@@ -983,11 +1004,11 @@ class ProteusGroup(BaseModel):
|
|
|
983
1004
|
)
|
|
984
1005
|
field_type: Literal['Group'] = Field(default='Group', alias='$type')
|
|
985
1006
|
alignItems: (
|
|
986
|
-
Literal['
|
|
987
|
-
| Literal['stretch']
|
|
1007
|
+
Literal['stretch']
|
|
988
1008
|
| Literal['center']
|
|
989
1009
|
| Literal['end']
|
|
990
1010
|
| Literal['start']
|
|
1011
|
+
| Literal['normal']
|
|
991
1012
|
| ProteusExpression
|
|
992
1013
|
| None
|
|
993
1014
|
) = Field(
|
|
@@ -1275,10 +1296,6 @@ class ProteusImageCarousel(BaseModel):
|
|
|
1275
1296
|
extra='forbid',
|
|
1276
1297
|
)
|
|
1277
1298
|
field_type: Literal['ImageCarousel'] = Field(default='ImageCarousel', alias='$type')
|
|
1278
|
-
downloadAll: ProteusExpression | str | None = Field(
|
|
1279
|
-
default=None,
|
|
1280
|
-
description='URL to download all images (e.g. as a zip file). Falls back to downloading each image individually.',
|
|
1281
|
-
)
|
|
1282
1299
|
images: list[Image] | ProteusExpression = Field(
|
|
1283
1300
|
..., description='Array of image data to display in the carousel'
|
|
1284
1301
|
)
|
|
@@ -2149,7 +2166,7 @@ class ProteusElement(
|
|
|
2149
2166
|
ProteusAction
|
|
2150
2167
|
| ProteusAvatar
|
|
2151
2168
|
| ProteusBadge
|
|
2152
|
-
|
|
|
2169
|
+
| ProteusButton
|
|
2153
2170
|
| ProteusCard
|
|
2154
2171
|
| ProteusCardHeader
|
|
2155
2172
|
| ProteusCardLink
|
|
@@ -2184,7 +2201,7 @@ class ProteusElement(
|
|
|
2184
2201
|
ProteusAction
|
|
2185
2202
|
| ProteusAvatar
|
|
2186
2203
|
| ProteusBadge
|
|
2187
|
-
|
|
|
2204
|
+
| ProteusButton
|
|
2188
2205
|
| ProteusCard
|
|
2189
2206
|
| ProteusCardHeader
|
|
2190
2207
|
| ProteusCardLink
|
|
@@ -2221,40 +2238,40 @@ class ProteusElement(
|
|
|
2221
2238
|
|
|
2222
2239
|
class SprinklePropAlignItems(
|
|
2223
2240
|
RootModel[
|
|
2224
|
-
Literal['
|
|
2225
|
-
| Literal['stretch']
|
|
2241
|
+
Literal['stretch']
|
|
2226
2242
|
| Literal['center']
|
|
2227
2243
|
| Literal['end']
|
|
2228
2244
|
| Literal['start']
|
|
2245
|
+
| Literal['normal']
|
|
2229
2246
|
| ProteusExpression
|
|
2230
2247
|
]
|
|
2231
2248
|
):
|
|
2232
2249
|
root: (
|
|
2233
|
-
Literal['
|
|
2234
|
-
| Literal['stretch']
|
|
2250
|
+
Literal['stretch']
|
|
2235
2251
|
| Literal['center']
|
|
2236
2252
|
| Literal['end']
|
|
2237
2253
|
| Literal['start']
|
|
2254
|
+
| Literal['normal']
|
|
2238
2255
|
| ProteusExpression
|
|
2239
2256
|
) = Field(..., description="Set the element's `align-items` CSS property")
|
|
2240
2257
|
|
|
2241
2258
|
|
|
2242
2259
|
class SprinklePropAlignSelf(
|
|
2243
2260
|
RootModel[
|
|
2244
|
-
Literal['
|
|
2245
|
-
| Literal['stretch']
|
|
2261
|
+
Literal['stretch']
|
|
2246
2262
|
| Literal['center']
|
|
2247
2263
|
| Literal['end']
|
|
2248
2264
|
| Literal['start']
|
|
2265
|
+
| Literal['normal']
|
|
2249
2266
|
| ProteusExpression
|
|
2250
2267
|
]
|
|
2251
2268
|
):
|
|
2252
2269
|
root: (
|
|
2253
|
-
Literal['
|
|
2254
|
-
| Literal['stretch']
|
|
2270
|
+
Literal['stretch']
|
|
2255
2271
|
| Literal['center']
|
|
2256
2272
|
| Literal['end']
|
|
2257
2273
|
| Literal['start']
|
|
2274
|
+
| Literal['normal']
|
|
2258
2275
|
| ProteusExpression
|
|
2259
2276
|
) = Field(..., description="Set the element's `align-self` CSS property")
|
|
2260
2277
|
|
|
@@ -2531,9 +2548,9 @@ class SprinklePropColor(
|
|
|
2531
2548
|
|
|
2532
2549
|
|
|
2533
2550
|
class SprinklePropCursor(
|
|
2534
|
-
RootModel[Literal['
|
|
2551
|
+
RootModel[Literal['text'] | Literal['default'] | Literal['pointer'] | ProteusExpression]
|
|
2535
2552
|
):
|
|
2536
|
-
root: Literal['
|
|
2553
|
+
root: Literal['text'] | Literal['default'] | Literal['pointer'] | ProteusExpression = Field(
|
|
2537
2554
|
..., description="Set the element's `cursor` CSS property"
|
|
2538
2555
|
)
|
|
2539
2556
|
|
|
@@ -2795,8 +2812,7 @@ class SprinklePropH(
|
|
|
2795
2812
|
|
|
2796
2813
|
class SprinklePropJustifyContent(
|
|
2797
2814
|
RootModel[
|
|
2798
|
-
Literal['
|
|
2799
|
-
| Literal['space-around']
|
|
2815
|
+
Literal['space-around']
|
|
2800
2816
|
| Literal['space-between']
|
|
2801
2817
|
| Literal['space-evenly']
|
|
2802
2818
|
| Literal['stretch']
|
|
@@ -2805,12 +2821,12 @@ class SprinklePropJustifyContent(
|
|
|
2805
2821
|
| Literal['flex-end']
|
|
2806
2822
|
| Literal['flex-start']
|
|
2807
2823
|
| Literal['start']
|
|
2824
|
+
| Literal['normal']
|
|
2808
2825
|
| ProteusExpression
|
|
2809
2826
|
]
|
|
2810
2827
|
):
|
|
2811
2828
|
root: (
|
|
2812
|
-
Literal['
|
|
2813
|
-
| Literal['space-around']
|
|
2829
|
+
Literal['space-around']
|
|
2814
2830
|
| Literal['space-between']
|
|
2815
2831
|
| Literal['space-evenly']
|
|
2816
2832
|
| Literal['stretch']
|
|
@@ -2819,26 +2835,27 @@ class SprinklePropJustifyContent(
|
|
|
2819
2835
|
| Literal['flex-end']
|
|
2820
2836
|
| Literal['flex-start']
|
|
2821
2837
|
| Literal['start']
|
|
2838
|
+
| Literal['normal']
|
|
2822
2839
|
| ProteusExpression
|
|
2823
2840
|
) = Field(..., description="Set the element's `justify-content` CSS property")
|
|
2824
2841
|
|
|
2825
2842
|
|
|
2826
2843
|
class SprinklePropJustifyItems(
|
|
2827
2844
|
RootModel[
|
|
2828
|
-
Literal['
|
|
2829
|
-
| Literal['stretch']
|
|
2845
|
+
Literal['stretch']
|
|
2830
2846
|
| Literal['center']
|
|
2831
2847
|
| Literal['end']
|
|
2832
2848
|
| Literal['start']
|
|
2849
|
+
| Literal['normal']
|
|
2833
2850
|
| ProteusExpression
|
|
2834
2851
|
]
|
|
2835
2852
|
):
|
|
2836
2853
|
root: (
|
|
2837
|
-
Literal['
|
|
2838
|
-
| Literal['stretch']
|
|
2854
|
+
Literal['stretch']
|
|
2839
2855
|
| Literal['center']
|
|
2840
2856
|
| Literal['end']
|
|
2841
2857
|
| Literal['start']
|
|
2858
|
+
| Literal['normal']
|
|
2842
2859
|
| ProteusExpression
|
|
2843
2860
|
) = Field(..., description="Set the element's `justify-items` CSS property")
|
|
2844
2861
|
|
|
@@ -3860,7 +3877,7 @@ ProteusZip.model_rebuild()
|
|
|
3860
3877
|
ProteusAction.model_rebuild()
|
|
3861
3878
|
ProteusAvatar.model_rebuild()
|
|
3862
3879
|
ProteusBadge.model_rebuild()
|
|
3863
|
-
|
|
3880
|
+
ProteusButton.model_rebuild()
|
|
3864
3881
|
ProteusCard.model_rebuild()
|
|
3865
3882
|
ProteusCardHeader.model_rebuild()
|
|
3866
3883
|
ProteusCardLink.model_rebuild()
|
|
@@ -3904,7 +3921,7 @@ class UI:
|
|
|
3904
3921
|
Action = ProteusAction
|
|
3905
3922
|
Avatar = ProteusAvatar
|
|
3906
3923
|
Badge = ProteusBadge
|
|
3907
|
-
|
|
3924
|
+
Button = ProteusButton
|
|
3908
3925
|
Card = ProteusCard
|
|
3909
3926
|
CardHeader = ProteusCardHeader
|
|
3910
3927
|
CardLink = ProteusCardLink
|
|
@@ -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.
|
|
7
|
+
version = "0.1.26-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"
|
|
@@ -303,7 +303,6 @@ def test_resource_with_proteus_document_return():
|
|
|
303
303
|
],
|
|
304
304
|
actions=[
|
|
305
305
|
UI.Action(children="Save", appearance="primary"),
|
|
306
|
-
UI.CancelAction(children="Cancel"),
|
|
307
306
|
],
|
|
308
307
|
)
|
|
309
308
|
|
|
@@ -331,7 +330,6 @@ def test_resource_with_proteus_document_return():
|
|
|
331
330
|
assert parsed_doc["body"][1]["label"] == "Item Name"
|
|
332
331
|
assert len(parsed_doc["actions"]) == 2
|
|
333
332
|
assert parsed_doc["actions"][0]["$type"] == "Action"
|
|
334
|
-
assert parsed_doc["actions"][1]["$type"] == "CancelAction"
|
|
335
333
|
|
|
336
334
|
|
|
337
335
|
def test_resource_with_proteus_document_and_explicit_mime_type():
|
{optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{optimizely_opal_opal_tools_sdk-0.1.25.dev0 → optimizely_opal_opal_tools_sdk-0.1.26.dev0}/setup.cfg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|