- Repository:
/home/ubuntu/rahul/quickvoice - Starting commit:
e2a90d6a71a1f0c71c08314b851d15b319957a62 - Started:
2026-06-20T16:35:58+00:00 - Finished:
2026-06-20T17:58:55+00:00 - Module fix status: 6 fixed
- Push status: not pushed
| Module | Status | Return Code | Duration | Logs |
|---|---|---|---|---|
root-tooling |
fixed | 0 | 771.2s | .ui_ux_fix_runs/2026-06-20T163558+0000/root-tooling.stdout.jsonl, .ui_ux_fix_runs/2026-06-20T163558+0000/root-tooling.stderr.log |
apps-web |
fixed | 0 | 1148.5s | .ui_ux_fix_runs/2026-06-20T163558+0000/apps-web.stdout.jsonl, .ui_ux_fix_runs/2026-06-20T163558+0000/apps-web.stderr.log |
apps-console |
fixed | 0 | 464.1s | .ui_ux_fix_runs/2026-06-20T163558+0000/apps-console.stdout.jsonl, .ui_ux_fix_runs/2026-06-20T163558+0000/apps-console.stderr.log |
apps-server |
fixed | 0 | 800.2s | .ui_ux_fix_runs/2026-06-20T163558+0000/apps-server.stdout.jsonl, .ui_ux_fix_runs/2026-06-20T163558+0000/apps-server.stderr.log |
apps-ai |
fixed | 0 | 565.5s | .ui_ux_fix_runs/2026-06-20T163558+0000/apps-ai.stdout.jsonl, .ui_ux_fix_runs/2026-06-20T163558+0000/apps-ai.stderr.log |
packages-config |
fixed | 0 | 645.4s | .ui_ux_fix_runs/2026-06-20T163558+0000/packages-config.stdout.jsonl, .ui_ux_fix_runs/2026-06-20T163558+0000/packages-config.stderr.log |
- Status:
fixed - Return code:
0 - Duration:
771.2s - Stdout log:
.ui_ux_fix_runs/2026-06-20T163558+0000/root-tooling.stdout.jsonl - Stderr log:
.ui_ux_fix_runs/2026-06-20T163558+0000/root-tooling.stderr.log - Changed files detected:
M .github/workflows/ai-build.ymlM .github/workflows/ci.ymlM .github/workflows/server-build.ymlM Taskfile.ymlM docker-compose.dev.ymlM package.jsonM scripts/dev-doctor.shM scripts/dev-env.shM scripts/dev-up.shM scripts/security-audit.mjsM security/audit-suppressions.schema.jsonM tests/dev-orchestration.test.mjsM tests/root-tooling-ci.test.mjs?? .github/pull_request_template.md?? tests/security-audit-suppressions.test.mjs
Fixed the root-tooling developer UX findings in priority order. No push or commit was made.
- Parameterized Postgres/Redis Compose ports from
.env.devand addeddev-doctorchecks forPOSTGRES_PORTandREDIS_PORT. - Enforced dependency audit suppression expiry dates, required
expiresin the schema, and added CI summary output for active/expired/expiring suppressions. - Made
pnpm devdelegate totask up:dev; raw Turbo startup is nowpnpm dev:turbo. - Added quality gate and deployment preflight summaries, including early friendly failures for missing AWS/ECR GitHub repository variables.
- Improved
dev-up.shstartup output with enabled-service URLs only, disabled optional-service notes, readiness checks, prefixed logs, and named service-exit reporting. - Added
task mail:up/task mail:down, and made Docker teardown tasks depend onenv:dev. - Added env bootstrap next-step guidance and expanded the PR template checklist for
task doctor,pnpm ci:local, dependencies, screenshots, and env changes.
- Live AWS/ECR deployment, Trivy scan execution, cosign signing, and production rollback behavior were not verified because they require live cloud credentials.
- Full
pnpm ci:localwas not run; focused root-tooling checks were run instead. - The worktree still contains unrelated pre-existing changes outside this module, including web/docs files and pre-existing untracked files.
.github/workflows/ai-build.yml.github/workflows/ci.yml.github/workflows/server-build.yml.github/pull_request_template.mdTaskfile.ymldocker-compose.dev.ymlpackage.jsonscripts/dev-doctor.shscripts/dev-env.shscripts/dev-up.shscripts/security-audit.mjssecurity/audit-suppressions.schema.jsontests/dev-orchestration.test.mjstests/root-tooling-ci.test.mjstests/security-audit-suppressions.test.mjs
node --test tests/*.test.mjspassed: 22/22.bash -n scripts/dev-doctor.sh scripts/dev-env.sh scripts/dev-up.shpassed.node --check scripts/security-audit.mjspassed.docker compose -f docker-compose.dev.yml --env-file .env.dev.example configpassed.task --listpassed and showsmail:up/mail:down.pnpm audit:deps -- --audit-level highpassed; current suppressions are active but all 43 expire within 30 days../scripts/dev-doctor.shpassed, with expected warnings for already-running Redis and non-running Postgres.pnpm check:taskspassed.git diff --checkpassed.
dev script syntax: return code0- Command:
bash -n scripts/dev-clear-processes.sh scripts/dev-doctor.sh scripts/dev-env.sh scripts/dev-node-deps.sh scripts/dev-up.sh
- Command:
task list: return code0- Command:
task --list - Stdout:
- Command:
task: Available tasks for this project:
* ci: Run the local CI suite used by pull requests
* default: List available tasks
* deps: Install Node and Python dependencies
* dev: Alias for up:dev
* doctor: Check host prerequisites for local development
* up: Alias for up:dev
* ai:api: Run only the AI FastAPI service
* ai:worker: Run only the LiveKit AI worker
* console:dev: Run only the console app
* db:migrate: Apply Prisma migrations to the local development database
* db:seed: Seed demo data, for example task db:seed -- --email you@example.com
* deps:node: Install Node workspace dependencies with pnpm
* deps:python: Create the AI Python virtualenv and install requirements
* deps:update: Explicitly update the pnpm lockfile when dependency changes are intended
* dev:clear: Stop stale QuickVoice local dev processes
* docker:down: Stop local Docker dependencies
* docker:reset: Remove local Docker dependencies and volumes
* docker:up: Start local Docker dependencies
* env:dev: Create local development env files from templates
* mail:down: Stop optional Mailpit email testing service
* mail:up: Start optional Mailpit email testing service
* server:dev: Run only the Express API
* up:dev: Prepare env, install deps, start Docker deps, migrate DB, and run local services
* web:dev: Run only the marketing app
dev orchestration tests: return code0- Command:
node --test tests/dev-orchestration.test.mjs - Stdout:
- Command:
✔ Taskfile exposes one-command dev orchestration (23.19976ms)
✔ Taskfile exposes safe Docker teardown and optional Mailpit controls (8.890163ms)
✔ Docker Compose provides local development dependencies (3.317542ms)
✔ development env templates exist for every runnable service (5.950581ms)
✔ app gitignores allow development env templates to be tracked (4.576584ms)
✔ dev env bootstrap preflights every source before copying (1.24815ms)
✔ local dependency install is frozen by default (1.808625ms)
✔ doctor checks env templates, ports, Redis, and Compose health (1.967798ms)
✔ root package exposes aggregate CI and test scripts (5.600746ms)
✔ Turborepo build outputs include Next and server artifacts (3.757223ms)
✔ workspace packages expose expected Turborepo quality tasks (2.830038ms)
✔ pnpm lockfile is the only tracked package-manager lockfile (2781.320559ms)
✔ helper scripts are executable and wired for local dev (3.642566ms)
ℹ tests 13
ℹ suites 0
ℹ pass 13
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 2964.925037
- Status:
fixed - Return code:
0 - Duration:
1148.5s - Stdout log:
.ui_ux_fix_runs/2026-06-20T163558+0000/apps-web.stdout.jsonl - Stderr log:
.ui_ux_fix_runs/2026-06-20T163558+0000/apps-web.stderr.log - Changed files detected:
M apps/web/content/industries/automotive.mdM apps/web/content/industries/e-commerce.mdM apps/web/content/industries/education.mdM apps/web/content/industries/financial-services.mdM apps/web/content/industries/healthcare.mdM apps/web/content/industries/hr-recruiting.mdM apps/web/content/industries/logistics.mdM apps/web/content/industries/manufacturing-engineering.mdM apps/web/content/industries/real-estate.mdM apps/web/content/industries/saas.mdM apps/web/content/industries/travel-hospitality.mdM apps/web/content/use-cases/appointment-scheduling.mdM apps/web/content/use-cases/customer-support.mdM apps/web/content/use-cases/operations-automation.mdM apps/web/content/use-cases/order-status-returns.mdM apps/web/content/use-cases/reminders-collections.mdM apps/web/content/use-cases/sales-lead-gen.mdM apps/web/next.config.tsM apps/web/public/robots.txtM apps/web/src/components/blog/MarkdownRenderer.tsxM apps/web/src/components/landing/contact-us/contact-us-form-section.tsxM apps/web/src/components/landing/education/education-features-section.tsxM apps/web/src/components/landing/sales-lead-gen/sales-lead-gen-touchpoints-section.tsxM apps/web/src/components/mvpblocks/contact-us-1.tsxM apps/web/tests/marketing-audit.test.mjs
Implemented concrete apps/web fixes for the highest actionable audit items: signup conversion paths, homepage contact false-success behavior, contact-form accessibility, and two inert card controls. No commit or push was made.
-
Fixed legacy
/registerconversion paths:- Added a Next redirect for
/registerto the configured console registration URL. - Normalized markdown-rendered
/registerlinks toREGISTER_URL. - Replaced direct markdown
/registerlinks in industry/use-case content. - Removed
/registerdisallows fromrobots.txt.
- Added a Next redirect for
-
Replaced homepage
mailto:contact behavior:- Homepage contact now posts to
/api/contact. - It only shows success after an API response.
- Added live-region success/error messaging.
- Homepage contact now posts to
-
Improved contact form accessibility:
- Homepage contact fields now use
aria-invalidandaria-describedby. - Dedicated contact page validation errors now have field-linked IDs.
- Homepage contact fields now use
-
Fixed inert card controls:
- Sales lead-gen and education feature cards now render real links instead of non-functional “Learn More” buttons.
- Labels now match the destination: “Try the Builder”.
- Broad positioning/compliance/customer-count claims remain deferred because they require product/legal/source-of-truth decisions and evidence not available in code.
- Full CTA/pricing unification across all pricing and marketing surfaces remains partially unresolved; this pass fixed the audited broken/inert examples and signup route issue only.
- IA density, full-height browse heroes, visual system/glow consistency, loading routes, sitemap/schema dates, and empty-state coverage remain unresolved larger follow-up items.
- Rendered QA found an existing React hydration mismatch in homepage partner-logo SVG paths inside
PartnersSection; it was not introduced or fixed in this pass.
apps/web/next.config.tsapps/web/public/robots.txtapps/web/src/components/blog/MarkdownRenderer.tsxapps/web/src/components/mvpblocks/contact-us-1.tsxapps/web/src/components/landing/contact-us/contact-us-form-section.tsxapps/web/src/components/landing/sales-lead-gen/sales-lead-gen-touchpoints-section.tsxapps/web/src/components/landing/education/education-features-section.tsxapps/web/tests/marketing-audit.test.mjsapps/web/content/industries/*.mdapps/web/content/use-cases/*.md
node --test apps/web/tests/marketing-audit.test.mjspassed: 13/13.pnpm --filter web check-typespassed.pnpm --filter web lintpassed.- Started local app at
http://127.0.0.1:3100. - Verified
/api/contactwithcurl: valid payload returned200, invalid payload returned400. - Verified
/registerreturns307; local env redirects tohttp://localhost:3000/register, while code defaults tohttps://console.quickvoice.co/register. - Ran Playwright screenshots for desktop/mobile and a temporary Playwright test for homepage contact validation; test passed 1/1.
web lint: return code0- Command:
pnpm --filter web lint - Stdout:
- Command:
> web@0.1.0 lint /home/ubuntu/rahul/quickvoice/apps/web
> eslint --max-warnings=0
web typecheck: return code0- Command:
pnpm --filter web exec tsc --noEmit -p tsconfig.json
- Command:
web build: return code0- Command:
pnpm --filter web build - Stdout:
- Command:
> web@0.1.0 build /home/ubuntu/rahul/quickvoice/apps/web
> next build
▲ Next.js 16.2.9 (Turbopack)
- Environments: .env.local
Creating an optimized production build ...
✓ Compiled successfully in 62s
Running TypeScript ...
Finished TypeScript in 25.4s ...
Collecting page data using 3 workers ...
Generating static pages using 3 workers (0/125) ...
Generating static pages using 3 workers (31/125)
Generating static pages using 3 workers (62/125)
Generating static pages using 3 workers (93/125)
✓ Generating static pages using 3 workers (125/125) in 10.6s
Finalizing page optimization ...
Route (app)
┌ ○ /
├ ○ /_not-found
├ ƒ /api/contact
├ ƒ /blog
├ ● /blog/[slug]
│ ├ /blog/air-ai-alternatives
│ ├ /blog/retell-ai-alternatives
│ ├ /blog/synthflow-alternatives
│ └ [+51 more paths]
├ ○ /case-studies
├ ● /case-studies/[slug]
│ ├ /case-studies/automotive-lease-retention-equity-mining
│ ├ /case-studies/automotive-sales-lead-response-bdc
│ ├ /case-studies/automotive-service-scheduling-noshow-reduction
│ └ [+30 more paths]
├ ○ /company/about-us
├ ○ /company/careers
├ ○ /company/contact
├ ○ /compliance/hipaa
├ ○ /industries
├ ○ /industries/automotive
├ ○ /industries/e-commerce
├ ○ /industries/education
├ ○ /industries/financial-services
├ ○ /industries/healthcare
├ ○ /industries/hr-recruiting
├ ○ /industries/logistics
├ ○ /industries/manufacturing-engineering
├ ○ /industries/real-estate
├ ○ /industries/saas
├ ○ /industries/travel-hospitality
├ ○ /manifest.webmanifest
├ ○ /pricing
├ ○ /privacy-policy
├ ○ /sitemap.xml
├ ○ /solutions
├ ○ /solutions/ai-answering-service
├ ○ /solutions/ai-receptionist
├ ○ /terms-of-service
├ ○ /use-cases
├ ○ /use-cases/appointment-scheduling
├ ○ /use-cases/customer-support
├ ○ /use-cases/operations-automation
├ ○ /use-cases/order-status-returns
├ ○ /use-cases/reminders-collections
└ ○ /use-cases/sales-lead-gen
○ (Static) prerendered as static content
● (SSG) prerendered as static HTML (uses generateStaticParams)
ƒ (Dynamic) server-rendered on demand
- Status:
fixed - Return code:
0 - Duration:
464.1s - Stdout log:
.ui_ux_fix_runs/2026-06-20T163558+0000/apps-console.stdout.jsonl - Stderr log:
.ui_ux_fix_runs/2026-06-20T163558+0000/apps-console.stderr.log - Changed files detected:
M apps/console/src/components/agents/AgentsTable.tsxM apps/console/src/components/agents/tabs/AdvancedTab.tsxM apps/console/src/components/calls/CallsTable.tsxM apps/console/src/components/kb/KbTable.tsxM apps/console/src/components/settings/PermissionMatrix.tsxM apps/console/tests/audit-fixes.test.mjs
Fixed the top high-priority apps-console UX issues in apps/console: misleading table affordances, ambiguous accessibility labels, and conflicting agent deletion UX. No commits or pushes were made.
- Removed non-functional sort icons and row-selection counters/checkboxes from Agents, Calls, and KB tables.
- Added cell-specific
aria-labels to permission matrix checkboxes. - Replaced the Advanced tab’s stale “delete not supported” dialog with the existing supported
useDeleteAgentflow. - Tightened pagination bars to wrap better on narrow screens while touching the affected tables.
- Backend capability gating for billing/API keys/roles/invites/org actions remains deferred.
- IA/navigation consistency, breadcrumb dynamic labels, tools action naming, org settings discoverability, auth password consistency, KB org-level upload, outbound empty CTAs, call JSON rendering, theme color cleanup, audio player upgrades, empty/error state CTAs, clipboard fallback handling, and billing telemetry polish remain unresolved.
- Live authenticated browser, keyboard-only, and screen-reader QA were not run because no authenticated session/credentials were provided.
- AgentsTable.tsx
- AdvancedTab.tsx
- CallsTable.tsx
- KbTable.tsx
- PermissionMatrix.tsx
- audit-fixes.test.mjs
node --test apps/console/tests/audit-fixes.test.mjspassed, 14/14 tests.pnpm --filter console lintpassed.pnpm --filter console check-typespassed.pnpm --filter console buildpassed.git diff --check -- apps/consolepassed.
console lint: return code0- Command:
pnpm --filter console lint - Stdout:
- Command:
> console@0.1.0 lint /home/ubuntu/rahul/quickvoice/apps/console
> eslint --max-warnings=0
console typecheck: return code0- Command:
pnpm --filter console exec tsc --noEmit -p tsconfig.json
- Command:
console build: return code0- Command:
pnpm --filter console build - Stdout:
- Command:
> console@0.1.0 build /home/ubuntu/rahul/quickvoice/apps/console
> next build
▲ Next.js 16.2.9 (Turbopack)
- Environments: .env.local
Creating an optimized production build ...
✓ Compiled successfully in 33.3s
Running TypeScript ...
Finished TypeScript in 20.6s ...
Collecting page data using 3 workers ...
Generating static pages using 3 workers (0/25) ...
Generating static pages using 3 workers (6/25)
Generating static pages using 3 workers (12/25)
Generating static pages using 3 workers (18/25)
✓ Generating static pages using 3 workers (25/25) in 738ms
Finalizing page optimization ...
Route (app)
┌ ƒ /
├ ○ /_not-found
├ ƒ /agents
├ ƒ /agents/[id]
├ ƒ /calls
├ ƒ /calls/[id]
├ ƒ /dashboard
├ ○ /forgot-password
├ ƒ /kb
├ ○ /login
├ ƒ /numbers
├ ƒ /orgs
├ ƒ /orgs/[id]
├ ƒ /orgs/create
├ ƒ /outbound
├ ○ /register
├ ○ /reset-password
├ ƒ /settings
├ ƒ /settings/api-keys
├ ƒ /settings/billing
├ ƒ /settings/danger
├ ƒ /settings/organization
├ ƒ /settings/profile
├ ƒ /settings/roles
├ ƒ /tools
└ ○ /verify
○ (Static) prerendered as static content
ƒ (Dynamic) server-rendered on demand
- Status:
fixed - Return code:
0 - Duration:
800.2s - Stdout log:
.ui_ux_fix_runs/2026-06-20T163558+0000/apps-server.stdout.jsonl - Stderr log:
.ui_ux_fix_runs/2026-06-20T163558+0000/apps-server.stderr.log - Changed files detected:
M apps/server/src/config/swagger.tsM apps/server/src/middleware/error.middleware.tsM apps/server/src/middleware/notFound.middleware.tsM apps/server/src/modules/outbound/outbound-call.repository.tsM apps/server/src/modules/outbound/outbound-call.route.tsM apps/server/src/modules/outbound/outbound-call.schema.tsM apps/server/src/modules/outbound/outbound-call.service.tsM apps/server/tests/middleware/error.middleware.test.tsM apps/server/tests/outbound/outbound-call.route.test.ts?? apps/server/src/middleware/error-envelope.ts?? apps/server/tests/docs/?? apps/server/tests/middleware/notFound.middleware.test.ts
Implemented the first three high-priority audit fixes for apps/server: Swagger coverage, outbound call recovery APIs, and field-addressable error envelopes. No commits or pushes were made.
- API docs now include missing workflow tags and routes for Outbound Calls, Tools, MCP Integrations, Readiness,
/kb/upload-url, and number deletion. - Added outbound call workflow endpoints:
GET /outbound-callsGET /outbound-calls/:outboundIdGET /outbound-calls/:outboundId/statusPOST /outbound-calls/:outboundId/cancelPOST /outbound-calls/:outboundId/retry
- Outbound list responses include
items,count,filters, andnextCursor. - Outbound detail/status responses expose
failureReasonandcancellationReasonwhere available. - Error responses now use a consistent envelope:
{ success, code, message, details, fieldErrors, requestId } - Zod validation errors now return per-field
fieldErrors. - 404 responses now use the same standard error envelope.
- Oversized JSON parser errors are mapped to
PAYLOAD_TOO_LARGE.
- True cancellation of in-progress carrier/LiveKit calls remains unresolved. The new cancel endpoint only cancels
SCHEDULEDcalls because the currentCallStatusenum has noCANCELLEDvalue and no carrier teardown flow is wired. - KB ingestion retry/progress/job diagnostics remain deferred; this likely needs metadata conventions and worker changes.
- Agent setup defaults/capability endpoints remain deferred.
/api/v1/mebootstrap details remain deferred.- Core-vs-optional readiness split remains deferred.
- Campaign routes remain deferred.
- Phone pricing/limitations and dashboard custom ranges remain deferred.
- No live Twilio, Telnyx, LiveKit, Stripe, S3, Smithery, Redis, or Inngest flows were exercised.
apps/server/src/config/swagger.tsapps/server/src/middleware/error-envelope.tsapps/server/src/middleware/error.middleware.tsapps/server/src/middleware/notFound.middleware.tsapps/server/src/modules/outbound/outbound-call.repository.tsapps/server/src/modules/outbound/outbound-call.route.tsapps/server/src/modules/outbound/outbound-call.schema.tsapps/server/src/modules/outbound/outbound-call.service.tsapps/server/tests/docs/swagger.test.tsapps/server/tests/middleware/error.middleware.test.tsapps/server/tests/middleware/notFound.middleware.test.tsapps/server/tests/outbound/outbound-call.route.test.ts
npx tsx --test tests/docs/swagger.test.ts tests/outbound/outbound-call.route.test.ts tests/middleware/error.middleware.test.ts tests/middleware/notFound.middleware.test.ts- 12/12 passedpnpm --filter server lint- passedpnpm --filter server test- 33/33 passedgit diff --check -- apps/server- passed, no whitespace errors
server check-types: return code0- Command:
pnpm --dir apps/server check-types - Stdout:
- Command:
> server@1.0.0 check-types /home/ubuntu/rahul/quickvoice/apps/server
> tsc --noEmit
server build: return code0- Command:
pnpm --dir apps/server build - Stdout:
- Command:
> server@1.0.0 build /home/ubuntu/rahul/quickvoice/apps/server
> tsc
prisma validate: return code0- Command:
bash -lc DATABASE_URL=${DATABASE_URL:-postgresql://user:pass@localhost:5432/quickvoice} pnpm --dir apps/server exec prisma validate - Stdout:
- Command:
The schema at prisma/schema.prisma is valid 🚀
- Stderr:
Loaded Prisma config from prisma.config.ts.
Prisma schema loaded from prisma/schema.prisma.
- Status:
fixed - Return code:
0 - Duration:
565.5s - Stdout log:
.ui_ux_fix_runs/2026-06-20T163558+0000/apps-ai.stdout.jsonl - Stderr log:
.ui_ux_fix_runs/2026-06-20T163558+0000/apps-ai.stderr.log - Changed files detected:
M apps/ai/api.pyM apps/ai/handlers/kb_handler.pyM apps/ai/tests/test_api.pyM apps/ai/tests/test_kb_handler.py
Implemented the first audit-priority KB UX fix in apps/ai: KB ingestion now uses an async job contract instead of only returning after processing completes. No commit or push was made.
- KB processing now returns
202 AcceptedwithjobId,statusUrl, queued document state, and progress counts. - Added authenticated job routes for status, cancel, and retry:
/kb/jobs/{job_id}and/kb/jobs/{job_id}/retry. - Added per-document stages:
queued,extracting,chunking,embedding,indexing,indexed,failed,canceled. - Replaced raw per-document exception strings with structured
code,userMessage,retryable, anddetails. - Mapped KB request validation errors to stable API responses, including
413 KB_DOCUMENT_LIMIT_EXCEEDED. - Added OpenAPI tags/summaries for the KB workflow routes.
- The job store is in-memory only; durable queueing, cross-process status, dead letters, and restart recovery remain deferred.
- Adjacent server polling/consumer changes were not made because this pass was constrained to
apps/ai. - LiveKit early failure call-log creation, readiness/metrics endpoints, env docs, RAG retrieval event storage, and RAG mode cleanup remain unresolved.
- LiveKit, Pinecone, Google embeddings, S3, and backend API integrations were not exercised because live credentials/services were unavailable.
- Passed:
/tmp/quickvoice-ai-venv/bin/python -m unittest apps/ai/tests/test_api.py apps/ai/tests/test_kb_handler.py→ 15 tests OK. - Passed:
python3 -m py_compile apps/ai/api.py apps/ai/handlers/kb_handler.py apps/ai/tests/test_api.py apps/ai/tests/test_kb_handler.py. - Passed:
git diff --check -- apps/ai. - Full
apps/aidiscovery was attempted and still fails on missing environment packages:dotenvandlivekit.
ai compile: return code0- Command:
bash -lc . apps/ai/.venv/bin/activate && cd apps/ai && python -m compileall . - Stdout:
- Command:
0518.dist-info/licenses'...
Listing './.venv/lib/python3.12/site-packages/typing_extensions-4.15.0.dist-info'...
Listing './.venv/lib/python3.12/site-packages/typing_extensions-4.15.0.dist-info/licenses'...
Listing './.venv/lib/python3.12/site-packages/typing_inspection'...
Listing './.venv/lib/python3.12/site-packages/typing_inspection-0.4.2.dist-info'...
Listing './.venv/lib/python3.12/site-packages/typing_inspection-0.4.2.dist-info/licenses'...
Listing './.venv/lib/python3.12/site-packages/uritemplate'...
Listing './.venv/lib/python3.12/site-packages/uritemplate-4.2.0.dist-info'...
Listing './.venv/lib/python3.12/site-packages/uritemplate-4.2.0.dist-info/licenses'...
Listing './.venv/lib/python3.12/site-packages/urllib3'...
Listing './.venv/lib/python3.12/site-packages/urllib3/contrib'...
Listing './.venv/lib/python3.12/site-packages/urllib3/contrib/emscripten'...
Listing './.venv/lib/python3.12/site-packages/urllib3/http2'...
Listing './.venv/lib/python3.12/site-packages/urllib3/util'...
Listing './.venv/lib/python3.12/site-packages/urllib3-2.7.0.dist-info'...
Listing './.venv/lib/python3.12/site-packages/urllib3-2.7.0.dist-info/licenses'...
Listing './.venv/lib/python3.12/site-packages/uvicorn'...
Listing './.venv/lib/python3.12/site-packages/uvicorn/lifespan'...
Listing './.venv/lib/python3.12/site-packages/uvicorn/loops'...
Listing './.venv/lib/python3.12/site-packages/uvicorn/middleware'...
Listing './.venv/lib/python3.12/site-packages/uvicorn/protocols'...
Listing './.venv/lib/python3.12/site-packages/uvicorn/protocols/http'...
Listing './.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets'...
Listing './.venv/lib/python3.12/site-packages/uvicorn/supervisors'...
Listing './.venv/lib/python3.12/site-packages/uvicorn-0.49.0.dist-info'...
Listing './.venv/lib/python3.12/site-packages/uvicorn-0.49.0.dist-info/licenses'...
Listing './.venv/lib/python3.12/site-packages/uvloop'...
Listing './.venv/lib/python3.12/site-packages/uvloop/handles'...
Listing './.venv/lib/python3.12/site-packages/uvloop/includes'...
Listing './.venv/lib/python3.12/site-packages/uvloop-0.22.1.dist-info'...
Listing './.venv/lib/python3.12/site-packages/uvloop-0.22.1.dist-info/licenses'...
Listing './.venv/lib/python3.12/site-packages/watchfiles'...
Listing './.venv/lib/python3.12/site-packages/watchfiles-1.2.0.dist-info'...
Listing './.venv/lib/python3.12/site-packages/watchfiles-1.2.0.dist-info/licenses'...
Listing './.venv/lib/python3.12/site-packages/watchfiles-1.2.0.dist-info/sboms'...
Listing './.venv/lib/python3.12/site-packages/websockets'...
Listing './.venv/lib/python3.12/site-packages/websockets/asyncio'...
Listing './.venv/lib/python3.12/site-packages/websockets/extensions'...
Listing './.venv/lib/python3.12/site-packages/websockets/legacy'...
Listing './.venv/lib/python3.12/site-packages/websockets/sync'...
Listing './.venv/lib/python3.12/site-packages/websockets-16.0.dist-info'...
Listing './.venv/lib/python3.12/site-packages/websockets-16.0.dist-info/licenses'...
Listing './.venv/lib/python3.12/site-packages/xlrd'...
Listing './.venv/lib/python3.12/site-packages/xlrd-2.0.2.dist-info'...
Listing './.venv/lib/python3.12/site-packages/yaml'...
Listing './.venv/lib/python3.12/site-packages/yarl'...
Listing './.venv/lib/python3.12/site-packages/yarl-1.24.2.dist-info'...
Listing './.venv/lib/python3.12/site-packages/yarl-1.24.2.dist-info/licenses'...
Listing './.venv/lib/python3.12/site-packages/zipp'...
Listing './.venv/lib/python3.12/site-packages/zipp/compat'...
Listing './.venv/lib/python3.12/site-packages/zipp-4.1.0.dist-info'...
Listing './.venv/lib/python3.12/site-packages/zipp-4.1.0.dist-info/licenses'...
Listing './.venv/livekit'...
Listing './.venv/livekit/plugins'...
Listing './.venv/livekit/plugins/silero'...
Listing './.venv/livekit/plugins/silero/resources'...
Listing './.venv/share'...
Listing './.venv/share/man'...
Listing './.venv/share/man/man1'...
Listing './handlers'...
Listing './tests'...
Listing './utils'...
ai tests: return code0- Command:
bash -lc . apps/ai/.venv/bin/activate && cd apps/ai && python -m pytest tests -q - Stdout:
- Command:
....................................................... [100%]
=============================== warnings summary ===============================
main.py:14
/home/ubuntu/rahul/quickvoice/apps/ai/main.py:14: DeprecationWarning: livekit-plugins-silero is deprecated and will be removed in v2.0. AgentSession now defaults to the bundled silero VAD, so you can drop the explicit `vad=` argument entirely; pass `vad=None` to opt out, or use `from livekit.agents import inference; inference.VAD(model="silero", ...)` to customise options.
from livekit.plugins import noise_cancellation, silero
main.py:15
/home/ubuntu/rahul/quickvoice/apps/ai/main.py:15: DeprecationWarning: `livekit.plugins.turn_detector` is deprecated and will be removed in a future release. Use `livekit.agents.inference.TurnDetector` instead.
from livekit.plugins.turn_detector.multilingual import MultilingualModel
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
55 passed, 2 warnings, 5 subtests passed in 6.70s
- Status:
fixed - Return code:
0 - Duration:
645.4s - Stdout log:
.ui_ux_fix_runs/2026-06-20T163558+0000/packages-config.stdout.jsonl - Stderr log:
.ui_ux_fix_runs/2026-06-20T163558+0000/packages-config.stderr.log - Changed files detected:
M apps/console/package.jsonM apps/web/package.jsonM package.jsonM packages/eslint-config/README.mdM packages/eslint-config/package.jsonM packages/eslint-config/react-internal.jsM packages/eslint-config/test.mjsM packages/typescript-config/README.mdM packages/typescript-config/package.jsonM packages/typescript-config/test.mjsM pnpm-lock.yaml?? packages/eslint-config/type-checked.js
Fixed the shared config developer UX issues in the scoped module: version parity, preset discoverability, TypeScript config manifest adoption, React preset composition, type-aware linting, docs, and format coverage. No commit or push was made.
- Aligned
@repo/eslint-configeslint-config-nextto16.2.9and added parity tests against both Next apps. - Added
@repo/typescript-configtoapps/consoleandapps/webmanifests with tests. - Added alias exports for ESLint and TypeScript preset naming consistency.
- Added
@repo/eslint-config/type-checkedas an opt-in type-aware preset. - Removed duplicated base layers from
react-internal.js. - Added README preset naming matrices and troubleshooting sections.
- Expanded root
formatcoverage to includejs,mjs, andjson.
- Full app
tsconfig.jsonmigration to shared presets remains unresolved because those files were outside the allowed edit scope. - No browser, visual, responsive, or keyboard checks were run because this module is non-visual shared configuration.
- No dedicated accessibility-only preset was added; existing Next preset accessibility coverage remains guarded by tests.
packages/eslint-config/*packages/typescript-config/*apps/console/package.jsonapps/web/package.jsonpackage.jsonformat script only; other visible root diffs pre-existedpnpm-lock.yaml
pnpm check:configspassed: ESLint config tests10/10, TypeScript config tests8/8.pnpm install --lockfile-only --frozen-lockfilepassed with only the existing Nodeurl.parse()deprecation warning.- Red tests were run before implementation and failed for the expected audit gaps.
eslint config syntax: return code0- Command:
bash -lc node --check packages/eslint-config/base.js && node --check packages/eslint-config/next.js && node --check packages/eslint-config/react-internal.js
- Command:
typescript config json: return code0- Command:
bash -lc node -e "for (const f of ['packages/typescript-config/base.json','packages/typescript-config/nextjs.json','packages/typescript-config/react-library.json','packages/typescript-config/package.json']) JSON.parse(require('fs').readFileSync(f,'utf8'))"
- Command:
workspace lint: return code0- Command:
pnpm lint - Stdout:
- Command:
lint /home/ubuntu/rahul/quickvoice
> turbo run lint
• Packages in scope: @repo/eslint-config, @repo/typescript-config, console, server, web
• Running lint in 5 packages
• Remote caching disabled
@repo/eslint-config:lint: cache miss, executing a782cc20989a43a5
@repo/typescript-config:lint: cache miss, executing fc9769c1120bfffc
@repo/typescript-config:lint:
@repo/typescript-config:lint: > @repo/typescript-config@0.0.0 lint /home/ubuntu/rahul/quickvoice/packages/typescript-config
@repo/typescript-config:lint: > node --test ./test.mjs
@repo/typescript-config:lint:
@repo/eslint-config:lint:
@repo/eslint-config:lint: > @repo/eslint-config@0.0.0 lint /home/ubuntu/rahul/quickvoice/packages/eslint-config
@repo/eslint-config:lint: > node --check ./base.js && node --check ./next.js && node --check ./react-internal.js && node --check ./type-checked.js && node --test ./test.mjs
@repo/eslint-config:lint:
@repo/typescript-config:lint: ✔ exports every supported TypeScript preset (3.120678ms)
@repo/typescript-config:lint: ✔ every exported TypeScript preset parses as JSON (2.225938ms)
@repo/typescript-config:lint: ✔ base preset is runtime-neutral (2.994823ms)
@repo/typescript-config:lint: ✔ runtime presets opt into browser and Node globals explicitly (0.764533ms)
@repo/typescript-config:lint: ✔ framework presets extend the browser runtime preset (0.483574ms)
@repo/typescript-config:lint: ✔ Next app manifests declare the shared TypeScript config package (0.636505ms)
@repo/typescript-config:lint: ✔ strict optional preset enables additional safety checks (0.478422ms)
@repo/typescript-config:lint: ✔ README documents naming aliases and common setup errors (0.527584ms)
@repo/typescript-config:lint: ℹ tests 8
@repo/typescript-config:lint: ℹ suites 0
@repo/typescript-config:lint: ℹ pass 8
@repo/typescript-config:lint: ℹ fail 0
@repo/typescript-config:lint: ℹ cancelled 0
@repo/typescript-config:lint: ℹ skipped 0
@repo/typescript-config:lint: ℹ todo 0
@repo/typescript-config:lint: ℹ duration_ms 198.019888
server:lint: cache miss, executing d01fb3302f14aeb0
server:lint:
server:lint: > server@1.0.0 lint /home/ubuntu/rahul/quickvoice/apps/server
server:lint: > tsc --noEmit --pretty false
server:lint:
@repo/eslint-config:lint: ✔ exports every public ESLint preset (3.505676ms)
@repo/eslint-config:lint: ✔ shared Next lint dependency stays aligned with workspace Next apps (0.720031ms)
@repo/eslint-config:lint: ✔ base preset fails undeclared Turbo env vars and does not downgrade errors (0.621151ms)
@repo/eslint-config:lint: ✔ derived presets do not include the warning-only plugin (0.497934ms)
@repo/eslint-config:lint: ✔ React preset composes the base layers once (1.142804ms)
@repo/eslint-config:lint: ✔ exports an opt-in type-aware ESLint preset (2.364682ms)
@repo/eslint-config:lint: ✔ Next preset preserves the same app lint coverage as eslint-config-next (0.756032ms)
@repo/eslint-config:lint: ✔ workspace Next apps consume the shared preset with a strict warning gate (0.835033ms)
@repo/eslint-config:lint: ✔ root config validation task runs both shared config package checks (0.901894ms)
@repo/eslint-config:lint: ✔ README documents naming aliases, type-aware usage, and setup errors (0.973764ms)
@repo/eslint-config:lint: ℹ tests 10
@repo/eslint-config:lint: ℹ suites 0
@repo/eslint-config:lint: ℹ pass 10
@repo/eslint-config:lint: ℹ fail 0
@repo/eslint-config:lint: ℹ cancelled 0
@repo/eslint-config:lint: ℹ skipped 0
@repo/eslint-config:lint: ℹ todo 0
@repo/eslint-config:lint: ℹ duration_ms 4630.529179
console:lint: cache miss, executing f4a5b99889666d6c
web:lint: cache miss, executing 13c68add06e73418
web:lint:
web:lint: > web@0.1.0 lint /home/ubuntu/rahul/quickvoice/apps/web
web:lint: > eslint --max-warnings=0
web:lint:
console:lint:
console:lint: > console@0.1.0 lint /home/ubuntu/rahul/quickvoice/apps/console
console:lint: > eslint --max-warnings=0
console:lint:
Tasks: 5 successful, 5 total
Cached: 0 cached, 5 total
Time: 52.677s
- Stderr:
• turbo 2.8.20
workspace lint: return code0- Command:
pnpm lint - Stdout:
- Command:
@ lint /home/ubuntu/rahul/quickvoice
> turbo run lint
• Packages in scope: @repo/eslint-config, @repo/typescript-config, console, server, web
• Running lint in 5 packages
• Remote caching disabled
@repo/eslint-config:lint: cache miss, executing d082405e077f2e3f
@repo/typescript-config:lint: cache miss, executing 3359ccf3cf2648bd
@repo/eslint-config:lint:
@repo/eslint-config:lint: > @repo/eslint-config@0.0.0 lint /home/ubuntu/rahul/quickvoice/packages/eslint-config
@repo/eslint-config:lint: > node --check ./base.js && node --check ./next.js && node --check ./react-internal.js && node --check ./type-checked.js && node --test ./test.mjs
@repo/eslint-config:lint:
@repo/typescript-config:lint:
@repo/typescript-config:lint: > @repo/typescript-config@0.0.0 lint /home/ubuntu/rahul/quickvoice/packages/typescript-config
@repo/typescript-config:lint: > node --test ./test.mjs
@repo/typescript-config:lint:
@repo/typescript-config:lint: ✔ exports every supported TypeScript preset (3.182087ms)
@repo/typescript-config:lint: ✔ every exported TypeScript preset parses as JSON (1.878425ms)
@repo/typescript-config:lint: ✔ base preset is runtime-neutral (2.674021ms)
@repo/typescript-config:lint: ✔ runtime presets opt into browser and Node globals explicitly (1.147641ms)
@repo/typescript-config:lint: ✔ framework presets extend the browser runtime preset (0.537234ms)
@repo/typescript-config:lint: ✔ Next app manifests declare the shared TypeScript config package (1.291758ms)
@repo/typescript-config:lint: ✔ strict optional preset enables additional safety checks (0.543498ms)
@repo/typescript-config:lint: ✔ README documents naming aliases and common setup errors (0.588259ms)
@repo/typescript-config:lint: ℹ tests 8
@repo/typescript-config:lint: ℹ suites 0
@repo/typescript-config:lint: ℹ pass 8
@repo/typescript-config:lint: ℹ fail 0
@repo/typescript-config:lint: ℹ cancelled 0
@repo/typescript-config:lint: ℹ skipped 0
@repo/typescript-config:lint: ℹ todo 0
@repo/typescript-config:lint: ℹ duration_ms 162.567905
server:lint: cache miss, executing 6e793595876f3ff2
server:lint:
server:lint: > server@1.0.0 lint /home/ubuntu/rahul/quickvoice/apps/server
server:lint: > tsc --noEmit --pretty false
server:lint:
@repo/eslint-config:lint: ✔ exports every public ESLint preset (3.904963ms)
@repo/eslint-config:lint: ✔ shared Next lint dependency stays aligned with workspace Next apps (0.614535ms)
@repo/eslint-config:lint: ✔ base preset fails undeclared Turbo env vars and does not downgrade errors (0.818472ms)
@repo/eslint-config:lint: ✔ derived presets do not include the warning-only plugin (0.282089ms)
@repo/eslint-config:lint: ✔ React preset composes the base layers once (0.478984ms)
@repo/eslint-config:lint: ✔ exports an opt-in type-aware ESLint preset (2.144962ms)
@repo/eslint-config:lint: ✔ Next preset preserves the same app lint coverage as eslint-config-next (0.582662ms)
@repo/eslint-config:lint: ✔ workspace Next apps consume the shared preset with a strict warning gate (0.756855ms)
@repo/eslint-config:lint: ✔ root config validation task runs both shared config package checks (0.597223ms)
@repo/eslint-config:lint: ✔ README documents naming aliases, type-aware usage, and setup errors (1.50675ms)
@repo/eslint-config:lint: ℹ tests 10
@repo/eslint-config:lint: ℹ suites 0
@repo/eslint-config:lint: ℹ pass 10
@repo/eslint-config:lint: ℹ fail 0
@repo/eslint-config:lint: ℹ cancelled 0
@repo/eslint-config:lint: ℹ skipped 0
@repo/eslint-config:lint: ℹ todo 0
@repo/eslint-config:lint: ℹ duration_ms 4450.917256
console:lint: cache miss, executing b25285e42cb0e951
web:lint: cache miss, executing 2d2bb1aebcdf623b
web:lint:
web:lint: > web@0.1.0 lint /home/ubuntu/rahul/quickvoice/apps/web
web:lint: > eslint --max-warnings=0
web:lint:
console:lint:
console:lint: > console@0.1.0 lint /home/ubuntu/rahul/quickvoice/apps/console
console:lint: > eslint --max-warnings=0
console:lint:
Tasks: 5 successful, 5 total
Cached: 0 cached, 5 total
Time: 58.561s
- Stderr:
• turbo 2.8.20
workspace check-types: return code0- Command:
pnpm check-types - Stdout:
- Command:
> QuickVoice@ check-types /home/ubuntu/rahul/quickvoice
> turbo run check-types
• Packages in scope: @repo/eslint-config, @repo/typescript-config, console, server, web
• Running check-types in 5 packages
• Remote caching disabled
console:check-types: cache miss, executing 6ab8735b8694c136
server:check-types: cache miss, executing 00faacaff4a549c3
web:check-types: cache miss, executing 99d46be505618dde
server:check-types:
server:check-types: > server@1.0.0 check-types /home/ubuntu/rahul/quickvoice/apps/server
server:check-types: > tsc --noEmit
server:check-types:
web:check-types:
web:check-types: > web@0.1.0 check-types /home/ubuntu/rahul/quickvoice/apps/web
web:check-types: > tsc --noEmit
web:check-types:
console:check-types:
console:check-types: > console@0.1.0 check-types /home/ubuntu/rahul/quickvoice/apps/console
console:check-types: > tsc --noEmit
console:check-types:
Tasks: 3 successful, 3 total
Cached: 0 cached, 3 total
Time: 30.598s
- Stderr:
• turbo 2.8.20
workspace build: return code0- Command:
pnpm build - Stdout:
- Command:
cting page data using 3 workers ...
console:build: Generating static pages using 3 workers (0/25) ...
console:build: Generating static pages using 3 workers (6/25)
console:build: Generating static pages using 3 workers (12/25)
console:build: Generating static pages using 3 workers (18/25)
console:build: ✓ Generating static pages using 3 workers (25/25) in 1517ms
console:build: Finalizing page optimization ...
console:build:
console:build: Route (app)
console:build: ┌ ƒ /
console:build: ├ ○ /_not-found
console:build: ├ ƒ /agents
console:build: ├ ƒ /agents/[id]
console:build: ├ ƒ /calls
console:build: ├ ƒ /calls/[id]
console:build: ├ ƒ /dashboard
console:build: ├ ○ /forgot-password
console:build: ├ ƒ /kb
console:build: ├ ○ /login
console:build: ├ ƒ /numbers
console:build: ├ ƒ /orgs
console:build: ├ ƒ /orgs/[id]
console:build: ├ ƒ /orgs/create
console:build: ├ ƒ /outbound
console:build: ├ ○ /register
console:build: ├ ○ /reset-password
console:build: ├ ƒ /settings
console:build: ├ ƒ /settings/api-keys
console:build: ├ ƒ /settings/billing
console:build: ├ ƒ /settings/danger
console:build: ├ ƒ /settings/organization
console:build: ├ ƒ /settings/profile
console:build: ├ ƒ /settings/roles
console:build: ├ ƒ /tools
console:build: └ ○ /verify
console:build:
console:build:
console:build: ○ (Static) prerendered as static content
console:build: ƒ (Dynamic) server-rendered on demand
console:build:
web:build: Finished TypeScript in 36.6s ...
web:build: Collecting page data using 3 workers ...
web:build: Generating static pages using 3 workers (0/125) ...
web:build: Generating static pages using 3 workers (31/125)
web:build: Generating static pages using 3 workers (62/125)
web:build: Generating static pages using 3 workers (93/125)
web:build: ✓ Generating static pages using 3 workers (125/125) in 9.6s
web:build: Finalizing page optimization ...
web:build:
web:build: Route (app)
web:build: ┌ ○ /
web:build: ├ ○ /_not-found
web:build: ├ ƒ /api/contact
web:build: ├ ƒ /blog
web:build: ├ ● /blog/[slug]
web:build: │ ├ /blog/air-ai-alternatives
web:build: │ ├ /blog/retell-ai-alternatives
web:build: │ ├ /blog/synthflow-alternatives
web:build: │ └ [+51 more paths]
web:build: ├ ○ /case-studies
web:build: ├ ● /case-studies/[slug]
web:build: │ ├ /case-studies/automotive-lease-retention-equity-mining
web:build: │ ├ /case-studies/automotive-sales-lead-response-bdc
web:build: │ ├ /case-studies/automotive-service-scheduling-noshow-reduction
web:build: │ └ [+30 more paths]
web:build: ├ ○ /company/about-us
web:build: ├ ○ /company/careers
web:build: ├ ○ /company/contact
web:build: ├ ○ /compliance/hipaa
web:build: ├ ○ /industries
web:build: ├ ○ /industries/automotive
web:build: ├ ○ /industries/e-commerce
web:build: ├ ○ /industries/education
web:build: ├ ○ /industries/financial-services
web:build: ├ ○ /industries/healthcare
web:build: ├ ○ /industries/hr-recruiting
web:build: ├ ○ /industries/logistics
web:build: ├ ○ /industries/manufacturing-engineering
web:build: ├ ○ /industries/real-estate
web:build: ├ ○ /industries/saas
web:build: ├ ○ /industries/travel-hospitality
web:build: ├ ○ /manifest.webmanifest
web:build: ├ ○ /pricing
web:build: ├ ○ /privacy-policy
web:build: ├ ○ /sitemap.xml
web:build: ├ ○ /solutions
web:build: ├ ○ /solutions/ai-answering-service
web:build: ├ ○ /solutions/ai-receptionist
web:build: ├ ○ /terms-of-service
web:build: ├ ○ /use-cases
web:build: ├ ○ /use-cases/appointment-scheduling
web:build: ├ ○ /use-cases/customer-support
web:build: ├ ○ /use-cases/operations-automation
web:build: ├ ○ /use-cases/order-status-returns
web:build: ├ ○ /use-cases/reminders-collections
web:build: └ ○ /use-cases/sales-lead-gen
web:build:
web:build:
web:build: ○ (Static) prerendered as static content
web:build: ● (SSG) prerendered as static HTML (uses generateStaticParams)
web:build: ƒ (Dynamic) server-rendered on demand
web:build:
Tasks: 3 successful, 3 total
Cached: 0 cached, 3 total
Time: 2m5.246s
- Stderr:
• turbo 2.8.20
ai tests: return code0- Command:
bash -lc . apps/ai/.venv/bin/activate && cd apps/ai && python -m pytest tests -q - Stdout:
- Command:
....................................................... [100%]
=============================== warnings summary ===============================
main.py:14
/home/ubuntu/rahul/quickvoice/apps/ai/main.py:14: DeprecationWarning: livekit-plugins-silero is deprecated and will be removed in v2.0. AgentSession now defaults to the bundled silero VAD, so you can drop the explicit `vad=` argument entirely; pass `vad=None` to opt out, or use `from livekit.agents import inference; inference.VAD(model="silero", ...)` to customise options.
from livekit.plugins import noise_cancellation, silero
main.py:15
/home/ubuntu/rahul/quickvoice/apps/ai/main.py:15: DeprecationWarning: `livekit.plugins.turn_detector` is deprecated and will be removed in a future release. Use `livekit.agents.inference.TurnDetector` instead.
from livekit.plugins.turn_detector.multilingual import MultilingualModel
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
55 passed, 2 warnings, 5 subtests passed in 4.09s
- The runner never commits or pushes.
- Generated logs are stored under
.ui_ux_fix_runs/and ignored by git. - The runner stops before the next module unless the current module status is
fixed. unsafe_changesmeans the child session changed files outside the module scope.no_changesmeans the child session completed but did not modify repository files.