| version: '3' | |
| tasks: | |
| clean: | |
| desc: clean up | |
| cmds: | |
| - task: clean-agents | |
| - task: clean-server | |
| lint: | |
| desc: lint-agent | |
| env: | |
| PYTHONPATH: "./agents/ten_packages/system/ten_runtime_python/lib:./agents/ten_packages/system/ten_runtime_python/interface:./agents/ten_packages/system/ten_ai_base/interface" | |
| cmds: | |
| - ./agents/scripts/pylint.sh | |
| install-tools: | |
| desc: install tools | |
| cmds: | |
| - pip install pylint | |
| build: | |
| desc: build | |
| cmds: | |
| - task: build-agent | |
| - task: build-server | |
| use: | |
| desc: use agent, default 'agents/examples/default' | |
| vars: | |
| AGENT: '{{.AGENT| default "agents/examples/default"}}' | |
| cmds: | |
| - ln -sf {{.USER_WORKING_DIR}}/{{.AGENT}}/manifest.json ./agents/ | |
| - ln -sf {{.USER_WORKING_DIR}}/{{.AGENT}}/property.json ./agents/ | |
| - task: build | |
| run-server: | |
| desc: run backend http server | |
| cmds: | |
| - source .env && /app/server/bin/api | |
| run-gd-server: | |
| desc: run tman dev http server for graph designer | |
| dir: ./agents | |
| cmds: | |
| - tman designer | |
| run: | |
| desc: run servers | |
| deps: | |
| - task: run-server | |
| - task: run-gd-server | |
| build-agent: | |
| desc: build agent | |
| dir: ./agents | |
| internal: true | |
| cmds: | |
| - ./scripts/install_deps_and_build.sh linux x64 && mv bin/main bin/worker | |
| build-server: | |
| desc: build server | |
| dir: ./server | |
| cmds: | |
| - go mod tidy && go mod download && go build -o bin/api main.go | |
| clean-agents: | |
| desc: clean up agents | |
| dir: ./agents | |
| internal: true | |
| cmds: | |
| - rm -rf manifest.json property.json manifest-lock.json bin/main bin/worker out .release ten_packages/system ten_packages/system/agora_rtc_sdk ten_packages/system/azure_speech_sdk ten_packages/system/nlohmann_json ten_packages/extension/agora_rtc ten_packages/extension/agora_rtm ten_packages/extension/agora_sess_ctrl ten_packages/extension/azure_tts ten_packages/addon_loader | |
| - find . -type d -name .pytest_cache -exec rm -rf {} \; || true | |
| - find . -type d -name __pycache__ -exec rm -rf {} \; || true | |
| - find . -type d -name .ten -exec rm -rf {} \; || true | |
| - find . -name .coverage -exec rm -f {} \; || true | |
| clean-server: | |
| desc: clean up server | |
| dir: ./server | |
| internal: true | |
| cmds: | |
| - rm -rf bin | |
| test: | |
| desc: run tests | |
| cmds: | |
| - task: test-agent-extensions | |
| - task: test-server | |
| test-server: | |
| desc: test server | |
| dir: ./server | |
| internal: true | |
| cmds: | |
| - go test -v ./... | |
| test-agent-extensions: | |
| desc: run standalone testing of extensions | |
| internal: true | |
| env: | |
| PYTHONPATH: "{{.USER_WORKING_DIR}}:{{.USER_WORKING_DIR}}/agents/ten_packages/system/ten_runtime_python/lib:{{.USER_WORKING_DIR}}/agents/ten_packages/system/ten_runtime_python/interface:{{.USER_WORKING_DIR}}/agents/ten_packages/system/ten_ai_base/interface" | |
| vars: | |
| EXTENSIONS: | |
| sh: 'find agents/ten_packages/extension -type d -exec test -d "{}/tests" \; -print' | |
| cmds: | |
| - for: { var: EXTENSIONS } | |
| task: test-extension | |
| vars: | |
| EXTENSION: '{{ .ITEM }}' | |
| test-extension: | |
| desc: run standalone testing of one single extension | |
| vars: | |
| EXTENSION: '{{.EXTENSION| default "agents/ten_packages/extension/elevenlabs_tts_python"}}' | |
| env: | |
| PYTHONPATH: "{{.USER_WORKING_DIR}}:{{.USER_WORKING_DIR}}/agents/ten_packages/system/ten_runtime_python/lib:{{.USER_WORKING_DIR}}/agents/ten_packages/system/ten_runtime_python/interface:{{.USER_WORKING_DIR}}/agents/ten_packages/system/ten_ai_base/interface" | |
| dotenv: ['.env'] | |
| cmds: | |
| - cd {{.EXTENSION}} && tman -y install --standalone && ./tests/bin/start {{ .CLI_ARGS }} | |