From f7921bf22730d83aa75d176cfd53af667c52a9cd Mon Sep 17 00:00:00 2001 From: YLu-1258 Date: Tue, 8 Oct 2024 20:54:57 -0700 Subject: [PATCH 1/5] Added DBManager for postgresql Databases --- .devcontainer/raft/Dockerfile | 0 .devcontainer/raft/devcontainer.json | 0 .github/ISSUE_TEMPLATE/apibench.md | 0 .github/ISSUE_TEMPLATE/bfcl.md | 0 .github/ISSUE_TEMPLATE/custom-template.md | 0 .github/ISSUE_TEMPLATE/feature_request.md | 0 .github/ISSUE_TEMPLATE/hosted-gorilla-.md | 0 .github/ISSUE_TEMPLATE/openfunctions-v2.md | 0 .github/workflows/push-apizoo-updates.yml | 0 .../validate-apizoo-contribution.yml | 0 .gitignore | 0 LICENSE | 0 README.md | 0 agent-arena/README.md | 0 agent-arena/client/.gitignore | 0 agent-arena/client/ThemeContext.js | 0 agent-arena/client/package-lock.json | 0 agent-arena/client/package.json | 0 agent-arena/client/public/agents_desc.txt | 0 agent-arena/client/public/agents_list.txt | 0 agent-arena/client/public/dark-theme.css | 0 .../client/public/elo_ratings_by_category.txt | 0 agent-arena/client/public/favicon.ico | Bin agent-arena/client/public/index.html | 0 agent-arena/client/public/light-theme.css | 0 agent-arena/client/public/logo512.png | Bin agent-arena/client/public/manifest.json | 0 agent-arena/client/public/robots.txt | 0 agent-arena/client/src/AgentArena.css | 0 agent-arena/client/src/App.css | 0 agent-arena/client/src/App.js | 0 agent-arena/client/src/App.test.js | 0 .../client/src/components/AgentArena.js | 0 .../client/src/components/AgentDropdown.js | 0 .../client/src/components/AgentOutput.js | 0 .../client/src/components/CodeEditor.js | 0 .../client/src/components/ContactUs.js | 0 agent-arena/client/src/components/FAQ.js | 0 .../client/src/components/Leaderboard.js | 0 agent-arena/client/src/components/Login.js | 0 .../src/components/MonitoringDashboard.js | 0 .../client/src/components/PromptDetail.js | 0 .../src/components/RequestPasswordReset.js | 0 .../client/src/components/ResetPassword.js | 0 agent-arena/client/src/components/SignUp.js | 0 .../client/src/components/StaticCodeEditor.js | 0 .../client/src/components/StaticFileInput.css | 0 .../client/src/components/StaticFileInput.js | 0 agent-arena/client/src/components/UserList.js | 0 .../client/src/components/UserProfile.js | 0 .../client/src/components/UserPrompts.js | 0 .../client/src/components/useTypingEffect.js | 0 agent-arena/client/src/index.css | 0 agent-arena/client/src/index.js | 0 agent-arena/client/src/logo.svg | 0 agent-arena/client/src/reportWebVitals.js | 0 agent-arena/client/src/setupTests.js | 0 .../evalutation/Agent_Arena_Elo_Rating.ipynb | 0 agent-arena/evalutation/agent_ratings_V0.json | 0 .../evalutation/elo_ratings_by_category.txt | 0 .../evalutation/frameworkratings_V0.json | 0 agent-arena/evalutation/modelratings_V0.json | 0 agent-arena/evalutation/toolratings_V0.json | 0 .../.env.example | 0 .../CHANGELOG.md | 0 berkeley-function-call-leaderboard/README.md | 0 .../apply_function_credential_config.py | 0 .../architecture_diagram.png | Bin .../bfcl/__init__.py | 0 .../bfcl/constant.py | 0 .../bfcl/eval_checker/__init__.py | 0 .../bfcl/eval_checker/ast_eval/__init__.py | 0 .../bfcl/eval_checker/ast_eval/ast_checker.py | 0 .../ast_eval/type_convertor/__init__.py | 0 .../type_convertor/java_type_converter.py | 0 .../type_convertor/js_type_converter.py | 0 .../bfcl/eval_checker/constant.py | 0 .../bfcl/eval_checker/eval_runner.py | 0 .../bfcl/eval_checker/eval_runner_helper.py | 0 .../eval_checker/executable_eval/__init__.py | 0 .../executable_eval/custom_exception.py | 0 .../executable_eval/data/__init__.py | 0 .../api_status_check_ground_truth_REST.json | 0 ..._status_check_ground_truth_executable.json | 0 .../data/executable_python_function.py | 0 .../data/rest-eval-response_v5.jsonl | 0 .../executable_eval/executable_checker.py | 0 .../bfcl/eval_checker/model_metadata.py | 0 .../eval_checker/multi_turn_eval/__init__.py | 0 .../func_source_code/__init__.py | 0 .../func_source_code/gorilla_file_system.py | 0 .../func_source_code/long_context.py | 0 .../func_source_code/math_api.py | 0 .../func_source_code/message_api.py | 0 .../func_source_code/posting_api.py | 0 .../func_source_code/ticket_api.py | 0 .../func_source_code/trading_bot.py | 0 .../func_source_code/travel_booking.py | 0 .../func_source_code/vehicle_control.py | 0 .../multi_turn_eval/multi_turn_checker.py | 0 .../multi_turn_eval/multi_turn_utils.py | 0 .../bfcl/model_handler/__init__.py | 0 .../bfcl/model_handler/base_handler.py | 0 .../bfcl/model_handler/constant.py | 0 .../bfcl/model_handler/handler_map.py | 0 .../bfcl/model_handler/model_style.py | 0 .../bfcl/model_handler/oss_model/__init__.py | 0 .../oss_model/base_oss_handler.py | 0 .../bfcl/model_handler/oss_model/constant.py | 0 .../bfcl/model_handler/oss_model/deepseek.py | 0 .../bfcl/model_handler/oss_model/gemma.py | 0 .../bfcl/model_handler/oss_model/glaive.py | 0 .../bfcl/model_handler/oss_model/glm.py | 0 .../bfcl/model_handler/oss_model/granite.py | 0 .../bfcl/model_handler/oss_model/hammer.py | 0 .../bfcl/model_handler/oss_model/hermes.py | 0 .../bfcl/model_handler/oss_model/llama.py | 0 .../bfcl/model_handler/oss_model/llama_fc.py | 0 .../bfcl/model_handler/oss_model/phi.py | 0 .../bfcl/model_handler/oss_model/qwen.py | 0 .../model_handler/oss_model/salesforce.py | 0 .../bfcl/model_handler/parser/__init__.py | 0 .../bfcl/model_handler/parser/java_parser.py | 0 .../bfcl/model_handler/parser/js_parser.py | 0 .../proprietary_model/__init__.py | 0 .../model_handler/proprietary_model/claude.py | 0 .../model_handler/proprietary_model/cohere.py | 0 .../proprietary_model/databricks.py | 0 .../proprietary_model/fireworks.py | 0 .../proprietary_model/functionary.py | 0 .../model_handler/proprietary_model/gemini.py | 0 .../proprietary_model/gorilla.py | 0 .../proprietary_model/mistral.py | 0 .../model_handler/proprietary_model/nexus.py | 0 .../model_handler/proprietary_model/nvidia.py | 0 .../model_handler/proprietary_model/openai.py | 0 .../model_handler/proprietary_model/yi.py | 0 .../bfcl/model_handler/utils.py | 0 .../data/BFCL_v3_chatable.json | 0 .../data/BFCL_v3_exec_multiple.json | 0 .../data/BFCL_v3_exec_parallel.json | 0 .../data/BFCL_v3_exec_parallel_multiple.json | 0 .../data/BFCL_v3_exec_simple.json | 0 .../data/BFCL_v3_irrelevance.json | 0 .../data/BFCL_v3_java.json | 0 .../data/BFCL_v3_javascript.json | 0 .../data/BFCL_v3_live_irrelevance.json | 0 .../data/BFCL_v3_live_multiple.json | 0 .../data/BFCL_v3_live_parallel.json | 0 .../data/BFCL_v3_live_parallel_multiple.json | 0 .../data/BFCL_v3_live_relevance.json | 0 .../data/BFCL_v3_live_simple.json | 0 .../data/BFCL_v3_multi_turn_base.json | 0 .../data/BFCL_v3_multi_turn_composite.json | 0 .../data/BFCL_v3_multi_turn_long_context.json | 0 .../data/BFCL_v3_multi_turn_miss_func.json | 0 .../data/BFCL_v3_multi_turn_miss_param.json | 0 .../data/BFCL_v3_multiple.json | 0 .../data/BFCL_v3_parallel.json | 0 .../data/BFCL_v3_parallel_multiple.json | 0 .../data/BFCL_v3_rest.json | 0 .../data/BFCL_v3_simple.json | 0 .../data/BFCL_v3_sql.json | 0 .../data/README.md | 0 .../data/possible_answer/BFCL_v3_java.json | 0 .../possible_answer/BFCL_v3_javascript.json | 0 .../BFCL_v3_live_multiple.json | 0 .../BFCL_v3_live_parallel.json | 0 .../BFCL_v3_live_parallel_multiple.json | 0 .../possible_answer/BFCL_v3_live_simple.json | 0 .../BFCL_v3_multi_turn_base.json | 0 .../BFCL_v3_multi_turn_composite.json | 0 .../BFCL_v3_multi_turn_long_context.json | 0 .../BFCL_v3_multi_turn_miss_func.json | 0 .../BFCL_v3_multi_turn_miss_param.json | 0 .../possible_answer/BFCL_v3_multiple.json | 0 .../possible_answer/BFCL_v3_parallel.json | 0 .../BFCL_v3_parallel_multiple.json | 0 .../data/possible_answer/BFCL_v3_simple.json | 0 .../data/possible_answer/BFCL_v3_sql.json | 0 .../openfunctions_evaluation.py | 0 .../pyproject.toml | 0 data/README.md | 0 data/api/huggingface_api.jsonl | 0 data/api/tensorflowhub_api.jsonl | 0 data/api/torchhub_api.jsonl | 0 data/apibench/huggingface_eval.json | 0 data/apibench/huggingface_train.json | 0 data/apibench/tensorflow_eval.json | 0 data/apibench/tensorflow_train.json | 0 data/apibench/torchhub_eval.json | 0 data/apibench/torchhub_train.json | 0 data/apizoo/Datadog_API.json | 0 data/apizoo/Gmail_API.json | 0 data/apizoo/GoogleFormsAPI.json | 0 data/apizoo/Google_Calendar_API.json | 0 data/apizoo/Google_Chat_API.json | 0 data/apizoo/Google_Docs_API.json | 0 data/apizoo/Google_Drive_API.json | 0 data/apizoo/Google_Search_Console_API.json | 0 data/apizoo/Google_Sheets_API.json | 0 data/apizoo/Google_Slides_API.json | 0 data/apizoo/Google_Translate_API.json | 0 data/apizoo/KubernetesAPI.JSON | 0 data/apizoo/KubernetesPodPodTemplateAPI.json | 0 .../Oracle_Cloud_Infrastructure_API.json | 0 .../Oracle_Primavera_Cloud_REST_API.json | 0 .../apizoo/Oracle_REST_Data_Services_API.json | 0 data/apizoo/REST_API_for_Documents.json | 0 ...oud_Infrastructure_Process_Automation.json | 0 ...PI_for_Oracle_Fusion_Cloud_Financials.json | 0 .../REST_API_for_Oracle_Integration_3.json | 0 .../apizoo/Salesforce API in REST Format.JSON | 0 data/apizoo/Youtube_API.json | 0 data/apizoo/Zoom_API.json | 0 data/apizoo/aryanvichare.json | 0 data/apizoo/danielgeorge.json | 0 data/apizoo/felixzhu1.json | 0 data/apizoo/jennifer818.json | 0 data/apizoo/servicenow.json | 0 data/apizoo/shawnharmsen1.json | 0 data/apizoo/yfinance.json | 0 eval/README.md | 0 .../questions_huggingface_0_shot.jsonl | 0 .../questions_huggingface_bm25.jsonl | 0 .../questions_huggingface_gpt_index.jsonl | 0 .../questions_huggingface_oracle.jsonl | 0 .../questions_tensorflowhub_0_shot.jsonl | 0 .../questions_tensorflowhub_bm25.jsonl | 0 .../questions_tensorflowhub_gpt_index.jsonl | 0 .../questions_tensorflowhub_oracle.jsonl | 0 .../torchhub/questions_torchhub_0_shot.jsonl | 0 .../torchhub/questions_torchhub_bm25.jsonl | 0 .../questions_torchhub_gpt_index.jsonl | 0 .../torchhub/questions_torchhub_oracle.jsonl | 0 ...sponse_huggingface_Gorilla_FT_0_shot.jsonl | 0 ...response_huggingface_Gorilla_FT_bm25.jsonl | 0 ...nse_huggingface_Gorilla_FT_gpt_index.jsonl | 0 ...sponse_huggingface_Gorilla_FT_oracle.jsonl | 0 ...sponse_huggingface_Gorilla_RT_0_shot.jsonl | 0 ...response_huggingface_Gorilla_RT_bm25.jsonl | 0 ...nse_huggingface_Gorilla_RT_gpt_index.jsonl | 0 ...sponse_huggingface_Gorilla_RT_oracle.jsonl | 0 ...onse_tensorflowhub_Gorilla_FT_0_shot.jsonl | 0 ...sponse_tensorflowhub_Gorilla_FT_bm25.jsonl | 0 ...e_tensorflowhub_Gorilla_FT_gpt_index.jsonl | 0 ...onse_tensorflowhub_Gorilla_FT_oracle.jsonl | 0 ...onse_tensorflowhub_Gorilla_RT_0_shot.jsonl | 0 ...sponse_tensorflowhub_Gorilla_RT_bm25.jsonl | 0 ...e_tensorflowhub_Gorilla_RT_gpt_index.jsonl | 0 ...onse_tensorflowhub_Gorilla_RT_oracle.jsonl | 0 .../response_torchhub_Gorilla_FT_0_shot.jsonl | 0 .../response_torchhub_Gorilla_FT_bm25.jsonl | 0 ...sponse_torchhub_Gorilla_FT_gpt_index.jsonl | 0 .../response_torchhub_Gorilla_FT_oracle.jsonl | 0 .../response_torchhub_Gorilla_RT_0_shot.jsonl | 0 .../response_torchhub_Gorilla_RT_bm25.jsonl | 0 ...sponse_torchhub_Gorilla_RT_gpt_index.jsonl | 0 .../response_torchhub_Gorilla_RT_oracle.jsonl | 0 eval/eval-scripts/ast_eval_hf.py | 0 eval/eval-scripts/ast_eval_tf.py | 0 eval/eval-scripts/ast_eval_th.py | 0 eval/eval-scripts/codebleu/__init__.py | 0 eval/eval-scripts/codebleu/bleu.py | 0 eval/eval-scripts/codebleu/dataflow_match.py | 0 .../codebleu/keywords/c_sharp.txt | 0 eval/eval-scripts/codebleu/keywords/java.txt | 0 .../eval-scripts/codebleu/keywords/python.txt | 0 eval/eval-scripts/codebleu/parser/DFG.py | 0 eval/eval-scripts/codebleu/parser/__init__.py | 0 eval/eval-scripts/codebleu/parser/build.py | 0 eval/eval-scripts/codebleu/parser/build.sh | 0 .../parser/tree-sitter-python/.gitattributes | 0 .../.github/workflows/ci.yml | 0 .../parser/tree-sitter-python/.gitignore | 0 .../parser/tree-sitter-python/.npmignore | 0 .../parser/tree-sitter-python/Cargo.toml | 0 .../parser/tree-sitter-python/LICENSE | 0 .../parser/tree-sitter-python/README.md | 0 .../parser/tree-sitter-python/binding.gyp | 0 .../bindings/node/binding.cc | 0 .../tree-sitter-python/bindings/node/index.js | 0 .../bindings/rust/README.md | 0 .../tree-sitter-python/bindings/rust/build.rs | 0 .../tree-sitter-python/bindings/rust/lib.rs | 0 ...ound-statement-without-trailing-newline.py | 0 .../examples/crlf-line-endings.py | 0 .../examples/mixed-spaces-tabs.py | 0 .../examples/multiple-newlines.py | 0 .../examples/python2-grammar-crlf.py | 0 .../examples/python2-grammar.py | 0 .../examples/python3-grammar-crlf.py | 0 .../examples/python3-grammar.py | 0 .../examples/python3.8_grammar.py | 0 ...ple-statements-without-trailing-newline.py | 0 .../tree-sitter-python/examples/tabs.py | 0 .../examples/trailing-whitespace.py | 0 .../parser/tree-sitter-python/grammar.js | 0 .../parser/tree-sitter-python/package.json | 0 .../tree-sitter-python/queries/highlights.scm | 0 .../tree-sitter-python/queries/tags.scm | 0 .../script/known_failures.txt | 0 .../tree-sitter-python/src/grammar.json | 0 .../tree-sitter-python/src/node-types.json | 0 .../parser/tree-sitter-python/src/parser.c | 0 .../parser/tree-sitter-python/src/scanner.cc | 0 .../src/tree_sitter/parser.h | 0 .../tree-sitter-python/test/corpus/errors.txt | 0 .../test/corpus/expressions.txt | 0 .../test/corpus/literals.txt | 0 .../test/corpus/pattern_matching.txt | 0 .../test/corpus/statements.txt | 0 .../test/highlight/keywords.py | 0 .../test/highlight/parameters.py | 0 .../test/highlight/pattern_matching.py | 0 eval/eval-scripts/codebleu/parser/utils.py | 0 eval/eval-scripts/codebleu/readme.txt | 0 eval/eval-scripts/codebleu/syntax_check.py | 0 eval/eval-scripts/codebleu/syntax_match.py | 0 eval/eval-scripts/codebleu/utils.py | 0 .../codebleu/weighted_ngram_match.py | 0 eval/get_llm_responses.py | 0 eval/get_llm_responses_retriever.py | 0 eval/retrievers/__init__.py | 0 eval/retrievers/bm25.py | 0 eval/retrievers/build_json_index.py | 0 eval/retrievers/gpt.py | 0 eval/retrievers/schema.py | 0 goex/.env.example | 0 goex/CONTRIBUTE.md | 0 goex/README.md | 0 goex/__init__.py | 0 goex/authorizations/__init__.py | 0 goex/authorizations/scripts/__init__.py | 0 .../scripts/authorization_utils.py | 0 goex/authorizations/scripts/consts.py | 0 .../scripts/discord_authorization.py | 0 .../scripts/dropbox_authorization.py | 0 .../scripts/github_authorization.py | 0 .../scripts/gmail_authorization.py | 0 .../scripts/slack_authorization.py | 0 .../scripts/spotify_authorization.py | 0 goex/cli.py | 4 +- goex/demo/env_setup.py | 0 goex/demo/mysql_setup.py | 0 goex/docker/docker/dockerfile | 0 goex/docker/docker/python_executor.py | 0 goex/docker/misc/images.json | 0 .../checkpoints/database_dump.sql | 0 .../container_setup/docker-entrypoint.sh | 0 .../mysql_docker/container_setup/mysql.sh | 0 goex/docker/mysql_docker/dockerfile | 0 goex/docker/mysql_docker/python_executor.py | 0 goex/docker/sqllite_docker/dockerfile | 0 goex/docker/sqllite_docker/example_sqlite.db | Bin goex/docker/sqllite_docker/python_executor.py | 0 goex/examples.py | 0 goex/exec_engine/README.md | 0 goex/exec_engine/__init__.py | 0 goex/exec_engine/api_executor.py | 0 goex/exec_engine/container_utils/__init__.py | 0 .../container_utils/code_parser.py | 0 .../container_utils/container_utils.py | 0 goex/exec_engine/credentials/__init__.py | 0 .../credentials/credentials_utils.py | 0 goex/exec_engine/credentials/supported.txt | 0 goex/exec_engine/db_manager.py | 117 ++++++++++++++++++ goex/exec_engine/docker_sandbox.py | 0 goex/exec_engine/fs_manager.py | 0 goex/exec_engine/negation_manager.py | 0 goex/exec_engine/pipeline.py | 0 goex/exec_engine/pips/mapping.txt | 0 goex/exec_engine/pips/stdlib.txt | 0 goex/exec_engine/utils.py | 0 goex/function/dummy_key.json | 0 goex/function/function.json | 0 goex/function/slack_add_emoji_reaction.py | 0 goex/function/slack_delete_latest_file.py | 0 .../slack_delete_most_recent_message.py | 0 .../slack_delete_most_recent_message_dummy.py | 0 goex/function/slack_list_channels.py | 0 goex/function/slack_read_messages.py | 0 .../slack_remove_latest_emoji_reaction.py | 0 goex/function/slack_send_message.py | 0 goex/function/slack_send_message_dummy.py | 0 goex/function/slack_upload_file.py | 0 goex/main.py | 0 goex/requirements.txt | 0 goex/server.py | 0 goex/setup.py | 0 inference/README.md | 0 inference/apply_delta.py | 0 .../example_questions/example_questions.jsonl | 0 inference/gorilla_eval.py | 0 inference/image-1.png | Bin inference/image-2.png | Bin inference/image-3.png | Bin inference/image-4.png | Bin inference/image.png | Bin inference/real-time-inference-local.gif | Bin inference/requirements.txt | 0 inference/serve/conv_template.py | 0 inference/serve/gorilla_cli.py | 0 inference/serve/gorilla_falcon_cli.py | 0 openfunctions/README.md | 0 openfunctions/inference_hosted.py | 0 openfunctions/inference_local.py | 0 openfunctions/openfunctions-v1/README.md | 0 .../gorilla_openfunctions_v1_test.json | 0 .../gorilla_openfunctions_v1_train.json | 0 openfunctions/openfunctions_utils.py | 0 openfunctions/utils/java_parser.py | 0 openfunctions/utils/js_parser.py | 0 openfunctions/utils/python_parser.py | 0 raft/.envrc | 0 raft/.gitignore | 0 raft/README.md | 0 raft/azure-ai-studio-ft/howto.md | 0 .../images/azure-ai-studio-finetuning-01.png | Bin .../images/azure-ai-studio-finetuning-02.png | Bin .../images/azure-ai-studio-finetuning-03.png | Bin .../images/azure-ai-studio-finetuning-04.png | Bin .../images/azure-ai-studio-finetuning-05.png | Bin .../images/azure-ai-studio-finetuning-06.png | Bin .../images/azure-ai-studio-finetuning-07.png | Bin .../images/azure-ai-studio-finetuning-08.png | Bin .../images/azure-ai-studio-finetuning-09.png | Bin .../images/azure-ai-studio-finetuning-10.png | Bin .../images/azure-ai-studio-finetuning-11.png | Bin .../images/azure-ai-studio-finetuning-12.png | Bin .../images/azure-ai-studio-finetuning-13.png | Bin .../images/azure-ai-studio-finetuning-14.png | Bin .../images/azure-ai-studio-finetuning-15.png | Bin .../images/azure-ai-studio-finetuning-16.png | Bin .../images/azure-ai-studio-finetuning-17.png | Bin .../images/azure-ai-studio-finetuning-18.png | Bin raft/checkpointing.py | 0 raft/client_utils.py | 0 raft/env_config.py | 0 raft/eval.py | 0 raft/format.py | 0 raft/logconf.py | 0 raft/logging.yaml | 0 raft/raft.py | 0 raft/raft_local.py | 0 raft/requirements.txt | 0 raft/sample_data/UC_Berkeley.pdf | Bin raft/sample_data/UC_Berkeley_short.pdf | Bin raft/sample_data/United_States_PDF.pdf | Bin raft/sample_data/apizoo.json | 0 raft/sample_data/blog.txt | 0 raft/tests/test_env_config.py | 0 raft/tests/test_format.py | 0 raft/tests/test_set_env.py | 0 requirements.txt | 0 455 files changed, 120 insertions(+), 1 deletion(-) mode change 100644 => 100755 .devcontainer/raft/Dockerfile mode change 100644 => 100755 .devcontainer/raft/devcontainer.json mode change 100644 => 100755 .github/ISSUE_TEMPLATE/apibench.md mode change 100644 => 100755 .github/ISSUE_TEMPLATE/bfcl.md mode change 100644 => 100755 .github/ISSUE_TEMPLATE/custom-template.md mode change 100644 => 100755 .github/ISSUE_TEMPLATE/feature_request.md mode change 100644 => 100755 .github/ISSUE_TEMPLATE/hosted-gorilla-.md mode change 100644 => 100755 .github/ISSUE_TEMPLATE/openfunctions-v2.md mode change 100644 => 100755 .github/workflows/push-apizoo-updates.yml mode change 100644 => 100755 .github/workflows/validate-apizoo-contribution.yml mode change 100644 => 100755 .gitignore mode change 100644 => 100755 LICENSE mode change 100644 => 100755 README.md mode change 100644 => 100755 agent-arena/README.md mode change 100644 => 100755 agent-arena/client/.gitignore mode change 100644 => 100755 agent-arena/client/ThemeContext.js mode change 100644 => 100755 agent-arena/client/package-lock.json mode change 100644 => 100755 agent-arena/client/package.json mode change 100644 => 100755 agent-arena/client/public/agents_desc.txt mode change 100644 => 100755 agent-arena/client/public/agents_list.txt mode change 100644 => 100755 agent-arena/client/public/dark-theme.css mode change 100644 => 100755 agent-arena/client/public/elo_ratings_by_category.txt mode change 100644 => 100755 agent-arena/client/public/favicon.ico mode change 100644 => 100755 agent-arena/client/public/index.html mode change 100644 => 100755 agent-arena/client/public/light-theme.css mode change 100644 => 100755 agent-arena/client/public/logo512.png mode change 100644 => 100755 agent-arena/client/public/manifest.json mode change 100644 => 100755 agent-arena/client/public/robots.txt mode change 100644 => 100755 agent-arena/client/src/AgentArena.css mode change 100644 => 100755 agent-arena/client/src/App.css mode change 100644 => 100755 agent-arena/client/src/App.js mode change 100644 => 100755 agent-arena/client/src/App.test.js mode change 100644 => 100755 agent-arena/client/src/components/AgentArena.js mode change 100644 => 100755 agent-arena/client/src/components/AgentDropdown.js mode change 100644 => 100755 agent-arena/client/src/components/AgentOutput.js mode change 100644 => 100755 agent-arena/client/src/components/CodeEditor.js mode change 100644 => 100755 agent-arena/client/src/components/ContactUs.js mode change 100644 => 100755 agent-arena/client/src/components/FAQ.js mode change 100644 => 100755 agent-arena/client/src/components/Leaderboard.js mode change 100644 => 100755 agent-arena/client/src/components/Login.js mode change 100644 => 100755 agent-arena/client/src/components/MonitoringDashboard.js mode change 100644 => 100755 agent-arena/client/src/components/PromptDetail.js mode change 100644 => 100755 agent-arena/client/src/components/RequestPasswordReset.js mode change 100644 => 100755 agent-arena/client/src/components/ResetPassword.js mode change 100644 => 100755 agent-arena/client/src/components/SignUp.js mode change 100644 => 100755 agent-arena/client/src/components/StaticCodeEditor.js mode change 100644 => 100755 agent-arena/client/src/components/StaticFileInput.css mode change 100644 => 100755 agent-arena/client/src/components/StaticFileInput.js mode change 100644 => 100755 agent-arena/client/src/components/UserList.js mode change 100644 => 100755 agent-arena/client/src/components/UserProfile.js mode change 100644 => 100755 agent-arena/client/src/components/UserPrompts.js mode change 100644 => 100755 agent-arena/client/src/components/useTypingEffect.js mode change 100644 => 100755 agent-arena/client/src/index.css mode change 100644 => 100755 agent-arena/client/src/index.js mode change 100644 => 100755 agent-arena/client/src/logo.svg mode change 100644 => 100755 agent-arena/client/src/reportWebVitals.js mode change 100644 => 100755 agent-arena/client/src/setupTests.js mode change 100644 => 100755 agent-arena/evalutation/Agent_Arena_Elo_Rating.ipynb mode change 100644 => 100755 agent-arena/evalutation/agent_ratings_V0.json mode change 100644 => 100755 agent-arena/evalutation/elo_ratings_by_category.txt mode change 100644 => 100755 agent-arena/evalutation/frameworkratings_V0.json mode change 100644 => 100755 agent-arena/evalutation/modelratings_V0.json mode change 100644 => 100755 agent-arena/evalutation/toolratings_V0.json mode change 100644 => 100755 berkeley-function-call-leaderboard/.env.example mode change 100644 => 100755 berkeley-function-call-leaderboard/CHANGELOG.md mode change 100644 => 100755 berkeley-function-call-leaderboard/README.md mode change 100644 => 100755 berkeley-function-call-leaderboard/apply_function_credential_config.py mode change 100644 => 100755 berkeley-function-call-leaderboard/architecture_diagram.png mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/__init__.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/constant.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/__init__.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/ast_eval/__init__.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/ast_eval/ast_checker.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/ast_eval/type_convertor/__init__.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/ast_eval/type_convertor/java_type_converter.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/ast_eval/type_convertor/js_type_converter.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/constant.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/eval_runner.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/eval_runner_helper.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/__init__.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/custom_exception.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/data/__init__.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/data/api_status_check_ground_truth_REST.json mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/data/api_status_check_ground_truth_executable.json mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/data/executable_python_function.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/data/rest-eval-response_v5.jsonl mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/executable_checker.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/model_metadata.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/__init__.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/__init__.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/gorilla_file_system.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/long_context.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/math_api.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/message_api.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/posting_api.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/ticket_api.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/trading_bot.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/travel_booking.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/vehicle_control.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/multi_turn_checker.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/multi_turn_utils.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/__init__.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/base_handler.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/constant.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/handler_map.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/model_style.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/__init__.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/base_oss_handler.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/constant.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/deepseek.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/gemma.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/glaive.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/glm.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/granite.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/hammer.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/hermes.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/llama.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/llama_fc.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/phi.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/qwen.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/salesforce.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/parser/__init__.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/parser/java_parser.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/parser/js_parser.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/__init__.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/claude.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/cohere.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/databricks.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/fireworks.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/functionary.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/gemini.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/gorilla.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/mistral.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/nexus.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/nvidia.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/openai.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/yi.py mode change 100644 => 100755 berkeley-function-call-leaderboard/bfcl/model_handler/utils.py mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_chatable.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_exec_multiple.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_exec_parallel.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_exec_parallel_multiple.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_exec_simple.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_irrelevance.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_java.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_javascript.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_live_irrelevance.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_live_multiple.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_live_parallel.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_live_parallel_multiple.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_live_relevance.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_live_simple.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_multi_turn_base.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_multi_turn_composite.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_multi_turn_long_context.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_multi_turn_miss_func.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_multi_turn_miss_param.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_multiple.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_parallel.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_parallel_multiple.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_rest.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_simple.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/BFCL_v3_sql.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/README.md mode change 100644 => 100755 berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_java.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_javascript.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_live_multiple.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_live_parallel.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_live_parallel_multiple.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_live_simple.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multi_turn_base.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multi_turn_composite.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multi_turn_long_context.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multi_turn_miss_func.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multi_turn_miss_param.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multiple.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_parallel.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_parallel_multiple.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_simple.json mode change 100644 => 100755 berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_sql.json mode change 100644 => 100755 berkeley-function-call-leaderboard/openfunctions_evaluation.py mode change 100644 => 100755 berkeley-function-call-leaderboard/pyproject.toml mode change 100644 => 100755 data/README.md mode change 100644 => 100755 data/api/huggingface_api.jsonl mode change 100644 => 100755 data/api/tensorflowhub_api.jsonl mode change 100644 => 100755 data/api/torchhub_api.jsonl mode change 100644 => 100755 data/apibench/huggingface_eval.json mode change 100644 => 100755 data/apibench/huggingface_train.json mode change 100644 => 100755 data/apibench/tensorflow_eval.json mode change 100644 => 100755 data/apibench/tensorflow_train.json mode change 100644 => 100755 data/apibench/torchhub_eval.json mode change 100644 => 100755 data/apibench/torchhub_train.json mode change 100644 => 100755 data/apizoo/Datadog_API.json mode change 100644 => 100755 data/apizoo/Gmail_API.json mode change 100644 => 100755 data/apizoo/GoogleFormsAPI.json mode change 100644 => 100755 data/apizoo/Google_Calendar_API.json mode change 100644 => 100755 data/apizoo/Google_Chat_API.json mode change 100644 => 100755 data/apizoo/Google_Docs_API.json mode change 100644 => 100755 data/apizoo/Google_Drive_API.json mode change 100644 => 100755 data/apizoo/Google_Search_Console_API.json mode change 100644 => 100755 data/apizoo/Google_Sheets_API.json mode change 100644 => 100755 data/apizoo/Google_Slides_API.json mode change 100644 => 100755 data/apizoo/Google_Translate_API.json mode change 100644 => 100755 data/apizoo/KubernetesAPI.JSON mode change 100644 => 100755 data/apizoo/KubernetesPodPodTemplateAPI.json mode change 100644 => 100755 data/apizoo/Oracle_Cloud_Infrastructure_API.json mode change 100644 => 100755 data/apizoo/Oracle_Primavera_Cloud_REST_API.json mode change 100644 => 100755 data/apizoo/Oracle_REST_Data_Services_API.json mode change 100644 => 100755 data/apizoo/REST_API_for_Documents.json mode change 100644 => 100755 data/apizoo/REST_API_for_Oracle_Cloud_Infrastructure_Process_Automation.json mode change 100644 => 100755 data/apizoo/REST_API_for_Oracle_Fusion_Cloud_Financials.json mode change 100644 => 100755 data/apizoo/REST_API_for_Oracle_Integration_3.json mode change 100644 => 100755 data/apizoo/Salesforce API in REST Format.JSON mode change 100644 => 100755 data/apizoo/Youtube_API.json mode change 100644 => 100755 data/apizoo/Zoom_API.json mode change 100644 => 100755 data/apizoo/aryanvichare.json mode change 100644 => 100755 data/apizoo/danielgeorge.json mode change 100644 => 100755 data/apizoo/felixzhu1.json mode change 100644 => 100755 data/apizoo/jennifer818.json mode change 100644 => 100755 data/apizoo/servicenow.json mode change 100644 => 100755 data/apizoo/shawnharmsen1.json mode change 100644 => 100755 data/apizoo/yfinance.json mode change 100644 => 100755 eval/README.md mode change 100644 => 100755 eval/eval-data/questions/huggingface/questions_huggingface_0_shot.jsonl mode change 100644 => 100755 eval/eval-data/questions/huggingface/questions_huggingface_bm25.jsonl mode change 100644 => 100755 eval/eval-data/questions/huggingface/questions_huggingface_gpt_index.jsonl mode change 100644 => 100755 eval/eval-data/questions/huggingface/questions_huggingface_oracle.jsonl mode change 100644 => 100755 eval/eval-data/questions/tensorflowhub/questions_tensorflowhub_0_shot.jsonl mode change 100644 => 100755 eval/eval-data/questions/tensorflowhub/questions_tensorflowhub_bm25.jsonl mode change 100644 => 100755 eval/eval-data/questions/tensorflowhub/questions_tensorflowhub_gpt_index.jsonl mode change 100644 => 100755 eval/eval-data/questions/tensorflowhub/questions_tensorflowhub_oracle.jsonl mode change 100644 => 100755 eval/eval-data/questions/torchhub/questions_torchhub_0_shot.jsonl mode change 100644 => 100755 eval/eval-data/questions/torchhub/questions_torchhub_bm25.jsonl mode change 100644 => 100755 eval/eval-data/questions/torchhub/questions_torchhub_gpt_index.jsonl mode change 100644 => 100755 eval/eval-data/questions/torchhub/questions_torchhub_oracle.jsonl mode change 100644 => 100755 eval/eval-data/responses/huggingface/response_huggingface_Gorilla_FT_0_shot.jsonl mode change 100644 => 100755 eval/eval-data/responses/huggingface/response_huggingface_Gorilla_FT_bm25.jsonl mode change 100644 => 100755 eval/eval-data/responses/huggingface/response_huggingface_Gorilla_FT_gpt_index.jsonl mode change 100644 => 100755 eval/eval-data/responses/huggingface/response_huggingface_Gorilla_FT_oracle.jsonl mode change 100644 => 100755 eval/eval-data/responses/huggingface/response_huggingface_Gorilla_RT_0_shot.jsonl mode change 100644 => 100755 eval/eval-data/responses/huggingface/response_huggingface_Gorilla_RT_bm25.jsonl mode change 100644 => 100755 eval/eval-data/responses/huggingface/response_huggingface_Gorilla_RT_gpt_index.jsonl mode change 100644 => 100755 eval/eval-data/responses/huggingface/response_huggingface_Gorilla_RT_oracle.jsonl mode change 100644 => 100755 eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_FT_0_shot.jsonl mode change 100644 => 100755 eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_FT_bm25.jsonl mode change 100644 => 100755 eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_FT_gpt_index.jsonl mode change 100644 => 100755 eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_FT_oracle.jsonl mode change 100644 => 100755 eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_RT_0_shot.jsonl mode change 100644 => 100755 eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_RT_bm25.jsonl mode change 100644 => 100755 eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_RT_gpt_index.jsonl mode change 100644 => 100755 eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_RT_oracle.jsonl mode change 100644 => 100755 eval/eval-data/responses/torchhub/response_torchhub_Gorilla_FT_0_shot.jsonl mode change 100644 => 100755 eval/eval-data/responses/torchhub/response_torchhub_Gorilla_FT_bm25.jsonl mode change 100644 => 100755 eval/eval-data/responses/torchhub/response_torchhub_Gorilla_FT_gpt_index.jsonl mode change 100644 => 100755 eval/eval-data/responses/torchhub/response_torchhub_Gorilla_FT_oracle.jsonl mode change 100644 => 100755 eval/eval-data/responses/torchhub/response_torchhub_Gorilla_RT_0_shot.jsonl mode change 100644 => 100755 eval/eval-data/responses/torchhub/response_torchhub_Gorilla_RT_bm25.jsonl mode change 100644 => 100755 eval/eval-data/responses/torchhub/response_torchhub_Gorilla_RT_gpt_index.jsonl mode change 100644 => 100755 eval/eval-data/responses/torchhub/response_torchhub_Gorilla_RT_oracle.jsonl mode change 100644 => 100755 eval/eval-scripts/ast_eval_hf.py mode change 100644 => 100755 eval/eval-scripts/ast_eval_tf.py mode change 100644 => 100755 eval/eval-scripts/ast_eval_th.py mode change 100644 => 100755 eval/eval-scripts/codebleu/__init__.py mode change 100644 => 100755 eval/eval-scripts/codebleu/bleu.py mode change 100644 => 100755 eval/eval-scripts/codebleu/dataflow_match.py mode change 100644 => 100755 eval/eval-scripts/codebleu/keywords/c_sharp.txt mode change 100644 => 100755 eval/eval-scripts/codebleu/keywords/java.txt mode change 100644 => 100755 eval/eval-scripts/codebleu/keywords/python.txt mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/DFG.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/__init__.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/build.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/build.sh mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/.gitattributes mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/.github/workflows/ci.yml mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/.gitignore mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/.npmignore mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/Cargo.toml mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/LICENSE mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/README.md mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/binding.gyp mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/bindings/node/binding.cc mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/bindings/node/index.js mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/bindings/rust/README.md mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/bindings/rust/build.rs mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/bindings/rust/lib.rs mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/compound-statement-without-trailing-newline.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/crlf-line-endings.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/mixed-spaces-tabs.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/multiple-newlines.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/python2-grammar-crlf.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/python2-grammar.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/python3-grammar-crlf.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/python3-grammar.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/python3.8_grammar.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/simple-statements-without-trailing-newline.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/tabs.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/trailing-whitespace.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/grammar.js mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/package.json mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/queries/highlights.scm mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/queries/tags.scm mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/script/known_failures.txt mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/src/grammar.json mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/src/node-types.json mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/src/parser.c mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/src/scanner.cc mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/src/tree_sitter/parser.h mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/test/corpus/errors.txt mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/test/corpus/expressions.txt mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/test/corpus/literals.txt mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/test/corpus/pattern_matching.txt mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/test/corpus/statements.txt mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/test/highlight/keywords.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/test/highlight/parameters.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/tree-sitter-python/test/highlight/pattern_matching.py mode change 100644 => 100755 eval/eval-scripts/codebleu/parser/utils.py mode change 100644 => 100755 eval/eval-scripts/codebleu/readme.txt mode change 100644 => 100755 eval/eval-scripts/codebleu/syntax_check.py mode change 100644 => 100755 eval/eval-scripts/codebleu/syntax_match.py mode change 100644 => 100755 eval/eval-scripts/codebleu/utils.py mode change 100644 => 100755 eval/eval-scripts/codebleu/weighted_ngram_match.py mode change 100644 => 100755 eval/get_llm_responses.py mode change 100644 => 100755 eval/get_llm_responses_retriever.py mode change 100644 => 100755 eval/retrievers/__init__.py mode change 100644 => 100755 eval/retrievers/bm25.py mode change 100644 => 100755 eval/retrievers/build_json_index.py mode change 100644 => 100755 eval/retrievers/gpt.py mode change 100644 => 100755 eval/retrievers/schema.py mode change 100644 => 100755 goex/.env.example mode change 100644 => 100755 goex/CONTRIBUTE.md mode change 100644 => 100755 goex/README.md mode change 100644 => 100755 goex/__init__.py mode change 100644 => 100755 goex/authorizations/__init__.py mode change 100644 => 100755 goex/authorizations/scripts/__init__.py mode change 100644 => 100755 goex/authorizations/scripts/authorization_utils.py mode change 100644 => 100755 goex/authorizations/scripts/consts.py mode change 100644 => 100755 goex/authorizations/scripts/discord_authorization.py mode change 100644 => 100755 goex/authorizations/scripts/dropbox_authorization.py mode change 100644 => 100755 goex/authorizations/scripts/github_authorization.py mode change 100644 => 100755 goex/authorizations/scripts/gmail_authorization.py mode change 100644 => 100755 goex/authorizations/scripts/slack_authorization.py mode change 100644 => 100755 goex/authorizations/scripts/spotify_authorization.py mode change 100644 => 100755 goex/cli.py mode change 100644 => 100755 goex/demo/env_setup.py mode change 100644 => 100755 goex/demo/mysql_setup.py mode change 100644 => 100755 goex/docker/docker/dockerfile mode change 100644 => 100755 goex/docker/docker/python_executor.py mode change 100644 => 100755 goex/docker/misc/images.json mode change 100644 => 100755 goex/docker/mysql_docker/checkpoints/database_dump.sql mode change 100644 => 100755 goex/docker/mysql_docker/container_setup/docker-entrypoint.sh mode change 100644 => 100755 goex/docker/mysql_docker/container_setup/mysql.sh mode change 100644 => 100755 goex/docker/mysql_docker/dockerfile mode change 100644 => 100755 goex/docker/mysql_docker/python_executor.py mode change 100644 => 100755 goex/docker/sqllite_docker/dockerfile mode change 100644 => 100755 goex/docker/sqllite_docker/example_sqlite.db mode change 100644 => 100755 goex/docker/sqllite_docker/python_executor.py mode change 100644 => 100755 goex/examples.py mode change 100644 => 100755 goex/exec_engine/README.md mode change 100644 => 100755 goex/exec_engine/__init__.py mode change 100644 => 100755 goex/exec_engine/api_executor.py mode change 100644 => 100755 goex/exec_engine/container_utils/__init__.py mode change 100644 => 100755 goex/exec_engine/container_utils/code_parser.py mode change 100644 => 100755 goex/exec_engine/container_utils/container_utils.py mode change 100644 => 100755 goex/exec_engine/credentials/__init__.py mode change 100644 => 100755 goex/exec_engine/credentials/credentials_utils.py mode change 100644 => 100755 goex/exec_engine/credentials/supported.txt mode change 100644 => 100755 goex/exec_engine/db_manager.py mode change 100644 => 100755 goex/exec_engine/docker_sandbox.py mode change 100644 => 100755 goex/exec_engine/fs_manager.py mode change 100644 => 100755 goex/exec_engine/negation_manager.py mode change 100644 => 100755 goex/exec_engine/pipeline.py mode change 100644 => 100755 goex/exec_engine/pips/mapping.txt mode change 100644 => 100755 goex/exec_engine/pips/stdlib.txt mode change 100644 => 100755 goex/exec_engine/utils.py mode change 100644 => 100755 goex/function/dummy_key.json mode change 100644 => 100755 goex/function/function.json mode change 100644 => 100755 goex/function/slack_add_emoji_reaction.py mode change 100644 => 100755 goex/function/slack_delete_latest_file.py mode change 100644 => 100755 goex/function/slack_delete_most_recent_message.py mode change 100644 => 100755 goex/function/slack_delete_most_recent_message_dummy.py mode change 100644 => 100755 goex/function/slack_list_channels.py mode change 100644 => 100755 goex/function/slack_read_messages.py mode change 100644 => 100755 goex/function/slack_remove_latest_emoji_reaction.py mode change 100644 => 100755 goex/function/slack_send_message.py mode change 100644 => 100755 goex/function/slack_send_message_dummy.py mode change 100644 => 100755 goex/function/slack_upload_file.py mode change 100644 => 100755 goex/main.py mode change 100644 => 100755 goex/requirements.txt mode change 100644 => 100755 goex/server.py mode change 100644 => 100755 goex/setup.py mode change 100644 => 100755 inference/README.md mode change 100644 => 100755 inference/apply_delta.py mode change 100644 => 100755 inference/example_questions/example_questions.jsonl mode change 100644 => 100755 inference/gorilla_eval.py mode change 100644 => 100755 inference/image-1.png mode change 100644 => 100755 inference/image-2.png mode change 100644 => 100755 inference/image-3.png mode change 100644 => 100755 inference/image-4.png mode change 100644 => 100755 inference/image.png mode change 100644 => 100755 inference/real-time-inference-local.gif mode change 100644 => 100755 inference/requirements.txt mode change 100644 => 100755 inference/serve/conv_template.py mode change 100644 => 100755 inference/serve/gorilla_cli.py mode change 100644 => 100755 inference/serve/gorilla_falcon_cli.py mode change 100644 => 100755 openfunctions/README.md mode change 100644 => 100755 openfunctions/inference_hosted.py mode change 100644 => 100755 openfunctions/inference_local.py mode change 100644 => 100755 openfunctions/openfunctions-v1/README.md mode change 100644 => 100755 openfunctions/openfunctions-v1/gorilla_openfunctions_v1_test.json mode change 100644 => 100755 openfunctions/openfunctions-v1/gorilla_openfunctions_v1_train.json mode change 100644 => 100755 openfunctions/openfunctions_utils.py mode change 100644 => 100755 openfunctions/utils/java_parser.py mode change 100644 => 100755 openfunctions/utils/js_parser.py mode change 100644 => 100755 openfunctions/utils/python_parser.py mode change 100644 => 100755 raft/.envrc mode change 100644 => 100755 raft/.gitignore mode change 100644 => 100755 raft/README.md mode change 100644 => 100755 raft/azure-ai-studio-ft/howto.md mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-01.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-02.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-03.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-04.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-05.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-06.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-07.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-08.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-09.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-10.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-11.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-12.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-13.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-14.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-15.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-16.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-17.png mode change 100644 => 100755 raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-18.png mode change 100644 => 100755 raft/checkpointing.py mode change 100644 => 100755 raft/client_utils.py mode change 100644 => 100755 raft/env_config.py mode change 100644 => 100755 raft/eval.py mode change 100644 => 100755 raft/format.py mode change 100644 => 100755 raft/logconf.py mode change 100644 => 100755 raft/logging.yaml mode change 100644 => 100755 raft/raft.py mode change 100644 => 100755 raft/raft_local.py mode change 100644 => 100755 raft/requirements.txt mode change 100644 => 100755 raft/sample_data/UC_Berkeley.pdf mode change 100644 => 100755 raft/sample_data/UC_Berkeley_short.pdf mode change 100644 => 100755 raft/sample_data/United_States_PDF.pdf mode change 100644 => 100755 raft/sample_data/apizoo.json mode change 100644 => 100755 raft/sample_data/blog.txt mode change 100644 => 100755 raft/tests/test_env_config.py mode change 100644 => 100755 raft/tests/test_format.py mode change 100644 => 100755 raft/tests/test_set_env.py mode change 100644 => 100755 requirements.txt diff --git a/.devcontainer/raft/Dockerfile b/.devcontainer/raft/Dockerfile old mode 100644 new mode 100755 diff --git a/.devcontainer/raft/devcontainer.json b/.devcontainer/raft/devcontainer.json old mode 100644 new mode 100755 diff --git a/.github/ISSUE_TEMPLATE/apibench.md b/.github/ISSUE_TEMPLATE/apibench.md old mode 100644 new mode 100755 diff --git a/.github/ISSUE_TEMPLATE/bfcl.md b/.github/ISSUE_TEMPLATE/bfcl.md old mode 100644 new mode 100755 diff --git a/.github/ISSUE_TEMPLATE/custom-template.md b/.github/ISSUE_TEMPLATE/custom-template.md old mode 100644 new mode 100755 diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md old mode 100644 new mode 100755 diff --git a/.github/ISSUE_TEMPLATE/hosted-gorilla-.md b/.github/ISSUE_TEMPLATE/hosted-gorilla-.md old mode 100644 new mode 100755 diff --git a/.github/ISSUE_TEMPLATE/openfunctions-v2.md b/.github/ISSUE_TEMPLATE/openfunctions-v2.md old mode 100644 new mode 100755 diff --git a/.github/workflows/push-apizoo-updates.yml b/.github/workflows/push-apizoo-updates.yml old mode 100644 new mode 100755 diff --git a/.github/workflows/validate-apizoo-contribution.yml b/.github/workflows/validate-apizoo-contribution.yml old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/agent-arena/README.md b/agent-arena/README.md old mode 100644 new mode 100755 diff --git a/agent-arena/client/.gitignore b/agent-arena/client/.gitignore old mode 100644 new mode 100755 diff --git a/agent-arena/client/ThemeContext.js b/agent-arena/client/ThemeContext.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/package-lock.json b/agent-arena/client/package-lock.json old mode 100644 new mode 100755 diff --git a/agent-arena/client/package.json b/agent-arena/client/package.json old mode 100644 new mode 100755 diff --git a/agent-arena/client/public/agents_desc.txt b/agent-arena/client/public/agents_desc.txt old mode 100644 new mode 100755 diff --git a/agent-arena/client/public/agents_list.txt b/agent-arena/client/public/agents_list.txt old mode 100644 new mode 100755 diff --git a/agent-arena/client/public/dark-theme.css b/agent-arena/client/public/dark-theme.css old mode 100644 new mode 100755 diff --git a/agent-arena/client/public/elo_ratings_by_category.txt b/agent-arena/client/public/elo_ratings_by_category.txt old mode 100644 new mode 100755 diff --git a/agent-arena/client/public/favicon.ico b/agent-arena/client/public/favicon.ico old mode 100644 new mode 100755 diff --git a/agent-arena/client/public/index.html b/agent-arena/client/public/index.html old mode 100644 new mode 100755 diff --git a/agent-arena/client/public/light-theme.css b/agent-arena/client/public/light-theme.css old mode 100644 new mode 100755 diff --git a/agent-arena/client/public/logo512.png b/agent-arena/client/public/logo512.png old mode 100644 new mode 100755 diff --git a/agent-arena/client/public/manifest.json b/agent-arena/client/public/manifest.json old mode 100644 new mode 100755 diff --git a/agent-arena/client/public/robots.txt b/agent-arena/client/public/robots.txt old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/AgentArena.css b/agent-arena/client/src/AgentArena.css old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/App.css b/agent-arena/client/src/App.css old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/App.js b/agent-arena/client/src/App.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/App.test.js b/agent-arena/client/src/App.test.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/AgentArena.js b/agent-arena/client/src/components/AgentArena.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/AgentDropdown.js b/agent-arena/client/src/components/AgentDropdown.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/AgentOutput.js b/agent-arena/client/src/components/AgentOutput.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/CodeEditor.js b/agent-arena/client/src/components/CodeEditor.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/ContactUs.js b/agent-arena/client/src/components/ContactUs.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/FAQ.js b/agent-arena/client/src/components/FAQ.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/Leaderboard.js b/agent-arena/client/src/components/Leaderboard.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/Login.js b/agent-arena/client/src/components/Login.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/MonitoringDashboard.js b/agent-arena/client/src/components/MonitoringDashboard.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/PromptDetail.js b/agent-arena/client/src/components/PromptDetail.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/RequestPasswordReset.js b/agent-arena/client/src/components/RequestPasswordReset.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/ResetPassword.js b/agent-arena/client/src/components/ResetPassword.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/SignUp.js b/agent-arena/client/src/components/SignUp.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/StaticCodeEditor.js b/agent-arena/client/src/components/StaticCodeEditor.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/StaticFileInput.css b/agent-arena/client/src/components/StaticFileInput.css old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/StaticFileInput.js b/agent-arena/client/src/components/StaticFileInput.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/UserList.js b/agent-arena/client/src/components/UserList.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/UserProfile.js b/agent-arena/client/src/components/UserProfile.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/UserPrompts.js b/agent-arena/client/src/components/UserPrompts.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/components/useTypingEffect.js b/agent-arena/client/src/components/useTypingEffect.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/index.css b/agent-arena/client/src/index.css old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/index.js b/agent-arena/client/src/index.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/logo.svg b/agent-arena/client/src/logo.svg old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/reportWebVitals.js b/agent-arena/client/src/reportWebVitals.js old mode 100644 new mode 100755 diff --git a/agent-arena/client/src/setupTests.js b/agent-arena/client/src/setupTests.js old mode 100644 new mode 100755 diff --git a/agent-arena/evalutation/Agent_Arena_Elo_Rating.ipynb b/agent-arena/evalutation/Agent_Arena_Elo_Rating.ipynb old mode 100644 new mode 100755 diff --git a/agent-arena/evalutation/agent_ratings_V0.json b/agent-arena/evalutation/agent_ratings_V0.json old mode 100644 new mode 100755 diff --git a/agent-arena/evalutation/elo_ratings_by_category.txt b/agent-arena/evalutation/elo_ratings_by_category.txt old mode 100644 new mode 100755 diff --git a/agent-arena/evalutation/frameworkratings_V0.json b/agent-arena/evalutation/frameworkratings_V0.json old mode 100644 new mode 100755 diff --git a/agent-arena/evalutation/modelratings_V0.json b/agent-arena/evalutation/modelratings_V0.json old mode 100644 new mode 100755 diff --git a/agent-arena/evalutation/toolratings_V0.json b/agent-arena/evalutation/toolratings_V0.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/.env.example b/berkeley-function-call-leaderboard/.env.example old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/CHANGELOG.md b/berkeley-function-call-leaderboard/CHANGELOG.md old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/README.md b/berkeley-function-call-leaderboard/README.md old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/apply_function_credential_config.py b/berkeley-function-call-leaderboard/apply_function_credential_config.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/architecture_diagram.png b/berkeley-function-call-leaderboard/architecture_diagram.png old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/__init__.py b/berkeley-function-call-leaderboard/bfcl/__init__.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/constant.py b/berkeley-function-call-leaderboard/bfcl/constant.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/__init__.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/__init__.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/ast_eval/__init__.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/ast_eval/__init__.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/ast_eval/ast_checker.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/ast_eval/ast_checker.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/ast_eval/type_convertor/__init__.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/ast_eval/type_convertor/__init__.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/ast_eval/type_convertor/java_type_converter.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/ast_eval/type_convertor/java_type_converter.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/ast_eval/type_convertor/js_type_converter.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/ast_eval/type_convertor/js_type_converter.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/constant.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/constant.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/eval_runner.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/eval_runner.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/eval_runner_helper.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/eval_runner_helper.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/__init__.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/__init__.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/custom_exception.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/custom_exception.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/data/__init__.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/data/__init__.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/data/api_status_check_ground_truth_REST.json b/berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/data/api_status_check_ground_truth_REST.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/data/api_status_check_ground_truth_executable.json b/berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/data/api_status_check_ground_truth_executable.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/data/executable_python_function.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/data/executable_python_function.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/data/rest-eval-response_v5.jsonl b/berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/data/rest-eval-response_v5.jsonl old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/executable_checker.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/executable_eval/executable_checker.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/model_metadata.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/model_metadata.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/__init__.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/__init__.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/__init__.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/__init__.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/gorilla_file_system.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/gorilla_file_system.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/long_context.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/long_context.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/math_api.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/math_api.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/message_api.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/message_api.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/posting_api.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/posting_api.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/ticket_api.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/ticket_api.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/trading_bot.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/trading_bot.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/travel_booking.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/travel_booking.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/vehicle_control.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/func_source_code/vehicle_control.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/multi_turn_checker.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/multi_turn_checker.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/multi_turn_utils.py b/berkeley-function-call-leaderboard/bfcl/eval_checker/multi_turn_eval/multi_turn_utils.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/__init__.py b/berkeley-function-call-leaderboard/bfcl/model_handler/__init__.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/base_handler.py b/berkeley-function-call-leaderboard/bfcl/model_handler/base_handler.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/constant.py b/berkeley-function-call-leaderboard/bfcl/model_handler/constant.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/handler_map.py b/berkeley-function-call-leaderboard/bfcl/model_handler/handler_map.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/model_style.py b/berkeley-function-call-leaderboard/bfcl/model_handler/model_style.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/__init__.py b/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/__init__.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/base_oss_handler.py b/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/base_oss_handler.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/constant.py b/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/constant.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/deepseek.py b/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/deepseek.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/gemma.py b/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/gemma.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/glaive.py b/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/glaive.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/glm.py b/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/glm.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/granite.py b/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/granite.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/hammer.py b/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/hammer.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/hermes.py b/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/hermes.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/llama.py b/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/llama.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/llama_fc.py b/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/llama_fc.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/phi.py b/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/phi.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/qwen.py b/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/qwen.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/salesforce.py b/berkeley-function-call-leaderboard/bfcl/model_handler/oss_model/salesforce.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/parser/__init__.py b/berkeley-function-call-leaderboard/bfcl/model_handler/parser/__init__.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/parser/java_parser.py b/berkeley-function-call-leaderboard/bfcl/model_handler/parser/java_parser.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/parser/js_parser.py b/berkeley-function-call-leaderboard/bfcl/model_handler/parser/js_parser.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/__init__.py b/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/__init__.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/claude.py b/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/claude.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/cohere.py b/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/cohere.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/databricks.py b/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/databricks.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/fireworks.py b/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/fireworks.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/functionary.py b/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/functionary.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/gemini.py b/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/gemini.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/gorilla.py b/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/gorilla.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/mistral.py b/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/mistral.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/nexus.py b/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/nexus.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/nvidia.py b/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/nvidia.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/openai.py b/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/openai.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/yi.py b/berkeley-function-call-leaderboard/bfcl/model_handler/proprietary_model/yi.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/utils.py b/berkeley-function-call-leaderboard/bfcl/model_handler/utils.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_chatable.json b/berkeley-function-call-leaderboard/data/BFCL_v3_chatable.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_exec_multiple.json b/berkeley-function-call-leaderboard/data/BFCL_v3_exec_multiple.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_exec_parallel.json b/berkeley-function-call-leaderboard/data/BFCL_v3_exec_parallel.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_exec_parallel_multiple.json b/berkeley-function-call-leaderboard/data/BFCL_v3_exec_parallel_multiple.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_exec_simple.json b/berkeley-function-call-leaderboard/data/BFCL_v3_exec_simple.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_irrelevance.json b/berkeley-function-call-leaderboard/data/BFCL_v3_irrelevance.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_java.json b/berkeley-function-call-leaderboard/data/BFCL_v3_java.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_javascript.json b/berkeley-function-call-leaderboard/data/BFCL_v3_javascript.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_live_irrelevance.json b/berkeley-function-call-leaderboard/data/BFCL_v3_live_irrelevance.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_live_multiple.json b/berkeley-function-call-leaderboard/data/BFCL_v3_live_multiple.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_live_parallel.json b/berkeley-function-call-leaderboard/data/BFCL_v3_live_parallel.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_live_parallel_multiple.json b/berkeley-function-call-leaderboard/data/BFCL_v3_live_parallel_multiple.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_live_relevance.json b/berkeley-function-call-leaderboard/data/BFCL_v3_live_relevance.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_live_simple.json b/berkeley-function-call-leaderboard/data/BFCL_v3_live_simple.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_multi_turn_base.json b/berkeley-function-call-leaderboard/data/BFCL_v3_multi_turn_base.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_multi_turn_composite.json b/berkeley-function-call-leaderboard/data/BFCL_v3_multi_turn_composite.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_multi_turn_long_context.json b/berkeley-function-call-leaderboard/data/BFCL_v3_multi_turn_long_context.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_multi_turn_miss_func.json b/berkeley-function-call-leaderboard/data/BFCL_v3_multi_turn_miss_func.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_multi_turn_miss_param.json b/berkeley-function-call-leaderboard/data/BFCL_v3_multi_turn_miss_param.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_multiple.json b/berkeley-function-call-leaderboard/data/BFCL_v3_multiple.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_parallel.json b/berkeley-function-call-leaderboard/data/BFCL_v3_parallel.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_parallel_multiple.json b/berkeley-function-call-leaderboard/data/BFCL_v3_parallel_multiple.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_rest.json b/berkeley-function-call-leaderboard/data/BFCL_v3_rest.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_simple.json b/berkeley-function-call-leaderboard/data/BFCL_v3_simple.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/BFCL_v3_sql.json b/berkeley-function-call-leaderboard/data/BFCL_v3_sql.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/README.md b/berkeley-function-call-leaderboard/data/README.md old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_java.json b/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_java.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_javascript.json b/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_javascript.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_live_multiple.json b/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_live_multiple.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_live_parallel.json b/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_live_parallel.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_live_parallel_multiple.json b/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_live_parallel_multiple.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_live_simple.json b/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_live_simple.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multi_turn_base.json b/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multi_turn_base.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multi_turn_composite.json b/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multi_turn_composite.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multi_turn_long_context.json b/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multi_turn_long_context.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multi_turn_miss_func.json b/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multi_turn_miss_func.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multi_turn_miss_param.json b/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multi_turn_miss_param.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multiple.json b/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_multiple.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_parallel.json b/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_parallel.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_parallel_multiple.json b/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_parallel_multiple.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_simple.json b/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_simple.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_sql.json b/berkeley-function-call-leaderboard/data/possible_answer/BFCL_v3_sql.json old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/openfunctions_evaluation.py b/berkeley-function-call-leaderboard/openfunctions_evaluation.py old mode 100644 new mode 100755 diff --git a/berkeley-function-call-leaderboard/pyproject.toml b/berkeley-function-call-leaderboard/pyproject.toml old mode 100644 new mode 100755 diff --git a/data/README.md b/data/README.md old mode 100644 new mode 100755 diff --git a/data/api/huggingface_api.jsonl b/data/api/huggingface_api.jsonl old mode 100644 new mode 100755 diff --git a/data/api/tensorflowhub_api.jsonl b/data/api/tensorflowhub_api.jsonl old mode 100644 new mode 100755 diff --git a/data/api/torchhub_api.jsonl b/data/api/torchhub_api.jsonl old mode 100644 new mode 100755 diff --git a/data/apibench/huggingface_eval.json b/data/apibench/huggingface_eval.json old mode 100644 new mode 100755 diff --git a/data/apibench/huggingface_train.json b/data/apibench/huggingface_train.json old mode 100644 new mode 100755 diff --git a/data/apibench/tensorflow_eval.json b/data/apibench/tensorflow_eval.json old mode 100644 new mode 100755 diff --git a/data/apibench/tensorflow_train.json b/data/apibench/tensorflow_train.json old mode 100644 new mode 100755 diff --git a/data/apibench/torchhub_eval.json b/data/apibench/torchhub_eval.json old mode 100644 new mode 100755 diff --git a/data/apibench/torchhub_train.json b/data/apibench/torchhub_train.json old mode 100644 new mode 100755 diff --git a/data/apizoo/Datadog_API.json b/data/apizoo/Datadog_API.json old mode 100644 new mode 100755 diff --git a/data/apizoo/Gmail_API.json b/data/apizoo/Gmail_API.json old mode 100644 new mode 100755 diff --git a/data/apizoo/GoogleFormsAPI.json b/data/apizoo/GoogleFormsAPI.json old mode 100644 new mode 100755 diff --git a/data/apizoo/Google_Calendar_API.json b/data/apizoo/Google_Calendar_API.json old mode 100644 new mode 100755 diff --git a/data/apizoo/Google_Chat_API.json b/data/apizoo/Google_Chat_API.json old mode 100644 new mode 100755 diff --git a/data/apizoo/Google_Docs_API.json b/data/apizoo/Google_Docs_API.json old mode 100644 new mode 100755 diff --git a/data/apizoo/Google_Drive_API.json b/data/apizoo/Google_Drive_API.json old mode 100644 new mode 100755 diff --git a/data/apizoo/Google_Search_Console_API.json b/data/apizoo/Google_Search_Console_API.json old mode 100644 new mode 100755 diff --git a/data/apizoo/Google_Sheets_API.json b/data/apizoo/Google_Sheets_API.json old mode 100644 new mode 100755 diff --git a/data/apizoo/Google_Slides_API.json b/data/apizoo/Google_Slides_API.json old mode 100644 new mode 100755 diff --git a/data/apizoo/Google_Translate_API.json b/data/apizoo/Google_Translate_API.json old mode 100644 new mode 100755 diff --git a/data/apizoo/KubernetesAPI.JSON b/data/apizoo/KubernetesAPI.JSON old mode 100644 new mode 100755 diff --git a/data/apizoo/KubernetesPodPodTemplateAPI.json b/data/apizoo/KubernetesPodPodTemplateAPI.json old mode 100644 new mode 100755 diff --git a/data/apizoo/Oracle_Cloud_Infrastructure_API.json b/data/apizoo/Oracle_Cloud_Infrastructure_API.json old mode 100644 new mode 100755 diff --git a/data/apizoo/Oracle_Primavera_Cloud_REST_API.json b/data/apizoo/Oracle_Primavera_Cloud_REST_API.json old mode 100644 new mode 100755 diff --git a/data/apizoo/Oracle_REST_Data_Services_API.json b/data/apizoo/Oracle_REST_Data_Services_API.json old mode 100644 new mode 100755 diff --git a/data/apizoo/REST_API_for_Documents.json b/data/apizoo/REST_API_for_Documents.json old mode 100644 new mode 100755 diff --git a/data/apizoo/REST_API_for_Oracle_Cloud_Infrastructure_Process_Automation.json b/data/apizoo/REST_API_for_Oracle_Cloud_Infrastructure_Process_Automation.json old mode 100644 new mode 100755 diff --git a/data/apizoo/REST_API_for_Oracle_Fusion_Cloud_Financials.json b/data/apizoo/REST_API_for_Oracle_Fusion_Cloud_Financials.json old mode 100644 new mode 100755 diff --git a/data/apizoo/REST_API_for_Oracle_Integration_3.json b/data/apizoo/REST_API_for_Oracle_Integration_3.json old mode 100644 new mode 100755 diff --git a/data/apizoo/Salesforce API in REST Format.JSON b/data/apizoo/Salesforce API in REST Format.JSON old mode 100644 new mode 100755 diff --git a/data/apizoo/Youtube_API.json b/data/apizoo/Youtube_API.json old mode 100644 new mode 100755 diff --git a/data/apizoo/Zoom_API.json b/data/apizoo/Zoom_API.json old mode 100644 new mode 100755 diff --git a/data/apizoo/aryanvichare.json b/data/apizoo/aryanvichare.json old mode 100644 new mode 100755 diff --git a/data/apizoo/danielgeorge.json b/data/apizoo/danielgeorge.json old mode 100644 new mode 100755 diff --git a/data/apizoo/felixzhu1.json b/data/apizoo/felixzhu1.json old mode 100644 new mode 100755 diff --git a/data/apizoo/jennifer818.json b/data/apizoo/jennifer818.json old mode 100644 new mode 100755 diff --git a/data/apizoo/servicenow.json b/data/apizoo/servicenow.json old mode 100644 new mode 100755 diff --git a/data/apizoo/shawnharmsen1.json b/data/apizoo/shawnharmsen1.json old mode 100644 new mode 100755 diff --git a/data/apizoo/yfinance.json b/data/apizoo/yfinance.json old mode 100644 new mode 100755 diff --git a/eval/README.md b/eval/README.md old mode 100644 new mode 100755 diff --git a/eval/eval-data/questions/huggingface/questions_huggingface_0_shot.jsonl b/eval/eval-data/questions/huggingface/questions_huggingface_0_shot.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/questions/huggingface/questions_huggingface_bm25.jsonl b/eval/eval-data/questions/huggingface/questions_huggingface_bm25.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/questions/huggingface/questions_huggingface_gpt_index.jsonl b/eval/eval-data/questions/huggingface/questions_huggingface_gpt_index.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/questions/huggingface/questions_huggingface_oracle.jsonl b/eval/eval-data/questions/huggingface/questions_huggingface_oracle.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/questions/tensorflowhub/questions_tensorflowhub_0_shot.jsonl b/eval/eval-data/questions/tensorflowhub/questions_tensorflowhub_0_shot.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/questions/tensorflowhub/questions_tensorflowhub_bm25.jsonl b/eval/eval-data/questions/tensorflowhub/questions_tensorflowhub_bm25.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/questions/tensorflowhub/questions_tensorflowhub_gpt_index.jsonl b/eval/eval-data/questions/tensorflowhub/questions_tensorflowhub_gpt_index.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/questions/tensorflowhub/questions_tensorflowhub_oracle.jsonl b/eval/eval-data/questions/tensorflowhub/questions_tensorflowhub_oracle.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/questions/torchhub/questions_torchhub_0_shot.jsonl b/eval/eval-data/questions/torchhub/questions_torchhub_0_shot.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/questions/torchhub/questions_torchhub_bm25.jsonl b/eval/eval-data/questions/torchhub/questions_torchhub_bm25.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/questions/torchhub/questions_torchhub_gpt_index.jsonl b/eval/eval-data/questions/torchhub/questions_torchhub_gpt_index.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/questions/torchhub/questions_torchhub_oracle.jsonl b/eval/eval-data/questions/torchhub/questions_torchhub_oracle.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/huggingface/response_huggingface_Gorilla_FT_0_shot.jsonl b/eval/eval-data/responses/huggingface/response_huggingface_Gorilla_FT_0_shot.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/huggingface/response_huggingface_Gorilla_FT_bm25.jsonl b/eval/eval-data/responses/huggingface/response_huggingface_Gorilla_FT_bm25.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/huggingface/response_huggingface_Gorilla_FT_gpt_index.jsonl b/eval/eval-data/responses/huggingface/response_huggingface_Gorilla_FT_gpt_index.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/huggingface/response_huggingface_Gorilla_FT_oracle.jsonl b/eval/eval-data/responses/huggingface/response_huggingface_Gorilla_FT_oracle.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/huggingface/response_huggingface_Gorilla_RT_0_shot.jsonl b/eval/eval-data/responses/huggingface/response_huggingface_Gorilla_RT_0_shot.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/huggingface/response_huggingface_Gorilla_RT_bm25.jsonl b/eval/eval-data/responses/huggingface/response_huggingface_Gorilla_RT_bm25.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/huggingface/response_huggingface_Gorilla_RT_gpt_index.jsonl b/eval/eval-data/responses/huggingface/response_huggingface_Gorilla_RT_gpt_index.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/huggingface/response_huggingface_Gorilla_RT_oracle.jsonl b/eval/eval-data/responses/huggingface/response_huggingface_Gorilla_RT_oracle.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_FT_0_shot.jsonl b/eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_FT_0_shot.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_FT_bm25.jsonl b/eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_FT_bm25.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_FT_gpt_index.jsonl b/eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_FT_gpt_index.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_FT_oracle.jsonl b/eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_FT_oracle.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_RT_0_shot.jsonl b/eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_RT_0_shot.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_RT_bm25.jsonl b/eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_RT_bm25.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_RT_gpt_index.jsonl b/eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_RT_gpt_index.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_RT_oracle.jsonl b/eval/eval-data/responses/tensorflowhub/response_tensorflowhub_Gorilla_RT_oracle.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/torchhub/response_torchhub_Gorilla_FT_0_shot.jsonl b/eval/eval-data/responses/torchhub/response_torchhub_Gorilla_FT_0_shot.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/torchhub/response_torchhub_Gorilla_FT_bm25.jsonl b/eval/eval-data/responses/torchhub/response_torchhub_Gorilla_FT_bm25.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/torchhub/response_torchhub_Gorilla_FT_gpt_index.jsonl b/eval/eval-data/responses/torchhub/response_torchhub_Gorilla_FT_gpt_index.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/torchhub/response_torchhub_Gorilla_FT_oracle.jsonl b/eval/eval-data/responses/torchhub/response_torchhub_Gorilla_FT_oracle.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/torchhub/response_torchhub_Gorilla_RT_0_shot.jsonl b/eval/eval-data/responses/torchhub/response_torchhub_Gorilla_RT_0_shot.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/torchhub/response_torchhub_Gorilla_RT_bm25.jsonl b/eval/eval-data/responses/torchhub/response_torchhub_Gorilla_RT_bm25.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/torchhub/response_torchhub_Gorilla_RT_gpt_index.jsonl b/eval/eval-data/responses/torchhub/response_torchhub_Gorilla_RT_gpt_index.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-data/responses/torchhub/response_torchhub_Gorilla_RT_oracle.jsonl b/eval/eval-data/responses/torchhub/response_torchhub_Gorilla_RT_oracle.jsonl old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/ast_eval_hf.py b/eval/eval-scripts/ast_eval_hf.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/ast_eval_tf.py b/eval/eval-scripts/ast_eval_tf.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/ast_eval_th.py b/eval/eval-scripts/ast_eval_th.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/__init__.py b/eval/eval-scripts/codebleu/__init__.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/bleu.py b/eval/eval-scripts/codebleu/bleu.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/dataflow_match.py b/eval/eval-scripts/codebleu/dataflow_match.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/keywords/c_sharp.txt b/eval/eval-scripts/codebleu/keywords/c_sharp.txt old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/keywords/java.txt b/eval/eval-scripts/codebleu/keywords/java.txt old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/keywords/python.txt b/eval/eval-scripts/codebleu/keywords/python.txt old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/DFG.py b/eval/eval-scripts/codebleu/parser/DFG.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/__init__.py b/eval/eval-scripts/codebleu/parser/__init__.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/build.py b/eval/eval-scripts/codebleu/parser/build.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/build.sh b/eval/eval-scripts/codebleu/parser/build.sh old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/.gitattributes b/eval/eval-scripts/codebleu/parser/tree-sitter-python/.gitattributes old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/.github/workflows/ci.yml b/eval/eval-scripts/codebleu/parser/tree-sitter-python/.github/workflows/ci.yml old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/.gitignore b/eval/eval-scripts/codebleu/parser/tree-sitter-python/.gitignore old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/.npmignore b/eval/eval-scripts/codebleu/parser/tree-sitter-python/.npmignore old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/Cargo.toml b/eval/eval-scripts/codebleu/parser/tree-sitter-python/Cargo.toml old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/LICENSE b/eval/eval-scripts/codebleu/parser/tree-sitter-python/LICENSE old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/README.md b/eval/eval-scripts/codebleu/parser/tree-sitter-python/README.md old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/binding.gyp b/eval/eval-scripts/codebleu/parser/tree-sitter-python/binding.gyp old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/bindings/node/binding.cc b/eval/eval-scripts/codebleu/parser/tree-sitter-python/bindings/node/binding.cc old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/bindings/node/index.js b/eval/eval-scripts/codebleu/parser/tree-sitter-python/bindings/node/index.js old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/bindings/rust/README.md b/eval/eval-scripts/codebleu/parser/tree-sitter-python/bindings/rust/README.md old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/bindings/rust/build.rs b/eval/eval-scripts/codebleu/parser/tree-sitter-python/bindings/rust/build.rs old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/bindings/rust/lib.rs b/eval/eval-scripts/codebleu/parser/tree-sitter-python/bindings/rust/lib.rs old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/compound-statement-without-trailing-newline.py b/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/compound-statement-without-trailing-newline.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/crlf-line-endings.py b/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/crlf-line-endings.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/mixed-spaces-tabs.py b/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/mixed-spaces-tabs.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/multiple-newlines.py b/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/multiple-newlines.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/python2-grammar-crlf.py b/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/python2-grammar-crlf.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/python2-grammar.py b/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/python2-grammar.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/python3-grammar-crlf.py b/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/python3-grammar-crlf.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/python3-grammar.py b/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/python3-grammar.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/python3.8_grammar.py b/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/python3.8_grammar.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/simple-statements-without-trailing-newline.py b/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/simple-statements-without-trailing-newline.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/tabs.py b/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/tabs.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/trailing-whitespace.py b/eval/eval-scripts/codebleu/parser/tree-sitter-python/examples/trailing-whitespace.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/grammar.js b/eval/eval-scripts/codebleu/parser/tree-sitter-python/grammar.js old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/package.json b/eval/eval-scripts/codebleu/parser/tree-sitter-python/package.json old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/queries/highlights.scm b/eval/eval-scripts/codebleu/parser/tree-sitter-python/queries/highlights.scm old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/queries/tags.scm b/eval/eval-scripts/codebleu/parser/tree-sitter-python/queries/tags.scm old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/script/known_failures.txt b/eval/eval-scripts/codebleu/parser/tree-sitter-python/script/known_failures.txt old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/src/grammar.json b/eval/eval-scripts/codebleu/parser/tree-sitter-python/src/grammar.json old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/src/node-types.json b/eval/eval-scripts/codebleu/parser/tree-sitter-python/src/node-types.json old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/src/parser.c b/eval/eval-scripts/codebleu/parser/tree-sitter-python/src/parser.c old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/src/scanner.cc b/eval/eval-scripts/codebleu/parser/tree-sitter-python/src/scanner.cc old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/src/tree_sitter/parser.h b/eval/eval-scripts/codebleu/parser/tree-sitter-python/src/tree_sitter/parser.h old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/test/corpus/errors.txt b/eval/eval-scripts/codebleu/parser/tree-sitter-python/test/corpus/errors.txt old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/test/corpus/expressions.txt b/eval/eval-scripts/codebleu/parser/tree-sitter-python/test/corpus/expressions.txt old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/test/corpus/literals.txt b/eval/eval-scripts/codebleu/parser/tree-sitter-python/test/corpus/literals.txt old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/test/corpus/pattern_matching.txt b/eval/eval-scripts/codebleu/parser/tree-sitter-python/test/corpus/pattern_matching.txt old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/test/corpus/statements.txt b/eval/eval-scripts/codebleu/parser/tree-sitter-python/test/corpus/statements.txt old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/test/highlight/keywords.py b/eval/eval-scripts/codebleu/parser/tree-sitter-python/test/highlight/keywords.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/test/highlight/parameters.py b/eval/eval-scripts/codebleu/parser/tree-sitter-python/test/highlight/parameters.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/tree-sitter-python/test/highlight/pattern_matching.py b/eval/eval-scripts/codebleu/parser/tree-sitter-python/test/highlight/pattern_matching.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/parser/utils.py b/eval/eval-scripts/codebleu/parser/utils.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/readme.txt b/eval/eval-scripts/codebleu/readme.txt old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/syntax_check.py b/eval/eval-scripts/codebleu/syntax_check.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/syntax_match.py b/eval/eval-scripts/codebleu/syntax_match.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/utils.py b/eval/eval-scripts/codebleu/utils.py old mode 100644 new mode 100755 diff --git a/eval/eval-scripts/codebleu/weighted_ngram_match.py b/eval/eval-scripts/codebleu/weighted_ngram_match.py old mode 100644 new mode 100755 diff --git a/eval/get_llm_responses.py b/eval/get_llm_responses.py old mode 100644 new mode 100755 diff --git a/eval/get_llm_responses_retriever.py b/eval/get_llm_responses_retriever.py old mode 100644 new mode 100755 diff --git a/eval/retrievers/__init__.py b/eval/retrievers/__init__.py old mode 100644 new mode 100755 diff --git a/eval/retrievers/bm25.py b/eval/retrievers/bm25.py old mode 100644 new mode 100755 diff --git a/eval/retrievers/build_json_index.py b/eval/retrievers/build_json_index.py old mode 100644 new mode 100755 diff --git a/eval/retrievers/gpt.py b/eval/retrievers/gpt.py old mode 100644 new mode 100755 diff --git a/eval/retrievers/schema.py b/eval/retrievers/schema.py old mode 100644 new mode 100755 diff --git a/goex/.env.example b/goex/.env.example old mode 100644 new mode 100755 diff --git a/goex/CONTRIBUTE.md b/goex/CONTRIBUTE.md old mode 100644 new mode 100755 diff --git a/goex/README.md b/goex/README.md old mode 100644 new mode 100755 diff --git a/goex/__init__.py b/goex/__init__.py old mode 100644 new mode 100755 diff --git a/goex/authorizations/__init__.py b/goex/authorizations/__init__.py old mode 100644 new mode 100755 diff --git a/goex/authorizations/scripts/__init__.py b/goex/authorizations/scripts/__init__.py old mode 100644 new mode 100755 diff --git a/goex/authorizations/scripts/authorization_utils.py b/goex/authorizations/scripts/authorization_utils.py old mode 100644 new mode 100755 diff --git a/goex/authorizations/scripts/consts.py b/goex/authorizations/scripts/consts.py old mode 100644 new mode 100755 diff --git a/goex/authorizations/scripts/discord_authorization.py b/goex/authorizations/scripts/discord_authorization.py old mode 100644 new mode 100755 diff --git a/goex/authorizations/scripts/dropbox_authorization.py b/goex/authorizations/scripts/dropbox_authorization.py old mode 100644 new mode 100755 diff --git a/goex/authorizations/scripts/github_authorization.py b/goex/authorizations/scripts/github_authorization.py old mode 100644 new mode 100755 diff --git a/goex/authorizations/scripts/gmail_authorization.py b/goex/authorizations/scripts/gmail_authorization.py old mode 100644 new mode 100755 diff --git a/goex/authorizations/scripts/slack_authorization.py b/goex/authorizations/scripts/slack_authorization.py old mode 100644 new mode 100755 diff --git a/goex/authorizations/scripts/spotify_authorization.py b/goex/authorizations/scripts/spotify_authorization.py old mode 100644 new mode 100755 diff --git a/goex/cli.py b/goex/cli.py old mode 100644 new mode 100755 index ec5df891a..c098b3236 --- a/goex/cli.py +++ b/goex/cli.py @@ -10,7 +10,7 @@ from main import ExecutionEngine, PythonAPIExecutor from exec_engine.utils import SQL_Type, Filesystem_Type -from exec_engine.db_manager import MySQLManager, SQLiteManager +from exec_engine.db_manager import MySQLManager, SQLiteManager, PostgreSQLManager from dotenv import load_dotenv import questionary @@ -213,6 +213,8 @@ def db_callback(prompt, generate_mode): db_manager = MySQLManager(config, docker_sandbox=engine.docker_sandbox) elif db_type == 'sqlite': db_manager = SQLiteManager(config, docker_sandbox=engine.docker_sandbox) + elif db_type == 'postgresql': + db_manager = PostgreSQLManager(config, docker_sandbox=engine.docker_sandbox) except Exception as e: print(f"Error during {db_type} Manager Init: {e}") return diff --git a/goex/demo/env_setup.py b/goex/demo/env_setup.py old mode 100644 new mode 100755 diff --git a/goex/demo/mysql_setup.py b/goex/demo/mysql_setup.py old mode 100644 new mode 100755 diff --git a/goex/docker/docker/dockerfile b/goex/docker/docker/dockerfile old mode 100644 new mode 100755 diff --git a/goex/docker/docker/python_executor.py b/goex/docker/docker/python_executor.py old mode 100644 new mode 100755 diff --git a/goex/docker/misc/images.json b/goex/docker/misc/images.json old mode 100644 new mode 100755 diff --git a/goex/docker/mysql_docker/checkpoints/database_dump.sql b/goex/docker/mysql_docker/checkpoints/database_dump.sql old mode 100644 new mode 100755 diff --git a/goex/docker/mysql_docker/container_setup/docker-entrypoint.sh b/goex/docker/mysql_docker/container_setup/docker-entrypoint.sh old mode 100644 new mode 100755 diff --git a/goex/docker/mysql_docker/container_setup/mysql.sh b/goex/docker/mysql_docker/container_setup/mysql.sh old mode 100644 new mode 100755 diff --git a/goex/docker/mysql_docker/dockerfile b/goex/docker/mysql_docker/dockerfile old mode 100644 new mode 100755 diff --git a/goex/docker/mysql_docker/python_executor.py b/goex/docker/mysql_docker/python_executor.py old mode 100644 new mode 100755 diff --git a/goex/docker/sqllite_docker/dockerfile b/goex/docker/sqllite_docker/dockerfile old mode 100644 new mode 100755 diff --git a/goex/docker/sqllite_docker/example_sqlite.db b/goex/docker/sqllite_docker/example_sqlite.db old mode 100644 new mode 100755 diff --git a/goex/docker/sqllite_docker/python_executor.py b/goex/docker/sqllite_docker/python_executor.py old mode 100644 new mode 100755 diff --git a/goex/examples.py b/goex/examples.py old mode 100644 new mode 100755 diff --git a/goex/exec_engine/README.md b/goex/exec_engine/README.md old mode 100644 new mode 100755 diff --git a/goex/exec_engine/__init__.py b/goex/exec_engine/__init__.py old mode 100644 new mode 100755 diff --git a/goex/exec_engine/api_executor.py b/goex/exec_engine/api_executor.py old mode 100644 new mode 100755 diff --git a/goex/exec_engine/container_utils/__init__.py b/goex/exec_engine/container_utils/__init__.py old mode 100644 new mode 100755 diff --git a/goex/exec_engine/container_utils/code_parser.py b/goex/exec_engine/container_utils/code_parser.py old mode 100644 new mode 100755 diff --git a/goex/exec_engine/container_utils/container_utils.py b/goex/exec_engine/container_utils/container_utils.py old mode 100644 new mode 100755 diff --git a/goex/exec_engine/credentials/__init__.py b/goex/exec_engine/credentials/__init__.py old mode 100644 new mode 100755 diff --git a/goex/exec_engine/credentials/credentials_utils.py b/goex/exec_engine/credentials/credentials_utils.py old mode 100644 new mode 100755 diff --git a/goex/exec_engine/credentials/supported.txt b/goex/exec_engine/credentials/supported.txt old mode 100644 new mode 100755 diff --git a/goex/exec_engine/db_manager.py b/goex/exec_engine/db_manager.py old mode 100644 new mode 100755 index 00089a2bd..fc98bfe2c --- a/goex/exec_engine/db_manager.py +++ b/goex/exec_engine/db_manager.py @@ -300,3 +300,120 @@ def close(self): if self.conn: self.cursor.close() self.conn.close() + +class PostgreSQLManager(DBManager): + """PostgreSQL database manager. + + Attributes: + _postgresql_imported (bool): flag to check if postgresql is imported. + + Methods: + connect: Establish connections to the DB + execute_db_call: Execute SQL call + commit_db_calls: Commit SQL calls + rollback_db_calls: Rollback SQL calls + close: Close the connection to the database + """ + _postgresql_imported = False + db_type = "postgresql" + TEST_CONFIG = "{'host': '127.0.0.1', 'user': 'root', 'password': ''}\n Use psycopg2 and make sure to create the database using subprocess before connection." + def __init__(self, connection_config, docker_sandbox: DockerSandbox = None): + """Initialize the PostgreSQLManager. + + Args: + connection_config (dict): configuration for the database connection, including keys for 'user', 'password', 'host', and 'database'. + """ + if not PostgreSQLManager._postgresql_imported: + global psycopg2 + import psycopg2 + PostgreSQLManager._postgresql_imported = True + + keys = connection_config.keys() + + if any(key not in keys for key in ['host', 'user', 'password', 'database']): + raise ValueError("Failed to initialize PostgreSQL Manager due to bad configs") + elif any([not connection_config['host'], not connection_config['user'], not connection_config['password'], not connection_config['database']]): + raise ValueError("Failed to initialize PostgreSQL Manager due to missing configs") + + self.connection_config = { + 'dbname': connection_config['database'] if 'database' in connection_config else 'postgres', + 'user': connection_config['user'] if 'user' in connection_config else 'postgres', + 'password': connection_config['password'] if 'password' in connection_config else '', + 'host': connection_config['host'] if 'host' in connection_config else '127.0.0.1' + } + + def connect(self): + """Establish connection to the MySQL database and create a cursor.""" + connection = None + try: + connection = psycopg2.connect(**self.connection_config) + self.conn = connection + self.cursor = connection.cursor() + self.update_schema_info() + except Exception as e: + if connection: + connection.close() + print("Failed to connect to the database. Error:", e) + + def update_schema_info(self): + schema_info = {} + get_all_tables_query = """ + SELECT table_name + FROM information_schema.tables + WHERE table_schema = 'public' + """ + self.cursor.execute(get_all_tables_query) + tables = self.cursor.fetchall() + for (table_name,) in tables: + self.cursor.execute(f"SELECT column_name, data_type, is_nullable, column_default FROM information_schema.columns WHERE table_name = '{table_name}';") + schema_info[table_name] = self.cursor.fetchall() + + self.schema = schema_info + + def execute_db_call(self, call): + """Execute a SQL call using the cursor.""" + if not self.conn: + self.connect() + try: + self.cursor.execute(call) + self.update_schema_info() + return 0 + except Exception as e: + return 1 + + def fetch_db_call(self, call: str) -> list[dict]: + """Execute a SQL call and return the results. + + Args: + call (str): SQL query to execute. + + Returns: + list[dict]: A list of dictionaries representing each row in the query result. + """ + if not self.conn: + self.connect() + try: + self.cursor.execute(call) + ret_val = self.cursor.fetchall() + self.update_schema_info() + return ret_val + except Exception as e: + return [] + + def commit_db_calls(self): + """Commit SQL calls.""" + if not self.conn: + self.connect() + self.conn.commit() + + def rollback_db_calls(self): + """Rollback SQL calls not committed.""" + if not self.conn: + self.connect() + self.conn.rollback() + + def close(self): + """Close the cursor and the connection to the database.""" + if self.conn: + self.cursor.close() + self.conn.close() diff --git a/goex/exec_engine/docker_sandbox.py b/goex/exec_engine/docker_sandbox.py old mode 100644 new mode 100755 diff --git a/goex/exec_engine/fs_manager.py b/goex/exec_engine/fs_manager.py old mode 100644 new mode 100755 diff --git a/goex/exec_engine/negation_manager.py b/goex/exec_engine/negation_manager.py old mode 100644 new mode 100755 diff --git a/goex/exec_engine/pipeline.py b/goex/exec_engine/pipeline.py old mode 100644 new mode 100755 diff --git a/goex/exec_engine/pips/mapping.txt b/goex/exec_engine/pips/mapping.txt old mode 100644 new mode 100755 diff --git a/goex/exec_engine/pips/stdlib.txt b/goex/exec_engine/pips/stdlib.txt old mode 100644 new mode 100755 diff --git a/goex/exec_engine/utils.py b/goex/exec_engine/utils.py old mode 100644 new mode 100755 diff --git a/goex/function/dummy_key.json b/goex/function/dummy_key.json old mode 100644 new mode 100755 diff --git a/goex/function/function.json b/goex/function/function.json old mode 100644 new mode 100755 diff --git a/goex/function/slack_add_emoji_reaction.py b/goex/function/slack_add_emoji_reaction.py old mode 100644 new mode 100755 diff --git a/goex/function/slack_delete_latest_file.py b/goex/function/slack_delete_latest_file.py old mode 100644 new mode 100755 diff --git a/goex/function/slack_delete_most_recent_message.py b/goex/function/slack_delete_most_recent_message.py old mode 100644 new mode 100755 diff --git a/goex/function/slack_delete_most_recent_message_dummy.py b/goex/function/slack_delete_most_recent_message_dummy.py old mode 100644 new mode 100755 diff --git a/goex/function/slack_list_channels.py b/goex/function/slack_list_channels.py old mode 100644 new mode 100755 diff --git a/goex/function/slack_read_messages.py b/goex/function/slack_read_messages.py old mode 100644 new mode 100755 diff --git a/goex/function/slack_remove_latest_emoji_reaction.py b/goex/function/slack_remove_latest_emoji_reaction.py old mode 100644 new mode 100755 diff --git a/goex/function/slack_send_message.py b/goex/function/slack_send_message.py old mode 100644 new mode 100755 diff --git a/goex/function/slack_send_message_dummy.py b/goex/function/slack_send_message_dummy.py old mode 100644 new mode 100755 diff --git a/goex/function/slack_upload_file.py b/goex/function/slack_upload_file.py old mode 100644 new mode 100755 diff --git a/goex/main.py b/goex/main.py old mode 100644 new mode 100755 diff --git a/goex/requirements.txt b/goex/requirements.txt old mode 100644 new mode 100755 diff --git a/goex/server.py b/goex/server.py old mode 100644 new mode 100755 diff --git a/goex/setup.py b/goex/setup.py old mode 100644 new mode 100755 diff --git a/inference/README.md b/inference/README.md old mode 100644 new mode 100755 diff --git a/inference/apply_delta.py b/inference/apply_delta.py old mode 100644 new mode 100755 diff --git a/inference/example_questions/example_questions.jsonl b/inference/example_questions/example_questions.jsonl old mode 100644 new mode 100755 diff --git a/inference/gorilla_eval.py b/inference/gorilla_eval.py old mode 100644 new mode 100755 diff --git a/inference/image-1.png b/inference/image-1.png old mode 100644 new mode 100755 diff --git a/inference/image-2.png b/inference/image-2.png old mode 100644 new mode 100755 diff --git a/inference/image-3.png b/inference/image-3.png old mode 100644 new mode 100755 diff --git a/inference/image-4.png b/inference/image-4.png old mode 100644 new mode 100755 diff --git a/inference/image.png b/inference/image.png old mode 100644 new mode 100755 diff --git a/inference/real-time-inference-local.gif b/inference/real-time-inference-local.gif old mode 100644 new mode 100755 diff --git a/inference/requirements.txt b/inference/requirements.txt old mode 100644 new mode 100755 diff --git a/inference/serve/conv_template.py b/inference/serve/conv_template.py old mode 100644 new mode 100755 diff --git a/inference/serve/gorilla_cli.py b/inference/serve/gorilla_cli.py old mode 100644 new mode 100755 diff --git a/inference/serve/gorilla_falcon_cli.py b/inference/serve/gorilla_falcon_cli.py old mode 100644 new mode 100755 diff --git a/openfunctions/README.md b/openfunctions/README.md old mode 100644 new mode 100755 diff --git a/openfunctions/inference_hosted.py b/openfunctions/inference_hosted.py old mode 100644 new mode 100755 diff --git a/openfunctions/inference_local.py b/openfunctions/inference_local.py old mode 100644 new mode 100755 diff --git a/openfunctions/openfunctions-v1/README.md b/openfunctions/openfunctions-v1/README.md old mode 100644 new mode 100755 diff --git a/openfunctions/openfunctions-v1/gorilla_openfunctions_v1_test.json b/openfunctions/openfunctions-v1/gorilla_openfunctions_v1_test.json old mode 100644 new mode 100755 diff --git a/openfunctions/openfunctions-v1/gorilla_openfunctions_v1_train.json b/openfunctions/openfunctions-v1/gorilla_openfunctions_v1_train.json old mode 100644 new mode 100755 diff --git a/openfunctions/openfunctions_utils.py b/openfunctions/openfunctions_utils.py old mode 100644 new mode 100755 diff --git a/openfunctions/utils/java_parser.py b/openfunctions/utils/java_parser.py old mode 100644 new mode 100755 diff --git a/openfunctions/utils/js_parser.py b/openfunctions/utils/js_parser.py old mode 100644 new mode 100755 diff --git a/openfunctions/utils/python_parser.py b/openfunctions/utils/python_parser.py old mode 100644 new mode 100755 diff --git a/raft/.envrc b/raft/.envrc old mode 100644 new mode 100755 diff --git a/raft/.gitignore b/raft/.gitignore old mode 100644 new mode 100755 diff --git a/raft/README.md b/raft/README.md old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/howto.md b/raft/azure-ai-studio-ft/howto.md old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-01.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-01.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-02.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-02.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-03.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-03.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-04.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-04.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-05.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-05.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-06.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-06.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-07.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-07.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-08.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-08.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-09.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-09.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-10.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-10.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-11.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-11.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-12.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-12.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-13.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-13.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-14.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-14.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-15.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-15.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-16.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-16.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-17.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-17.png old mode 100644 new mode 100755 diff --git a/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-18.png b/raft/azure-ai-studio-ft/images/azure-ai-studio-finetuning-18.png old mode 100644 new mode 100755 diff --git a/raft/checkpointing.py b/raft/checkpointing.py old mode 100644 new mode 100755 diff --git a/raft/client_utils.py b/raft/client_utils.py old mode 100644 new mode 100755 diff --git a/raft/env_config.py b/raft/env_config.py old mode 100644 new mode 100755 diff --git a/raft/eval.py b/raft/eval.py old mode 100644 new mode 100755 diff --git a/raft/format.py b/raft/format.py old mode 100644 new mode 100755 diff --git a/raft/logconf.py b/raft/logconf.py old mode 100644 new mode 100755 diff --git a/raft/logging.yaml b/raft/logging.yaml old mode 100644 new mode 100755 diff --git a/raft/raft.py b/raft/raft.py old mode 100644 new mode 100755 diff --git a/raft/raft_local.py b/raft/raft_local.py old mode 100644 new mode 100755 diff --git a/raft/requirements.txt b/raft/requirements.txt old mode 100644 new mode 100755 diff --git a/raft/sample_data/UC_Berkeley.pdf b/raft/sample_data/UC_Berkeley.pdf old mode 100644 new mode 100755 diff --git a/raft/sample_data/UC_Berkeley_short.pdf b/raft/sample_data/UC_Berkeley_short.pdf old mode 100644 new mode 100755 diff --git a/raft/sample_data/United_States_PDF.pdf b/raft/sample_data/United_States_PDF.pdf old mode 100644 new mode 100755 diff --git a/raft/sample_data/apizoo.json b/raft/sample_data/apizoo.json old mode 100644 new mode 100755 diff --git a/raft/sample_data/blog.txt b/raft/sample_data/blog.txt old mode 100644 new mode 100755 diff --git a/raft/tests/test_env_config.py b/raft/tests/test_env_config.py old mode 100644 new mode 100755 diff --git a/raft/tests/test_format.py b/raft/tests/test_format.py old mode 100644 new mode 100755 diff --git a/raft/tests/test_set_env.py b/raft/tests/test_set_env.py old mode 100644 new mode 100755 diff --git a/requirements.txt b/requirements.txt old mode 100644 new mode 100755 From 89210ca35a38cb6963f0436e291f03d003fa7bc9 Mon Sep 17 00:00:00 2001 From: YLu-1258 Date: Sat, 12 Oct 2024 15:29:20 -0700 Subject: [PATCH 2/5] Initial Groundwork on APIs Co-authored-by: Yujie Lu --- .gitignore | 1 + .../scripts/spotify_authorization.py | 5 ++-- goex/function/spotify_api_details.py | 14 ++++++++++ goex/function/spotify_play_song.py | 20 +++++++++++++ goex/function/spotify_retrieve_album.py | 17 +++++++++++ goex/localhost-key.pem | 28 +++++++++++++++++++ goex/localhost.pem | 24 ++++++++++++++++ 7 files changed, 107 insertions(+), 2 deletions(-) create mode 100644 goex/function/spotify_api_details.py create mode 100644 goex/function/spotify_play_song.py create mode 100644 goex/function/spotify_retrieve_album.py create mode 100644 goex/localhost-key.pem create mode 100644 goex/localhost.pem diff --git a/.gitignore b/.gitignore index 1e53d1362..45eea3b80 100755 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ dist .editorconfig .DS_Store **/*.pyc +goex/goex-env/ goex/exec_engine/checkpoints/ goex/exec_engine/credentials/* !goex/exec_engine/credentials/credentials_utils.py diff --git a/goex/authorizations/scripts/spotify_authorization.py b/goex/authorizations/scripts/spotify_authorization.py index b3affd997..4cfbe667c 100755 --- a/goex/authorizations/scripts/spotify_authorization.py +++ b/goex/authorizations/scripts/spotify_authorization.py @@ -10,8 +10,8 @@ import wsgiref.simple_server import wsgiref.util from urllib.parse import quote, urlparse, parse_qs -from .consts import AUTH_URL, CERT_FILE_PATH, KEY_FILE_PATH - +from consts import AUTH_URL, CERT_FILE_PATH, KEY_FILE_PATH +print(CERT_FILE_PATH) SPOTIFY_FOLDER_PATH = os.path.join(os.path.dirname(Path(os.path.realpath(__file__)).parent.parent), 'exec_engine/credentials/spotify') TOKEN_FILE = os.path.join(SPOTIFY_FOLDER_PATH, 'token.pickle') @@ -23,6 +23,7 @@ def main(): creds = pickle.load(token) # If there are no (valid) credentials available, let the user log in creds = run_spotify_flow() + print(creds) # Save the credentials for the next run if not os.path.isdir(SPOTIFY_FOLDER_PATH): os.mkdir(SPOTIFY_FOLDER_PATH) diff --git a/goex/function/spotify_api_details.py b/goex/function/spotify_api_details.py new file mode 100644 index 000000000..240f51236 --- /dev/null +++ b/goex/function/spotify_api_details.py @@ -0,0 +1,14 @@ +import spotipy +from spotipy.oauth2 import SpotifyOAuth + +def create_spotify_api_object(): + scope = "user-library-read" + + client_id = 'd711dfc0d97440cb898b08fbdc2083c1' + client_secret = '1d4854768be047438a72d48a8c4622ab' + redirect_uri = 'http://localhost:8888/callback' + + sp = spotipy.Spotify(auth_manager=SpotifyOAuth(client_id = client_id, + client_secret = client_secret, + redirect_uri = redirect_uri, + scope=scope)) \ No newline at end of file diff --git a/goex/function/spotify_play_song.py b/goex/function/spotify_play_song.py new file mode 100644 index 000000000..56506a7e6 --- /dev/null +++ b/goex/function/spotify_play_song.py @@ -0,0 +1,20 @@ +import os +import pickle +import spotipy +from spotipy.oauth2 import SpotifyOAuth + +# results = sp.current_user_saved_tracks() +# for idx, item in enumerate(results['items']): +# track = item['track'] +# print(idx, track['artists'][0]['name'], " – ", track['name']) + +album = 'spotify:album:4o57W8cMFiKf2NVbGSE9jH' + +results = sp.artist_albums(album, album_type='album') +albums = results['items'] +while results['next']: + results = sp.next(results) + albums.extend(results['items']) + +for album in albums: + print(album['name']) \ No newline at end of file diff --git a/goex/function/spotify_retrieve_album.py b/goex/function/spotify_retrieve_album.py new file mode 100644 index 000000000..f99ed6e28 --- /dev/null +++ b/goex/function/spotify_retrieve_album.py @@ -0,0 +1,17 @@ +import spotipy +from spotify_api_details import sp + +def get_album_info(album_id): + album = sp.album(album_id) + + album_info = { + 'name': album['name'], + 'release_date': album['release_date'], + 'total_tracks': album['total_tracks'], + 'artists': [artist['name'] for artist in album['artists']], + 'tracks': [track['name'] for track in album['tracks']['items']] + } + return album_info + +album_id = "4aawyAB9vmqN3uQ7FjRGTy" +print(get_album_info(album_id)) diff --git a/goex/localhost-key.pem b/goex/localhost-key.pem new file mode 100644 index 000000000..2f81f2151 --- /dev/null +++ b/goex/localhost-key.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC80kwcaWMrZ9uo +r0xCCNn8aYsV3qEPMmrEqdEHGjV9aEhFkT/6IzOA8n30Sqj9IxW37dhcaPkuO5Tj +RNuftDpO1DkHoiBafvZZKljGEkvzhtQqUpTSrkNn5RtL8ZVfr6J8nYXjwXQv/Pc+ +6AoQeJGXV0MyeKYB1y8QMYNW+nTpzjblKCTyPaJwpjIX2bsRAEhZOTEeBNeUM/F0 +/zViCnAWESHNQDkct5E4GkImqycKuN97mqakdLOtGzTQsOm9mgOL7JSHiLFuEHpx +2Yd6fVXcX73RzGEzXCISue6OOQFEqUHNcnjdJHzi76jJLLK9cixCKfmR60mz0rZL +VOC9Qaq7AgMBAAECggEBAIxsjWP30GPAenCp5bmaYZtBVsmt5vOpWBPoAucYS713 +J4BtNDovoab9METUnXaceBNwlB6thtsmPmUCmZ7c5xwm4j7WCN+kWksXniu4Abob +hH/xKHLCXKjQjwtcn+0oblvkvmUSQvlJVQr4gDudnxEBOZ04cqUdxgdx+y5dV0Nk +7B09YNFiF56AJkKZh+uE4PPZUnCtKcTLQiZu66L55ZXgMTyItIG0rjXtHsqfnmsI +mufmuWqbj4zm6oCfhHlTZHg3ipVGqSqsLsSPiIT+OITV1Iq3SsFrBEBiLd1e/2bt +z4YEAHt/SsIgcIbMz405sLjx5zq3CS6PbtshBXvGruECgYEA7WNDoLktYxzGjXb5 +fspZPCbGL9qFox4vozm9m+iGipX2qVnO+VdCRTVqVS70Op4AKIhTOaKEIBldIV+H +hroXxV0IBfbPWs3P8F2iIP+rZwxrI8YyPrB/RpMFjOxgCnD7uwH1WWX2ed+f1C9j +ppOLYWRJ+ye4m3OPaJ+YaNqoa4sCgYEAy6A7yotP9Fx+fqTWXlvmWmhhUCfdoaZG +vo1F7VtryOLbMC2t7j7g5ObAutLcb7pKM/uNt8kDfWINO9dX0sVyQWZVIPqTXwiP +G9S+d5LjYlW1LRyNfAEWAYj9HGmNYzpInnf6HlbB53Yn7z7Hgba1WetoRKXH0zRK +D6bqQueSY5ECgYEAhHL8CrMHReOKTOfy8PFJtKwVrCGKqqZvAe13g4PLfYuKopa/ +SpOLID5bY8fc8M+zWuolNWUdvyMnuTUp0twF41Ky5VD+BLYMrRoxGaRNKCPfq4gs +BJpJiUECucwxEeJUMdU35XdkfD9vV95RBWIRRHfGZ2GUOPfTLhbN3MMTcV0CgYAp +FmP6MrIndKJxm4FF+PU6OOWp7uFhxNNxj8AUbOYK2vuvdQgrkrR+e7FYAURJpyVh +59hoxT7XBfn1oTYvaXfsimGTDfy+qFN4Ii1so08OgIzWVXSXGQD/vkyUdxf4dcJB +d6QYixkFQ2o7dEd9fQiK5F1dvLXdgCeRkPSkG2YGgQKBgHLlac0GVEd8m3ACmsbk +n1wNWueOVnbdbhoJPdUA59S39Nse6LQnmma6PPoRAs2rzt023zymWizq9vREVNYR +OJvm5wobk5yIWZSPzwvNLDoUlj736K7stYfXpe1MGKAzhrUHYFuIDCgHT5+89ea+ +XfahcBE8Q6FVt3lLmVLlylZQ +-----END PRIVATE KEY----- diff --git a/goex/localhost.pem b/goex/localhost.pem new file mode 100644 index 000000000..fd1885e4c --- /dev/null +++ b/goex/localhost.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIIEBjCCAm6gAwIBAgIQEumytb68NOI0c3Kilp6wYzANBgkqhkiG9w0BAQsFADBb +MR4wHAYDVQQKExVta2NlcnQgZGV2ZWxvcG1lbnQgQ0ExGDAWBgNVBAsMD2VyaXMy +OUBWQU5BSEVJTTEfMB0GA1UEAwwWbWtjZXJ0IGVyaXMyOUBWQU5BSEVJTTAeFw0y +NDEwMTIyMjI1MDVaFw0yNzAxMTIyMzI1MDVaMEMxJzAlBgNVBAoTHm1rY2VydCBk +ZXZlbG9wbWVudCBjZXJ0aWZpY2F0ZTEYMBYGA1UECwwPZXJpczI5QFZBTkFIRUlN +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvNJMHGljK2fbqK9MQgjZ +/GmLFd6hDzJqxKnRBxo1fWhIRZE/+iMzgPJ99Eqo/SMVt+3YXGj5LjuU40Tbn7Q6 +TtQ5B6IgWn72WSpYxhJL84bUKlKU0q5DZ+UbS/GVX6+ifJ2F48F0L/z3PugKEHiR +l1dDMnimAdcvEDGDVvp06c425Sgk8j2icKYyF9m7EQBIWTkxHgTXlDPxdP81Ygpw +FhEhzUA5HLeROBpCJqsnCrjfe5qmpHSzrRs00LDpvZoDi+yUh4ixbhB6cdmHen1V +3F+90cxhM1wiErnujjkBRKlBzXJ43SR84u+oySyyvXIsQin5ketJs9K2S1TgvUGq +uwIDAQABo14wXDAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEw +HwYDVR0jBBgwFoAUpWCLhQL4F/m/s+TlJKjDWdgHDFUwFAYDVR0RBA0wC4IJbG9j +YWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBgQBVya7UENdHk4DPgQR5BZwSdLdN0eso +cFoxiSb/XdkaiU3d5PgqAJo5um1HParFhGJpY7C/Z6wad4ju/fteq5Hlw0fbMTfA +wat+Ggkjg4Bnh0uJY+dZ4v+GydxetXzK7Bg2y1zZG9XAu/lV40EupNO4OAj9abBw +flwCZsEsK2qxXe5JaTZgdpEjJNq1r20nQrvt369+6oJPlB8kf66YzEgL8Hg4l+xq +0yFpE9szxSgLhfBRZSXzNCyAqPxIz/XbmRctcABvs0c/nf6KsStrECBSUbsqKDUw ++1Zql2G3E/oFit153mpK5cWBF7OwKFYXDKBnf+S7I3H6sYpfUWByd3i0S2NKIGj2 +1GaY8kDHvOEzB0nLnPaEtm/BcRF2i5/3Yt7CAyugtnZTL8ffx08NB5HJX2CGygmF +s32N89jXqCslg7Z2aIIEDNYN+J/zgZothFTT6sdEAGHs/eOXhBYSOICKkz42WO/C +IEOoLIzGrn+YRAoZhnQOrwtB8sPYTfgaIIk= +-----END CERTIFICATE----- From ba78e1a4e31ccef1e9cb737cc17551165e6851a0 Mon Sep 17 00:00:00 2001 From: Yujie Lu Date: Sun, 13 Oct 2024 02:45:39 -0400 Subject: [PATCH 3/5] Added spotify playlists --- goex/function/spotify_add_song.py | 0 goex/function/spotify_create_playlist.py | 25 ++++++++++++ goex/function/spotify_list_artist_albums.py | 43 +++++++++++++++++++++ goex/function/spotify_pause.py | 29 ++++++++++++++ goex/function/spotify_play_album.py | 38 ++++++++++++++++++ goex/function/spotify_play_song.py | 38 ++++++++++++++++++ goex/function/spotify_queue.py | 34 ++++++++++++++++ 7 files changed, 207 insertions(+) create mode 100644 goex/function/spotify_add_song.py create mode 100644 goex/function/spotify_create_playlist.py create mode 100644 goex/function/spotify_list_artist_albums.py create mode 100644 goex/function/spotify_pause.py create mode 100644 goex/function/spotify_play_album.py create mode 100644 goex/function/spotify_play_song.py create mode 100644 goex/function/spotify_queue.py diff --git a/goex/function/spotify_add_song.py b/goex/function/spotify_add_song.py new file mode 100644 index 000000000..e69de29bb diff --git a/goex/function/spotify_create_playlist.py b/goex/function/spotify_create_playlist.py new file mode 100644 index 000000000..8f3137f35 --- /dev/null +++ b/goex/function/spotify_create_playlist.py @@ -0,0 +1,25 @@ +import os +import pickle +import spotipy +from spotipy.oauth2 import SpotifyOAuth +from spotipy.oauth2 import SpotifyClientCredentials + +def spotify_play_song(user,name): + # Load spotify credentials + credentials_path = './credentials/spotify/token.pickle' + if os.path.exists(credentials_path): + with open(credentials_path, 'rb') as token_file: + spotify_token = pickle.load(token_file) + else: + raise FileNotFoundError("Spotify token file not found.") + token_info = SpotifyOAuth(token=spotify_token) + # Initialization + if not token_info: + print("No account found") + return None + else: + sp = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials()) + if sp is None: + return None + # create playlist with inputted name and user ID + sp.user_playlist_create(user, name, public=True, collaborative=False, description='') \ No newline at end of file diff --git a/goex/function/spotify_list_artist_albums.py b/goex/function/spotify_list_artist_albums.py new file mode 100644 index 000000000..df4c894a5 --- /dev/null +++ b/goex/function/spotify_list_artist_albums.py @@ -0,0 +1,43 @@ +import os +import pickle +import spotipy +from spotipy.oauth2 import SpotifyOAuth +from spotipy.oauth2 import SpotifyClientCredentials + +def spotify_list_artist_albums(artist): + # Load spotify credentials + credentials_path = './credentials/spotify/token.pickle' + if os.path.exists(credentials_path): + with open(credentials_path, 'rb') as token_file: + spotify_token = pickle.load(token_file) + else: + raise FileNotFoundError("Spotify token file not found.") + token_info = SpotifyOAuth(token=spotify_token) + # Initialization + if not token_info: + print("No account found") + return None + else: + sp = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials()) + if sp is None: + return None + # Returns the most popular artist's URI with the same name + results = sp.search(q=artist, type='artist', limit=1) + artista = results['artist']['items'] + if artista: + artistaa = artista[0]['uri'] + else: + print("No artist found for:", artist) + return None + # Uses the artist URI to search through their spotify discography and returns the names of all their albums + + spotify = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials()) + + albums_results = spotify.artist_albums(artistaa, album_type='album') + albums = albums_results['items'] + while albums_results['next']: + albums_results = spotify.next(albums_results) + albums.extend(albums_results['items']) + + for album in albums: + print(album['name']) \ No newline at end of file diff --git a/goex/function/spotify_pause.py b/goex/function/spotify_pause.py new file mode 100644 index 000000000..8d28dbed8 --- /dev/null +++ b/goex/function/spotify_pause.py @@ -0,0 +1,29 @@ +import pyautogui +import os +import pickle +import spotipy +from spotipy.oauth2 import SpotifyOAuth +from spotipy.oauth2 import SpotifyClientCredentials + +def spotify_pause(): + # Load spotify credentials + credentials_path = './credentials/spotify/token.pickle' + if os.path.exists(credentials_path): + with open(credentials_path, 'rb') as token_file: + spotify_token = pickle.load(token_file) + else: + raise FileNotFoundError("Spotify token file not found.") + token_info = SpotifyOAuth(token=spotify_token) + # Initialization + if not token_info: + print("No account found") + return None + else: + sp = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials()) + if sp is None: + return None + # Check to see if a song is currently playing + if sp.currently_playing: + pyautogui.press('stop') + else: + print("No song currently playing") \ No newline at end of file diff --git a/goex/function/spotify_play_album.py b/goex/function/spotify_play_album.py new file mode 100644 index 000000000..edc890d40 --- /dev/null +++ b/goex/function/spotify_play_album.py @@ -0,0 +1,38 @@ +import os +import pickle +import spotipy +from spotipy.oauth2 import SpotifyOAuth +from spotipy.oauth2 import SpotifyClientCredentials + +def spotify_play_album(album_name): + # Load spotify credentials + credentials_path = './credentials/spotify/token.pickle' + if os.path.exists(credentials_path): + with open(credentials_path, 'rb') as token_file: + spotify_token = pickle.load(token_file) + else: + raise FileNotFoundError("Spotify token file not found.") + token_info = SpotifyOAuth(token=spotify_token) + # Initialization + if not token_info: + print("No account found") + return None + else: + sp = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials()) + if sp is None: + return None + # Searches the album name and finds the most popular match and then provides the URI from that + results = sp.search(q=album_name, type='album', limit=1) + albums = results['album']['items'] + if albums: + album = albums[0]['uri'] + else: + print("No tracks found for:", album_name) + return None + # Uses the URI to play the album on Spotify + try: + for track in album: + sp.start_playback(uris=[track]) + print("Playing") + except spotipy.SpotifyException as e: + print("Error", e) diff --git a/goex/function/spotify_play_song.py b/goex/function/spotify_play_song.py new file mode 100644 index 000000000..784b869ad --- /dev/null +++ b/goex/function/spotify_play_song.py @@ -0,0 +1,38 @@ +import os +import pickle +import spotipy +from spotipy.oauth2 import SpotifyOAuth +from spotipy.oauth2 import SpotifyClientCredentials + +def spotify_play_song(song_name): + # Load spotify credentials + credentials_path = './credentials/spotify/token.pickle' + if os.path.exists(credentials_path): + with open(credentials_path, 'rb') as token_file: + spotify_token = pickle.load(token_file) + else: + raise FileNotFoundError("Spotify token file not found.") + token_info = SpotifyOAuth(token=spotify_token) + # Initialization + if not token_info: + print("No account found") + return None + else: + sp = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials()) + if sp is None: + return None + # Get track uri from the song name + # '''searches song name and finds the most popular match and then provides the URI from that''' + results = sp.search(q=song_name, type='track', limit=1) + tracks = results['tracks']['items'] + if tracks: + song = tracks[0]['uri'] + else: + print("No tracks found for:", song_name) + return None + # Uses the URI to play the song on Spotify + try: + sp.start_playback(uris=[song]) + print("Playing") + except spotipy.SpotifyException as e: + print("Error", e) diff --git a/goex/function/spotify_queue.py b/goex/function/spotify_queue.py new file mode 100644 index 000000000..bea7f53ad --- /dev/null +++ b/goex/function/spotify_queue.py @@ -0,0 +1,34 @@ +import os +import pickle +import spotipy +from spotipy import add_to_queue +from spotipy.oauth2 import SpotifyOAuth +from spotipy.oauth2 import SpotifyClientCredentials +def spotify_queue(song_name): + # Load spotify credentials + credentials_path = './credentials/spotify/token.pickle' + if os.path.exists(credentials_path): + with open(credentials_path, 'rb') as token_file: + spotify_token = pickle.load(token_file) + else: + raise FileNotFoundError("Spotify token file not found.") + token_info = SpotifyOAuth(token=spotify_token) + # Initialization + if not token_info: + print("No account found") + return None + else: + sp = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials()) + if sp is None: + return None + # Get track uri from the song name + # '''searches song name and finds the most popular match and then provides the URI from that''' + results = sp.search(q=song_name, type='track', limit=1) + tracks = results['tracks']['items'] + if tracks: + song = tracks[0]['uri'] + else: + print("No tracks found for:", song_name) + return None + # Uses the URI to play the song on Spotify + add_to_queue(song, device_id=None) \ No newline at end of file From 7d792543145452fcfeaa6073d70b99dee7fbb686 Mon Sep 17 00:00:00 2001 From: Yujie Lu Date: Sun, 13 Oct 2024 02:52:32 -0400 Subject: [PATCH 4/5] Updated gitignore + Craeted spotify album APIs --- .gitignore | 1 + goex/function/spotify_add_song.py | 0 goex/function/spotify_create_playlist.py | 25 ++++++++++++ goex/function/spotify_list_artist_albums.py | 43 +++++++++++++++++++++ goex/function/spotify_pause.py | 29 ++++++++++++++ goex/function/spotify_play_album.py | 38 ++++++++++++++++++ goex/function/spotify_play_song.py | 38 ++++++++++++++++++ goex/function/spotify_queue.py | 34 ++++++++++++++++ 8 files changed, 208 insertions(+) create mode 100644 goex/function/spotify_add_song.py create mode 100644 goex/function/spotify_create_playlist.py create mode 100644 goex/function/spotify_list_artist_albums.py create mode 100644 goex/function/spotify_pause.py create mode 100644 goex/function/spotify_play_album.py create mode 100644 goex/function/spotify_play_song.py create mode 100644 goex/function/spotify_queue.py diff --git a/.gitignore b/.gitignore index 1e53d1362..4af1a73ff 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ goex/exec_engine/credentials/* !goex/exec_engine/credentials/supported.txt goex/docker/*/requirements.txt goex/docker/misc/images.json +goex-env/* ################## Berkley Function Call Leaderboard ########################## diff --git a/goex/function/spotify_add_song.py b/goex/function/spotify_add_song.py new file mode 100644 index 000000000..e69de29bb diff --git a/goex/function/spotify_create_playlist.py b/goex/function/spotify_create_playlist.py new file mode 100644 index 000000000..aa0b744f7 --- /dev/null +++ b/goex/function/spotify_create_playlist.py @@ -0,0 +1,25 @@ +import os +import pickle +import spotipy +from spotipy.oauth2 import SpotifyOAuth +from spotipy.oauth2 import SpotifyClientCredentials + +def spotify_play_song(user,name): + # Load spotify credentials + credentials_path = './credentials/spotify/token.pickle' + if os.path.exists(credentials_path): + with open(credentials_path, 'rb') as token_file: + spotify_token = pickle.load(token_file) + else: + raise FileNotFoundError("Spotify token file not found.") + token_info = SpotifyOAuth(token=spotify_token) + # Initialization + if not token_info: + print("No account found") + return None + else: + sp = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials()) + if sp is None: + return None + # create playlist with inputted name and user ID + sp.user_playlist_create(user, name, public=True, collaborative=False, description='') \ No newline at end of file diff --git a/goex/function/spotify_list_artist_albums.py b/goex/function/spotify_list_artist_albums.py new file mode 100644 index 000000000..7179e946e --- /dev/null +++ b/goex/function/spotify_list_artist_albums.py @@ -0,0 +1,43 @@ +import os +import pickle +import spotipy +from spotipy.oauth2 import SpotifyOAuth +from spotipy.oauth2 import SpotifyClientCredentials + +def spotify_list_artist_albums(artist): + # Load spotify credentials + credentials_path = './credentials/spotify/token.pickle' + if os.path.exists(credentials_path): + with open(credentials_path, 'rb') as token_file: + spotify_token = pickle.load(token_file) + else: + raise FileNotFoundError("Spotify token file not found.") + token_info = SpotifyOAuth(token=spotify_token) + # Initialization + if not token_info: + print("No account found") + return None + else: + sp = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials()) + if sp is None: + return None + # Returns the most popular artist's URI with the same name + results = sp.search(q=artist, type='artist', limit=1) + artista = results['artist']['items'] + if artista: + artistaa = artista[0]['uri'] + else: + print("No artist found for:", artist) + return None + # Uses the artist URI to search through their spotify discography and returns the names of all their albums + + spotify = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials()) + + albums_results = spotify.artist_albums(artistaa, album_type='album') + albums = albums_results['items'] + while albums_results['next']: + albums_results = spotify.next(albums_results) + albums.extend(albums_results['items']) + + for album in albums: + print(album['name']) \ No newline at end of file diff --git a/goex/function/spotify_pause.py b/goex/function/spotify_pause.py new file mode 100644 index 000000000..dc2972e40 --- /dev/null +++ b/goex/function/spotify_pause.py @@ -0,0 +1,29 @@ +import pyautogui +import os +import pickle +import spotipy +from spotipy.oauth2 import SpotifyOAuth +from spotipy.oauth2 import SpotifyClientCredentials + +def spotify_pause(): + # Load spotify credentials + credentials_path = './credentials/spotify/token.pickle' + if os.path.exists(credentials_path): + with open(credentials_path, 'rb') as token_file: + spotify_token = pickle.load(token_file) + else: + raise FileNotFoundError("Spotify token file not found.") + token_info = SpotifyOAuth(token=spotify_token) + # Initialization + if not token_info: + print("No account found") + return None + else: + sp = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials()) + if sp is None: + return None + # Check to see if a song is currently playing + if sp.currently_playing: + pyautogui.press('stop') + else: + print("No song currently playing") \ No newline at end of file diff --git a/goex/function/spotify_play_album.py b/goex/function/spotify_play_album.py new file mode 100644 index 000000000..477e42ba1 --- /dev/null +++ b/goex/function/spotify_play_album.py @@ -0,0 +1,38 @@ +import os +import pickle +import spotipy +from spotipy.oauth2 import SpotifyOAuth +from spotipy.oauth2 import SpotifyClientCredentials + +def spotify_play_album(album_name): + # Load spotify credentials + credentials_path = './credentials/spotify/token.pickle' + if os.path.exists(credentials_path): + with open(credentials_path, 'rb') as token_file: + spotify_token = pickle.load(token_file) + else: + raise FileNotFoundError("Spotify token file not found.") + token_info = SpotifyOAuth(token=spotify_token) + # Initialization + if not token_info: + print("No account found") + return None + else: + sp = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials()) + if sp is None: + return None + # Searches the album name and finds the most popular match and then provides the URI from that + results = sp.search(q=album_name, type='album', limit=1) + albums = results['album']['items'] + if albums: + album = albums[0]['uri'] + else: + print("No tracks found for:", album_name) + return None + # Uses the URI to play the album on Spotify + try: + for track in album: + sp.start_playback(uris=[track]) + print("Playing") + except spotipy.SpotifyException as e: + print("Error", e) diff --git a/goex/function/spotify_play_song.py b/goex/function/spotify_play_song.py new file mode 100644 index 000000000..ee48975ee --- /dev/null +++ b/goex/function/spotify_play_song.py @@ -0,0 +1,38 @@ +import os +import pickle +import spotipy +from spotipy.oauth2 import SpotifyOAuth +from spotipy.oauth2 import SpotifyClientCredentials + +def spotify_play_song(song_name): + # Load spotify credentials + credentials_path = './credentials/spotify/token.pickle' + if os.path.exists(credentials_path): + with open(credentials_path, 'rb') as token_file: + spotify_token = pickle.load(token_file) + else: + raise FileNotFoundError("Spotify token file not found.") + token_info = SpotifyOAuth(token=spotify_token) + # Initialization + if not token_info: + print("No account found") + return None + else: + sp = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials()) + if sp is None: + return None + # Get track uri from the song name + # '''searches song name and finds the most popular match and then provides the URI from that''' + results = sp.search(q=song_name, type='track', limit=1) + tracks = results['tracks']['items'] + if tracks: + song = tracks[0]['uri'] + else: + print("No tracks found for:", song_name) + return None + # Uses the URI to play the song on Spotify + try: + sp.start_playback(uris=[song]) + print("Playing") + except spotipy.SpotifyException as e: + print("Error", e) diff --git a/goex/function/spotify_queue.py b/goex/function/spotify_queue.py new file mode 100644 index 000000000..e4aa4849e --- /dev/null +++ b/goex/function/spotify_queue.py @@ -0,0 +1,34 @@ +import os +import pickle +import spotipy +from spotipy import add_to_queue +from spotipy.oauth2 import SpotifyOAuth +from spotipy.oauth2 import SpotifyClientCredentials +def spotify_queue(song_name): + # Load spotify credentials + credentials_path = './credentials/spotify/token.pickle' + if os.path.exists(credentials_path): + with open(credentials_path, 'rb') as token_file: + spotify_token = pickle.load(token_file) + else: + raise FileNotFoundError("Spotify token file not found.") + token_info = SpotifyOAuth(token=spotify_token) + # Initialization + if not token_info: + print("No account found") + return None + else: + sp = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials()) + if sp is None: + return None + # Get track uri from the song name + # '''searches song name and finds the most popular match and then provides the URI from that''' + results = sp.search(q=song_name, type='track', limit=1) + tracks = results['tracks']['items'] + if tracks: + song = tracks[0]['uri'] + else: + print("No tracks found for:", song_name) + return None + # Uses the URI to play the song on Spotify + add_to_queue(song, device_id=None) \ No newline at end of file From e5d4efeb2240fedadcd761bdee2e35dbb9d76f4e Mon Sep 17 00:00:00 2001 From: Yujie Lu Date: Sun, 13 Oct 2024 02:59:17 -0400 Subject: [PATCH 5/5] Fix merge conflict --- .gitignore | 1 + .../scripts/spotify_authorization.py | 5 +- goex/cli.py | 4 +- goex/exec_engine/db_manager.py | 117 ++++++++++++++++++ goex/function/spotify_api_details.py | 14 +++ goex/function/spotify_retrieve_album.py | 17 +++ goex/localhost-key.pem | 28 +++++ goex/localhost.pem | 24 ++++ 8 files changed, 207 insertions(+), 3 deletions(-) create mode 100644 goex/function/spotify_api_details.py create mode 100644 goex/function/spotify_retrieve_album.py create mode 100644 goex/localhost-key.pem create mode 100644 goex/localhost.pem diff --git a/.gitignore b/.gitignore index 4af1a73ff..3f0f6814c 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ dist .editorconfig .DS_Store **/*.pyc +goex/goex-env/ goex/exec_engine/checkpoints/ goex/exec_engine/credentials/* !goex/exec_engine/credentials/credentials_utils.py diff --git a/goex/authorizations/scripts/spotify_authorization.py b/goex/authorizations/scripts/spotify_authorization.py index b3affd997..4cfbe667c 100644 --- a/goex/authorizations/scripts/spotify_authorization.py +++ b/goex/authorizations/scripts/spotify_authorization.py @@ -10,8 +10,8 @@ import wsgiref.simple_server import wsgiref.util from urllib.parse import quote, urlparse, parse_qs -from .consts import AUTH_URL, CERT_FILE_PATH, KEY_FILE_PATH - +from consts import AUTH_URL, CERT_FILE_PATH, KEY_FILE_PATH +print(CERT_FILE_PATH) SPOTIFY_FOLDER_PATH = os.path.join(os.path.dirname(Path(os.path.realpath(__file__)).parent.parent), 'exec_engine/credentials/spotify') TOKEN_FILE = os.path.join(SPOTIFY_FOLDER_PATH, 'token.pickle') @@ -23,6 +23,7 @@ def main(): creds = pickle.load(token) # If there are no (valid) credentials available, let the user log in creds = run_spotify_flow() + print(creds) # Save the credentials for the next run if not os.path.isdir(SPOTIFY_FOLDER_PATH): os.mkdir(SPOTIFY_FOLDER_PATH) diff --git a/goex/cli.py b/goex/cli.py index ec5df891a..c098b3236 100644 --- a/goex/cli.py +++ b/goex/cli.py @@ -10,7 +10,7 @@ from main import ExecutionEngine, PythonAPIExecutor from exec_engine.utils import SQL_Type, Filesystem_Type -from exec_engine.db_manager import MySQLManager, SQLiteManager +from exec_engine.db_manager import MySQLManager, SQLiteManager, PostgreSQLManager from dotenv import load_dotenv import questionary @@ -213,6 +213,8 @@ def db_callback(prompt, generate_mode): db_manager = MySQLManager(config, docker_sandbox=engine.docker_sandbox) elif db_type == 'sqlite': db_manager = SQLiteManager(config, docker_sandbox=engine.docker_sandbox) + elif db_type == 'postgresql': + db_manager = PostgreSQLManager(config, docker_sandbox=engine.docker_sandbox) except Exception as e: print(f"Error during {db_type} Manager Init: {e}") return diff --git a/goex/exec_engine/db_manager.py b/goex/exec_engine/db_manager.py index 00089a2bd..fc98bfe2c 100644 --- a/goex/exec_engine/db_manager.py +++ b/goex/exec_engine/db_manager.py @@ -300,3 +300,120 @@ def close(self): if self.conn: self.cursor.close() self.conn.close() + +class PostgreSQLManager(DBManager): + """PostgreSQL database manager. + + Attributes: + _postgresql_imported (bool): flag to check if postgresql is imported. + + Methods: + connect: Establish connections to the DB + execute_db_call: Execute SQL call + commit_db_calls: Commit SQL calls + rollback_db_calls: Rollback SQL calls + close: Close the connection to the database + """ + _postgresql_imported = False + db_type = "postgresql" + TEST_CONFIG = "{'host': '127.0.0.1', 'user': 'root', 'password': ''}\n Use psycopg2 and make sure to create the database using subprocess before connection." + def __init__(self, connection_config, docker_sandbox: DockerSandbox = None): + """Initialize the PostgreSQLManager. + + Args: + connection_config (dict): configuration for the database connection, including keys for 'user', 'password', 'host', and 'database'. + """ + if not PostgreSQLManager._postgresql_imported: + global psycopg2 + import psycopg2 + PostgreSQLManager._postgresql_imported = True + + keys = connection_config.keys() + + if any(key not in keys for key in ['host', 'user', 'password', 'database']): + raise ValueError("Failed to initialize PostgreSQL Manager due to bad configs") + elif any([not connection_config['host'], not connection_config['user'], not connection_config['password'], not connection_config['database']]): + raise ValueError("Failed to initialize PostgreSQL Manager due to missing configs") + + self.connection_config = { + 'dbname': connection_config['database'] if 'database' in connection_config else 'postgres', + 'user': connection_config['user'] if 'user' in connection_config else 'postgres', + 'password': connection_config['password'] if 'password' in connection_config else '', + 'host': connection_config['host'] if 'host' in connection_config else '127.0.0.1' + } + + def connect(self): + """Establish connection to the MySQL database and create a cursor.""" + connection = None + try: + connection = psycopg2.connect(**self.connection_config) + self.conn = connection + self.cursor = connection.cursor() + self.update_schema_info() + except Exception as e: + if connection: + connection.close() + print("Failed to connect to the database. Error:", e) + + def update_schema_info(self): + schema_info = {} + get_all_tables_query = """ + SELECT table_name + FROM information_schema.tables + WHERE table_schema = 'public' + """ + self.cursor.execute(get_all_tables_query) + tables = self.cursor.fetchall() + for (table_name,) in tables: + self.cursor.execute(f"SELECT column_name, data_type, is_nullable, column_default FROM information_schema.columns WHERE table_name = '{table_name}';") + schema_info[table_name] = self.cursor.fetchall() + + self.schema = schema_info + + def execute_db_call(self, call): + """Execute a SQL call using the cursor.""" + if not self.conn: + self.connect() + try: + self.cursor.execute(call) + self.update_schema_info() + return 0 + except Exception as e: + return 1 + + def fetch_db_call(self, call: str) -> list[dict]: + """Execute a SQL call and return the results. + + Args: + call (str): SQL query to execute. + + Returns: + list[dict]: A list of dictionaries representing each row in the query result. + """ + if not self.conn: + self.connect() + try: + self.cursor.execute(call) + ret_val = self.cursor.fetchall() + self.update_schema_info() + return ret_val + except Exception as e: + return [] + + def commit_db_calls(self): + """Commit SQL calls.""" + if not self.conn: + self.connect() + self.conn.commit() + + def rollback_db_calls(self): + """Rollback SQL calls not committed.""" + if not self.conn: + self.connect() + self.conn.rollback() + + def close(self): + """Close the cursor and the connection to the database.""" + if self.conn: + self.cursor.close() + self.conn.close() diff --git a/goex/function/spotify_api_details.py b/goex/function/spotify_api_details.py new file mode 100644 index 000000000..240f51236 --- /dev/null +++ b/goex/function/spotify_api_details.py @@ -0,0 +1,14 @@ +import spotipy +from spotipy.oauth2 import SpotifyOAuth + +def create_spotify_api_object(): + scope = "user-library-read" + + client_id = 'd711dfc0d97440cb898b08fbdc2083c1' + client_secret = '1d4854768be047438a72d48a8c4622ab' + redirect_uri = 'http://localhost:8888/callback' + + sp = spotipy.Spotify(auth_manager=SpotifyOAuth(client_id = client_id, + client_secret = client_secret, + redirect_uri = redirect_uri, + scope=scope)) \ No newline at end of file diff --git a/goex/function/spotify_retrieve_album.py b/goex/function/spotify_retrieve_album.py new file mode 100644 index 000000000..f99ed6e28 --- /dev/null +++ b/goex/function/spotify_retrieve_album.py @@ -0,0 +1,17 @@ +import spotipy +from spotify_api_details import sp + +def get_album_info(album_id): + album = sp.album(album_id) + + album_info = { + 'name': album['name'], + 'release_date': album['release_date'], + 'total_tracks': album['total_tracks'], + 'artists': [artist['name'] for artist in album['artists']], + 'tracks': [track['name'] for track in album['tracks']['items']] + } + return album_info + +album_id = "4aawyAB9vmqN3uQ7FjRGTy" +print(get_album_info(album_id)) diff --git a/goex/localhost-key.pem b/goex/localhost-key.pem new file mode 100644 index 000000000..2f81f2151 --- /dev/null +++ b/goex/localhost-key.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC80kwcaWMrZ9uo +r0xCCNn8aYsV3qEPMmrEqdEHGjV9aEhFkT/6IzOA8n30Sqj9IxW37dhcaPkuO5Tj +RNuftDpO1DkHoiBafvZZKljGEkvzhtQqUpTSrkNn5RtL8ZVfr6J8nYXjwXQv/Pc+ +6AoQeJGXV0MyeKYB1y8QMYNW+nTpzjblKCTyPaJwpjIX2bsRAEhZOTEeBNeUM/F0 +/zViCnAWESHNQDkct5E4GkImqycKuN97mqakdLOtGzTQsOm9mgOL7JSHiLFuEHpx +2Yd6fVXcX73RzGEzXCISue6OOQFEqUHNcnjdJHzi76jJLLK9cixCKfmR60mz0rZL +VOC9Qaq7AgMBAAECggEBAIxsjWP30GPAenCp5bmaYZtBVsmt5vOpWBPoAucYS713 +J4BtNDovoab9METUnXaceBNwlB6thtsmPmUCmZ7c5xwm4j7WCN+kWksXniu4Abob +hH/xKHLCXKjQjwtcn+0oblvkvmUSQvlJVQr4gDudnxEBOZ04cqUdxgdx+y5dV0Nk +7B09YNFiF56AJkKZh+uE4PPZUnCtKcTLQiZu66L55ZXgMTyItIG0rjXtHsqfnmsI +mufmuWqbj4zm6oCfhHlTZHg3ipVGqSqsLsSPiIT+OITV1Iq3SsFrBEBiLd1e/2bt +z4YEAHt/SsIgcIbMz405sLjx5zq3CS6PbtshBXvGruECgYEA7WNDoLktYxzGjXb5 +fspZPCbGL9qFox4vozm9m+iGipX2qVnO+VdCRTVqVS70Op4AKIhTOaKEIBldIV+H +hroXxV0IBfbPWs3P8F2iIP+rZwxrI8YyPrB/RpMFjOxgCnD7uwH1WWX2ed+f1C9j +ppOLYWRJ+ye4m3OPaJ+YaNqoa4sCgYEAy6A7yotP9Fx+fqTWXlvmWmhhUCfdoaZG +vo1F7VtryOLbMC2t7j7g5ObAutLcb7pKM/uNt8kDfWINO9dX0sVyQWZVIPqTXwiP +G9S+d5LjYlW1LRyNfAEWAYj9HGmNYzpInnf6HlbB53Yn7z7Hgba1WetoRKXH0zRK +D6bqQueSY5ECgYEAhHL8CrMHReOKTOfy8PFJtKwVrCGKqqZvAe13g4PLfYuKopa/ +SpOLID5bY8fc8M+zWuolNWUdvyMnuTUp0twF41Ky5VD+BLYMrRoxGaRNKCPfq4gs +BJpJiUECucwxEeJUMdU35XdkfD9vV95RBWIRRHfGZ2GUOPfTLhbN3MMTcV0CgYAp +FmP6MrIndKJxm4FF+PU6OOWp7uFhxNNxj8AUbOYK2vuvdQgrkrR+e7FYAURJpyVh +59hoxT7XBfn1oTYvaXfsimGTDfy+qFN4Ii1so08OgIzWVXSXGQD/vkyUdxf4dcJB +d6QYixkFQ2o7dEd9fQiK5F1dvLXdgCeRkPSkG2YGgQKBgHLlac0GVEd8m3ACmsbk +n1wNWueOVnbdbhoJPdUA59S39Nse6LQnmma6PPoRAs2rzt023zymWizq9vREVNYR +OJvm5wobk5yIWZSPzwvNLDoUlj736K7stYfXpe1MGKAzhrUHYFuIDCgHT5+89ea+ +XfahcBE8Q6FVt3lLmVLlylZQ +-----END PRIVATE KEY----- diff --git a/goex/localhost.pem b/goex/localhost.pem new file mode 100644 index 000000000..fd1885e4c --- /dev/null +++ b/goex/localhost.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIIEBjCCAm6gAwIBAgIQEumytb68NOI0c3Kilp6wYzANBgkqhkiG9w0BAQsFADBb +MR4wHAYDVQQKExVta2NlcnQgZGV2ZWxvcG1lbnQgQ0ExGDAWBgNVBAsMD2VyaXMy +OUBWQU5BSEVJTTEfMB0GA1UEAwwWbWtjZXJ0IGVyaXMyOUBWQU5BSEVJTTAeFw0y +NDEwMTIyMjI1MDVaFw0yNzAxMTIyMzI1MDVaMEMxJzAlBgNVBAoTHm1rY2VydCBk +ZXZlbG9wbWVudCBjZXJ0aWZpY2F0ZTEYMBYGA1UECwwPZXJpczI5QFZBTkFIRUlN +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvNJMHGljK2fbqK9MQgjZ +/GmLFd6hDzJqxKnRBxo1fWhIRZE/+iMzgPJ99Eqo/SMVt+3YXGj5LjuU40Tbn7Q6 +TtQ5B6IgWn72WSpYxhJL84bUKlKU0q5DZ+UbS/GVX6+ifJ2F48F0L/z3PugKEHiR +l1dDMnimAdcvEDGDVvp06c425Sgk8j2icKYyF9m7EQBIWTkxHgTXlDPxdP81Ygpw +FhEhzUA5HLeROBpCJqsnCrjfe5qmpHSzrRs00LDpvZoDi+yUh4ixbhB6cdmHen1V +3F+90cxhM1wiErnujjkBRKlBzXJ43SR84u+oySyyvXIsQin5ketJs9K2S1TgvUGq +uwIDAQABo14wXDAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEw +HwYDVR0jBBgwFoAUpWCLhQL4F/m/s+TlJKjDWdgHDFUwFAYDVR0RBA0wC4IJbG9j +YWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBgQBVya7UENdHk4DPgQR5BZwSdLdN0eso +cFoxiSb/XdkaiU3d5PgqAJo5um1HParFhGJpY7C/Z6wad4ju/fteq5Hlw0fbMTfA +wat+Ggkjg4Bnh0uJY+dZ4v+GydxetXzK7Bg2y1zZG9XAu/lV40EupNO4OAj9abBw +flwCZsEsK2qxXe5JaTZgdpEjJNq1r20nQrvt369+6oJPlB8kf66YzEgL8Hg4l+xq +0yFpE9szxSgLhfBRZSXzNCyAqPxIz/XbmRctcABvs0c/nf6KsStrECBSUbsqKDUw ++1Zql2G3E/oFit153mpK5cWBF7OwKFYXDKBnf+S7I3H6sYpfUWByd3i0S2NKIGj2 +1GaY8kDHvOEzB0nLnPaEtm/BcRF2i5/3Yt7CAyugtnZTL8ffx08NB5HJX2CGygmF +s32N89jXqCslg7Z2aIIEDNYN+J/zgZothFTT6sdEAGHs/eOXhBYSOICKkz42WO/C +IEOoLIzGrn+YRAoZhnQOrwtB8sPYTfgaIIk= +-----END CERTIFICATE-----