first commit
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
from .user import UserSchema
|
||||
from .workspace import WorkspaceSchema
|
||||
from .agent import AgentSchema
|
||||
from .conversation import ConversationSchema
|
||||
from .message import MessageSchema
|
||||
from .tool import ToolSchema, AgentToolSchema
|
||||
from .skill import SkillSchema
|
||||
from .memory import MemorySchema
|
||||
from .model import ModelSchema
|
||||
from .cron_job import CronJobSchema
|
||||
from .channel import ChannelSchema
|
||||
@@ -0,0 +1,34 @@
|
||||
from marshmallow import Schema, fields
|
||||
|
||||
|
||||
class AgentSchema(Schema):
|
||||
id = fields.Integer(dump_only=True)
|
||||
workspace_id = fields.Integer()
|
||||
name = fields.String(required=True)
|
||||
description = fields.String(allow_none=True)
|
||||
system_prompt = fields.String(allow_none=True)
|
||||
model_id = fields.String(allow_none=True)
|
||||
temperature = fields.Float()
|
||||
max_tokens = fields.Integer()
|
||||
is_active = fields.Boolean()
|
||||
created_at = fields.DateTime(dump_only=True)
|
||||
updated_at = fields.DateTime(dump_only=True)
|
||||
|
||||
|
||||
class AgentCreateSchema(Schema):
|
||||
name = fields.String(required=True)
|
||||
description = fields.String(allow_none=True)
|
||||
system_prompt = fields.String(allow_none=True)
|
||||
model_id = fields.String(allow_none=True)
|
||||
temperature = fields.Float()
|
||||
max_tokens = fields.Integer()
|
||||
|
||||
|
||||
class AgentUpdateSchema(Schema):
|
||||
name = fields.String()
|
||||
description = fields.String()
|
||||
system_prompt = fields.String()
|
||||
model_id = fields.String()
|
||||
temperature = fields.Float()
|
||||
max_tokens = fields.Integer()
|
||||
is_active = fields.Boolean()
|
||||
@@ -0,0 +1,23 @@
|
||||
from marshmallow import Schema, fields
|
||||
|
||||
|
||||
class ChannelSchema(Schema):
|
||||
id = fields.Integer(dump_only=True)
|
||||
type = fields.String(required=True)
|
||||
name = fields.String(required=True)
|
||||
config = fields.Dict(required=True, load_only=True)
|
||||
is_active = fields.Boolean()
|
||||
created_at = fields.DateTime(dump_only=True)
|
||||
updated_at = fields.DateTime(dump_only=True)
|
||||
|
||||
|
||||
class ChannelCreateSchema(Schema):
|
||||
type = fields.String(required=True)
|
||||
name = fields.String(required=True)
|
||||
config = fields.Dict(required=True, load_only=True)
|
||||
|
||||
|
||||
class ChannelUpdateSchema(Schema):
|
||||
name = fields.String()
|
||||
config = fields.Dict(load_only=True)
|
||||
is_active = fields.Boolean()
|
||||
@@ -0,0 +1,23 @@
|
||||
from marshmallow import Schema, fields
|
||||
|
||||
|
||||
class ConversationSchema(Schema):
|
||||
id = fields.Integer(dump_only=True)
|
||||
workspace_id = fields.Integer()
|
||||
agent_id = fields.Integer()
|
||||
title = fields.String(allow_none=True)
|
||||
channel = fields.String()
|
||||
channel_user_id = fields.String(allow_none=True)
|
||||
status = fields.String()
|
||||
created_at = fields.DateTime(dump_only=True)
|
||||
updated_at = fields.DateTime(dump_only=True)
|
||||
|
||||
|
||||
class ConversationCreateSchema(Schema):
|
||||
agent_id = fields.Integer(required=True)
|
||||
title = fields.String(allow_none=True)
|
||||
|
||||
|
||||
class ConversationUpdateSchema(Schema):
|
||||
title = fields.String()
|
||||
status = fields.String()
|
||||
@@ -0,0 +1,27 @@
|
||||
from marshmallow import Schema, fields
|
||||
|
||||
|
||||
class CronJobSchema(Schema):
|
||||
id = fields.Integer(dump_only=True)
|
||||
agent_id = fields.Integer()
|
||||
name = fields.String(required=True)
|
||||
cron_expression = fields.String(required=True)
|
||||
prompt = fields.String(required=True)
|
||||
is_active = fields.Boolean()
|
||||
last_run_at = fields.DateTime(allow_none=True)
|
||||
next_run_at = fields.DateTime(allow_none=True)
|
||||
created_at = fields.DateTime(dump_only=True)
|
||||
updated_at = fields.DateTime(dump_only=True)
|
||||
|
||||
|
||||
class CronJobCreateSchema(Schema):
|
||||
name = fields.String(required=True)
|
||||
cron_expression = fields.String(required=True)
|
||||
prompt = fields.String(required=True)
|
||||
|
||||
|
||||
class CronJobUpdateSchema(Schema):
|
||||
name = fields.String()
|
||||
cron_expression = fields.String()
|
||||
prompt = fields.String()
|
||||
is_active = fields.Boolean()
|
||||
@@ -0,0 +1,26 @@
|
||||
from marshmallow import Schema, fields
|
||||
|
||||
|
||||
class MemorySchema(Schema):
|
||||
id = fields.Integer(dump_only=True)
|
||||
workspace_id = fields.Integer()
|
||||
agent_id = fields.Integer(allow_none=True)
|
||||
type = fields.String(required=True)
|
||||
content = fields.String(required=True)
|
||||
tags = fields.List(fields.String(), allow_none=True)
|
||||
importance = fields.Integer()
|
||||
created_at = fields.DateTime(dump_only=True)
|
||||
updated_at = fields.DateTime(dump_only=True)
|
||||
|
||||
|
||||
class MemoryCreateSchema(Schema):
|
||||
type = fields.String(required=True)
|
||||
content = fields.String(required=True)
|
||||
tags = fields.List(fields.String(), allow_none=True)
|
||||
importance = fields.Integer()
|
||||
|
||||
|
||||
class MemoryUpdateSchema(Schema):
|
||||
content = fields.String()
|
||||
tags = fields.List(fields.String())
|
||||
importance = fields.Integer()
|
||||
@@ -0,0 +1,20 @@
|
||||
from marshmallow import Schema, fields
|
||||
|
||||
|
||||
class MessageSchema(Schema):
|
||||
id = fields.Integer(dump_only=True)
|
||||
conversation_id = fields.Integer()
|
||||
role = fields.String(required=True)
|
||||
content = fields.String(required=True)
|
||||
tokens = fields.Integer(allow_none=True)
|
||||
model = fields.String(allow_none=True)
|
||||
tool_calls = fields.List(fields.Dict(), allow_none=True)
|
||||
metadata = fields.Dict(allow_none=True)
|
||||
created_at = fields.DateTime(dump_only=True)
|
||||
|
||||
|
||||
class MessageCreateSchema(Schema):
|
||||
role = fields.String(required=True)
|
||||
content = fields.String(required=True)
|
||||
tool_calls = fields.List(fields.Dict(), allow_none=True)
|
||||
metadata = fields.Dict(allow_none=True)
|
||||
@@ -0,0 +1,24 @@
|
||||
from marshmallow import Schema, fields
|
||||
|
||||
|
||||
class ModelSchema(Schema):
|
||||
id = fields.Integer(dump_only=True)
|
||||
provider = fields.String(required=True)
|
||||
name = fields.String(required=True)
|
||||
model_id = fields.String(required=True)
|
||||
api_key = fields.String(allow_none=True, load_only=True)
|
||||
base_url = fields.String(allow_none=True)
|
||||
is_default = fields.Boolean()
|
||||
is_active = fields.Boolean()
|
||||
created_at = fields.DateTime(dump_only=True)
|
||||
updated_at = fields.DateTime(dump_only=True)
|
||||
|
||||
|
||||
class ModelCreateSchema(Schema):
|
||||
provider = fields.String(required=True)
|
||||
name = fields.String(required=True)
|
||||
model_id = fields.String(required=True)
|
||||
api_key = fields.String(allow_none=True, load_only=True)
|
||||
base_url = fields.String(allow_none=True)
|
||||
is_default = fields.Boolean()
|
||||
is_active = fields.Boolean()
|
||||
@@ -0,0 +1,15 @@
|
||||
from marshmallow import Schema, fields
|
||||
|
||||
|
||||
class SkillSchema(Schema):
|
||||
id = fields.Integer(dump_only=True)
|
||||
name = fields.String(required=True)
|
||||
version = fields.String()
|
||||
description = fields.String(allow_none=True)
|
||||
author = fields.String(allow_none=True)
|
||||
repository = fields.String(allow_none=True)
|
||||
config = fields.Dict(allow_none=True)
|
||||
is_installed = fields.Boolean()
|
||||
is_active = fields.Boolean()
|
||||
created_at = fields.DateTime(dump_only=True)
|
||||
updated_at = fields.DateTime(dump_only=True)
|
||||
@@ -0,0 +1,30 @@
|
||||
from marshmallow import Schema, fields
|
||||
|
||||
|
||||
class ToolSchema(Schema):
|
||||
id = fields.Integer(dump_only=True)
|
||||
name = fields.String(required=True)
|
||||
type = fields.String(required=True)
|
||||
description = fields.String(allow_none=True)
|
||||
config = fields.Dict(allow_none=True)
|
||||
is_active = fields.Boolean()
|
||||
created_at = fields.DateTime(dump_only=True)
|
||||
updated_at = fields.DateTime(dump_only=True)
|
||||
|
||||
|
||||
class ToolCreateSchema(Schema):
|
||||
name = fields.String(required=True)
|
||||
type = fields.String(required=True)
|
||||
description = fields.String(allow_none=True)
|
||||
config = fields.Dict(allow_none=True)
|
||||
|
||||
|
||||
class AgentToolSchema(Schema):
|
||||
id = fields.Integer(dump_only=True)
|
||||
agent_id = fields.Integer()
|
||||
tool_id = fields.Integer()
|
||||
created_at = fields.DateTime(dump_only=True)
|
||||
|
||||
|
||||
class AgentToolCreateSchema(Schema):
|
||||
tool_id = fields.Integer(required=True)
|
||||
@@ -0,0 +1,23 @@
|
||||
from marshmallow import Schema, fields
|
||||
|
||||
|
||||
class UserSchema(Schema):
|
||||
id = fields.Integer(dump_only=True)
|
||||
username = fields.String(required=True)
|
||||
email = fields.String(allow_none=True)
|
||||
avatar = fields.String(allow_none=True)
|
||||
is_active = fields.Boolean()
|
||||
is_admin = fields.Boolean()
|
||||
created_at = fields.DateTime(dump_only=True)
|
||||
updated_at = fields.DateTime(dump_only=True)
|
||||
|
||||
|
||||
class UserCreateSchema(Schema):
|
||||
username = fields.String(required=True)
|
||||
password = fields.String(required=True, load_only=True)
|
||||
email = fields.String(allow_none=True)
|
||||
|
||||
|
||||
class UserUpdateSchema(Schema):
|
||||
email = fields.String(allow_none=True)
|
||||
avatar = fields.String(allow_none=True)
|
||||
@@ -0,0 +1,21 @@
|
||||
from marshmallow import Schema, fields
|
||||
|
||||
|
||||
class WorkspaceSchema(Schema):
|
||||
id = fields.Integer(dump_only=True)
|
||||
user_id = fields.Integer()
|
||||
name = fields.String(required=True)
|
||||
description = fields.String(allow_none=True)
|
||||
is_default = fields.Boolean()
|
||||
created_at = fields.DateTime(dump_only=True)
|
||||
updated_at = fields.DateTime(dump_only=True)
|
||||
|
||||
|
||||
class WorkspaceCreateSchema(Schema):
|
||||
name = fields.String(required=True)
|
||||
description = fields.String(allow_none=True)
|
||||
|
||||
|
||||
class WorkspaceUpdateSchema(Schema):
|
||||
name = fields.String()
|
||||
description = fields.String()
|
||||
Reference in New Issue
Block a user