tavus-cli 0.9.0__tar.gz → 0.9.1__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 (113) hide show
  1. tavus_cli-0.9.1/.release-please-manifest.json +3 -0
  2. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/CHANGELOG.md +7 -0
  3. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/PKG-INFO +2 -2
  4. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/README.md +1 -1
  5. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/packages/tavus/pyproject.toml +2 -2
  6. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/packages/tavus-mcp/pyproject.toml +2 -2
  7. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/pyproject.toml +1 -1
  8. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/__init__.py +1 -1
  9. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/uv.lock +1 -1
  10. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/workers/tavus-mcp/package-lock.json +2 -2
  11. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/workers/tavus-mcp/package.json +1 -1
  12. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/workers/tavus-mcp/src/oauth.ts +3 -0
  13. tavus_cli-0.9.1/workers/tavus-mcp/src/version.ts +1 -0
  14. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/workers/tavus-mcp/test/tavus.test.ts +6 -1
  15. tavus_cli-0.9.0/.release-please-manifest.json +0 -3
  16. tavus_cli-0.9.0/workers/tavus-mcp/src/version.ts +0 -1
  17. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/.agents/plugins/marketplace.json +0 -0
  18. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/.env.example +0 -0
  19. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/.github/workflows/ci.yml +0 -0
  20. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/.github/workflows/deploy-cloudflare-worker.yml +0 -0
  21. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/.github/workflows/pr-reviews.yml +0 -0
  22. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/.github/workflows/pypi-cli.yml +0 -0
  23. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/.github/workflows/tail-cloudflare-worker.yml +0 -0
  24. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/.github/workflows/validate-staging-deployment.yml +0 -0
  25. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/.gitignore +0 -0
  26. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/AGENTS.md +0 -0
  27. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/PROMPT.md +0 -0
  28. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/docs/chatgpt-plugin.md +0 -0
  29. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/docs/gemini-enterprise/README.md +0 -0
  30. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/docs/gemini-enterprise/listing.md +0 -0
  31. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/docs/gemini-enterprise/test-queries.md +0 -0
  32. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/docs/usage-observability.md +0 -0
  33. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/packages/tavus/README.md +0 -0
  34. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/packages/tavus-mcp/README.md +0 -0
  35. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/plugins/tavus-pal/assets/icon-dark.svg +0 -0
  36. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/plugins/tavus-pal/assets/icon.svg +0 -0
  37. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/plugins/tavus-pal/mcp.json +0 -0
  38. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/plugins/tavus-pal/plugin.json +0 -0
  39. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/release-please-config.json +0 -0
  40. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/scripts/__init__.py +0 -0
  41. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/scripts/build_chatgpt_plugin.py +0 -0
  42. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/scripts/check_release_versions.py +0 -0
  43. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/skills/tavus-agentic-pals/SKILL.md +0 -0
  44. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/skills/tavus-agentic-pals/agents/openai.yaml +0 -0
  45. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/skills/tavus-agentic-pals/references/build-and-verify.md +0 -0
  46. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/skills/tavus-agentic-pals/references/builder-workflow.md +0 -0
  47. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/skills/tavus-agentic-pals/references/chat-mode.md +0 -0
  48. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/skills/tavus-agentic-pals/references/examples.md +0 -0
  49. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/cli/__init__.py +0 -0
  50. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/cli/main.py +0 -0
  51. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/__init__.py +0 -0
  52. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/auth/__init__.py +0 -0
  53. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/auth/keyring_store.py +0 -0
  54. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/auth/oauth.py +0 -0
  55. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/auth/session.py +0 -0
  56. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/client/__init__.py +0 -0
  57. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/client/http.py +0 -0
  58. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/daily_transport.py +0 -0
  59. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/env.py +0 -0
  60. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/errors.py +0 -0
  61. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/pal_urls.py +0 -0
  62. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/patch.py +0 -0
  63. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/recipes/__init__.py +0 -0
  64. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/recipes/build_and_verify.py +0 -0
  65. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/recipes/capabilities.py +0 -0
  66. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/recipes/carrier_builder.py +0 -0
  67. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/recipes/deployments.py +0 -0
  68. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/recipes/knowledge.py +0 -0
  69. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/recipes/options.py +0 -0
  70. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/recipes/quickstart.py +0 -0
  71. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/recipes/scaffold_embed.py +0 -0
  72. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/recipes/templates.py +0 -0
  73. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/recipes/tool_reuse.py +0 -0
  74. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/schemas/__init__.py +0 -0
  75. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/schemas/deployment.py +0 -0
  76. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/schemas/file_manifest.py +0 -0
  77. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/schemas/guardrail.py +0 -0
  78. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/schemas/objective.py +0 -0
  79. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/schemas/pal.py +0 -0
  80. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/schemas/pronunciation.py +0 -0
  81. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/sdk/schemas/tool.py +0 -0
  82. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/src/tavus_mcp/server.py +0 -0
  83. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/conftest.py +0 -0
  84. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/integration/test_cli.py +0 -0
  85. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/integration/test_client.py +0 -0
  86. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/integration/test_mcp_server.py +0 -0
  87. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/integration/test_oauth.py +0 -0
  88. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/unit/test_auth.py +0 -0
  89. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/unit/test_build_and_verify.py +0 -0
  90. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/unit/test_builder.py +0 -0
  91. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/unit/test_capabilities.py +0 -0
  92. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/unit/test_daily_transport.py +0 -0
  93. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/unit/test_deployments.py +0 -0
  94. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/unit/test_env.py +0 -0
  95. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/unit/test_guardrail_schema.py +0 -0
  96. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/unit/test_objective_schema.py +0 -0
  97. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/unit/test_pal_schema.py +0 -0
  98. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/unit/test_patch.py +0 -0
  99. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/unit/test_pronunciation_schema.py +0 -0
  100. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/unit/test_release_versions.py +0 -0
  101. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/unit/test_scaffold_embed.py +0 -0
  102. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/unit/test_tool_reuse.py +0 -0
  103. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/tests/unit/test_tool_schema.py +0 -0
  104. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/workers/tavus-mcp/.dev.vars.example +0 -0
  105. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/workers/tavus-mcp/src/index.ts +0 -0
  106. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/workers/tavus-mcp/src/oauth-grant.ts +0 -0
  107. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/workers/tavus-mcp/src/oauth-session.ts +0 -0
  108. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/workers/tavus-mcp/src/tavus.ts +0 -0
  109. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/workers/tavus-mcp/test/oauth-session.test.ts +0 -0
  110. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/workers/tavus-mcp/test/parity.test.ts +0 -0
  111. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/workers/tavus-mcp/test/worker-runtime.ts +0 -0
  112. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/workers/tavus-mcp/tsconfig.json +0 -0
  113. {tavus_cli-0.9.0 → tavus_cli-0.9.1}/workers/tavus-mcp/wrangler.jsonc +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.9.1"
3
+ }
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.9.1](https://github.com/Tavus-Engineering/tavus-mcp/compare/v0.9.0...v0.9.1) (2026-10-09)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **worker:** allow Vercel Connect OAuth registration ([#66](https://github.com/Tavus-Engineering/tavus-mcp/issues/66)) ([2ed7925](https://github.com/Tavus-Engineering/tavus-mcp/commit/2ed7925183e726f6a2614adeb6ca75257d2d78b1))
9
+
3
10
  ## [0.9.0](https://github.com/Tavus-Engineering/tavus-mcp/compare/v0.8.1...v0.9.0) (2026-10-09)
4
11
 
5
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: tavus-cli
3
- Version: 0.9.0
3
+ Version: 0.9.1
4
4
  Summary: Tavus CLI and MCP server for agentic PAL creation and editing.
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: fastmcp>=2.0.0
@@ -60,7 +60,7 @@ The API key never appears in client configuration or browser callback URLs.
60
60
 
61
61
  Dynamic client registration accepts loopback callbacks from any local client
62
62
  (Claude Code, Codex, Gemini CLI) and the hosted callbacks of Claude, ChatGPT,
63
- Cursor, VS Code, v0, Lovable, Bolt and Replit. They are listed in `KNOWN_REMOTE_CLIENTS` in
63
+ Cursor, VS Code, v0, Vercel Connect, Lovable, Bolt and Replit. They are listed in `KNOWN_REMOTE_CLIENTS` in
64
64
  `workers/tavus-mcp/src/oauth.ts`. To add a client, press Connect in it once,
65
65
  read its callback from the Worker's `oauth_register_rejected` log line, and add
66
66
  an entry with a test. Clients that don't use dynamic registration, such as
@@ -38,7 +38,7 @@ The API key never appears in client configuration or browser callback URLs.
38
38
 
39
39
  Dynamic client registration accepts loopback callbacks from any local client
40
40
  (Claude Code, Codex, Gemini CLI) and the hosted callbacks of Claude, ChatGPT,
41
- Cursor, VS Code, v0, Lovable, Bolt and Replit. They are listed in `KNOWN_REMOTE_CLIENTS` in
41
+ Cursor, VS Code, v0, Vercel Connect, Lovable, Bolt and Replit. They are listed in `KNOWN_REMOTE_CLIENTS` in
42
42
  `workers/tavus-mcp/src/oauth.ts`. To add a client, press Connect in it once,
43
43
  read its callback from the Worker's `oauth_register_rejected` log line, and add
44
44
  an entry with a test. Clients that don't use dynamic registration, such as
@@ -1,11 +1,11 @@
1
1
  [project]
2
2
  name = "tavus"
3
- version = "0.9.0" # x-release-please-version
3
+ version = "0.9.1" # x-release-please-version
4
4
  description = "Official alias for tavus-cli, the Tavus CLI and MCP server."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
7
7
  dependencies = [
8
- "tavus-cli==0.9.0", # x-release-please-version
8
+ "tavus-cli==0.9.1", # x-release-please-version
9
9
  ]
10
10
 
11
11
  [project.urls]
@@ -1,11 +1,11 @@
1
1
  [project]
2
2
  name = "tavus-mcp"
3
- version = "0.9.0" # x-release-please-version
3
+ version = "0.9.1" # x-release-please-version
4
4
  description = "Official alias for tavus-cli, which provides the tavus-mcp MCP server."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
7
7
  dependencies = [
8
- "tavus-cli==0.9.0", # x-release-please-version
8
+ "tavus-cli==0.9.1", # x-release-please-version
9
9
  ]
10
10
 
11
11
  [project.urls]
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "tavus-cli"
3
- version = "0.9.0"
3
+ version = "0.9.1"
4
4
  description = "Tavus CLI and MCP server for agentic PAL creation and editing."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -1,4 +1,4 @@
1
1
  """Tavus CLI and MCP server package."""
2
2
 
3
3
  __all__ = ["__version__"]
4
- __version__ = "0.9.0" # x-release-please-version
4
+ __version__ = "0.9.1" # x-release-please-version
@@ -1303,7 +1303,7 @@ wheels = [
1303
1303
 
1304
1304
  [[package]]
1305
1305
  name = "tavus-cli"
1306
- version = "0.9.0"
1306
+ version = "0.9.1"
1307
1307
  source = { editable = "." }
1308
1308
  dependencies = [
1309
1309
  { name = "fastmcp" },
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@tavus/tavus-mcp-worker",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@tavus/tavus-mcp-worker",
9
- "version": "0.9.0",
9
+ "version": "0.9.1",
10
10
  "dependencies": {
11
11
  "@modelcontextprotocol/sdk": "^1.29.0",
12
12
  "agents": "^0.12.2",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tavus/tavus-mcp-worker",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "scripts": {
@@ -868,6 +868,9 @@ const KNOWN_REMOTE_CLIENTS: ReadonlyArray<{
868
868
  // also in https://v0.app/docs/api/platform/guides/oauth-mcp-servers.
869
869
  { name: "v0", hosts: ["v0.app"], path: /^\/api\/chat\/integrations\/oauth\/callback$/ },
870
870
  { name: "v0", hosts: ["api.v0.dev"], path: /^\/v1\/mcp-servers\/oauth\/callback$/ },
871
+ // Vercel Connect uses a separate callback from v0.
872
+ // https://vercel.com/docs/connect/providers#accept-the-redirect-url
873
+ { name: "Vercel Connect", hosts: ["connect.vercel.com"], path: /^\/callback$/ },
871
874
  // Lovable does not document its callback (https://docs.lovable.dev/integrations/custom-mcp).
872
875
  // This one is captured from Lovable's own registration on staging
873
876
  // (oauth_register_rejected).
@@ -0,0 +1 @@
1
+ export const VERSION = "0.9.1"; // x-release-please-version
@@ -855,6 +855,7 @@ describe("Cloudflare Tavus MCP helpers", () => {
855
855
  // Both callbacks from v0's client metadata document.
856
856
  ["v0", ["https://v0.app/api/chat/integrations/oauth/callback"]],
857
857
  ["v0", ["https://api.v0.dev/v1/mcp-servers/oauth/callback"]],
858
+ ["Vercel Connect", ["https://connect.vercel.com/callback"]],
858
859
  // Lovable's registration, captured from the staging Worker logs.
859
860
  ["Lovable", ["https://api.lovable.dev/workspaces/connectors/mcp/oauth/callback"]],
860
861
  // Bolt's registration, captured from the staging Worker logs.
@@ -880,6 +881,10 @@ describe("Cloudflare Tavus MCP helpers", () => {
880
881
  ["the unverified Lovable callback", "https://lovable.dev/oauth/callback"],
881
882
  ["a Bolt subdomain", "https://evil.bolt.new/mcp/oauth/callback"],
882
883
  ["a subdomain", "https://evil.v0.app/api/chat/integrations/oauth/callback"],
884
+ ["Vercel Connect over HTTP", "http://connect.vercel.com/callback"],
885
+ ["a Vercel Connect lookalike host", "https://connect.vercel.com.attacker.example/callback"],
886
+ ["a longer Vercel Connect path", "https://connect.vercel.com/callback/extra"],
887
+ ["a Vercel Connect query string", "https://connect.vercel.com/callback?next=https://attacker.example"],
883
888
  ])("rejects a known client's callback with %s", async (_label, redirectUri) => {
884
889
  expect((await registerClient([redirectUri]))?.status).toBe(400);
885
890
  });
@@ -893,7 +898,7 @@ describe("Cloudflare Tavus MCP helpers", () => {
893
898
  expect(response?.status).toBe(400);
894
899
  await expect(response?.json()).resolves.toMatchObject({
895
900
  error: "invalid_client_metadata",
896
- error_description: expect.stringContaining("Claude, ChatGPT, Cursor, VS Code, v0, Lovable, Bolt, Replit"),
901
+ error_description: expect.stringContaining("Claude, ChatGPT, Cursor, VS Code, v0, Vercel Connect, Lovable, Bolt, Replit"),
897
902
  });
898
903
  });
899
904
 
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.9.0"
3
- }
@@ -1 +0,0 @@
1
- export const VERSION = "0.9.0"; // x-release-please-version
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes