forrasdk 0.3.9__py3-none-any.whl
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.
- forrasdk/__init__.py +25 -0
- forrasdk/__init__.pyi +78 -0
- forrasdk/py.typed +0 -0
- forrasdk-0.3.9.dist-info/METADATA +74 -0
- forrasdk-0.3.9.dist-info/RECORD +274 -0
- forrasdk-0.3.9.dist-info/WHEEL +5 -0
- forrasdk-0.3.9.dist-info/entry_points.txt +3 -0
- forrasdk-0.3.9.dist-info/top_level.txt +4 -0
- scoutmcp/__init__.py +10 -0
- scoutmcp/__main__.py +58 -0
- scoutmcp/config.py +9 -0
- scoutmcp/exceptions.py +23 -0
- scoutmcp/native_mcp_server.py +159 -0
- scoutsdk/__init__.py +110 -0
- scoutsdk/__init__.pyi +78 -0
- scoutsdk/agents/__init__.py +0 -0
- scoutsdk/agents/scout_agent.py +27 -0
- scoutsdk/agents/scout_agent_runner.py +102 -0
- scoutsdk/api/__init__.py +147 -0
- scoutsdk/api/api.py +1175 -0
- scoutsdk/api/assistants.py +755 -0
- scoutsdk/api/audio.py +248 -0
- scoutsdk/api/auth.py +125 -0
- scoutsdk/api/automations.py +231 -0
- scoutsdk/api/base_content_metadata.py +12 -0
- scoutsdk/api/chat.py +564 -0
- scoutsdk/api/chat_tools_helper.py +311 -0
- scoutsdk/api/constants.py +1 -0
- scoutsdk/api/conversations.py +241 -0
- scoutsdk/api/current_assistant.py +269 -0
- scoutsdk/api/deprecated.py +65 -0
- scoutsdk/api/external_services.py +36 -0
- scoutsdk/api/function_progress.py +135 -0
- scoutsdk/api/groups.py +107 -0
- scoutsdk/api/image.py +238 -0
- scoutsdk/api/memories.py +197 -0
- scoutsdk/api/project_helpers.py +508 -0
- scoutsdk/api/projects.py +89 -0
- scoutsdk/api/protected.py +118 -0
- scoutsdk/api/py.typed +0 -0
- scoutsdk/api/request_utils.py +217 -0
- scoutsdk/api/retry_config.py +150 -0
- scoutsdk/api/search.py +74 -0
- scoutsdk/api/skills.py +359 -0
- scoutsdk/api/types/__init__.py +1 -0
- scoutsdk/api/types/assistants.py +11 -0
- scoutsdk/api/types/chat.py +36 -0
- scoutsdk/api/types/images.py +47 -0
- scoutsdk/api/users.py +191 -0
- scoutsdk/api/utils.py +296 -0
- scoutsdk/api/video.py +217 -0
- scoutsdk/api/vision.py +69 -0
- scoutsdk/cli/__init__.py +5 -0
- scoutsdk/cli/__main__.py +6 -0
- scoutsdk/cli/cli.py +74 -0
- scoutsdk/cli/config.py +21 -0
- scoutsdk/cli/error_handler.py +103 -0
- scoutsdk/cli/modules/__init__.py +0 -0
- scoutsdk/cli/modules/apps_module.py +140 -0
- scoutsdk/cli/modules/assistants_module.py +486 -0
- scoutsdk/cli/modules/base_module.py +25 -0
- scoutsdk/cli/modules/chat_completion_module.py +116 -0
- scoutsdk/cli/modules/functions_module.py +362 -0
- scoutsdk/cli/modules/mcp_module.py +75 -0
- scoutsdk/cli/modules/pkg_module.py +237 -0
- scoutsdk/cli/modules/skills_module.py +300 -0
- scoutsdk/cli/modules/skills_sync_module.py +394 -0
- scoutsdk/cli/modules/sync_module.py +823 -0
- scoutsdk/cli/py.typed +0 -0
- scoutsdk/cli/types.py +11 -0
- scoutsdk/cli/utils.py +64 -0
- scoutsdk/crawlers/__init__.py +0 -0
- scoutsdk/crawlers/crawlers.py +264 -0
- scoutsdk/crawlers/crawlers_impl/__init__.py +0 -0
- scoutsdk/crawlers/crawlers_impl/sharepoint_crawler.py +247 -0
- scoutsdk/crawlers/indexers.py +156 -0
- scoutsdk/crawlers/indexers_impl/__init__.py +0 -0
- scoutsdk/crawlers/indexers_impl/document_indexer.py +83 -0
- scoutsdk/crawlers/indexers_impl/spreadsheet_indexer.py +62 -0
- scoutsdk/crawlers/indexers_impl/summary_indexer.py +35 -0
- scoutsdk/crawlers/indexers_impl/utils/__init__.py +0 -0
- scoutsdk/crawlers/indexers_impl/utils/assistant_data_utils.py +78 -0
- scoutsdk/crawlers/indexers_impl/utils/content_extractor.py +95 -0
- scoutsdk/crawlers/indexers_impl/utils/embedding_utils.py +41 -0
- scoutsdk/crawlers/models.py +43 -0
- scoutsdk/data/.env.template +1 -0
- scoutsdk/data/__init__.py +5 -0
- scoutsdk/data/assistants/README.md +230 -0
- scoutsdk/data/assistants/__init__.py +5 -0
- scoutsdk/data/assistants/advanced/README.md +213 -0
- scoutsdk/data/assistants/advanced/assistants_template.json +28 -0
- scoutsdk/data/assistants/advanced/avatar.jpeg +0 -0
- scoutsdk/data/assistants/advanced/conversation_starters.md +1 -0
- scoutsdk/data/assistants/advanced/data.txt +1 -0
- scoutsdk/data/assistants/advanced/system_prompt.md +25 -0
- scoutsdk/data/assistants/assistants.json +36 -0
- scoutsdk/data/assistants/avatar.jpeg +0 -0
- scoutsdk/data/assistants/basic/assistants_template.json +19 -0
- scoutsdk/data/assistants/basic/avatar.jpeg +0 -0
- scoutsdk/data/assistants/data.txt +1 -0
- scoutsdk/data/assistants/instructions.md +1 -0
- scoutsdk/data/assistants/starter_prompt.md +1 -0
- scoutsdk/data/assistants/with-function/assistants_template.json +23 -0
- scoutsdk/data/assistants/with-function/avatar.jpeg +0 -0
- scoutsdk/data/assistants/with-micro-app/assistants_template.json +20 -0
- scoutsdk/data/assistants/with-micro-app/avatar.jpeg +0 -0
- scoutsdk/data/assistants/with-micro-app-and-function/assistants_template.json +29 -0
- scoutsdk/data/assistants/with-micro-app-and-function/avatar.jpeg +0 -0
- scoutsdk/data/functions/.pkgignore +7 -0
- scoutsdk/data/functions/CLAUDE.md +3 -0
- scoutsdk/data/functions/Makefile +55 -0
- scoutsdk/data/functions/README.md +347 -0
- scoutsdk/data/functions/__init__.py +5 -0
- scoutsdk/data/functions/custom_function_working_with_micro_app.py +117 -0
- scoutsdk/data/functions/document_chunker_template.py +42 -0
- scoutsdk/data/functions/function_template.py +21 -0
- scoutsdk/data/functions/main.py +6 -0
- scoutsdk/data/functions/mise.toml +11 -0
- scoutsdk/data/functions/pyproject.toml +14 -0
- scoutsdk/data/functions/requirements.txt +1 -0
- scoutsdk/data/functions/uv.lock +578 -0
- scoutsdk/data/functions/webhook_template.py +22 -0
- scoutsdk/data/micro-apps/CLAUDE.md +110 -0
- scoutsdk/data/micro-apps/advanced/.eslintignore +4 -0
- scoutsdk/data/micro-apps/advanced/.eslintrc.cjs +28 -0
- scoutsdk/data/micro-apps/advanced/.prettierignore +16 -0
- scoutsdk/data/micro-apps/advanced/.prettierrc +10 -0
- scoutsdk/data/micro-apps/advanced/.tool-versions +1 -0
- scoutsdk/data/micro-apps/advanced/Makefile +53 -0
- scoutsdk/data/micro-apps/advanced/bun.lock +1840 -0
- scoutsdk/data/micro-apps/advanced/index.html +13 -0
- scoutsdk/data/micro-apps/advanced/package.json +41 -0
- scoutsdk/data/micro-apps/advanced/prettier.config.cjs +12 -0
- scoutsdk/data/micro-apps/advanced/src/App.css +60 -0
- scoutsdk/data/micro-apps/advanced/src/App.tsx +174 -0
- scoutsdk/data/micro-apps/advanced/src/assets/app.svg +6 -0
- scoutsdk/data/micro-apps/advanced/src/constants/index.ts +3 -0
- scoutsdk/data/micro-apps/advanced/src/hooks/use-scout-translation.ts +36 -0
- scoutsdk/data/micro-apps/advanced/src/hooks/useFileHandling.ts +139 -0
- scoutsdk/data/micro-apps/advanced/src/index.css +29 -0
- scoutsdk/data/micro-apps/advanced/src/locales/strings.json +22 -0
- scoutsdk/data/micro-apps/advanced/src/main.tsx +13 -0
- scoutsdk/data/micro-apps/advanced/src/types.ts +15 -0
- scoutsdk/data/micro-apps/advanced/src/utils/file.ts +14 -0
- scoutsdk/data/micro-apps/advanced/src/vite-env.d.ts +2 -0
- scoutsdk/data/micro-apps/advanced/tsconfig.json +41 -0
- scoutsdk/data/micro-apps/advanced/vite.config.ts +15 -0
- scoutsdk/data/micro-apps/basic/.eslintignore +4 -0
- scoutsdk/data/micro-apps/basic/.eslintrc.cjs +28 -0
- scoutsdk/data/micro-apps/basic/.prettierignore +16 -0
- scoutsdk/data/micro-apps/basic/.prettierrc +10 -0
- scoutsdk/data/micro-apps/basic/.tool-versions +1 -0
- scoutsdk/data/micro-apps/basic/Makefile +53 -0
- scoutsdk/data/micro-apps/basic/index.html +13 -0
- scoutsdk/data/micro-apps/basic/package.json +41 -0
- scoutsdk/data/micro-apps/basic/prettier.config.cjs +12 -0
- scoutsdk/data/micro-apps/basic/src/App.tsx +59 -0
- scoutsdk/data/micro-apps/basic/src/hooks/use-scout-translation.ts +36 -0
- scoutsdk/data/micro-apps/basic/src/index.css +24 -0
- scoutsdk/data/micro-apps/basic/src/locales/strings.json +10 -0
- scoutsdk/data/micro-apps/basic/src/main.tsx +13 -0
- scoutsdk/data/micro-apps/basic/src/vite-env.d.ts +2 -0
- scoutsdk/data/micro-apps/basic/tsconfig.json +41 -0
- scoutsdk/data/micro-apps/basic/vite.config.ts +15 -0
- scoutsdk/data/skills/skills_mcp_template.json +29 -0
- scoutsdk/data/skills/skills_template.json +14 -0
- scoutsdk/opencode/__init__.py +3 -0
- scoutsdk/opencode/opencode.py +69 -0
- scoutsdk/py.typed +0 -0
- scoutsdk/shared/__init__.py +0 -0
- scoutsdk/shared/assistants_types.py +24 -0
- scoutsdk/shared/audio_types.py +6 -0
- scoutsdk/shared/conversations_types.py +24 -0
- scoutsdk/shared/defines.py +19 -0
- scoutsdk/shared/document_chunker_types.py +53 -0
- scoutsdk/shared/protected_types.py +5 -0
- scoutsdk/shared/upload_files.py +64 -0
- scouttypes/__init__.py +178 -0
- scouttypes/api/__init__.py +1 -0
- scouttypes/api/async_job_response.py +8 -0
- scouttypes/assistants/__init__.py +69 -0
- scouttypes/assistants/allowed_avatar_content_types_response.py +10 -0
- scouttypes/assistants/assistant_custom_function.py +13 -0
- scouttypes/assistants/assistant_custom_functions_response.py +9 -0
- scouttypes/assistants/assistant_data.py +12 -0
- scouttypes/assistants/assistant_data_list.py +11 -0
- scouttypes/assistants/assistant_data_response.py +12 -0
- scouttypes/assistants/assistant_data_response_item.py +11 -0
- scouttypes/assistants/assistant_data_update_response.py +9 -0
- scouttypes/assistants/assistant_delete_response.py +9 -0
- scouttypes/assistants/assistant_file.py +16 -0
- scouttypes/assistants/assistant_file_edit_response.py +9 -0
- scouttypes/assistants/assistant_file_upload_response.py +11 -0
- scouttypes/assistants/assistant_function_execution_response.py +10 -0
- scouttypes/assistants/assistant_info_response.py +30 -0
- scouttypes/assistants/assistant_public_response.py +22 -0
- scouttypes/assistants/assistant_response.py +10 -0
- scouttypes/assistants/assistant_search_data_response.py +16 -0
- scouttypes/assistants/assistant_upload_image_response.py +10 -0
- scouttypes/assistants/assistant_user_token_response.py +13 -0
- scouttypes/assistants/content_retrieving_strategy.py +13 -0
- scouttypes/assistants/create_assistant_data_response.py +11 -0
- scouttypes/assistants/delegation_request.py +12 -0
- scouttypes/assistants/delete_assistant_data_response.py +9 -0
- scouttypes/assistants/file_types.py +13 -0
- scouttypes/assistants/generate_assistant_avatar_response.py +9 -0
- scouttypes/assistants/link_request.py +12 -0
- scouttypes/assistants/model_visibility.py +17 -0
- scouttypes/assistants/query_assistant_data_response.py +10 -0
- scouttypes/assistants/shared_group.py +10 -0
- scouttypes/assistants/shared_user.py +13 -0
- scouttypes/assistants/skill_response.py +31 -0
- scouttypes/assistants/update_assistant_request.py +28 -0
- scouttypes/audio/__init__.py +9 -0
- scouttypes/audio/audio_object.py +11 -0
- scouttypes/audio/audio_transcription_request.py +14 -0
- scouttypes/audio/audio_transcription_response.py +10 -0
- scouttypes/automations/__init__.py +33 -0
- scouttypes/automations/automation.py +60 -0
- scouttypes/automations/automation_run.py +47 -0
- scouttypes/chat/__init__.py +3 -0
- scouttypes/chat/chat_completion_request.py +18 -0
- scouttypes/chat/chat_completion_response.py +12 -0
- scouttypes/chat/llm_model.py +21 -0
- scouttypes/constants/__init__.py +11 -0
- scouttypes/constants/brand_variables.py +29 -0
- scouttypes/constants/content_types.py +3 -0
- scouttypes/constants/variable_names.py +36 -0
- scouttypes/conversations/__init__.py +48 -0
- scouttypes/conversations/conversation_message.py +22 -0
- scouttypes/conversations/conversation_message_content_part.py +35 -0
- scouttypes/conversations/conversation_message_content_part_image_param.py +15 -0
- scouttypes/conversations/conversation_message_content_part_image_ref_param.py +12 -0
- scouttypes/conversations/conversation_message_content_part_input_audio_param.py +12 -0
- scouttypes/conversations/conversation_message_content_part_input_audio_ref_param.py +12 -0
- scouttypes/conversations/conversation_message_content_part_pdf_param.py +12 -0
- scouttypes/conversations/conversation_message_content_part_pdf_ref_param.py +12 -0
- scouttypes/conversations/conversation_message_content_part_text_param.py +11 -0
- scouttypes/conversations/conversation_response.py +18 -0
- scouttypes/conversations/create_conversation_request.py +16 -0
- scouttypes/conversations/delete_conversation_response.py +9 -0
- scouttypes/conversations/message_metadata.py +15 -0
- scouttypes/conversations/message_reasoning.py +12 -0
- scouttypes/conversations/message_role.py +13 -0
- scouttypes/conversations/message_tool_call.py +12 -0
- scouttypes/conversations/metadata_file.py +10 -0
- scouttypes/conversations/metadata_tool_call.py +12 -0
- scouttypes/conversations/signed_upload_url_response.py +23 -0
- scouttypes/conversations/stream_error.py +11 -0
- scouttypes/conversations/stream_finish_reason.py +11 -0
- scouttypes/conversations/stream_tool_call.py +15 -0
- scouttypes/conversations/stream_tool_call_status.py +9 -0
- scouttypes/conversations/tool_call_function.py +10 -0
- scouttypes/conversations/upload_mode.py +9 -0
- scouttypes/document_chunker/__init__.py +6 -0
- scouttypes/document_chunker/abstract_document_chunker.py +32 -0
- scouttypes/document_chunker/chunk.py +14 -0
- scouttypes/document_chunker/chunk_metadata.py +16 -0
- scouttypes/document_chunker/document_chunks.py +13 -0
- scouttypes/images/__init__.py +7 -0
- scouttypes/images/image_aspect_ratio.py +10 -0
- scouttypes/images/image_background.py +11 -0
- scouttypes/images/image_file_object.py +6 -0
- scouttypes/images/image_quality.py +11 -0
- scouttypes/images/image_request.py +23 -0
- scouttypes/images/image_resolution.py +10 -0
- scouttypes/images/image_response.py +14 -0
- scouttypes/protected/__init__.py +5 -0
- scouttypes/protected/signed_url_response.py +9 -0
- scouttypes/py.typed +0 -0
- scouttypes/skills/__init__.py +2 -0
- scouttypes/skills/build_skill_request.py +14 -0
- scouttypes/skills/build_skill_response.py +11 -0
- scouttypes/upload_files.py +71 -0
forrasdk/__init__.py
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"""Forra SDK - Python client library for Forra."""
|
|
2
|
+
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
import scoutsdk
|
|
6
|
+
|
|
7
|
+
_ALIASES = {
|
|
8
|
+
"ForraAPI": "ScoutAPI",
|
|
9
|
+
"ForraCLI": "ScoutCLI",
|
|
10
|
+
"ForraAgent": "ScoutAgent",
|
|
11
|
+
"ForraAgentRunner": "ScoutAgentRunner",
|
|
12
|
+
"forra": "scout",
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def __getattr__(name: str) -> Any:
|
|
17
|
+
target = _ALIASES.get(name, name)
|
|
18
|
+
return getattr(scoutsdk, target)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def __dir__() -> list[str]:
|
|
22
|
+
return sorted(set(scoutsdk.__all__) | set(_ALIASES))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
__all__ = [*scoutsdk.__all__, *_ALIASES.keys()]
|
forrasdk/__init__.pyi
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
from scoutsdk import (
|
|
2
|
+
ScoutAPI as ScoutAPI,
|
|
3
|
+
ScoutCLI as ScoutCLI,
|
|
4
|
+
ScoutAgent as ScoutAgent,
|
|
5
|
+
ScoutAgentRunner as ScoutAgentRunner,
|
|
6
|
+
scout as scout,
|
|
7
|
+
forra as forra,
|
|
8
|
+
AssistantFile as AssistantFile,
|
|
9
|
+
AssistantResponse as AssistantResponse,
|
|
10
|
+
SCOUT_CUSTOM_FUNCTION_CONTENT_TYPE as SCOUT_CUSTOM_FUNCTION_CONTENT_TYPE,
|
|
11
|
+
SignedUploadUrlResponse as SignedUploadUrlResponse,
|
|
12
|
+
VariableNames as VariableNames,
|
|
13
|
+
AutomationResponse as AutomationResponse,
|
|
14
|
+
AutomationRunResponse as AutomationRunResponse,
|
|
15
|
+
AutomationPayload as AutomationPayload,
|
|
16
|
+
AutomationPayloadType as AutomationPayloadType,
|
|
17
|
+
AutomationRunStatus as AutomationRunStatus,
|
|
18
|
+
ChunkMetadata as ChunkMetadata,
|
|
19
|
+
Chunk as Chunk,
|
|
20
|
+
DocumentChunks as DocumentChunks,
|
|
21
|
+
AbstractDocumentChunker as AbstractDocumentChunker,
|
|
22
|
+
AudioTranscriptionResponse as AudioTranscriptionResponse,
|
|
23
|
+
SignedUrlResponse as SignedUrlResponse,
|
|
24
|
+
indexers as indexers,
|
|
25
|
+
Indexer as Indexer,
|
|
26
|
+
crawlers as crawlers,
|
|
27
|
+
Crawler as Crawler,
|
|
28
|
+
CrawlerConfiguration as CrawlerConfiguration,
|
|
29
|
+
Document as Document,
|
|
30
|
+
opencode as opencode,
|
|
31
|
+
HtmlFunctionProgress as HtmlFunctionProgress,
|
|
32
|
+
StepsFunctionProgress as StepsFunctionProgress,
|
|
33
|
+
StepStatus as StepStatus,
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
ForraAPI = ScoutAPI
|
|
37
|
+
ForraCLI = ScoutCLI
|
|
38
|
+
ForraAgent = ScoutAgent
|
|
39
|
+
ForraAgentRunner = ScoutAgentRunner
|
|
40
|
+
|
|
41
|
+
__all__ = [
|
|
42
|
+
"ForraAPI",
|
|
43
|
+
"ForraCLI",
|
|
44
|
+
"ForraAgent",
|
|
45
|
+
"ForraAgentRunner",
|
|
46
|
+
"forra",
|
|
47
|
+
"ScoutAPI",
|
|
48
|
+
"ScoutCLI",
|
|
49
|
+
"ScoutAgent",
|
|
50
|
+
"ScoutAgentRunner",
|
|
51
|
+
"scout",
|
|
52
|
+
"AssistantResponse",
|
|
53
|
+
"SCOUT_CUSTOM_FUNCTION_CONTENT_TYPE",
|
|
54
|
+
"AssistantFile",
|
|
55
|
+
"SignedUploadUrlResponse",
|
|
56
|
+
"VariableNames",
|
|
57
|
+
"AutomationResponse",
|
|
58
|
+
"AutomationRunResponse",
|
|
59
|
+
"AutomationPayload",
|
|
60
|
+
"AutomationPayloadType",
|
|
61
|
+
"AutomationRunStatus",
|
|
62
|
+
"ChunkMetadata",
|
|
63
|
+
"Chunk",
|
|
64
|
+
"DocumentChunks",
|
|
65
|
+
"AbstractDocumentChunker",
|
|
66
|
+
"AudioTranscriptionResponse",
|
|
67
|
+
"SignedUrlResponse",
|
|
68
|
+
"indexers",
|
|
69
|
+
"Indexer",
|
|
70
|
+
"crawlers",
|
|
71
|
+
"Crawler",
|
|
72
|
+
"CrawlerConfiguration",
|
|
73
|
+
"Document",
|
|
74
|
+
"opencode",
|
|
75
|
+
"HtmlFunctionProgress",
|
|
76
|
+
"StepsFunctionProgress",
|
|
77
|
+
"StepStatus",
|
|
78
|
+
]
|
forrasdk/py.typed
ADDED
|
File without changes
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: forrasdk
|
|
3
|
+
Version: 0.3.9
|
|
4
|
+
Summary: Python package for forrasdk
|
|
5
|
+
Author-email: Mirego <info@mirego.com>
|
|
6
|
+
Requires-Python: >=3.11
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
Requires-Dist: requests>=2.32.2
|
|
9
|
+
Requires-Dist: pydantic>=2.11.7
|
|
10
|
+
Requires-Dist: python-dotenv>=1.0.1
|
|
11
|
+
Requires-Dist: jsonschema>=4.23.0
|
|
12
|
+
Requires-Dist: tenacity>=9.0.0
|
|
13
|
+
Requires-Dist: ansi2html>=1.9.2
|
|
14
|
+
Provides-Extra: dev
|
|
15
|
+
Requires-Dist: build>=1.2.2.post1; extra == "dev"
|
|
16
|
+
Requires-Dist: pytest; extra == "dev"
|
|
17
|
+
Requires-Dist: mypy; extra == "dev"
|
|
18
|
+
Requires-Dist: ruff; extra == "dev"
|
|
19
|
+
Requires-Dist: types-requests; extra == "dev"
|
|
20
|
+
Requires-Dist: types-jsonschema; extra == "dev"
|
|
21
|
+
Provides-Extra: mcp
|
|
22
|
+
Requires-Dist: mcp>=1.13.1; extra == "mcp"
|
|
23
|
+
|
|
24
|
+
# Forra SDK Package
|
|
25
|
+
|
|
26
|
+
Helper python package to interact with the Forra platform.
|
|
27
|
+
|
|
28
|
+
## Installation
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
pip install forrasdk
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Usage
|
|
35
|
+
|
|
36
|
+
```python
|
|
37
|
+
from forrasdk import ForraAPI
|
|
38
|
+
|
|
39
|
+
forra = ForraAPI(base_url="your_forra_base_url", api_access_token="you_api_access_token")
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Retry Logic
|
|
43
|
+
|
|
44
|
+
The SDK automatically retries failed API requests with exponential backoff to handle transient failures. This improves reliability when dealing with network issues or temporary server problems.
|
|
45
|
+
|
|
46
|
+
### Default Behavior
|
|
47
|
+
|
|
48
|
+
- **Max attempts**: 3 (initial request + 2 retries)
|
|
49
|
+
- **Wait time**: Exponential backoff with multiplier=1, min=4s, max=10s
|
|
50
|
+
- **Retry on**:
|
|
51
|
+
- Rate limiting (429)
|
|
52
|
+
- Server errors (500, 502, 503, 504)
|
|
53
|
+
- Network errors (ConnectionError, Timeout)
|
|
54
|
+
- **Does NOT retry on**:
|
|
55
|
+
- Client errors (400, 401, 403, 404, etc.)
|
|
56
|
+
- Successful responses
|
|
57
|
+
|
|
58
|
+
### How It Works
|
|
59
|
+
|
|
60
|
+
All HTTP methods (GET, POST, PUT, DELETE, PATCH) in the SDK automatically retry on transient failures:
|
|
61
|
+
|
|
62
|
+
```python
|
|
63
|
+
from forrasdk import ForraAPI
|
|
64
|
+
|
|
65
|
+
forra = ForraAPI(base_url="your_url", api_access_token="your_token")
|
|
66
|
+
|
|
67
|
+
# This request will automatically retry up to 3 times on 5xx errors
|
|
68
|
+
response = forra.chat.completion(messages="Hello!")
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
The retry logic is transparent - you don't need to change your code. If a request fails with a retryable error, the SDK will:
|
|
72
|
+
1. Wait with exponential backoff (4s, then 8s, then 10s max)
|
|
73
|
+
2. Retry the request
|
|
74
|
+
3. Return the result if successful, or raise the exception after exhausting retries
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
forrasdk/__init__.py,sha256=qbneJXqf8csUTRXPFc-Pyaxel7e4J5PYXb5VVABLu-0,511
|
|
2
|
+
forrasdk/__init__.pyi,sha256=SbaS9wVFCjt6LsBiC-0AG7pUzX85g2l5ZJlRPr32N7M,2180
|
|
3
|
+
forrasdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
scoutmcp/__init__.py,sha256=NiKo_kyGk-mqfyFDXb_P-4pilKklC5frFV_h2WSnNGA,245
|
|
5
|
+
scoutmcp/__main__.py,sha256=1LXPR2FmThTEVnotfjin5DZ7Xjk-a-iuzvU6y6prmsE,1723
|
|
6
|
+
scoutmcp/config.py,sha256=4WmkhC9rjTpMRiI1-DcVV-hRM7G9HdLC2Q8HNIVrxm8,309
|
|
7
|
+
scoutmcp/exceptions.py,sha256=aYE_WPh-kvtJDG1SDRdwh-hKLVu6gAdto9vRWnOPAyA,656
|
|
8
|
+
scoutmcp/native_mcp_server.py,sha256=HHgdnFjd_R4AYnwOkAHJUW2yz0v3tXTaE3JqHcDlQ78,6042
|
|
9
|
+
scoutsdk/__init__.py,sha256=MFMgxhd7gAqQJFjwCIMCuDnPdMd11pIm8CXDe1NmvlQ,3346
|
|
10
|
+
scoutsdk/__init__.pyi,sha256=cF88MvER5r3oRge1HB1L_RBopK_J4Jyj_nBPIeNRZBA,2473
|
|
11
|
+
scoutsdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
+
scoutsdk/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
+
scoutsdk/agents/scout_agent.py,sha256=oKqtFJunR3yuDo7Av9j38O0m0lZozxIJQ3Cn_THhuPI,973
|
|
14
|
+
scoutsdk/agents/scout_agent_runner.py,sha256=fu8WzS6Qr8P1ghezvh8NNeUu4gjUdAqn-wWZzK5PwhQ,3680
|
|
15
|
+
scoutsdk/api/__init__.py,sha256=j5Oi3pVA14DZNl1sdOHCJQZIiKN7vZouOoIerX4mmMQ,3532
|
|
16
|
+
scoutsdk/api/api.py,sha256=ZdbPsWQ3alwjbC_4vWscaj4eUI32EDWrb0Z1fKT5HpM,43115
|
|
17
|
+
scoutsdk/api/assistants.py,sha256=S6_kOMYZbXSxG0RxVwsey6ktmGiloyVFnhIHzCvK-fY,29479
|
|
18
|
+
scoutsdk/api/audio.py,sha256=uMpii_LcBjClZsFN1LefltLILZJkjKjBsMUOkGQRJ1I,9202
|
|
19
|
+
scoutsdk/api/auth.py,sha256=hXq7ey9De22-Sc56GgVPE0gRv0DsyE1U3y8PBonEk2Y,4408
|
|
20
|
+
scoutsdk/api/automations.py,sha256=G-j5LdbiXC5SAwM2ymVckEAKIInW_piKYhTBKU7SKq8,7879
|
|
21
|
+
scoutsdk/api/base_content_metadata.py,sha256=C_j1O3UQbnWvF8IfrT-0vCL--ChAqIMFgHs8SEyTIDE,280
|
|
22
|
+
scoutsdk/api/chat.py,sha256=98bE1v8aLaPEotvLaoYj1QRJINlp7cCVp-8jTXIZJiQ,22652
|
|
23
|
+
scoutsdk/api/chat_tools_helper.py,sha256=tuxTA9fI-o_F8SENE7uky8Lv3-2p6YOHXNO11rCmLPM,12691
|
|
24
|
+
scoutsdk/api/constants.py,sha256=t6-vU5JJiT-MmmvNzOkjqFPzjkpRy5V_8xDmgTSNfX8,61
|
|
25
|
+
scoutsdk/api/conversations.py,sha256=02puWtlsUh5LuTLobPiST5itFvXfiwqRt6OClB94fvI,8591
|
|
26
|
+
scoutsdk/api/current_assistant.py,sha256=q1mUlEdaSKEVzbyAxyx7aop9_FvtIMwruOfBT_wzheY,8658
|
|
27
|
+
scoutsdk/api/deprecated.py,sha256=sy8_T6VzIRqC50pa8qu8VesSG9NAr2legB8QnEfbezg,1988
|
|
28
|
+
scoutsdk/api/external_services.py,sha256=-fKS3oqteCfudVdYVl7rKC-BhhW_9RyHSyjpK5UIqaY,1276
|
|
29
|
+
scoutsdk/api/function_progress.py,sha256=-48CkWVv_MDyDQwQbSiRJ7gH1PTVEGFMkJIJ8uHNG3o,4305
|
|
30
|
+
scoutsdk/api/groups.py,sha256=gyrwTWeTU_MJCbFB3567f0u_3UthGnReQ2wfOHcqRAE,3833
|
|
31
|
+
scoutsdk/api/image.py,sha256=Ykp5Y6EFxlILPXDWS7VdxXMeBtvzKWgEHO3HzUH3HTA,8949
|
|
32
|
+
scoutsdk/api/memories.py,sha256=xrONJnZ5_S5BeqzTc8eRVVne6nGr4_8VTQhA-BPQ2Ns,6304
|
|
33
|
+
scoutsdk/api/project_helpers.py,sha256=q3sNloEmnk-wnVvfAZ2yJl_zPvc0PILLb1OYzt7G1Aw,20158
|
|
34
|
+
scoutsdk/api/projects.py,sha256=fzyuKKbAGIyGgbojn-KgpvjbH-YW_NxZvy4ZZNKYu_4,3295
|
|
35
|
+
scoutsdk/api/protected.py,sha256=PhexfoO3KTW-Pleg3vdke655VeSPxkXgR-ece8h8qME,3886
|
|
36
|
+
scoutsdk/api/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
+
scoutsdk/api/request_utils.py,sha256=5KEERwGPYGGO9FKPoiYu3JMYzj4O0_4h5NcLXLmZQ4I,7580
|
|
38
|
+
scoutsdk/api/retry_config.py,sha256=VVTtoDxh_kRj8Zt-UpDgFlGrGN7HkJ2C1jTzRoxHt1g,4653
|
|
39
|
+
scoutsdk/api/search.py,sha256=odCJgQoj86ibJt1eYXembjkijYzxiMpNBe8lvhp22-M,2232
|
|
40
|
+
scoutsdk/api/skills.py,sha256=1b7Fc5Vym9HhwvwzztCgigFpjAqD6E8sJIpV7h7ytJI,13995
|
|
41
|
+
scoutsdk/api/users.py,sha256=xIaPPllpwpisNg3t4WmROYU3jqTzLxn3mUNJi4J7iK0,6731
|
|
42
|
+
scoutsdk/api/utils.py,sha256=23zvPsUzOBjnB-pSFyM9LOU07umPOcEiFU-iml5Fztg,11141
|
|
43
|
+
scoutsdk/api/video.py,sha256=IVAPvNTSulyKar6oFSkgVUouUP-v5QtrRDez2qt91jk,7504
|
|
44
|
+
scoutsdk/api/vision.py,sha256=Hfc7eaN2bbaNc7jrxhKsRC92pLWbzPZ1hNoA5aJCYDk,2146
|
|
45
|
+
scoutsdk/api/types/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
46
|
+
scoutsdk/api/types/assistants.py,sha256=8KOAgILPIykTsrUrrc_8Bh2w6dqjzmEwBXXqmVWtJ1s,248
|
|
47
|
+
scoutsdk/api/types/chat.py,sha256=LdqeH0o-iQDorqGYU-1LeSAv3lPQXYvoxLJzmAqRBpo,920
|
|
48
|
+
scoutsdk/api/types/images.py,sha256=LQBFb7e5vQ3zOavJs1-Mg-WlbL-HMyvhYm8493MZEfA,1084
|
|
49
|
+
scoutsdk/cli/__init__.py,sha256=Y_6kABMAP0SCImm7FMBDaEculfY6wK2NbKnmR3i4DQ4,101
|
|
50
|
+
scoutsdk/cli/__main__.py,sha256=5larFc46Fx66u_pocle_LSmFSaAIu059bboe5-8hzZs,104
|
|
51
|
+
scoutsdk/cli/cli.py,sha256=MWDyQ7dOH_s-RsH6M-CxGWG0I0iM1VGl5brCTTeCNvg,2495
|
|
52
|
+
scoutsdk/cli/config.py,sha256=SUkF9WHZIPRDWng8Rz5X7Hmy8TEPi8h3Z-u5MAASyb8,660
|
|
53
|
+
scoutsdk/cli/error_handler.py,sha256=42i3lXhwInKs_cV7-Ei6-uh8RZzxFWTHPzoMZop3BbQ,2559
|
|
54
|
+
scoutsdk/cli/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
|
+
scoutsdk/cli/types.py,sha256=NukAiUQSJ5ShjiWTXXtnyLjKmgNKGmXEBlEzaIj3UGg,184
|
|
56
|
+
scoutsdk/cli/utils.py,sha256=fKzjmdpg0AjYF7ErDiVXlN72qTotz2lFO5RV9fzZuw8,1887
|
|
57
|
+
scoutsdk/cli/modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
|
+
scoutsdk/cli/modules/apps_module.py,sha256=zvPaNMxKgtyl_PEVWTmCes5hIsLNtW0w6fLhvZfZITs,5079
|
|
59
|
+
scoutsdk/cli/modules/assistants_module.py,sha256=croECRSmlvs0wWdaEbN2SHaPtL26TcPU-3C0sCVxkjQ,18352
|
|
60
|
+
scoutsdk/cli/modules/base_module.py,sha256=uKp5cwpggfTOEh0QRduvFYF6E0ePQ9Qk0k2oVv6hh20,739
|
|
61
|
+
scoutsdk/cli/modules/chat_completion_module.py,sha256=UcXn-0l39wS0DV5QqFlZGGUIAg0yOeEnrVuMH42Wt9Y,4203
|
|
62
|
+
scoutsdk/cli/modules/functions_module.py,sha256=HNCIy7X-88PK_E_rGc-1Tp8fvJ1VVfOuz0D55AI4bXc,13126
|
|
63
|
+
scoutsdk/cli/modules/mcp_module.py,sha256=cTAT3vF-ihZ7WPbKFldGjOTcfsVCbfh2y1SqwEw00MA,2270
|
|
64
|
+
scoutsdk/cli/modules/pkg_module.py,sha256=5iD5ESM0hMcs0ZcYKEUjrh6ryJTOpnDVwVR7hdunQr4,8814
|
|
65
|
+
scoutsdk/cli/modules/skills_module.py,sha256=zOlybhtp6xM7vaMzWbj3RCD9Yg6r4koEWd8aDwAiTAk,11321
|
|
66
|
+
scoutsdk/cli/modules/skills_sync_module.py,sha256=gt4occkA0s8Iv1F4fL4hn7pwkQ3t_yIA1oiBSQvNhHQ,14260
|
|
67
|
+
scoutsdk/cli/modules/sync_module.py,sha256=i-ypfAnPsCdWQdIR1OaL2QJMX8nxAFWug1zG0UnL5DQ,30889
|
|
68
|
+
scoutsdk/crawlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
69
|
+
scoutsdk/crawlers/crawlers.py,sha256=9NRFFsMYNGF1NRjkMPdexfhBpNwKPFOXOR6fj-4LdHE,9318
|
|
70
|
+
scoutsdk/crawlers/indexers.py,sha256=Dr7sNdj22YoPMwTlovpsiPkcyPjDhBR3up9vrJxAlyM,5472
|
|
71
|
+
scoutsdk/crawlers/models.py,sha256=sFJnj-ilIlVVqvyGigA75zIykaqiUgT9jgCFj6RAmZg,1044
|
|
72
|
+
scoutsdk/crawlers/crawlers_impl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
73
|
+
scoutsdk/crawlers/crawlers_impl/sharepoint_crawler.py,sha256=fbueN7pizgxAx97XPJ2zcsc1a0ZSyDAFkWOQAhcZm6A,8507
|
|
74
|
+
scoutsdk/crawlers/indexers_impl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
75
|
+
scoutsdk/crawlers/indexers_impl/document_indexer.py,sha256=8gGWiE_P6CPDoJJHxUbvfsYR8MxLTj8-3iX8EuI9rPo,3108
|
|
76
|
+
scoutsdk/crawlers/indexers_impl/spreadsheet_indexer.py,sha256=NBo7FQWAodfGh_T25ju_-zoc6pTVwtWdz1EB0JLCe_k,2411
|
|
77
|
+
scoutsdk/crawlers/indexers_impl/summary_indexer.py,sha256=QoglCcxCFlHQX5kL4AgN3hhd3T5crowZvhadnu4vsOg,1134
|
|
78
|
+
scoutsdk/crawlers/indexers_impl/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
79
|
+
scoutsdk/crawlers/indexers_impl/utils/assistant_data_utils.py,sha256=3T24Khd3gf3eCfO5kmFvNi9McuZN_ufo6Bfal6XE-B0,2593
|
|
80
|
+
scoutsdk/crawlers/indexers_impl/utils/content_extractor.py,sha256=6wzBMfZLEAmrFRBCGsJQ8zONHyPN9AuKbO2cnf9l1jk,5408
|
|
81
|
+
scoutsdk/crawlers/indexers_impl/utils/embedding_utils.py,sha256=bM0IvDPG3JvBUVLunenG2edTePMnN7AYdMWQcuIVArA,1282
|
|
82
|
+
scoutsdk/data/.env.template,sha256=6zbrg-3WbiwcivhDV-QFaBbJvKSNDzz2Wo-0f_n54XQ,215
|
|
83
|
+
scoutsdk/data/__init__.py,sha256=Xh4I_znaBaaknv-SH5I_cIFkVcJ9Epmazvu8pA2QOrg,93
|
|
84
|
+
scoutsdk/data/assistants/README.md,sha256=5ti84EGSrD-_qW_PEoREDAtKgejUVVujyt3ePp9rXbo,8382
|
|
85
|
+
scoutsdk/data/assistants/__init__.py,sha256=Xh4I_znaBaaknv-SH5I_cIFkVcJ9Epmazvu8pA2QOrg,93
|
|
86
|
+
scoutsdk/data/assistants/assistants.json,sha256=z0Tn1Vli3AHWpwMJNGSxgreR1v7UsFY_toj1HuQGrOM,1439
|
|
87
|
+
scoutsdk/data/assistants/avatar.jpeg,sha256=owyEHXVhpitz2pyCEfJhMW5HaR-MwV2A-RFMbO7MpZU,31209
|
|
88
|
+
scoutsdk/data/assistants/data.txt,sha256=RJYg0zaTkkOYy0jcvuJPEbeuagRhGIzx7T1mOqWDNyo,28
|
|
89
|
+
scoutsdk/data/assistants/instructions.md,sha256=m9fuLOxno90YC05RHBfidzPsXTRIVLCPoziik_uQQdk,45
|
|
90
|
+
scoutsdk/data/assistants/starter_prompt.md,sha256=xxTPf74_KROMmNcPQNaMXfsREgNvxKcbx98SSdQ6pkg,38
|
|
91
|
+
scoutsdk/data/assistants/advanced/README.md,sha256=zIzfZeG38ZNaUXzi75gJ6T9Nt-5aZcRIA5ONGcsRQtw,7906
|
|
92
|
+
scoutsdk/data/assistants/advanced/assistants_template.json,sha256=8bf4gYRf4L29AdejDnxSLffJRB9hLaCFwNXGDjqOyks,788
|
|
93
|
+
scoutsdk/data/assistants/advanced/avatar.jpeg,sha256=owyEHXVhpitz2pyCEfJhMW5HaR-MwV2A-RFMbO7MpZU,31209
|
|
94
|
+
scoutsdk/data/assistants/advanced/conversation_starters.md,sha256=xxTPf74_KROMmNcPQNaMXfsREgNvxKcbx98SSdQ6pkg,38
|
|
95
|
+
scoutsdk/data/assistants/advanced/data.txt,sha256=RJYg0zaTkkOYy0jcvuJPEbeuagRhGIzx7T1mOqWDNyo,28
|
|
96
|
+
scoutsdk/data/assistants/advanced/system_prompt.md,sha256=s1mL9WnmntnMYuP1CnPfK5B4VW1F2y68atrvDMUW9d4,912
|
|
97
|
+
scoutsdk/data/assistants/basic/assistants_template.json,sha256=Gs8Sq9iR7M8ig2f0rg1YpkFt6qRoCB1K-UFRfTbUaEI,580
|
|
98
|
+
scoutsdk/data/assistants/basic/avatar.jpeg,sha256=owyEHXVhpitz2pyCEfJhMW5HaR-MwV2A-RFMbO7MpZU,31209
|
|
99
|
+
scoutsdk/data/assistants/with-function/assistants_template.json,sha256=-UVUeIiCZ6VOJdNLRjmJDAK9D-UJA5glaF1wotm4drI,805
|
|
100
|
+
scoutsdk/data/assistants/with-function/avatar.jpeg,sha256=owyEHXVhpitz2pyCEfJhMW5HaR-MwV2A-RFMbO7MpZU,31209
|
|
101
|
+
scoutsdk/data/assistants/with-micro-app/assistants_template.json,sha256=zpEhIzynawqjW_MfVwONKLFXtuTs-1IO774Eq6vaYqs,568
|
|
102
|
+
scoutsdk/data/assistants/with-micro-app/avatar.jpeg,sha256=owyEHXVhpitz2pyCEfJhMW5HaR-MwV2A-RFMbO7MpZU,31209
|
|
103
|
+
scoutsdk/data/assistants/with-micro-app-and-function/assistants_template.json,sha256=9kWxjkSWgKKgTPbg-l5iQ9HqP-ZTuwknG3kUgKAlL1k,1037
|
|
104
|
+
scoutsdk/data/assistants/with-micro-app-and-function/avatar.jpeg,sha256=owyEHXVhpitz2pyCEfJhMW5HaR-MwV2A-RFMbO7MpZU,31209
|
|
105
|
+
scoutsdk/data/functions/.pkgignore,sha256=NC5IEnWAWKV2BbC0xCZNN02kZFCFLJ55_EQOni2oxME,60
|
|
106
|
+
scoutsdk/data/functions/CLAUDE.md,sha256=LGAPI5BsRubt5B3QXtW3Bc5eYoJYOKV6q8Xor61lP1w,99
|
|
107
|
+
scoutsdk/data/functions/Makefile,sha256=c0NruKlOjNyWmyE0SaQXWWV17OfjA0g0CGzmdeEkEkA,1531
|
|
108
|
+
scoutsdk/data/functions/README.md,sha256=OPU8hLjGpuE4lHpryN-gNKClqR_W_lC5FdSlNg4gWrc,9964
|
|
109
|
+
scoutsdk/data/functions/__init__.py,sha256=Xh4I_znaBaaknv-SH5I_cIFkVcJ9Epmazvu8pA2QOrg,93
|
|
110
|
+
scoutsdk/data/functions/custom_function_working_with_micro_app.py,sha256=GwNdikqujBWxN93_g16V9aTFumb9Et9wSmJHxNbuQX0,3541
|
|
111
|
+
scoutsdk/data/functions/document_chunker_template.py,sha256=8DpQCOWkT5gAoeaze1_v-YvQ6zLQ-aUzv0Gcn0dnMJg,1648
|
|
112
|
+
scoutsdk/data/functions/function_template.py,sha256=6TbND6o-NQTBMeeY305Kd1k0-IrzJWvGE_xg5KUc4RA,857
|
|
113
|
+
scoutsdk/data/functions/main.py,sha256=dBttpb6-c7t4_8GSN7YBX0h-9vH3DfeZcov0p0JFvFw,196
|
|
114
|
+
scoutsdk/data/functions/mise.toml,sha256=1WL28g9GQwB0rc14Xyt41OWz9JipGuMuTVXDdSO2AQQ,148
|
|
115
|
+
scoutsdk/data/functions/pyproject.toml,sha256=dZYkCLoL2poRLVu13Q3CV507yQLc235TlMNCsg41tKU,226
|
|
116
|
+
scoutsdk/data/functions/requirements.txt,sha256=rUDTw9PI2zpHmH9lHgyob24wRhYz_0a5EENyHswgxKg,16
|
|
117
|
+
scoutsdk/data/functions/uv.lock,sha256=5-0G-Nj4849wjvxtuHf6bF6sRboMSgwSLk7qDJPqY9Y,112999
|
|
118
|
+
scoutsdk/data/functions/webhook_template.py,sha256=ssWNypTOlecY5aDbu0imchv9QDZwNWuHePQnfgdFqjI,753
|
|
119
|
+
scoutsdk/data/micro-apps/CLAUDE.md,sha256=VIGUS2seVmhl8xTkKFY43KDeo52mamizZkTZakCQ7vE,3116
|
|
120
|
+
scoutsdk/data/micro-apps/advanced/.eslintignore,sha256=Xo7kOtnXujgmFSjRx5T--MsK8UKAwGqkqxg7hc344Tw,39
|
|
121
|
+
scoutsdk/data/micro-apps/advanced/.eslintrc.cjs,sha256=2UouaPTyXFiTXJ01hcnUeQSS3Deg7o_RXKRtYuLG0qA,776
|
|
122
|
+
scoutsdk/data/micro-apps/advanced/.prettierignore,sha256=dWwCyrTbJIaKG2X-DYpskznVOqCowAovcHU6DCMdUd8,160
|
|
123
|
+
scoutsdk/data/micro-apps/advanced/.prettierrc,sha256=iK3ZwJGK7gqNFak8gw09pm3UAWL1hTI_7FFxxMjo50w,209
|
|
124
|
+
scoutsdk/data/micro-apps/advanced/.tool-versions,sha256=Zijcp5pA61j7wwzdZSadgLPNPP7XR6cCpoodsjdDAxI,9
|
|
125
|
+
scoutsdk/data/micro-apps/advanced/Makefile,sha256=CZyu9gA1j3aymEFru2Uw8s5FSBO8FzisEXAFvILRaVI,1458
|
|
126
|
+
scoutsdk/data/micro-apps/advanced/bun.lock,sha256=qhqAciywb-Lia0LExJCoSp8MMYoJKoDwwKCHScdiHiU,249154
|
|
127
|
+
scoutsdk/data/micro-apps/advanced/index.html,sha256=0oZEOcVrd7XjHlJvlOXUf53dxloxoThG1ZsKIL8PL3Y,364
|
|
128
|
+
scoutsdk/data/micro-apps/advanced/package.json,sha256=yljaWYM4cEPsVo2fpu7jlaWDKfWbB8EdGFwsNkWQ5cU,1334
|
|
129
|
+
scoutsdk/data/micro-apps/advanced/prettier.config.cjs,sha256=l1py4G7y-i8WgQi5jpF0jqw0Jkdvmra0e3HXiwuOywg,265
|
|
130
|
+
scoutsdk/data/micro-apps/advanced/tsconfig.json,sha256=VbGKZ9PBcmhfDz2FfVl0vV_l4aDMCL9iOLDqNu1MKJQ,788
|
|
131
|
+
scoutsdk/data/micro-apps/advanced/vite.config.ts,sha256=Olu6HjGZOtJ2E_fObu6eVhbvWhZ4hJojORDx9NLIdXg,520
|
|
132
|
+
scoutsdk/data/micro-apps/advanced/src/App.css,sha256=EUcOu_AJqScsMjwJ73kId5_PY_QgV2duEx6LPNxIyN8,880
|
|
133
|
+
scoutsdk/data/micro-apps/advanced/src/App.tsx,sha256=iQI99BSpogwrBc1X_xvZ4K_dUz3e1KXqSZbfDFNNGbo,5665
|
|
134
|
+
scoutsdk/data/micro-apps/advanced/src/index.css,sha256=VuUV6FhF9rFr_UB-mxY-ww65CSmdL8FjTkZc0dsiWvk,546
|
|
135
|
+
scoutsdk/data/micro-apps/advanced/src/main.tsx,sha256=_MJ33FFgd8nhCPoRe7BvdLvnnVnKXhF1tb2J1xl08gY,314
|
|
136
|
+
scoutsdk/data/micro-apps/advanced/src/types.ts,sha256=yxyBX52WdnJkoIeSGQQCWQ4Lfv6nSc_K_0gnsUTxzwY,408
|
|
137
|
+
scoutsdk/data/micro-apps/advanced/src/vite-env.d.ts,sha256=hmDTUT6nksktoagDBWzVZ_2x7O2Mqx8QHIxZyoMS0is,88
|
|
138
|
+
scoutsdk/data/micro-apps/advanced/src/assets/app.svg,sha256=IruOfosNq7Z0o5dMG1YEBsU-FBtvSM36d8E4CZfpihY,590
|
|
139
|
+
scoutsdk/data/micro-apps/advanced/src/constants/index.ts,sha256=qIOFL2JAiqa12u9akHk0ldT0nEPuiMkflAR6W6wIK5s,104
|
|
140
|
+
scoutsdk/data/micro-apps/advanced/src/hooks/use-scout-translation.ts,sha256=_KXjrzlJpiDjrR9Juib_op0C9o7Bxpwq2Sf6VGJEd68,996
|
|
141
|
+
scoutsdk/data/micro-apps/advanced/src/hooks/useFileHandling.ts,sha256=9DAFgTtLMIVsGtp3W5BO0-29P6UXho0Oey7zqE9hxEY,4251
|
|
142
|
+
scoutsdk/data/micro-apps/advanced/src/locales/strings.json,sha256=3i_BPL-B3pcuN8AYcAlGS0HZbY-0nOu3QeCzkVoxO_Y,568
|
|
143
|
+
scoutsdk/data/micro-apps/advanced/src/utils/file.ts,sha256=-vAcHuEUBl5NIB_4zRXVW6DzihIRqzLIgXjlfEy09z8,415
|
|
144
|
+
scoutsdk/data/micro-apps/basic/.eslintignore,sha256=Xo7kOtnXujgmFSjRx5T--MsK8UKAwGqkqxg7hc344Tw,39
|
|
145
|
+
scoutsdk/data/micro-apps/basic/.eslintrc.cjs,sha256=2UouaPTyXFiTXJ01hcnUeQSS3Deg7o_RXKRtYuLG0qA,776
|
|
146
|
+
scoutsdk/data/micro-apps/basic/.prettierignore,sha256=dWwCyrTbJIaKG2X-DYpskznVOqCowAovcHU6DCMdUd8,160
|
|
147
|
+
scoutsdk/data/micro-apps/basic/.prettierrc,sha256=iK3ZwJGK7gqNFak8gw09pm3UAWL1hTI_7FFxxMjo50w,209
|
|
148
|
+
scoutsdk/data/micro-apps/basic/.tool-versions,sha256=Zijcp5pA61j7wwzdZSadgLPNPP7XR6cCpoodsjdDAxI,9
|
|
149
|
+
scoutsdk/data/micro-apps/basic/Makefile,sha256=CZyu9gA1j3aymEFru2Uw8s5FSBO8FzisEXAFvILRaVI,1458
|
|
150
|
+
scoutsdk/data/micro-apps/basic/index.html,sha256=0oZEOcVrd7XjHlJvlOXUf53dxloxoThG1ZsKIL8PL3Y,364
|
|
151
|
+
scoutsdk/data/micro-apps/basic/package.json,sha256=yljaWYM4cEPsVo2fpu7jlaWDKfWbB8EdGFwsNkWQ5cU,1334
|
|
152
|
+
scoutsdk/data/micro-apps/basic/prettier.config.cjs,sha256=l1py4G7y-i8WgQi5jpF0jqw0Jkdvmra0e3HXiwuOywg,265
|
|
153
|
+
scoutsdk/data/micro-apps/basic/tsconfig.json,sha256=VbGKZ9PBcmhfDz2FfVl0vV_l4aDMCL9iOLDqNu1MKJQ,788
|
|
154
|
+
scoutsdk/data/micro-apps/basic/vite.config.ts,sha256=Olu6HjGZOtJ2E_fObu6eVhbvWhZ4hJojORDx9NLIdXg,520
|
|
155
|
+
scoutsdk/data/micro-apps/basic/src/App.tsx,sha256=wpkUU31-B2cKPaGkZoBFzvF5J3XvN9l7DqseEYNTDac,1447
|
|
156
|
+
scoutsdk/data/micro-apps/basic/src/index.css,sha256=iv2K8VT4WDS8FQOWhgvecAAcWTxi7Q09wPLH87vhQQg,424
|
|
157
|
+
scoutsdk/data/micro-apps/basic/src/main.tsx,sha256=_MJ33FFgd8nhCPoRe7BvdLvnnVnKXhF1tb2J1xl08gY,314
|
|
158
|
+
scoutsdk/data/micro-apps/basic/src/vite-env.d.ts,sha256=hmDTUT6nksktoagDBWzVZ_2x7O2Mqx8QHIxZyoMS0is,88
|
|
159
|
+
scoutsdk/data/micro-apps/basic/src/hooks/use-scout-translation.ts,sha256=_KXjrzlJpiDjrR9Juib_op0C9o7Bxpwq2Sf6VGJEd68,996
|
|
160
|
+
scoutsdk/data/micro-apps/basic/src/locales/strings.json,sha256=hEMbHErFL3620g2cOvupIHqC75j5rrJT3thBzNkOwuM,356
|
|
161
|
+
scoutsdk/data/skills/skills_mcp_template.json,sha256=TLwWsj4xeIPrsUdJEQ7X0CD4s432T4_0n6tEvWpKKCc,700
|
|
162
|
+
scoutsdk/data/skills/skills_template.json,sha256=JkRYktAr-iD30mC9QDxPqRrIzjPGWW4WI2nS8d_47aY,327
|
|
163
|
+
scoutsdk/opencode/__init__.py,sha256=zH6_EmbBxaKIeh8e0yjXe4NfdFnVq9xc0JotdhZO9Ts,55
|
|
164
|
+
scoutsdk/opencode/opencode.py,sha256=oJWHmErifNMPhyAwNMgJieadPC09NV0BjeQnYCWnOcw,2313
|
|
165
|
+
scoutsdk/shared/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
166
|
+
scoutsdk/shared/assistants_types.py,sha256=GsCpshxjiptJsHgVURGUSt36Vm_zsmw5CQGCxfOXKqs,496
|
|
167
|
+
scoutsdk/shared/audio_types.py,sha256=I7oyKL7_nos6jTmtsY2inJz9ibuhkA8A29NpUhKjj8c,113
|
|
168
|
+
scoutsdk/shared/conversations_types.py,sha256=FJgo4Wk9VzyywVQ3MEbPcONngF2YYz-QqP1jJrk0LRE,636
|
|
169
|
+
scoutsdk/shared/defines.py,sha256=Gz4xXoY2z7oSMGesQSt2f8jfdVMHFkTdntUEDybtBBc,738
|
|
170
|
+
scoutsdk/shared/document_chunker_types.py,sha256=NvIqVuEWSj0kEx1bhBZDW0eqYGSd8RuIa74zOZFru_0,1438
|
|
171
|
+
scoutsdk/shared/protected_types.py,sha256=IBiT7AHGbSS3kDCW0oG34_L5UfhJjRfJAxqYcgfz2Ak,82
|
|
172
|
+
scoutsdk/shared/upload_files.py,sha256=CElAueFSWbfylHgH3a19RMWVCjDq21xLcDWbTOdpGj4,1875
|
|
173
|
+
scouttypes/__init__.py,sha256=JirZwe_XFiqNsaW31zf2cWi8otvFsJ07E8JckXRlHb4,6019
|
|
174
|
+
scouttypes/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
175
|
+
scouttypes/upload_files.py,sha256=LqNNjCdIo83zHugVTmGklyxqDmwI0szu1suZYcTpE2I,2005
|
|
176
|
+
scouttypes/api/__init__.py,sha256=PhwioPPHMOU6MYVbyRRc-HDMRcRXSZk6KdjX6TLnfog,69
|
|
177
|
+
scouttypes/api/async_job_response.py,sha256=cSZLKonW5bAZpLBHSQ-4qIdPV7yK_Zb4UxAQ2RNjBaw,128
|
|
178
|
+
scouttypes/assistants/__init__.py,sha256=thqgsAzczHzw8fyW7O2cGRSUdhdEUrRo0R6rUgfbr80,3011
|
|
179
|
+
scouttypes/assistants/allowed_avatar_content_types_response.py,sha256=wPC0nGmCwMPlmyeAQw8-zrJxnDWvCK0Hl53izxS9HpI,253
|
|
180
|
+
scouttypes/assistants/assistant_custom_function.py,sha256=wOE8OcPyihtSkYxQjnGYMbcBBvZvuet3TRZE0ai0DEs,331
|
|
181
|
+
scouttypes/assistants/assistant_custom_functions_response.py,sha256=HlQAyhaUvCWh_JnC_HLHRl_ndVOuF6cBSL6soE5bAEk,241
|
|
182
|
+
scouttypes/assistants/assistant_data.py,sha256=9jnxNYgJhyIHcgcVmiyvdIH98UTdapHHpfN9G2fu1pk,253
|
|
183
|
+
scouttypes/assistants/assistant_data_list.py,sha256=jGlotx1EsdkQ3qUFComsBi8PptRAv6YzfQbIdEfTYq0,233
|
|
184
|
+
scouttypes/assistants/assistant_data_response.py,sha256=jBoVex8e56m6gIVza6tu9K2PgaDKwrrgSeGQgKMymgY,282
|
|
185
|
+
scouttypes/assistants/assistant_data_response_item.py,sha256=rmTqKYlQmTqtoiSVjBU9VYHSL1p2wQRa0Ez9G0_aBlM,233
|
|
186
|
+
scouttypes/assistants/assistant_data_update_response.py,sha256=zyNhTxa8r1j3w3RSHWEji4aP3JSj7gXgZhxIgY_a-F8,162
|
|
187
|
+
scouttypes/assistants/assistant_delete_response.py,sha256=367isBVsXvo5sFGoKKLA8qh-FvRTqmxeRMQ7K3TsZuw,189
|
|
188
|
+
scouttypes/assistants/assistant_file.py,sha256=VdNUu9OAJBdAusnDQp1OJnawyjWAKaoCZla-at-qn38,378
|
|
189
|
+
scouttypes/assistants/assistant_file_edit_response.py,sha256=S0bYHqJn-Yv3JekdY341vqfRhwhzNpDZkQ0UXhq9Yhc,193
|
|
190
|
+
scouttypes/assistants/assistant_file_upload_response.py,sha256=MOheP4x0R-3zSYyfl_dGh8JFRSbeN95eMV2pY_iIPGA,236
|
|
191
|
+
scouttypes/assistants/assistant_function_execution_response.py,sha256=aJXUlGstiENVyh4gOjUMih4p4Y3vV9hUBbv9qgl6HPw,233
|
|
192
|
+
scouttypes/assistants/assistant_info_response.py,sha256=JQTGN__Yy7tcElBfp2IOJutgv13NH94s6jGrHvhwr-Q,919
|
|
193
|
+
scouttypes/assistants/assistant_public_response.py,sha256=9cQH3VEschGja43W9L61fFIsUFUBX8LNx2zrtmSVZ8s,538
|
|
194
|
+
scouttypes/assistants/assistant_response.py,sha256=fHP0ukvMquDW6gvqF8indB_ywiar_uMtCSqfIduUunc,199
|
|
195
|
+
scouttypes/assistants/assistant_search_data_response.py,sha256=xx2wXP7mGxReJAZ1T3D1zkXvd_13sLZf40vxvlDa0Tc,407
|
|
196
|
+
scouttypes/assistants/assistant_upload_image_response.py,sha256=y4q8qLlXtdBCtp39aGqcOiLibI3ifVRLi2tvk3C91YQ,227
|
|
197
|
+
scouttypes/assistants/assistant_user_token_response.py,sha256=GL21fsQXivRiQJzDPnypRsTFvRVPwQO93fxed5g-UtY,343
|
|
198
|
+
scouttypes/assistants/content_retrieving_strategy.py,sha256=ugBaXMRYDxuSj09ukDjesRCswECeJhdYRLXGrjwO6ss,374
|
|
199
|
+
scouttypes/assistants/create_assistant_data_response.py,sha256=xFPxyvXzqAGxh6ybcpvRmpIfYKI9pnt-ClWpNYDSwMI,218
|
|
200
|
+
scouttypes/assistants/delegation_request.py,sha256=8ThZyXSHi5IwMXOxeg4FIutoXuCx0DiwGynzRPowB-c,258
|
|
201
|
+
scouttypes/assistants/delete_assistant_data_response.py,sha256=6JOgjXtqLhg47dYULxs7B632B__ZwDSNe80Z1p-pW5w,162
|
|
202
|
+
scouttypes/assistants/file_types.py,sha256=H_q1OaTCa0n9rDpCaNYnuw2OBcHclJeIIcjWdS6-RbE,303
|
|
203
|
+
scouttypes/assistants/generate_assistant_avatar_response.py,sha256=jgVEZ1eIcoophZYQ8i10ZRtA78WHbUqEO5dB1YjUjOs,215
|
|
204
|
+
scouttypes/assistants/link_request.py,sha256=BxoB8NK6Z0NDtS1ONC8tJg3uUJsLZ5TGOnqVp_GLMZo,241
|
|
205
|
+
scouttypes/assistants/model_visibility.py,sha256=KU7kq7n8DGrlnNvIKTCphmg9hAGT0ExDfMcUnGCglBM,491
|
|
206
|
+
scouttypes/assistants/query_assistant_data_response.py,sha256=OW0RfUPbo1Dzh7HUYUgQmaLtJ-uu6pbs10gtUduP71o,255
|
|
207
|
+
scouttypes/assistants/shared_group.py,sha256=s-QhQyhHmNU9b5TAbCXJ8ijKXgM-E1wgktJh52BPJSM,174
|
|
208
|
+
scouttypes/assistants/shared_user.py,sha256=081aLipcNxq2hz-WXVQkJzYhafmf80psoEIdMUjsJH0,266
|
|
209
|
+
scouttypes/assistants/skill_response.py,sha256=0P15c64wsySAkALBkUD1kTXKe22vRh4YmO19LjDklcE,874
|
|
210
|
+
scouttypes/assistants/update_assistant_request.py,sha256=SFyk0vkO8UGgARrzIkKBZrP8MYY_LNPzyNkwndLjZaY,1033
|
|
211
|
+
scouttypes/audio/__init__.py,sha256=sNcDe-T4Ni0fy1eqveqOY83Ly_J9JOLU2RsnorganYo,275
|
|
212
|
+
scouttypes/audio/audio_object.py,sha256=yYC0md_QZvt5RIQ1DnXxCc1VZz0cPqp_CBpBfKn-_Io,210
|
|
213
|
+
scouttypes/audio/audio_transcription_request.py,sha256=r3d8B0b43erzZEuVbTZoPHO_Uig8enaPlJcgtSkLPKE,351
|
|
214
|
+
scouttypes/audio/audio_transcription_response.py,sha256=kOK1bbnX_1Ged-kGg3WBya9mSpggQWI3fEOqVKtl6gQ,213
|
|
215
|
+
scouttypes/automations/__init__.py,sha256=KLmmzh9dlpnKz92Vf9Kxgi2kQCjEypi0-pcKDOh-5g4,800
|
|
216
|
+
scouttypes/automations/automation.py,sha256=ga1Y7tL1T0GEo437IrU-UZaNQfaqoGJj1KkIU_-Qsxo,1424
|
|
217
|
+
scouttypes/automations/automation_run.py,sha256=FqdT1eBo24czIoonKzcGrcrOwOeiw170X9c19ao-TNI,1161
|
|
218
|
+
scouttypes/chat/__init__.py,sha256=XjQQ8ESjf_okyQMO2me5Ca5Fnqh6zAtOn43MG35GWPk,215
|
|
219
|
+
scouttypes/chat/chat_completion_request.py,sha256=o0jIUr-5IRswDV_yIW7cXGM-VxSrCe1wCo6gDofcztU,556
|
|
220
|
+
scouttypes/chat/chat_completion_response.py,sha256=RVaGkRcBCrx8iESBSzlia2rRaS_jbE_dOTsKsgkZN2Y,345
|
|
221
|
+
scouttypes/chat/llm_model.py,sha256=b1cEO-sEkXXkKeLsVrvrS7iLgsKIU6Szra1u1MnkpHo,587
|
|
222
|
+
scouttypes/constants/__init__.py,sha256=w94OXQqONWDkoIUuBCCkyoIaury8xcEUw5-3r8mvaKA,312
|
|
223
|
+
scouttypes/constants/brand_variables.py,sha256=WALzyINEsdtKkxrmTOg06jaVnL2kYsOWFn_AW-GOaUg,725
|
|
224
|
+
scouttypes/constants/content_types.py,sha256=wspk0NVq32OzjoPtZ5BH6XwlQtiGYa3xIadOov6H0XE,111
|
|
225
|
+
scouttypes/constants/variable_names.py,sha256=--5KP8Qx3kBkqYsfzVFEKt6j5XH0IpQA8BGt37mHygs,1415
|
|
226
|
+
scouttypes/conversations/__init__.py,sha256=sGrDMboBKJnGx4yEB0kora_xnYlgL0-ewHBDw1io8Es,2522
|
|
227
|
+
scouttypes/conversations/conversation_message.py,sha256=DpNlr3-9_a2Zjb5q_4VzChrYZ5sgyAWzeKboBpS3TfM,861
|
|
228
|
+
scouttypes/conversations/conversation_message_content_part.py,sha256=Ru6iq_wPUHl_DQF7eN4tpp3kqxjCiQcABicRtknDaHM,1247
|
|
229
|
+
scouttypes/conversations/conversation_message_content_part_image_param.py,sha256=Cpmi_6S77Rl0rBwAyUMqX9c5S5z3ZSOTYUVjRqAxaJw,498
|
|
230
|
+
scouttypes/conversations/conversation_message_content_part_image_ref_param.py,sha256=JkLORjzchVfzKBBMRn6eJkVYI3t8567PtdMiTQg1yic,327
|
|
231
|
+
scouttypes/conversations/conversation_message_content_part_input_audio_param.py,sha256=ZHjWkfD6Fo0m-X6N2Qflel89JPPHmfeKV-_QxqiHx3M,310
|
|
232
|
+
scouttypes/conversations/conversation_message_content_part_input_audio_ref_param.py,sha256=WkiZgmghwkj8zIMRLE-aJYwNUGkZu5x9EQKeb0CKFt8,331
|
|
233
|
+
scouttypes/conversations/conversation_message_content_part_pdf_param.py,sha256=0XiHfL-PzvP7wDn0cGmxmneqy_U_I7PsjpzlS9YWQ1w,348
|
|
234
|
+
scouttypes/conversations/conversation_message_content_part_pdf_ref_param.py,sha256=r5vyp-4Lx5qM26edHHGdergB82ZUIqaomdHxyfh3YQQ,315
|
|
235
|
+
scouttypes/conversations/conversation_message_content_part_text_param.py,sha256=Do_AqIS8QWPN_2Ez4JoQGpQBLxKW0V9rmSNvbXwKGc4,280
|
|
236
|
+
scouttypes/conversations/conversation_response.py,sha256=JnKl224c3jq2ZqdjhEmEylHoCX-MClfSCCz4lwVlbIA,524
|
|
237
|
+
scouttypes/conversations/create_conversation_request.py,sha256=mt7vQbHxJNvkblp5Y5RY07n8EKemQn6dviCw2ntYvC4,486
|
|
238
|
+
scouttypes/conversations/delete_conversation_response.py,sha256=syCk0SdvDqzvDmFKJsqdSU844oilwxslHun3eiP5oMs,190
|
|
239
|
+
scouttypes/conversations/message_metadata.py,sha256=Q7iYk80LAGE3Ii6uO_ZBqdYnWXnBVPj8_mZ__VHAJhQ,479
|
|
240
|
+
scouttypes/conversations/message_reasoning.py,sha256=STFnYC70ZCNdejFBloubkbbkbs1XYGnoMkSVaoxL4Fw,261
|
|
241
|
+
scouttypes/conversations/message_role.py,sha256=v5qo3hcibUXHhreAbRq-R1U4BHo03jlYIWRpw1Z6yrw,215
|
|
242
|
+
scouttypes/conversations/message_tool_call.py,sha256=F22Mzb5dSSpK2Y1xDtfllkqdem3hb0S7ttzGMY29W-A,262
|
|
243
|
+
scouttypes/conversations/metadata_file.py,sha256=r5QGjx5C5aQQSBOiFX8ZG2dwGMNYaHektwJbC47eMK4,186
|
|
244
|
+
scouttypes/conversations/metadata_tool_call.py,sha256=eKmZXKRM90DjOb0S-S1R-5n4uoqe_LFriL_ldm61R6U,301
|
|
245
|
+
scouttypes/conversations/signed_upload_url_response.py,sha256=MsYRPnqT-oCJlvtZ7EwrzTLGqKyKqaZMpyP5Snrb1Ms,677
|
|
246
|
+
scouttypes/conversations/stream_error.py,sha256=uI1LL2QZDiUNW8HLl0w-PJmPv93lUe8PB9NDNz-26qA,207
|
|
247
|
+
scouttypes/conversations/stream_finish_reason.py,sha256=CmnbR1L9CozYBxirWW4n1l-XV-LZrdt5h9FO588vr5k,215
|
|
248
|
+
scouttypes/conversations/stream_tool_call.py,sha256=jv_G7Pp9jnn2TocN8PDRJMclFCG4AWQEZjbCnvqT5sE,373
|
|
249
|
+
scouttypes/conversations/stream_tool_call_status.py,sha256=XMKugDwyeDCBpq8EJ6yolHq6OOlyktHOyqx6bzOq2Go,153
|
|
250
|
+
scouttypes/conversations/tool_call_function.py,sha256=UhAzq3D5Ft5Pgee4fGk_LMrXCCVb9go0hqe8NHYj350,191
|
|
251
|
+
scouttypes/conversations/upload_mode.py,sha256=J66idQf9ZS_4dVr3Cgwi_iRhQM84F1Ua5mRoVb6x9o8,119
|
|
252
|
+
scouttypes/document_chunker/__init__.py,sha256=P35sfN-uW7mRxgFib51c7pImE-d-uNXfprIpaXxME3I,254
|
|
253
|
+
scouttypes/document_chunker/abstract_document_chunker.py,sha256=m9RTdxIrjkkRTEK2kJsRbIidiNxrRaRh3-YZ4k_iP_g,773
|
|
254
|
+
scouttypes/document_chunker/chunk.py,sha256=cDR6Tp9qiffsNApbITg5JsUt5IiBbu-Ew3ZEEiNS2-g,303
|
|
255
|
+
scouttypes/document_chunker/chunk_metadata.py,sha256=gRIzYpSmNZNtEdbSIPuvmKGDbw4sRBXzKLBL7GBjBos,418
|
|
256
|
+
scouttypes/document_chunker/document_chunks.py,sha256=itMaRce8j4-jUjLCply1rURGmbyeTSd-qDiMFXZ8dI8,287
|
|
257
|
+
scouttypes/images/__init__.py,sha256=LetAsHUxGwzC-ZSPLBkyE4OyZbKPhTwa3gGIpMwEktQ,436
|
|
258
|
+
scouttypes/images/image_aspect_ratio.py,sha256=pJ2Ut__dyH-jB8wViM80aiZzNA38UrIGaaIK1i-kanY,169
|
|
259
|
+
scouttypes/images/image_background.py,sha256=P4Zjdsox5uo0BuW0NSx6cEeTCedmtJO9KVk7AZ8MPac,183
|
|
260
|
+
scouttypes/images/image_file_object.py,sha256=fnaJ0sL_Qb3qenLCGrhzdGtYSnRax7_5I2UIavRzvmo,157
|
|
261
|
+
scouttypes/images/image_quality.py,sha256=rXUo_RR27HVapjJ0ABDFGjKPo6hCsRJU6-XCFFrxbts,165
|
|
262
|
+
scouttypes/images/image_request.py,sha256=b1tolO9B9C3tRFplpLOsP6E_PV7w-nAFfuO23G_e9xM,743
|
|
263
|
+
scouttypes/images/image_resolution.py,sha256=LkoQzBZf9YmL6jezLwUbTo6jFFFWzQLYnxgdLhqCORs,143
|
|
264
|
+
scouttypes/images/image_response.py,sha256=0t2o_5QHqkvDR2NSWC-6R9zE35eyGUT_tH1wNnWGTyg,282
|
|
265
|
+
scouttypes/protected/__init__.py,sha256=nIF2uSyky0A7Rd8ulT1BS_DUfyoeuqX-3YJOQzfvpeg,112
|
|
266
|
+
scouttypes/protected/signed_url_response.py,sha256=XpNhI-GsyAiEdLu5G5OvKK9fbNR6Z54ieOI2rHrhuzI,173
|
|
267
|
+
scouttypes/skills/__init__.py,sha256=K4wj1VQkA6-u2c97pX2sGJx2mr1c6ERh4QjXA75QqfQ,147
|
|
268
|
+
scouttypes/skills/build_skill_request.py,sha256=hIXoz6XrzZOuwHaReQEUjBNq3fT1RHEKmirOyciy5uE,322
|
|
269
|
+
scouttypes/skills/build_skill_response.py,sha256=_Swhl2JCkcQdGCA-Uy6jSySaCWLPhJy2HReHxi3Sv00,221
|
|
270
|
+
forrasdk-0.3.9.dist-info/METADATA,sha256=5Bgh9Fewx1ZjNJ4iZ1cyJNHgmeu2vHzAK2cZdIgh9tU,2233
|
|
271
|
+
forrasdk-0.3.9.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
|
|
272
|
+
forrasdk-0.3.9.dist-info/entry_points.txt,sha256=xBf3ast_InKB-Jis5FwZOTiB-igMnNCnxCVEw8hPw6k,94
|
|
273
|
+
forrasdk-0.3.9.dist-info/top_level.txt,sha256=fCBi_oUNQg2kzzUbbkgiecQ28lLnBVfJAnYPzxMZ9TU,38
|
|
274
|
+
forrasdk-0.3.9.dist-info/RECORD,,
|
scoutmcp/__init__.py
ADDED
scoutmcp/__main__.py
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
import json
|
|
3
|
+
import logging
|
|
4
|
+
import asyncio
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
from .native_mcp_server import run_native_server
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def main() -> None:
|
|
10
|
+
logging.basicConfig(
|
|
11
|
+
level=logging.INFO,
|
|
12
|
+
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
# Check for help flag
|
|
16
|
+
if len(sys.argv) >= 2 and sys.argv[1] in ["-h", "--help"]:
|
|
17
|
+
logging.info("Usage: python -m scoutmcp [config.json]")
|
|
18
|
+
logging.info("")
|
|
19
|
+
logging.info("Optional config file containing JSON with:")
|
|
20
|
+
logging.info(" - server_name: Name for the MCP server")
|
|
21
|
+
logging.info(" - scout_mcp_assistant_id: Assistant UUID to use")
|
|
22
|
+
logging.info(" - scout_api_token: API authentication token")
|
|
23
|
+
logging.info(" - scout_api_url: Scout API base URL")
|
|
24
|
+
logging.info("")
|
|
25
|
+
logging.info("Alternatively, use environment variables:")
|
|
26
|
+
logging.info(" - MCP_SERVER_NAME")
|
|
27
|
+
logging.info(" - FORRA_MCP_ASSISTANT_ID")
|
|
28
|
+
logging.info(" - FORRA_API_TOKEN")
|
|
29
|
+
logging.info(" - FORRA_API_URL")
|
|
30
|
+
sys.exit(0)
|
|
31
|
+
|
|
32
|
+
# Parse command line arguments
|
|
33
|
+
config_file = None
|
|
34
|
+
|
|
35
|
+
args = sys.argv[1:]
|
|
36
|
+
for arg in args:
|
|
37
|
+
if not arg.startswith("--"):
|
|
38
|
+
config_file = arg
|
|
39
|
+
break
|
|
40
|
+
|
|
41
|
+
config = {}
|
|
42
|
+
|
|
43
|
+
# Load config file if provided
|
|
44
|
+
if config_file:
|
|
45
|
+
config_path = Path(config_file)
|
|
46
|
+
if not config_path.exists():
|
|
47
|
+
logging.error(f"Config file not found: {config_path}")
|
|
48
|
+
sys.exit(1)
|
|
49
|
+
|
|
50
|
+
with open(config_path, "r") as f:
|
|
51
|
+
config = json.load(f)
|
|
52
|
+
|
|
53
|
+
# Run the native server implementation
|
|
54
|
+
asyncio.run(run_native_server(config))
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
if __name__ == "__main__":
|
|
58
|
+
main()
|
scoutmcp/config.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from pydantic import BaseModel
|
|
2
|
+
from typing import Optional
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class MCPConfig(BaseModel):
|
|
6
|
+
server_name: str # Name for the MCP server
|
|
7
|
+
scout_mcp_assistant_id: str # Assistant UUID to use
|
|
8
|
+
scout_api_token: str # API authentication token
|
|
9
|
+
scout_api_url: Optional[str] = None # Scout API base URL
|
scoutmcp/exceptions.py
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from typing import Any, Optional
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ScoutMCPError(Exception):
|
|
5
|
+
def __init__(
|
|
6
|
+
self,
|
|
7
|
+
message: str,
|
|
8
|
+
assistant_id: Optional[str] = None,
|
|
9
|
+
function_name: Optional[str] = None,
|
|
10
|
+
context: Optional[dict[str, Any]] = None,
|
|
11
|
+
):
|
|
12
|
+
super().__init__(message)
|
|
13
|
+
self.assistant_id = assistant_id
|
|
14
|
+
self.function_name = function_name
|
|
15
|
+
self.context = context or {}
|
|
16
|
+
|
|
17
|
+
def to_dict(self) -> dict[str, Any]:
|
|
18
|
+
return {
|
|
19
|
+
"error": str(self),
|
|
20
|
+
"assistant_id": self.assistant_id,
|
|
21
|
+
"function_name": self.function_name,
|
|
22
|
+
"context": self.context,
|
|
23
|
+
}
|