optimizely-opal.opal-tools-sdk 0.1.2.dev0__tar.gz → 0.1.3.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.

Potentially problematic release.


This version of optimizely-opal.opal-tools-sdk might be problematic. Click here for more details.

Files changed (16) hide show
  1. {optimizely_opal_opal_tools_sdk-0.1.2.dev0 → optimizely_opal_opal_tools_sdk-0.1.3.dev0}/PKG-INFO +1 -1
  2. {optimizely_opal_opal_tools_sdk-0.1.2.dev0 → optimizely_opal_opal_tools_sdk-0.1.3.dev0}/opal_tools_sdk/decorators.py +3 -3
  3. {optimizely_opal_opal_tools_sdk-0.1.2.dev0 → optimizely_opal_opal_tools_sdk-0.1.3.dev0}/opal_tools_sdk/models.py +6 -6
  4. {optimizely_opal_opal_tools_sdk-0.1.2.dev0 → optimizely_opal_opal_tools_sdk-0.1.3.dev0}/optimizely_opal.opal_tools_sdk.egg-info/PKG-INFO +1 -1
  5. {optimizely_opal_opal_tools_sdk-0.1.2.dev0 → optimizely_opal_opal_tools_sdk-0.1.3.dev0}/pyproject.toml +1 -1
  6. {optimizely_opal_opal_tools_sdk-0.1.2.dev0 → optimizely_opal_opal_tools_sdk-0.1.3.dev0}/setup.py +1 -1
  7. {optimizely_opal_opal_tools_sdk-0.1.2.dev0 → optimizely_opal_opal_tools_sdk-0.1.3.dev0}/README.md +0 -0
  8. {optimizely_opal_opal_tools_sdk-0.1.2.dev0 → optimizely_opal_opal_tools_sdk-0.1.3.dev0}/opal_tools_sdk/__init__.py +0 -0
  9. {optimizely_opal_opal_tools_sdk-0.1.2.dev0 → optimizely_opal_opal_tools_sdk-0.1.3.dev0}/opal_tools_sdk/_registry.py +0 -0
  10. {optimizely_opal_opal_tools_sdk-0.1.2.dev0 → optimizely_opal_opal_tools_sdk-0.1.3.dev0}/opal_tools_sdk/auth.py +0 -0
  11. {optimizely_opal_opal_tools_sdk-0.1.2.dev0 → optimizely_opal_opal_tools_sdk-0.1.3.dev0}/opal_tools_sdk/service.py +0 -0
  12. {optimizely_opal_opal_tools_sdk-0.1.2.dev0 → optimizely_opal_opal_tools_sdk-0.1.3.dev0}/optimizely_opal.opal_tools_sdk.egg-info/SOURCES.txt +0 -0
  13. {optimizely_opal_opal_tools_sdk-0.1.2.dev0 → optimizely_opal_opal_tools_sdk-0.1.3.dev0}/optimizely_opal.opal_tools_sdk.egg-info/dependency_links.txt +0 -0
  14. {optimizely_opal_opal_tools_sdk-0.1.2.dev0 → optimizely_opal_opal_tools_sdk-0.1.3.dev0}/optimizely_opal.opal_tools_sdk.egg-info/requires.txt +0 -0
  15. {optimizely_opal_opal_tools_sdk-0.1.2.dev0 → optimizely_opal_opal_tools_sdk-0.1.3.dev0}/optimizely_opal.opal_tools_sdk.egg-info/top_level.txt +0 -0
  16. {optimizely_opal_opal_tools_sdk-0.1.2.dev0 → optimizely_opal_opal_tools_sdk-0.1.3.dev0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optimizely-opal.opal-tools-sdk
3
- Version: 0.1.2.dev0
3
+ Version: 0.1.3.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,7 +1,7 @@
1
1
  import inspect
2
2
  import re
3
3
  import logging
4
- from typing import Callable, Any, List, Dict, Type, get_type_hints, Optional, Union
4
+ from typing import Callable, Any, List, Dict, Type, get_origin, get_type_hints, Optional, Union
5
5
  from fastapi import APIRouter, Depends, Header, HTTPException
6
6
  from pydantic import BaseModel
7
7
 
@@ -69,9 +69,9 @@ def tool(name: str, description: str, auth_requirements: Optional[List[Dict[str,
69
69
  param_type = ParameterType.number
70
70
  elif field_type == bool:
71
71
  param_type = ParameterType.boolean
72
- elif field_type == list or field_type == List:
72
+ elif get_origin(field_type) is list:
73
73
  param_type = ParameterType.list
74
- elif field_type == dict or field_type == Dict:
74
+ elif get_origin(field_type) is dict:
75
75
  param_type = ParameterType.dictionary
76
76
 
77
77
  # Determine if required
@@ -8,7 +8,7 @@ class ParameterType(str, Enum):
8
8
  integer = "integer"
9
9
  number = "number"
10
10
  boolean = "boolean"
11
- list = "list" # Changed to match main service expectation
11
+ list = "array" # Changed to match main service expectation
12
12
  dictionary = "object" # Standard JSON schema type
13
13
 
14
14
  @dataclass
@@ -18,7 +18,7 @@ class Parameter:
18
18
  param_type: ParameterType
19
19
  description: str
20
20
  required: bool
21
-
21
+
22
22
  def to_dict(self) -> Dict[str, Any]:
23
23
  """Convert to dictionary for the discovery endpoint."""
24
24
  return {
@@ -34,7 +34,7 @@ class AuthRequirement:
34
34
  provider: str # e.g., "google", "microsoft"
35
35
  scope_bundle: str # e.g., "calendar", "drive"
36
36
  required: bool = True
37
-
37
+
38
38
  def to_dict(self) -> Dict[str, Any]:
39
39
  """Convert to dictionary for the discovery endpoint."""
40
40
  return {
@@ -52,7 +52,7 @@ class Function:
52
52
  endpoint: str
53
53
  auth_requirements: Optional[List[AuthRequirement]] = None
54
54
  http_method: str = "POST"
55
-
55
+
56
56
  def to_dict(self) -> Dict[str, Any]:
57
57
  """Convert to dictionary for the discovery endpoint."""
58
58
  result = {
@@ -62,8 +62,8 @@ class Function:
62
62
  "endpoint": self.endpoint,
63
63
  "http_method": self.http_method
64
64
  }
65
-
65
+
66
66
  if self.auth_requirements:
67
67
  result["auth_requirements"] = [auth.to_dict() for auth in self.auth_requirements]
68
-
68
+
69
69
  return result
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optimizely-opal.opal-tools-sdk
3
- Version: 0.1.2.dev0
3
+ Version: 0.1.3.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.2-dev"
7
+ version = "0.1.3-dev"
8
8
  description = "SDK for creating Opal-compatible tools services"
9
9
  authors = [
10
10
  {name = "Optimizely", email = "opal-team@optimizely.com"}
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="optimizely-opal.opal-tools-sdk",
5
- version="0.1.1-dev",
5
+ version="0.1.3-dev",
6
6
  packages=find_packages(),
7
7
  install_requires=[
8
8
  "fastapi>=0.100.0",