diff --git a/Dockerfile b/Dockerfile index 526572a1..90d79c19 100644 --- a/Dockerfile +++ b/Dockerfile @@ -49,5 +49,7 @@ ENV PATH="${PATH}:/root/.local/bin:${FLYCTL_INSTALL}/bin" EXPOSE ${PORT} +# nosemgrep ENTRYPOINT [] +# nosemgrep CMD [ "/usr/bin/bash", "-c", "./run-server.sh" ] diff --git a/auth_callout/Dockerfile b/auth_callout/Dockerfile index b6d5ded1..eaa4fd48 100644 --- a/auth_callout/Dockerfile +++ b/auth_callout/Dockerfile @@ -14,5 +14,7 @@ RUN npm install -g pnpm && ls -lah RUN pnpm install --force # Define the command to run your app using pnpm serve +# nosemgrep ENTRYPOINT [] +# nosemgrep CMD ["/bin/sh", "-c", "./run-auth-callout.sh"] diff --git a/auth_callout/package.json b/auth_callout/package.json index 190911c3..622e01f0 100644 --- a/auth_callout/package.json +++ b/auth_callout/package.json @@ -7,8 +7,8 @@ ], "devDependencies": { "tsx": "^4.19.1", - "typescript": "^5.6.2", - "vite": "^5.4.5", + "typescript": "^5.6.3", + "vite": "^5.4.9", "vite-plugin-checker": "^0.8.0" }, "scripts": { diff --git a/auth_callout/packages/auth-service/package.json b/auth_callout/packages/auth-service/package.json index 19da2131..878a391f 100644 --- a/auth_callout/packages/auth-service/package.json +++ b/auth_callout/packages/auth-service/package.json @@ -8,14 +8,14 @@ "type": "module", "main": "./lib/index.js", "devDependencies": { - "@types/node": "^22.5.5" + "@types/node": "^22.7.7" }, "dependencies": { - "@prisma/client": "^5.19.0", + "@prisma/client": "^5.21.1", "nats": "^2.28.2", "nats-jwt": "^0.0.9", "nkeys.js": "^1.1.0", - "prisma": "^5.19.0" + "prisma": "^5.21.1" }, "scripts": { "serve": "tsx src/service.ts" diff --git a/auth_callout/pnpm-lock.yaml b/auth_callout/pnpm-lock.yaml index a20b9701..7125d1c8 100644 --- a/auth_callout/pnpm-lock.yaml +++ b/auth_callout/pnpm-lock.yaml @@ -12,20 +12,20 @@ importers: specifier: ^4.19.1 version: 4.19.1 typescript: - specifier: ^5.6.2 - version: 5.6.2 + specifier: ^5.6.3 + version: 5.6.3 vite: - specifier: ^5.4.5 - version: 5.4.6(@types/node@22.5.5) + specifier: ^5.4.9 + version: 5.4.10(@types/node@22.7.9) vite-plugin-checker: specifier: ^0.8.0 - version: 0.8.0(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)) + version: 0.8.0(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)) packages/auth-service: dependencies: '@prisma/client': - specifier: ^5.19.0 - version: 5.19.1(prisma@5.19.1) + specifier: ^5.21.1 + version: 5.21.1(prisma@5.21.1) nats: specifier: ^2.28.2 version: 2.28.2 @@ -36,12 +36,12 @@ importers: specifier: ^1.1.0 version: 1.1.0 prisma: - specifier: ^5.19.0 - version: 5.19.1 + specifier: ^5.21.1 + version: 5.21.1 devDependencies: '@types/node': - specifier: ^22.5.5 - version: 22.5.5 + specifier: ^22.7.7 + version: 22.7.9 packages: @@ -351,8 +351,8 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@prisma/client@5.19.1': - resolution: {integrity: sha512-x30GFguInsgt+4z5I4WbkZP2CGpotJMUXy+Gl/aaUjHn2o1DnLYNTA+q9XdYmAQZM8fIIkvUiA2NpgosM3fneg==} + '@prisma/client@5.21.1': + resolution: {integrity: sha512-3n+GgbAZYjaS/k0M03yQsQfR1APbr411r74foknnsGpmhNKBG49VuUkxIU6jORgvJPChoD4WC4PqoHImN1FP0w==} engines: {node: '>=16.13'} peerDependencies: prisma: '*' @@ -360,20 +360,20 @@ packages: prisma: optional: true - '@prisma/debug@5.19.1': - resolution: {integrity: sha512-lAG6A6QnG2AskAukIEucYJZxxcSqKsMK74ZFVfCTOM/7UiyJQi48v6TQ47d6qKG3LbMslqOvnTX25dj/qvclGg==} + '@prisma/debug@5.21.1': + resolution: {integrity: sha512-uY8SAhcnORhvgtOrNdvWS98Aq/nkQ9QDUxrWAgW8XrCZaI3j2X7zb7Xe6GQSh6xSesKffFbFlkw0c2luHQviZA==} - '@prisma/engines-version@5.19.1-2.69d742ee20b815d88e17e54db4a2a7a3b30324e3': - resolution: {integrity: sha512-xR6rt+z5LnNqTP5BBc+8+ySgf4WNMimOKXRn6xfNRDSpHvbOEmd7+qAOmzCrddEc4Cp8nFC0txU14dstjH7FXA==} + '@prisma/engines-version@5.21.1-1.bf0e5e8a04cada8225617067eaa03d041e2bba36': + resolution: {integrity: sha512-qvnEflL0//lh44S/T9NcvTMxfyowNeUxTunPcDfKPjyJNrCNf2F1zQLcUv5UHAruECpX+zz21CzsC7V2xAeM7Q==} - '@prisma/engines@5.19.1': - resolution: {integrity: sha512-kR/PoxZDrfUmbbXqqb8SlBBgCjvGaJYMCOe189PEYzq9rKqitQ2fvT/VJ8PDSe8tTNxhc2KzsCfCAL+Iwm/7Cg==} + '@prisma/engines@5.21.1': + resolution: {integrity: sha512-hGVTldUkIkTwoV8//hmnAAiAchi4oMEKD3aW5H2RrnI50tTdwza7VQbTTAyN3OIHWlK5DVg6xV7X8N/9dtOydA==} - '@prisma/fetch-engine@5.19.1': - resolution: {integrity: sha512-pCq74rtlOVJfn4pLmdJj+eI4P7w2dugOnnTXpRilP/6n5b2aZiA4ulJlE0ddCbTPkfHmOL9BfaRgA8o+1rfdHw==} + '@prisma/fetch-engine@5.21.1': + resolution: {integrity: sha512-70S31vgpCGcp9J+mh/wHtLCkVezLUqe/fGWk3J3JWZIN7prdYSlr1C0niaWUyNK2VflLXYi8kMjAmSxUVq6WGQ==} - '@prisma/get-platform@5.19.1': - resolution: {integrity: sha512-sCeoJ+7yt0UjnR+AXZL7vXlg5eNxaFOwC23h0KvW1YIXUoa7+W2ZcAUhoEQBmJTW4GrFqCuZ8YSP0mkDa4k3Zg==} + '@prisma/get-platform@5.21.1': + resolution: {integrity: sha512-sRxjL3Igst3ct+e8ya/x//cDXmpLbZQ5vfps2N4tWl4VGKQAmym77C/IG/psSMsQKszc8uFC/q1dgmKFLUgXZQ==} '@rollup/rollup-android-arm-eabi@4.21.1': resolution: {integrity: sha512-2thheikVEuU7ZxFXubPDOtspKn1x0yqaYQwvALVtEcvFhMifPADBrgRPyHV0TF3b+9BgvgjgagVyvA/UqPZHmg==} @@ -458,8 +458,8 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/node@22.5.5': - resolution: {integrity: sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==} + '@types/node@22.7.9': + resolution: {integrity: sha512-jrTfRC7FM6nChvU7X2KqcrgquofrWLFDeYC1hKfwNWomVvrn7JIksqf344WN2X/y8xrgqBd2dJATZV4GbatBfg==} ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} @@ -655,8 +655,8 @@ packages: resolution: {integrity: sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==} engines: {node: ^10 || ^12 || >=14} - prisma@5.19.1: - resolution: {integrity: sha512-c5K9MiDaa+VAAyh1OiYk76PXOme9s3E992D7kvvIOhCrNsBQfy2mP2QAQtX0WNj140IgG++12kwZpYB9iIydNQ==} + prisma@5.21.1: + resolution: {integrity: sha512-PB+Iqzld/uQBPaaw2UVIk84kb0ITsLajzsxzsadxxl54eaU5Gyl2/L02ysivHxK89t7YrfQJm+Ggk37uvM70oQ==} engines: {node: '>=16.13'} hasBin: true @@ -722,8 +722,8 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - typescript@5.6.2: - resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} + typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} engines: {node: '>=14.17'} hasBin: true @@ -768,8 +768,8 @@ packages: vue-tsc: optional: true - vite@5.4.6: - resolution: {integrity: sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==} + vite@5.4.10: + resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -994,30 +994,30 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - '@prisma/client@5.19.1(prisma@5.19.1)': + '@prisma/client@5.21.1(prisma@5.21.1)': optionalDependencies: - prisma: 5.19.1 + prisma: 5.21.1 - '@prisma/debug@5.19.1': {} + '@prisma/debug@5.21.1': {} - '@prisma/engines-version@5.19.1-2.69d742ee20b815d88e17e54db4a2a7a3b30324e3': {} + '@prisma/engines-version@5.21.1-1.bf0e5e8a04cada8225617067eaa03d041e2bba36': {} - '@prisma/engines@5.19.1': + '@prisma/engines@5.21.1': dependencies: - '@prisma/debug': 5.19.1 - '@prisma/engines-version': 5.19.1-2.69d742ee20b815d88e17e54db4a2a7a3b30324e3 - '@prisma/fetch-engine': 5.19.1 - '@prisma/get-platform': 5.19.1 + '@prisma/debug': 5.21.1 + '@prisma/engines-version': 5.21.1-1.bf0e5e8a04cada8225617067eaa03d041e2bba36 + '@prisma/fetch-engine': 5.21.1 + '@prisma/get-platform': 5.21.1 - '@prisma/fetch-engine@5.19.1': + '@prisma/fetch-engine@5.21.1': dependencies: - '@prisma/debug': 5.19.1 - '@prisma/engines-version': 5.19.1-2.69d742ee20b815d88e17e54db4a2a7a3b30324e3 - '@prisma/get-platform': 5.19.1 + '@prisma/debug': 5.21.1 + '@prisma/engines-version': 5.21.1-1.bf0e5e8a04cada8225617067eaa03d041e2bba36 + '@prisma/get-platform': 5.21.1 - '@prisma/get-platform@5.19.1': + '@prisma/get-platform@5.21.1': dependencies: - '@prisma/debug': 5.19.1 + '@prisma/debug': 5.21.1 '@rollup/rollup-android-arm-eabi@4.21.1': optional: true @@ -1069,7 +1069,7 @@ snapshots: '@types/estree@1.0.5': {} - '@types/node@22.5.5': + '@types/node@22.7.9': dependencies: undici-types: 6.19.8 @@ -1305,9 +1305,9 @@ snapshots: picocolors: 1.0.1 source-map-js: 1.2.0 - prisma@5.19.1: + prisma@5.21.1: dependencies: - '@prisma/engines': 5.19.1 + '@prisma/engines': 5.21.1 optionalDependencies: fsevents: 2.3.3 @@ -1382,13 +1382,13 @@ snapshots: type-fest@0.21.3: {} - typescript@5.6.2: {} + typescript@5.6.3: {} undici-types@6.19.8: {} universalify@2.0.1: {} - vite-plugin-checker@0.8.0(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)): + vite-plugin-checker@0.8.0(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)): dependencies: '@babel/code-frame': 7.22.13 ansi-escapes: 4.3.2 @@ -1400,21 +1400,21 @@ snapshots: npm-run-path: 4.0.1 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 - vite: 5.4.6(@types/node@22.5.5) + vite: 5.4.10(@types/node@22.7.9) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 - vite@5.4.6(@types/node@22.5.5): + vite@5.4.10(@types/node@22.7.9): dependencies: esbuild: 0.21.5 postcss: 8.4.45 rollup: 4.21.1 optionalDependencies: - '@types/node': 22.5.5 + '@types/node': 22.7.9 fsevents: 2.3.3 vscode-jsonrpc@6.0.0: {} diff --git a/fastagency_studio/app.py b/fastagency_studio/app.py index 5205d5d6..7995436e 100644 --- a/fastagency_studio/app.py +++ b/fastagency_studio/app.py @@ -55,7 +55,9 @@ async def get_models_schemas() -> Schemas: async def validate_toolbox(toolbox: Toolbox) -> None: try: - async with httpx.AsyncClient() as client: + async with httpx.AsyncClient( + timeout=30.0 + ) as client: # Set timeout to 30 seconds resp = await client.get(toolbox.openapi_url) # type: ignore[arg-type] except Exception as e: raise HTTPException(status_code=422, detail="OpenAPI URL is invalid") from e diff --git a/fastagency_studio/models/agents/web_surfer.py b/fastagency_studio/models/agents/web_surfer.py index b9edb24d..dbe4e608 100644 --- a/fastagency_studio/models/agents/web_surfer.py +++ b/fastagency_studio/models/agents/web_surfer.py @@ -4,7 +4,7 @@ from asyncer import syncify from autogen.agentchat import AssistantAgent as AutoGenAssistantAgent from autogen.agentchat import ConversableAgent as AutoGenConversableAgent -from fastagency.runtime.autogen.tools import WebSurferTool +from fastagency.runtimes.autogen.tools import WebSurferTool from typing_extensions import TypeAlias from ..base import Field, Model diff --git a/fastagency_studio/models/llms/together.py b/fastagency_studio/models/llms/together.py index 7ce5cdc5..ddc82590 100644 --- a/fastagency_studio/models/llms/together.py +++ b/fastagency_studio/models/llms/together.py @@ -12,49 +12,47 @@ "TogetherAI", ] -# retrieve the models from the API on Sep 27, 2024 +# retrieve the models from the API on Oct 24, 2024 together_model_string = { "Code Llama Instruct (34B)": "togethercomputer/CodeLlama-34b-Instruct", "Upstage SOLAR Instruct v1 (11B)": "upstage/SOLAR-10.7B-Instruct-v1.0", - "Nous Hermes-2 Yi (34B)": "NousResearch/Nous-Hermes-2-Yi-34B", "Llama3 8B Chat HF INT4": "togethercomputer/Llama-3-8b-chat-hf-int4", "Gemma Instruct (2B)": "google/gemma-2b-it", "MythoMax-L2 (13B)": "Gryphe/MythoMax-L2-13b", "Mistral (7B) Instruct": "mistralai/Mistral-7B-Instruct-v0.1", "Mistral (7B) Instruct v0.2": "mistralai/Mistral-7B-Instruct-v0.2", - "Meta Llama Guard 3 11B Vision Turbo": "meta-llama/Llama-Guard-3-11B-Vision-Turbo", - "Meta Llama Vision Free": "meta-llama/Llama-Vision-Free", - "Qwen 1.5 Chat (72B)": "Qwen/Qwen1.5-72B-Chat", "DeepSeek LLM Chat (67B)": "deepseek-ai/deepseek-llm-67b-chat", "Qwen 2 Instruct (72B)": "Qwen/Qwen2-72B-Instruct", - "Meta Llama 3.2 11B Vision Instruct Turbo": "meta-llama/Llama-3.2-11B-Vision-Instruct-Turbo", - "Meta Llama 3.2 3B Instruct Turbo": "meta-llama/Llama-3.2-3B-Instruct-Turbo", "Togethercomputer Llama3 8B Instruct Int8": "togethercomputer/Llama-3-8b-chat-hf-int8", "Mistral (7B) Instruct v0.3": "mistralai/Mistral-7B-Instruct-v0.3", - "Qwen 1.5 Chat (110B)": "Qwen/Qwen1.5-110B-Chat", "LLaMA-2 Chat (13B)": "togethercomputer/llama-2-13b-chat", - "Gemma-2 Instruct (27B)": "google/gemma-2-27b-it", "Meta Llama 3 70B Instruct Turbo": "meta-llama/Meta-Llama-3-70B-Instruct-Turbo", "Meta Llama 3 70B Instruct Lite": "meta-llama/Meta-Llama-3-70B-Instruct-Lite", - "Gemma-2 Instruct (9B)": "google/gemma-2-9b-it", + "Meta Llama 3.2 90B Vision Instruct Turbo": "meta-llama/Llama-3.2-90B-Vision-Instruct-Turbo", + "Gemma-2 Instruct (27B)": "google/gemma-2-27b-it", "Meta Llama 3 8B Instruct Reference": "meta-llama/Llama-3-8b-chat-hf", - "Meta Llama 3.1 70B Instruct Turbo": "albert/meta-llama-3-1-70b-instruct-turbo", - "WizardLM-2 (8x22B)": "microsoft/WizardLM-2-8x22B", "Mixtral-8x7B Instruct v0.1": "mistralai/Mixtral-8x7B-Instruct-v0.1", - "Meta Llama 3.1 405B Instruct Turbo": "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo", - "Meta Llama 3 70B Instruct Reference": "meta-llama/Llama-3-70b-chat-hf", + "WizardLM-2 (8x22B)": "microsoft/WizardLM-2-8x22B", + "Meta Llama 3.2 11B Vision Instruct Turbo": "meta-llama/Llama-3.2-11B-Vision-Instruct-Turbo", "LLaVa-Next (Mistral-7B)": "llava-hf/llava-v1.6-mistral-7b-hf", + "Meta Llama 3.1 405B Instruct Turbo": "meta-llama/Meta-Llama-3.1-405B-Instruct-Lite-Pro", "DBRX Instruct": "databricks/dbrx-instruct", "Nous Hermes 2 - Mixtral 8x7B-DPO ": "NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO", + "Meta Llama 3 70B Instruct Reference": "meta-llama/Llama-3-70b-chat-hf", + "Qwen2.5 7B Instruct Turbo": "Qwen/Qwen2.5-7B-Instruct-Turbo", + "Meta Llama 3.2 3B Instruct Turbo": "meta-llama/Llama-3.2-3B-Instruct-Turbo", + "Qwen2.5 72B Instruct Turbo": "Qwen/Qwen2.5-72B-Instruct-Turbo", "Meta Llama 3 8B Instruct Turbo": "meta-llama/Meta-Llama-3-8B-Instruct-Turbo", "Meta Llama 3 8B Instruct Lite": "meta-llama/Meta-Llama-3-8B-Instruct-Lite", - "Meta Llama 3.1 8B Instruct": "meta-llama/Meta-Llama-3.1-8B-Instruct-Reference", "Meta Llama 3.1 8B Instruct Turbo": "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo", - "Mixtral-8x22B Instruct v0.1": "mistralai/Mixtral-8x22B-Instruct-v0.1", "Gryphe MythoMax L2 Lite (13B)": "Gryphe/MythoMax-L2-13b-Lite", - "Meta Llama 3.2 90B Vision Instruct Turbo": "meta-llama/Llama-3.2-90B-Vision-Instruct-Turbo", - "Hermes 3 - Llama-3.1 405B": "NousResearch/Hermes-3-Llama-3.1-405B-Turbo", + "Qwen 1.5 Chat (110B)": "Qwen/Qwen1.5-110B-Chat", + "Meta Llama 3.1 70B Instruct Turbo": "albert/meta-llama-3-1-70b-instruct-turbo", "LLaMA-2 Chat (7B)": "togethercomputer/llama-2-7b-chat", + "Qwen 1.5 Chat (72B)": "Qwen/Qwen1.5-72B-Chat", + "Meta Llama Vision Free": "meta-llama/Llama-Vision-Free", + "Gemma-2 Instruct (9B)": "google/gemma-2-9b-it", + "Mixtral-8x22B Instruct v0.1": "mistralai/Mixtral-8x22B-Instruct-v0.1", "WizardLM v1.2 (13B)": "WizardLM/WizardLM-13B-V1.2", "Koala (7B)": "togethercomputer/Koala-7B", "Qwen 2 Instruct (1.5B)": "Qwen/Qwen2-1.5B-Instruct", @@ -108,6 +106,7 @@ "OpenHermes-2.5-Mistral (7B)": "teknium/OpenHermes-2p5-Mistral-7B", "Qwen 1.5 Chat (4B)": "Qwen/Qwen1.5-4B-Chat", "carson ml318br": "carson/ml318br", + "Meta Llama 3.1 8B Instruct": "meta-llama/Meta-Llama-3.1-8B-Instruct-Reference", "Llama-3 70B Instruct Gradient 1048K": "gradientai/Llama-3-70B-Instruct-Gradient-1048k", "Meta Llama 3.1 70B Instruct": "meta-llama/Meta-Llama-3.1-70B-Instruct-Reference", } diff --git a/fastagency_studio/models/toolboxes/toolbox.py b/fastagency_studio/models/toolboxes/toolbox.py index 048b4479..56e8c328 100644 --- a/fastagency_studio/models/toolboxes/toolbox.py +++ b/fastagency_studio/models/toolboxes/toolbox.py @@ -92,7 +92,7 @@ async def create_autogen( my_model = await cls.from_db(model_id) # Download OpenAPI spec - with httpx.Client() as httpx_client: + with httpx.Client(timeout=30.0) as httpx_client: # Set timeout to 30 seconds response = httpx_client.get(my_model.openapi_url) # type: ignore[arg-type] response.raise_for_status() openapi_spec = response.text diff --git a/fastagency_studio/saas_app_generator.py b/fastagency_studio/saas_app_generator.py index e5753f89..195c45a6 100644 --- a/fastagency_studio/saas_app_generator.py +++ b/fastagency_studio/saas_app_generator.py @@ -17,7 +17,7 @@ def _make_request( url: str, headers: dict[str, str] ) -> Union[dict[str, Any], list[dict[str, Any]]]: - with httpx.Client() as httpx_client: + with httpx.Client(timeout=30.0) as httpx_client: # Set timeout to 30 seconds response = httpx_client.get(url, headers=headers) # type: ignore[arg-type] response.raise_for_status() ret_val = response.json() diff --git a/pyproject.toml b/pyproject.toml index ffde311c..6c5b0266 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,12 +47,12 @@ dependencies = [ "fastagency @ git+https://github.com/airtai/fastagency.git@main", "faststream[nats]>=0.5.10,<0.6", "pydantic>=2.3,<3", - "fastapi==0.114.2", + "fastapi==0.115.2", "prisma>=0.13.1,<0.15", "asyncer==0.0.8", "markdownify==0.13.1", # Needed by autogen.WebSurferAgent but not included "httpx==0.27.2", - "python-weather==2.0.3", # should be removed when we move API to another project + "python-weather==2.0.7", # should be removed when we move API to another project ] [project.optional-dependencies] diff --git a/tests/conftest.py b/tests/conftest.py index 8fa99a03..1067a6a5 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -21,7 +21,7 @@ import pytest import pytest_asyncio import uvicorn -from fastagency.runtime.autogen.tools.web_surfer import WebSurferTool +from fastagency.runtimes.autogen.tools import WebSurferTool from fastapi import FastAPI, Path from pydantic import BaseModel from pydantic import __version__ as version_of_pydantic diff --git a/tests/models/agents/test_web_surfer.py b/tests/models/agents/test_web_surfer.py index 53d06f1b..db93a57a 100644 --- a/tests/models/agents/test_web_surfer.py +++ b/tests/models/agents/test_web_surfer.py @@ -4,7 +4,7 @@ import autogen.agentchat.contrib.web_surfer import pytest from asyncer import asyncify -from fastagency.runtime.autogen.tools.web_surfer import WebSurferAnswer +from fastagency.runtimes.autogen.tools.websurfer import WebSurferAnswer from fastapi import BackgroundTasks from fastagency_studio.app import add_model