migrate Organization data model from skyvern/forge/sdk/models.py to skyvern/forge/sdk/schemas/organizations.py (#1343)
This commit is contained in:
@@ -5,7 +5,7 @@ import typer
|
|||||||
|
|
||||||
from skyvern.forge.app import DATABASE
|
from skyvern.forge.app import DATABASE
|
||||||
from skyvern.forge.sdk.core import security
|
from skyvern.forge.sdk.core import security
|
||||||
from skyvern.forge.sdk.models import OrganizationAuthToken, OrganizationAuthTokenType
|
from skyvern.forge.sdk.schemas.organizations import OrganizationAuthToken, OrganizationAuthTokenType
|
||||||
|
|
||||||
API_KEY_LIFETIME = timedelta(weeks=5200)
|
API_KEY_LIFETIME = timedelta(weeks=5200)
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,8 @@ from skyvern.forge.sdk.core import skyvern_context
|
|||||||
from skyvern.forge.sdk.core.security import generate_skyvern_signature
|
from skyvern.forge.sdk.core.security import generate_skyvern_signature
|
||||||
from skyvern.forge.sdk.core.validators import prepend_scheme_and_validate_url
|
from skyvern.forge.sdk.core.validators import prepend_scheme_and_validate_url
|
||||||
from skyvern.forge.sdk.db.enums import TaskType
|
from skyvern.forge.sdk.db.enums import TaskType
|
||||||
from skyvern.forge.sdk.models import Organization, Step, StepStatus
|
from skyvern.forge.sdk.models import Step, StepStatus
|
||||||
|
from skyvern.forge.sdk.schemas.organizations import Organization
|
||||||
from skyvern.forge.sdk.schemas.tasks import Task, TaskRequest, TaskResponse, TaskStatus
|
from skyvern.forge.sdk.schemas.tasks import Task, TaskRequest, TaskResponse, TaskStatus
|
||||||
from skyvern.forge.sdk.workflow.context_manager import WorkflowRunContext
|
from skyvern.forge.sdk.workflow.context_manager import WorkflowRunContext
|
||||||
from skyvern.forge.sdk.workflow.models.block import ActionBlock, BaseTaskBlock, ValidationBlock
|
from skyvern.forge.sdk.workflow.models.block import ActionBlock, BaseTaskBlock, ValidationBlock
|
||||||
|
|||||||
@@ -14,7 +14,8 @@ from skyvern.forge import app
|
|||||||
from skyvern.forge.async_operations import AsyncOperation
|
from skyvern.forge.async_operations import AsyncOperation
|
||||||
from skyvern.forge.prompts import prompt_engine
|
from skyvern.forge.prompts import prompt_engine
|
||||||
from skyvern.forge.sdk.api.llm.exceptions import LLMProviderError
|
from skyvern.forge.sdk.api.llm.exceptions import LLMProviderError
|
||||||
from skyvern.forge.sdk.models import Organization, Step, StepStatus
|
from skyvern.forge.sdk.models import Step, StepStatus
|
||||||
|
from skyvern.forge.sdk.schemas.organizations import Organization
|
||||||
from skyvern.forge.sdk.schemas.tasks import Task, TaskStatus
|
from skyvern.forge.sdk.schemas.tasks import Task, TaskStatus
|
||||||
from skyvern.webeye.browser_factory import BrowserState
|
from skyvern.webeye.browser_factory import BrowserState
|
||||||
from skyvern.webeye.scraper.scraper import ELEMENT_NODE_ATTRIBUTES, CleanupElementTreeFunc, json_to_html
|
from skyvern.webeye.scraper.scraper import ELEMENT_NODE_ATTRIBUTES, CleanupElementTreeFunc, json_to_html
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from skyvern.forge.sdk.artifact.storage.s3 import S3Storage
|
|||||||
from skyvern.forge.sdk.cache.factory import CacheFactory
|
from skyvern.forge.sdk.cache.factory import CacheFactory
|
||||||
from skyvern.forge.sdk.db.client import AgentDB
|
from skyvern.forge.sdk.db.client import AgentDB
|
||||||
from skyvern.forge.sdk.experimentation.providers import BaseExperimentationProvider, NoOpExperimentationProvider
|
from skyvern.forge.sdk.experimentation.providers import BaseExperimentationProvider, NoOpExperimentationProvider
|
||||||
from skyvern.forge.sdk.models import Organization
|
from skyvern.forge.sdk.schemas.organizations import Organization
|
||||||
from skyvern.forge.sdk.settings_manager import SettingsManager
|
from skyvern.forge.sdk.settings_manager import SettingsManager
|
||||||
from skyvern.forge.sdk.workflow.context_manager import WorkflowContextManager
|
from skyvern.forge.sdk.workflow.context_manager import WorkflowContextManager
|
||||||
from skyvern.forge.sdk.workflow.service import WorkflowService
|
from skyvern.forge.sdk.workflow.service import WorkflowService
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import abc
|
import abc
|
||||||
|
|
||||||
from skyvern.forge.sdk.models import Organization
|
from skyvern.forge.sdk.schemas.organizations import Organization
|
||||||
|
|
||||||
|
|
||||||
class PermissionChecker(abc.ABC):
|
class PermissionChecker(abc.ABC):
|
||||||
|
|||||||
@@ -49,7 +49,8 @@ from skyvern.forge.sdk.db.utils import (
|
|||||||
convert_to_workflow_run_output_parameter,
|
convert_to_workflow_run_output_parameter,
|
||||||
convert_to_workflow_run_parameter,
|
convert_to_workflow_run_parameter,
|
||||||
)
|
)
|
||||||
from skyvern.forge.sdk.models import Organization, OrganizationAuthToken, Step, StepStatus
|
from skyvern.forge.sdk.models import Step, StepStatus
|
||||||
|
from skyvern.forge.sdk.schemas.organizations import Organization, OrganizationAuthToken
|
||||||
from skyvern.forge.sdk.schemas.task_generations import TaskGeneration
|
from skyvern.forge.sdk.schemas.task_generations import TaskGeneration
|
||||||
from skyvern.forge.sdk.schemas.tasks import OrderBy, ProxyLocation, SortDirection, Task, TaskStatus
|
from skyvern.forge.sdk.schemas.tasks import OrderBy, ProxyLocation, SortDirection, Task, TaskStatus
|
||||||
from skyvern.forge.sdk.schemas.totp_codes import TOTPCode
|
from skyvern.forge.sdk.schemas.totp_codes import TOTPCode
|
||||||
|
|||||||
@@ -22,7 +22,8 @@ from skyvern.forge.sdk.db.models import (
|
|||||||
WorkflowRunOutputParameterModel,
|
WorkflowRunOutputParameterModel,
|
||||||
WorkflowRunParameterModel,
|
WorkflowRunParameterModel,
|
||||||
)
|
)
|
||||||
from skyvern.forge.sdk.models import Organization, OrganizationAuthToken, Step, StepStatus
|
from skyvern.forge.sdk.models import Step, StepStatus
|
||||||
|
from skyvern.forge.sdk.schemas.organizations import Organization, OrganizationAuthToken
|
||||||
from skyvern.forge.sdk.schemas.tasks import ProxyLocation, Task, TaskStatus
|
from skyvern.forge.sdk.schemas.tasks import ProxyLocation, Task, TaskStatus
|
||||||
from skyvern.forge.sdk.workflow.models.parameter import (
|
from skyvern.forge.sdk.workflow.models.parameter import (
|
||||||
AWSSecretParameter,
|
AWSSecretParameter,
|
||||||
|
|||||||
@@ -3,9 +3,8 @@ from __future__ import annotations
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from enum import StrEnum
|
from enum import StrEnum
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from skyvern.forge.sdk.db.enums import OrganizationAuthTokenType
|
|
||||||
from skyvern.webeye.actions.actions import ActionType
|
from skyvern.webeye.actions.actions import ActionType
|
||||||
from skyvern.webeye.actions.models import AgentStepOutput
|
from skyvern.webeye.actions.models import AgentStepOutput
|
||||||
|
|
||||||
@@ -130,32 +129,6 @@ class Step(BaseModel):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
class Organization(BaseModel):
|
|
||||||
model_config = ConfigDict(from_attributes=True)
|
|
||||||
|
|
||||||
organization_id: str
|
|
||||||
organization_name: str
|
|
||||||
webhook_callback_url: str | None = None
|
|
||||||
max_steps_per_run: int | None = None
|
|
||||||
max_retries_per_step: int | None = None
|
|
||||||
domain: str | None = None
|
|
||||||
bw_organization_id: str | None = None
|
|
||||||
bw_collection_ids: list[str] | None = None
|
|
||||||
|
|
||||||
created_at: datetime
|
|
||||||
modified_at: datetime
|
|
||||||
|
|
||||||
|
|
||||||
class OrganizationAuthToken(BaseModel):
|
|
||||||
id: str
|
|
||||||
organization_id: str
|
|
||||||
token_type: OrganizationAuthTokenType
|
|
||||||
token: str
|
|
||||||
valid: bool
|
|
||||||
created_at: datetime
|
|
||||||
modified_at: datetime
|
|
||||||
|
|
||||||
|
|
||||||
class TokenPayload(BaseModel):
|
class TokenPayload(BaseModel):
|
||||||
sub: str
|
sub: str
|
||||||
exp: int
|
exp: int
|
||||||
|
|||||||
@@ -34,10 +34,11 @@ from skyvern.forge.sdk.core.permissions.permission_checker_factory import Permis
|
|||||||
from skyvern.forge.sdk.core.security import generate_skyvern_signature
|
from skyvern.forge.sdk.core.security import generate_skyvern_signature
|
||||||
from skyvern.forge.sdk.db.enums import OrganizationAuthTokenType
|
from skyvern.forge.sdk.db.enums import OrganizationAuthTokenType
|
||||||
from skyvern.forge.sdk.executor.factory import AsyncExecutorFactory
|
from skyvern.forge.sdk.executor.factory import AsyncExecutorFactory
|
||||||
from skyvern.forge.sdk.models import Organization, Step
|
from skyvern.forge.sdk.models import Step
|
||||||
from skyvern.forge.sdk.schemas.organizations import (
|
from skyvern.forge.sdk.schemas.organizations import (
|
||||||
GetOrganizationAPIKeysResponse,
|
GetOrganizationAPIKeysResponse,
|
||||||
GetOrganizationsResponse,
|
GetOrganizationsResponse,
|
||||||
|
Organization,
|
||||||
OrganizationUpdate,
|
OrganizationUpdate,
|
||||||
)
|
)
|
||||||
from skyvern.forge.sdk.schemas.task_generations import GenerateTaskRequest, TaskGeneration, TaskGenerationBase
|
from skyvern.forge.sdk.schemas.task_generations import GenerateTaskRequest, TaskGeneration, TaskGenerationBase
|
||||||
|
|||||||
@@ -1,6 +1,34 @@
|
|||||||
from pydantic import BaseModel
|
from datetime import datetime
|
||||||
|
|
||||||
from skyvern.forge.sdk.models import Organization, OrganizationAuthToken
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
|
||||||
|
from skyvern.forge.sdk.db.enums import OrganizationAuthTokenType
|
||||||
|
|
||||||
|
|
||||||
|
class Organization(BaseModel):
|
||||||
|
model_config = ConfigDict(from_attributes=True)
|
||||||
|
|
||||||
|
organization_id: str
|
||||||
|
organization_name: str
|
||||||
|
webhook_callback_url: str | None = None
|
||||||
|
max_steps_per_run: int | None = None
|
||||||
|
max_retries_per_step: int | None = None
|
||||||
|
domain: str | None = None
|
||||||
|
bw_organization_id: str | None = None
|
||||||
|
bw_collection_ids: list[str] | None = None
|
||||||
|
|
||||||
|
created_at: datetime
|
||||||
|
modified_at: datetime
|
||||||
|
|
||||||
|
|
||||||
|
class OrganizationAuthToken(BaseModel):
|
||||||
|
id: str
|
||||||
|
organization_id: str
|
||||||
|
token_type: OrganizationAuthTokenType
|
||||||
|
token: str
|
||||||
|
valid: bool
|
||||||
|
created_at: datetime
|
||||||
|
modified_at: datetime
|
||||||
|
|
||||||
|
|
||||||
class GetOrganizationsResponse(BaseModel):
|
class GetOrganizationsResponse(BaseModel):
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ from skyvern.config import settings
|
|||||||
from skyvern.forge import app
|
from skyvern.forge import app
|
||||||
from skyvern.forge.sdk.core import skyvern_context
|
from skyvern.forge.sdk.core import skyvern_context
|
||||||
from skyvern.forge.sdk.db.client import AgentDB
|
from skyvern.forge.sdk.db.client import AgentDB
|
||||||
from skyvern.forge.sdk.models import Organization, OrganizationAuthTokenType, TokenPayload
|
from skyvern.forge.sdk.models import TokenPayload
|
||||||
|
from skyvern.forge.sdk.schemas.organizations import Organization, OrganizationAuthTokenType
|
||||||
|
|
||||||
AUTHENTICATION_TTL = 60 * 60 # one hour
|
AUTHENTICATION_TTL = 60 * 60 # one hour
|
||||||
CACHE_SIZE = 128
|
CACHE_SIZE = 128
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import structlog
|
|||||||
|
|
||||||
from skyvern.forge.app import DATABASE
|
from skyvern.forge.app import DATABASE
|
||||||
from skyvern.forge.sdk.core import security
|
from skyvern.forge.sdk.core import security
|
||||||
from skyvern.forge.sdk.models import OrganizationAuthToken, OrganizationAuthTokenType
|
from skyvern.forge.sdk.schemas.organizations import OrganizationAuthToken, OrganizationAuthTokenType
|
||||||
|
|
||||||
LOG = structlog.get_logger()
|
LOG = structlog.get_logger()
|
||||||
API_KEY_LIFETIME = timedelta(weeks=5200)
|
API_KEY_LIFETIME = timedelta(weeks=5200)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import structlog
|
|||||||
|
|
||||||
from skyvern.exceptions import BitwardenBaseError, WorkflowRunContextNotInitialized
|
from skyvern.exceptions import BitwardenBaseError, WorkflowRunContextNotInitialized
|
||||||
from skyvern.forge.sdk.api.aws import AsyncAWSClient
|
from skyvern.forge.sdk.api.aws import AsyncAWSClient
|
||||||
from skyvern.forge.sdk.models import Organization
|
from skyvern.forge.sdk.schemas.organizations import Organization
|
||||||
from skyvern.forge.sdk.schemas.tasks import TaskStatus
|
from skyvern.forge.sdk.schemas.tasks import TaskStatus
|
||||||
from skyvern.forge.sdk.services.bitwarden import BitwardenConstants, BitwardenService
|
from skyvern.forge.sdk.services.bitwarden import BitwardenConstants, BitwardenService
|
||||||
from skyvern.forge.sdk.workflow.exceptions import OutputParameterKeyCollisionError
|
from skyvern.forge.sdk.workflow.exceptions import OutputParameterKeyCollisionError
|
||||||
|
|||||||
@@ -22,7 +22,8 @@ from skyvern.forge.sdk.core import skyvern_context
|
|||||||
from skyvern.forge.sdk.core.security import generate_skyvern_signature
|
from skyvern.forge.sdk.core.security import generate_skyvern_signature
|
||||||
from skyvern.forge.sdk.core.skyvern_context import SkyvernContext
|
from skyvern.forge.sdk.core.skyvern_context import SkyvernContext
|
||||||
from skyvern.forge.sdk.db.enums import TaskType
|
from skyvern.forge.sdk.db.enums import TaskType
|
||||||
from skyvern.forge.sdk.models import Organization, Step
|
from skyvern.forge.sdk.models import Step
|
||||||
|
from skyvern.forge.sdk.schemas.organizations import Organization
|
||||||
from skyvern.forge.sdk.schemas.tasks import ProxyLocation, Task
|
from skyvern.forge.sdk.schemas.tasks import ProxyLocation, Task
|
||||||
from skyvern.forge.sdk.workflow.exceptions import (
|
from skyvern.forge.sdk.workflow.exceptions import (
|
||||||
ContextParameterSourceNotDefined,
|
ContextParameterSourceNotDefined,
|
||||||
|
|||||||
Reference in New Issue
Block a user