dv-pipecat-flows 0.0.0.dev2393__tar.gz → 0.0.0.dev2502__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/AGENTS.md +18 -0
  2. {dv_pipecat_flows-0.0.0.dev2393/src/dv_pipecat_flows.egg-info → dv_pipecat_flows-0.0.0.dev2502}/PKG-INFO +1 -2
  3. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/README.md +0 -1
  4. dv_pipecat_flows-0.0.0.dev2502/remote-asterisk-code/README.md +9 -0
  5. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/remote-asterisk-code/extensions.conf +7 -0
  6. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/remote-asterisk-code/rtp.conf +6 -0
  7. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502/src/dv_pipecat_flows.egg-info}/PKG-INFO +1 -2
  8. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/dv_pipecat_flows.egg-info/SOURCES.txt +0 -33
  9. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/dv_pipecat_flows.egg-info/scm_file_list.json +542 -491
  10. dv_pipecat_flows-0.0.0.dev2502/src/dv_pipecat_flows.egg-info/scm_version.json +8 -0
  11. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/pipecat_flows/actions.py +42 -7
  12. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/pipecat_flows/manager.py +162 -75
  13. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/pipecat_flows/processors/router_mode_guard.py +11 -0
  14. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/pipecat_flows/processors/user_turn_observer.py +32 -11
  15. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/pipecat_flows/router_mode.py +12 -3
  16. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/.env.example +0 -13
  17. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/.gitignore +0 -5
  18. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/README.md +0 -71
  19. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/docs/ARCHITECTURE.md +0 -190
  20. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/docs/CODE_MAP.md +0 -251
  21. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/docs/CONFIG.md +0 -125
  22. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/docs/CONTRACTS.md +0 -178
  23. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/docs/DISTRIBUTION.md +0 -73
  24. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/docs/HLD.md +0 -302
  25. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/docs/METHODS.md +0 -265
  26. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/docs/VOICE_E2E.md +0 -52
  27. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/ANALYSIS_stagehand_vs_hybrid.md +0 -113
  28. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/RESULTS.md +0 -107
  29. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/_env.py +0 -44
  30. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/bench.py +0 -480
  31. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/bench_browseruse.py +0 -312
  32. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/bench_stagehand.py +0 -283
  33. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/inspect_browseruse.py +0 -115
  34. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/inspect_browseruse_showcase.py +0 -115
  35. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/inspect_stagehand_prompt.py +0 -112
  36. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/pages/checkout.html +0 -29
  37. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/pages/dashboard.html +0 -25
  38. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/pages/signup.html +0 -23
  39. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/results_browseruse.json +0 -159
  40. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/results_perception.json +0 -446
  41. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/results_stagehand.json +0 -166
  42. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/tasks.py +0 -104
  43. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/try_hybrid.py +0 -105
  44. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/try_hybrid_multistep.py +0 -149
  45. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/eval/try_hybrid_oneshot.py +0 -133
  46. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/pyproject.toml +0 -27
  47. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/scripts/dev-stack.sh +0 -212
  48. dv_pipecat_flows-0.0.0.dev2393/browser_copilot/uv.lock +0 -551
  49. dv_pipecat_flows-0.0.0.dev2393/remote-asterisk-code/README.md +0 -0
  50. dv_pipecat_flows-0.0.0.dev2393/src/dv_pipecat_flows.egg-info/scm_version.json +0 -8
  51. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/.agents/skills/loki-logs/SKILL.md +0 -0
  52. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/.agents/skills/loki-logs/query-reference.md +0 -0
  53. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/.claude/skills/loki-logs/SKILL.md +0 -0
  54. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/.claude/skills/loki-logs/query-reference.md +0 -0
  55. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/.gitattributes +0 -0
  56. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/.gitignore +0 -0
  57. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/.pre-commit-config.yaml +0 -0
  58. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/.python-version +0 -0
  59. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/.readthedocs.yaml +0 -0
  60. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/CHANGELOG.md +0 -0
  61. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/CLAUDE.md +0 -0
  62. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/CONTRIBUTING.md +0 -0
  63. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/LICENSE +0 -0
  64. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/MANIFEST.in +0 -0
  65. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/dev-requirements.txt +0 -0
  66. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/docker-compose.dev.yml +0 -0
  67. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/.eslintrc.json +0 -0
  68. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/.prettierrc +0 -0
  69. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/css/tailwind.css +0 -0
  70. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/examples/food_ordering.json +0 -0
  71. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/examples/movie_explorer.json +0 -0
  72. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/examples/patient_intake.json +0 -0
  73. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/examples/restaurant_reservation.json +0 -0
  74. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/examples/travel_planner.json +0 -0
  75. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/favicon.png +0 -0
  76. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/favicon.svg +0 -0
  77. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/index.html +0 -0
  78. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/editor/canvas.js +0 -0
  79. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/editor/editorState.js +0 -0
  80. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/editor/sidePanel.js +0 -0
  81. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/editor/toolbar.js +0 -0
  82. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/main.js +0 -0
  83. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/nodes/baseNode.js +0 -0
  84. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/nodes/endNode.js +0 -0
  85. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/nodes/flowNode.js +0 -0
  86. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/nodes/functionNode.js +0 -0
  87. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/nodes/index.js +0 -0
  88. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/nodes/mergeNode.js +0 -0
  89. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/nodes/startNode.js +0 -0
  90. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/types.js +0 -0
  91. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/utils/export.js +0 -0
  92. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/utils/helpers.js +0 -0
  93. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/utils/import.js +0 -0
  94. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/js/utils/validation.js +0 -0
  95. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/jsdoc.json +0 -0
  96. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/package-lock.json +0 -0
  97. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/package.json +0 -0
  98. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/postcss.config.cjs +0 -0
  99. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/public/favicon.png +0 -0
  100. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/public/favicon.svg +0 -0
  101. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/tailwind.config.cjs +0 -0
  102. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/vercel.json +0 -0
  103. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/editor/vite.config.js +0 -0
  104. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/engine_primitives_plan.md +0 -0
  105. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/env.example +0 -0
  106. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/images/food-ordering-flow.png +0 -0
  107. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/pipecat-flows.png +0 -0
  108. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/pipecat_upgrade.md +0 -0
  109. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/pyproject.toml +0 -0
  110. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/requirements.txt +0 -0
  111. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/scripts/check-pypi-package.py +0 -0
  112. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/scripts/fix-ruff.sh +0 -0
  113. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/scripts/pre-commit.sh +0 -0
  114. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/setup.cfg +0 -0
  115. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/dv_pipecat_flows.egg-info/dependency_links.txt +0 -0
  116. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/dv_pipecat_flows.egg-info/requires.txt +0 -0
  117. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/dv_pipecat_flows.egg-info/top_level.txt +0 -0
  118. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/pipecat_flows/__init__.py +0 -0
  119. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/pipecat_flows/adapters.py +0 -0
  120. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/pipecat_flows/condition_evaluator.py +0 -0
  121. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/pipecat_flows/exceptions.py +0 -0
  122. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/pipecat_flows/flow_validator.py +0 -0
  123. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/pipecat_flows/processors/__init__.py +0 -0
  124. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/pipecat_flows/processors/speak_interruption_guard.py +0 -0
  125. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/src/pipecat_flows/types.py +0 -0
  126. {dv_pipecat_flows-0.0.0.dev2393 → dv_pipecat_flows-0.0.0.dev2502}/uv.lock +0 -0
@@ -125,6 +125,23 @@ Example `call_config`:
125
125
  - `tests/test_manager.py`, `tests/test_actions.py`, etc., cover FlowManager and ActionManager edge cases (context resets, action ordering, function registration). Extend these tests when adding new features.
126
126
  - Logging: see the dedicated section below for Loguru usage and the custom logger configuration.
127
127
 
128
+ ## Metrics & Observability
129
+
130
+ - **SDK**: `ringg-telemetry` (metrics-only facade over OpenTelemetry). Initialised once per process in the FastAPI lifespan — `ringg-bot/server.py` — gated on `ENABLE_METRICS`. Export path is OTLP/gRPC → the in-cluster `otel-gateway` → **Google Managed Prometheus**. Tracing is a *separate* stack (Langfuse, `ringg-bot/utils/tracing.py`); the two are unrelated.
131
+ - **Declare instruments in one place**: the registry block near the bottom of `ringg-bot/utils/metrics_collector.py`. Module-level handles (`ringg_metrics.histogram/counter/gauge`), created at import, resolved lazily. Keep the cardinality justification in a comment next to each — the `labels=(...)` tuple is a hard allowlist, and the SDK **silently drops** any label not in it.
132
+ - **Record from a lazily-importing, swallow-all helper** when the call site is on a per-turn hot path — see `_record_redis_latency` in `ringg-bot/ringg_processors/llm_cache.py` and `_record_router_metrics` in `ringg-bot/utils/language_detection.py`. Telemetry must never raise into a live call, and the import must not drag the metrics stack into eval scripts.
133
+ - **Names**: the SDK prefixes everything with `ringg.` and GMP rewrites it for PromQL — `ringg.language.router.duration` + `unit="s"` becomes `ringg_language_router_duration_seconds_{bucket,count,sum}`; a counter with `unit="1"` becomes `..._total`. A non-standard unit gets appended as a suffix, so use `"1"` even for money (put "USD" in the description).
134
+ - **Dashboards as code**: `k8s/monitoring/dashboards/` — one JSON per dashboard plus a README with the `gcloud monitoring dashboards create/update` commands and the assigned resource ids.
135
+ - **Tests**: `ringg_telemetry.testing.install_test_provider()` / `uninstall_test_provider()` route handles to an in-memory reader. See `ringg-bot/tests/test_metrics_bridge.py` and `tests/test_language_router_metrics.py`.
136
+
137
+ ## Data Residency
138
+
139
+ - Some regions forbid their call data leaving regional storage. The single definition of that rule is `is_data_residency_restricted(region)` in `ringg-bot/utils/artifact_store.py` (currently `{"ksa"}`). **Consult it before any new write to the long-lived artifact bucket** — `RUNTIME_CONFIG_BUCKET` is US-located.
140
+ - Restricted regions **skip** the write entirely: there is no fallback bucket and no re-routing. Applies to the runtime-config snapshot, the tool-call snapshot and the language-router samples (`utils/generic_functions/cleanup.py`, `utils/language_sample_store.py`). The data still reaches the region's own backend via the `call_completion` POST, and transcripts/recordings still go to the regional bucket via `utils/transcript._get_gcs_bucket`.
141
+ - `region` is a **per-call** value (`RunConfig.region`, set by the backend), not a pod env var. On the two artifact uploaders it is keyword-only and *required* precisely so a new call site cannot become a violation by omission.
142
+ - Skipping the upload must not skip local cleanup: `LOCAL_STORAGE_DIR` is the pod's `/tmp` and the pod outlives thousands of calls, so anything buffered on disk still has to be unlinked on the skip path.
143
+ - Where feasible, gate at *capture* time too, not just upload time — e.g. `bot.py` passes `collect_samples=not is_data_residency_restricted(_region)` so raw user utterances are never written to `/tmp` for a restricted call.
144
+
128
145
  ## Logging
129
146
 
130
147
  - We use Loguru for all application logging. Do not use the Python `logging` module in app code; always `from loguru import logger`.
@@ -399,6 +416,7 @@ curl -X POST https://api.ringg.ai/call \
399
416
 
400
417
  - `provider_metadata.asterisk_channel_id`, `provider_metadata.asterisk_sip_provider` — set by the bridge for Asterisk calls.
401
418
  - `provider_metadata.transfer.type`, `provider_metadata.transfer.sip_domain` — may be injected from dialplan variables (`TRANSFER_TYPE`, `TRANSFER_SIP_DOMAIN`) or ARI variables for outbound calls. Agents typically do not need to set these.
419
+ - `call_config.transfer.include_call_numbers` — when true, `dialplan_context` transfers add this call's `to_number` / `from_number` to the SIP MESSAGE body. Defaults off.
402
420
 
403
421
  ## Next Steps
404
422
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dv-pipecat-flows
3
- Version: 0.0.0.dev2393
3
+ Version: 0.0.0.dev2502
4
4
  Summary: Conversation Flow management for Pipecat AI applications
5
5
  License: BSD 2-Clause License
6
6
  Project-URL: Source, https://github.com/pipecat-ai/pipecat-flows
@@ -309,4 +309,3 @@ We aim to review all contributions promptly and provide constructive feedback to
309
309
  ➡️ [Reach us on X](https://x.com/pipecat_ai)
310
310
 
311
311
 
312
-
@@ -284,4 +284,3 @@ We aim to review all contributions promptly and provide constructive feedback to
284
284
  ➡️ [Reach us on X](https://x.com/pipecat_ai)
285
285
 
286
286
 
287
-
@@ -0,0 +1,9 @@
1
+ # remote-asterisk-code/ (deprecated)
2
+
3
+ This directory is a stale, unmaintained mirror of the Asterisk dialplan and
4
+ RTP configuration. **It is not the source of truth** — do not use it to
5
+ infer current production behavior, and do not update it to reflect new
6
+ Asterisk-side changes.
7
+
8
+ The canonical source for the deployed Asterisk/Kamailio configuration is
9
+ the `sip-infra` repository.
@@ -1,3 +1,10 @@
1
+ ; ============================================================================
2
+ ; DEPRECATED — this file is a stale, unmaintained mirror and is NOT the
3
+ ; source of truth for the deployed Asterisk dialplan. Canonical source:
4
+ ; the sip-infra repo (branch: main / feat/* per active work).
5
+ ; Do not use this file to infer current production behavior.
6
+ ; ============================================================================
7
+
1
8
  ; /etc/asterisk/extensions.conf (minimal)
2
9
 
3
10
  [general]
@@ -1,3 +1,9 @@
1
+ ; ============================================================================
2
+ ; DEPRECATED — this file is a stale, unmaintained mirror and is NOT the
3
+ ; source of truth for the deployed Asterisk RTP config. Canonical source:
4
+ ; the sip-infra repo (branch: main / feat/* per active work).
5
+ ; ============================================================================
6
+
1
7
  sudo cat /etc/asterisk/rtp.conf
2
8
  ;
3
9
  ; RTP Configuration
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dv-pipecat-flows
3
- Version: 0.0.0.dev2393
3
+ Version: 0.0.0.dev2502
4
4
  Summary: Conversation Flow management for Pipecat AI applications
5
5
  License: BSD 2-Clause License
6
6
  Project-URL: Source, https://github.com/pipecat-ai/pipecat-flows
@@ -309,4 +309,3 @@ We aim to review all contributions promptly and provide constructive feedback to
309
309
  ➡️ [Reach us on X](https://x.com/pipecat_ai)
310
310
 
311
311
 
312
-
@@ -23,39 +23,6 @@ uv.lock
23
23
  .agents/skills/loki-logs/query-reference.md
24
24
  .claude/skills/loki-logs/SKILL.md
25
25
  .claude/skills/loki-logs/query-reference.md
26
- browser_copilot/.env.example
27
- browser_copilot/.gitignore
28
- browser_copilot/README.md
29
- browser_copilot/pyproject.toml
30
- browser_copilot/uv.lock
31
- browser_copilot/docs/ARCHITECTURE.md
32
- browser_copilot/docs/CODE_MAP.md
33
- browser_copilot/docs/CONFIG.md
34
- browser_copilot/docs/CONTRACTS.md
35
- browser_copilot/docs/DISTRIBUTION.md
36
- browser_copilot/docs/HLD.md
37
- browser_copilot/docs/METHODS.md
38
- browser_copilot/docs/VOICE_E2E.md
39
- browser_copilot/eval/ANALYSIS_stagehand_vs_hybrid.md
40
- browser_copilot/eval/RESULTS.md
41
- browser_copilot/eval/_env.py
42
- browser_copilot/eval/bench.py
43
- browser_copilot/eval/bench_browseruse.py
44
- browser_copilot/eval/bench_stagehand.py
45
- browser_copilot/eval/inspect_browseruse.py
46
- browser_copilot/eval/inspect_browseruse_showcase.py
47
- browser_copilot/eval/inspect_stagehand_prompt.py
48
- browser_copilot/eval/results_browseruse.json
49
- browser_copilot/eval/results_perception.json
50
- browser_copilot/eval/results_stagehand.json
51
- browser_copilot/eval/tasks.py
52
- browser_copilot/eval/try_hybrid.py
53
- browser_copilot/eval/try_hybrid_multistep.py
54
- browser_copilot/eval/try_hybrid_oneshot.py
55
- browser_copilot/eval/pages/checkout.html
56
- browser_copilot/eval/pages/dashboard.html
57
- browser_copilot/eval/pages/signup.html
58
- browser_copilot/scripts/dev-stack.sh
59
26
  editor/.eslintrc.json
60
27
  editor/.prettierrc
61
28
  editor/favicon.png