optimizely-opal.opal-tools-sdk 0.1.21.dev0__tar.gz → 0.1.22.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.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/PKG-INFO +1 -1
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/opal_tools_sdk/proteus.py +65 -44
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/optimizely_opal.opal_tools_sdk.egg-info/PKG-INFO +1 -1
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/pyproject.toml +1 -1
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/setup.py +1 -1
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/README.md +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/opal_tools_sdk/__init__.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/opal_tools_sdk/_registry.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/opal_tools_sdk/auth.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/opal_tools_sdk/decorators.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/opal_tools_sdk/logging.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/opal_tools_sdk/models.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/opal_tools_sdk/service.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/opal_tools_sdk/ui.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/optimizely_opal.opal_tools_sdk.egg-info/SOURCES.txt +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/optimizely_opal.opal_tools_sdk.egg-info/dependency_links.txt +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/optimizely_opal.opal_tools_sdk.egg-info/requires.txt +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/optimizely_opal.opal_tools_sdk.egg-info/top_level.txt +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/setup.cfg +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/tests/test_integration.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/tests/test_nested_schema.py +0 -0
- {optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.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-03-
|
|
3
|
+
# timestamp: 2026-03-25T19:30:58+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -24,31 +24,6 @@ class ProteusEventHandler1(BaseModel):
|
|
|
24
24
|
tool: str = Field(..., description='Name of registered tool to call')
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
class ProteusEventHandler2(BaseModel):
|
|
28
|
-
"""
|
|
29
|
-
Client-side message action
|
|
30
|
-
"""
|
|
31
|
-
|
|
32
|
-
model_config = ConfigDict(
|
|
33
|
-
extra='forbid',
|
|
34
|
-
)
|
|
35
|
-
message: str = Field(..., description='Message to send to LLM via sendNewMessage()')
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
class ProteusEventHandler4(BaseModel):
|
|
39
|
-
"""
|
|
40
|
-
Client-side component action - collects name/value pairs from a data array and sends as a message
|
|
41
|
-
"""
|
|
42
|
-
|
|
43
|
-
model_config = ConfigDict(
|
|
44
|
-
extra='forbid',
|
|
45
|
-
)
|
|
46
|
-
action: Literal['message-from'] = Field(default='message-from', description='The action type')
|
|
47
|
-
path: str = Field(
|
|
48
|
-
..., description='JSON pointer to an array of objects with name and value fields'
|
|
49
|
-
)
|
|
50
|
-
|
|
51
|
-
|
|
52
27
|
class Series(BaseModel):
|
|
53
28
|
model_config = ConfigDict(
|
|
54
29
|
extra='forbid',
|
|
@@ -1800,28 +1775,18 @@ class ProteusCondition7(BaseModel):
|
|
|
1800
1775
|
)
|
|
1801
1776
|
|
|
1802
1777
|
|
|
1803
|
-
class
|
|
1778
|
+
class ProteusCondition8(BaseModel):
|
|
1804
1779
|
"""
|
|
1805
|
-
|
|
1780
|
+
Condition for Show component. Can be a comparison operator, logical AND, or logical OR. Supports nesting.
|
|
1806
1781
|
"""
|
|
1807
1782
|
|
|
1808
1783
|
model_config = ConfigDict(
|
|
1809
1784
|
extra='forbid',
|
|
1810
1785
|
)
|
|
1811
|
-
|
|
1812
|
-
url: ProteusValue | str = Field(..., description='URL to download')
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
class ProteusEventHandler(
|
|
1816
|
-
RootModel[
|
|
1817
|
-
ProteusEventHandler1 | ProteusEventHandler2 | ProteusEventHandler3 | ProteusEventHandler4
|
|
1818
|
-
]
|
|
1819
|
-
):
|
|
1820
|
-
root: (
|
|
1821
|
-
ProteusEventHandler1 | ProteusEventHandler2 | ProteusEventHandler3 | ProteusEventHandler4
|
|
1822
|
-
) = Field(
|
|
1786
|
+
field_: str | float | bool | ProteusValue | None = Field(
|
|
1823
1787
|
...,
|
|
1824
|
-
|
|
1788
|
+
alias='!',
|
|
1789
|
+
description='Falsy check - returns true if value is falsy (null, undefined, false, 0, or empty string)',
|
|
1825
1790
|
)
|
|
1826
1791
|
|
|
1827
1792
|
|
|
@@ -2368,7 +2333,7 @@ class ProteusTime(BaseModel):
|
|
|
2368
2333
|
z: SprinklePropZ | None = None
|
|
2369
2334
|
|
|
2370
2335
|
|
|
2371
|
-
class
|
|
2336
|
+
class ProteusCondition9(BaseModel):
|
|
2372
2337
|
"""
|
|
2373
2338
|
Condition for Show component. Can be a comparison operator, logical AND, or logical OR. Supports nesting.
|
|
2374
2339
|
"""
|
|
@@ -2384,7 +2349,7 @@ class ProteusCondition8(BaseModel):
|
|
|
2384
2349
|
)
|
|
2385
2350
|
|
|
2386
2351
|
|
|
2387
|
-
class
|
|
2352
|
+
class ProteusCondition10(BaseModel):
|
|
2388
2353
|
"""
|
|
2389
2354
|
Condition for Show component. Can be a comparison operator, logical AND, or logical OR. Supports nesting.
|
|
2390
2355
|
"""
|
|
@@ -2432,6 +2397,34 @@ class ProteusDocument(BaseModel):
|
|
|
2432
2397
|
)
|
|
2433
2398
|
|
|
2434
2399
|
|
|
2400
|
+
class ProteusEventHandler2(BaseModel):
|
|
2401
|
+
"""
|
|
2402
|
+
Client-side message action
|
|
2403
|
+
"""
|
|
2404
|
+
|
|
2405
|
+
model_config = ConfigDict(
|
|
2406
|
+
extra='forbid',
|
|
2407
|
+
)
|
|
2408
|
+
message: ProteusMap | ProteusValue | str = Field(
|
|
2409
|
+
...,
|
|
2410
|
+
description='Message to send to LLM via sendNewMessage(). Can be a string, a Value reference, or a Map expression.',
|
|
2411
|
+
)
|
|
2412
|
+
|
|
2413
|
+
|
|
2414
|
+
class ProteusEventHandler3(BaseModel):
|
|
2415
|
+
"""
|
|
2416
|
+
Client-side component action - for downloading a URL
|
|
2417
|
+
"""
|
|
2418
|
+
|
|
2419
|
+
model_config = ConfigDict(
|
|
2420
|
+
extra='forbid',
|
|
2421
|
+
)
|
|
2422
|
+
action: Literal['download'] = Field(default='download', description='The action type')
|
|
2423
|
+
url: ProteusMap | ProteusValue | str = Field(
|
|
2424
|
+
..., description='URL to download, or a Map expression resolving to multiple URLs'
|
|
2425
|
+
)
|
|
2426
|
+
|
|
2427
|
+
|
|
2435
2428
|
class ProteusAction(BaseModel):
|
|
2436
2429
|
model_config = ConfigDict(
|
|
2437
2430
|
extra='forbid',
|
|
@@ -2958,6 +2951,17 @@ class ProteusCardLink(BaseModel):
|
|
|
2958
2951
|
z: SprinklePropZ | None = None
|
|
2959
2952
|
|
|
2960
2953
|
|
|
2954
|
+
class ProteusConcat(BaseModel):
|
|
2955
|
+
model_config = ConfigDict(
|
|
2956
|
+
extra='forbid',
|
|
2957
|
+
)
|
|
2958
|
+
field_type: Literal['Concat'] = Field(default='Concat', alias='$type')
|
|
2959
|
+
children: list[ProteusNode | str | None] | None = Field(
|
|
2960
|
+
default=None,
|
|
2961
|
+
description='Array of values to concatenate into a single string. Each item is resolved and joined together.',
|
|
2962
|
+
)
|
|
2963
|
+
|
|
2964
|
+
|
|
2961
2965
|
class ProteusField(BaseModel):
|
|
2962
2966
|
model_config = ConfigDict(
|
|
2963
2967
|
extra='forbid',
|
|
@@ -3636,6 +3640,7 @@ class ProteusCondition(
|
|
|
3636
3640
|
| ProteusCondition7
|
|
3637
3641
|
| ProteusCondition8
|
|
3638
3642
|
| ProteusCondition9
|
|
3643
|
+
| ProteusCondition10
|
|
3639
3644
|
]
|
|
3640
3645
|
):
|
|
3641
3646
|
root: (
|
|
@@ -3648,12 +3653,22 @@ class ProteusCondition(
|
|
|
3648
3653
|
| ProteusCondition7
|
|
3649
3654
|
| ProteusCondition8
|
|
3650
3655
|
| ProteusCondition9
|
|
3656
|
+
| ProteusCondition10
|
|
3651
3657
|
) = Field(
|
|
3652
3658
|
...,
|
|
3653
3659
|
description='Condition for Show component. Can be a comparison operator, logical AND, or logical OR. Supports nesting.',
|
|
3654
3660
|
)
|
|
3655
3661
|
|
|
3656
3662
|
|
|
3663
|
+
class ProteusEventHandler(
|
|
3664
|
+
RootModel[ProteusEventHandler1 | ProteusEventHandler2 | ProteusEventHandler3]
|
|
3665
|
+
):
|
|
3666
|
+
root: ProteusEventHandler1 | ProteusEventHandler2 | ProteusEventHandler3 = Field(
|
|
3667
|
+
...,
|
|
3668
|
+
description='Handler for user interactions - a server-side tool call, client-side message, or client-side component action',
|
|
3669
|
+
)
|
|
3670
|
+
|
|
3671
|
+
|
|
3657
3672
|
class ProteusElement(
|
|
3658
3673
|
RootModel[
|
|
3659
3674
|
ProteusAction
|
|
@@ -3664,6 +3679,7 @@ class ProteusElement(
|
|
|
3664
3679
|
| ProteusCardHeader
|
|
3665
3680
|
| ProteusCardLink
|
|
3666
3681
|
| ProteusChart
|
|
3682
|
+
| ProteusConcat
|
|
3667
3683
|
| ProteusDataTable
|
|
3668
3684
|
| ProteusField
|
|
3669
3685
|
| ProteusGroup
|
|
@@ -3696,6 +3712,7 @@ class ProteusElement(
|
|
|
3696
3712
|
| ProteusCardHeader
|
|
3697
3713
|
| ProteusCardLink
|
|
3698
3714
|
| ProteusChart
|
|
3715
|
+
| ProteusConcat
|
|
3699
3716
|
| ProteusDataTable
|
|
3700
3717
|
| ProteusField
|
|
3701
3718
|
| ProteusGroup
|
|
@@ -3746,9 +3763,11 @@ class ProteusNode(
|
|
|
3746
3763
|
)
|
|
3747
3764
|
|
|
3748
3765
|
|
|
3749
|
-
ProteusCondition8.model_rebuild()
|
|
3750
3766
|
ProteusCondition9.model_rebuild()
|
|
3767
|
+
ProteusCondition10.model_rebuild()
|
|
3751
3768
|
ProteusDocument.model_rebuild()
|
|
3769
|
+
ProteusEventHandler2.model_rebuild()
|
|
3770
|
+
ProteusEventHandler3.model_rebuild()
|
|
3752
3771
|
ProteusAction.model_rebuild()
|
|
3753
3772
|
ProteusAvatar.model_rebuild()
|
|
3754
3773
|
ProteusBadge.model_rebuild()
|
|
@@ -3756,6 +3775,7 @@ ProteusCancelAction.model_rebuild()
|
|
|
3756
3775
|
ProteusCard.model_rebuild()
|
|
3757
3776
|
ProteusCardHeader.model_rebuild()
|
|
3758
3777
|
ProteusCardLink.model_rebuild()
|
|
3778
|
+
ProteusConcat.model_rebuild()
|
|
3759
3779
|
ProteusField.model_rebuild()
|
|
3760
3780
|
ProteusGroup.model_rebuild()
|
|
3761
3781
|
ProteusHeading.model_rebuild()
|
|
@@ -3789,6 +3809,7 @@ class UI:
|
|
|
3789
3809
|
CardHeader = ProteusCardHeader
|
|
3790
3810
|
CardLink = ProteusCardLink
|
|
3791
3811
|
Chart = ProteusChart
|
|
3812
|
+
Concat = ProteusConcat
|
|
3792
3813
|
DataTable = ProteusDataTable
|
|
3793
3814
|
Document = ProteusDocument
|
|
3794
3815
|
Field = ProteusField
|
|
@@ -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.22-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"
|
{optimizely_opal_opal_tools_sdk-0.1.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.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.21.dev0 → optimizely_opal_opal_tools_sdk-0.1.22.dev0}/setup.cfg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|