-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTaskfile.yml
More file actions
197 lines (161 loc) · 5.26 KB
/
Copy pathTaskfile.yml
File metadata and controls
197 lines (161 loc) · 5.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
version: "3"
vars:
UV:
sh: command -v uv 2>/dev/null || echo "${HOME}/.local/bin/uv"
tasks:
default:
desc: Show available tasks
cmds:
- task --list
# --- Setup ---
install:
desc: Alias for sync (install all deps)
deps: [sync]
sync:
desc: Sync all deps via uv
cmds:
- "{{.UV}} sync"
# --- Code Quality ---
lint:
desc: Run ruff linter
cmds:
- "{{.UV}} run ruff check ."
lint-fix:
desc: Run ruff linter with auto-fix
cmds:
- "{{.UV}} run ruff check . --fix"
format:
desc: Run ruff formatter
cmds:
- "{{.UV}} run ruff format ."
format-check:
desc: Check formatting without applying changes
cmds:
- "{{.UV}} run ruff format . --check"
typecheck:
desc: Run pyrefly type checker
cmds:
- "{{.UV}} run pyrefly check"
check:
desc: Run lint + format-check + typecheck
cmds:
- task: lint
- task: format-check
- task: typecheck
# --- Tests ---
test:
desc: Run all tests
cmds:
- "{{.UV}} run pytest tests/ -v"
test-management:
desc: Run management SDK tests
cmds:
- "{{.UV}} run pytest tests/management/ -v"
test-runner:
desc: Run AgentRunner tests
cmds:
- "{{.UV}} run pytest tests/runner/ -v"
test-playground:
desc: Run browser playground tests
cmds:
- "{{.UV}} run pytest tests/examples/test_browser_playground.py -v"
test-cov:
desc: Run tests with coverage report
cmds:
- "{{.UV}} run pytest tests/ -v --cov=src/unpod --cov-report=term-missing"
# --- Dev Server ---
supervoice:
desc: "Start supervoice platform server on :8000 (needs Mongo; then task create-api-key)"
dir: "../supervoice"
cmds:
- "{{.UV}} run uvicorn supervoice.main:app --port 8000 --reload"
supervoice-queue:
desc: "Serve the outbound call queue deployment (needs prefect-server + Redis; see ../supervoice queue-serve)"
dir: "../supervoice"
cmds:
- >-
{{.UV}} run python -c
"from supervoice.telephony.queue.call_activity import execute_supervoice_call;
execute_supervoice_call.serve(name='execute-supervoice-call')"
create-api-key:
desc: "Bootstrap an API key via the admin endpoint (HOST=localhost:8000 ORG=dev NAME=dev)"
vars:
HOST: '{{.HOST | default "localhost:8000"}}'
ORG: '{{.ORG | default "dev"}}'
NAME: '{{.NAME | default "dev"}}'
cmds:
- >-
curl -s -X POST http://{{.HOST}}/platform/v1/api-keys
-H "Content-Type: application/json"
-d "{\"name\":\"{{.NAME}}\",\"org_id\":\"{{.ORG}}\"}"
| (command -v jq >/dev/null && jq . || cat)
# --- Examples ---
example-setup:
desc: "Run full_agent_setup --setup (provision voice profile → agent → numbers)"
cmds:
- "{{.UV}} run python examples/full_agent_setup.py --setup"
example-run:
desc: "Run full_agent_setup --run (start AgentRunner, blocks until Ctrl-C)"
cmds:
- "{{.UV}} run python examples/full_agent_setup.py --run"
example-call:
desc: "Dispatch an outbound call (usage: task example-call NUMBER=+19995550001)"
requires:
vars: [NUMBER]
cmds:
- "{{.UV}} run python examples/full_agent_setup.py --call {{.NUMBER}}"
example-monitor:
desc: "Print active calls, transcripts, and recordings"
cmds:
- "{{.UV}} run python examples/full_agent_setup.py --monitor"
browser-agent:
desc: "Run browser_agent example (usage: task browser-agent)"
cmds:
- "{{.UV}} run python examples/browser_agent.py"
browser-agent-setup:
desc: "Run browser_agent --setup"
cmds:
- "{{.UV}} run python examples/browser_agent.py --setup"
browser-agent-call:
desc: "Dispatch browser_agent outbound call (usage: task browser-agent-call NUMBER=+19995550001)"
requires:
vars: [NUMBER]
cmds:
- "{{.UV}} run python examples/browser_agent.py --call {{.NUMBER}}"
# --- Browser Playground ---
playground-ui-build:
desc: Build the browser playground frontend
dir: examples/browser_playground/pipe-ui
cmds:
- npm install
- npm run build
playground:
desc: "Browser voice playground on :9100 (references remote supervoice via SUPERVOICE_URL)"
dir: examples/browser_playground
deps: [playground-ui-build]
vars:
PORT: '{{.PORT | default "9100"}}'
cmds:
- "lsof -ti tcp:{{.PORT}} | xargs kill -9 2>/dev/null || true"
- "{{.UV}} run --extra playground python run.py"
playground-dev:
desc: "Run playground with debug logging (use 'npm run dev' in pipe-ui for live UI reload)"
dir: examples/browser_playground
vars:
PORT: '{{.PORT | default "9100"}}'
env:
LOGURU_LEVEL: DEBUG
cmds:
- "lsof -ti tcp:{{.PORT}} | xargs kill -9 2>/dev/null || true"
- "{{.UV}} run --extra playground python run.py"
playground-stop:
desc: Stop the playground server
vars:
PORT: '{{.PORT | default "9100"}}'
cmds:
- "lsof -ti tcp:{{.PORT}} | xargs kill -9 2>/dev/null || true"
- echo "[playground] stopped"
# --- Voice Agent Playground ---
# The voice-agent playground moved to the sibling superdialog repo
# (../superdialog/playground/). Run it from there: `cd ../superdialog && task pg`.
# --- Voice Agent Playground (playground/) ---