tavus-cli 0.4.2__tar.gz → 0.4.4__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 (99) hide show
  1. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/.github/workflows/pypi-cli.yml +46 -0
  2. tavus_cli-0.4.4/.release-please-manifest.json +3 -0
  3. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/CHANGELOG.md +14 -0
  4. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/PKG-INFO +1 -1
  5. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/packages/tavus/pyproject.toml +2 -2
  6. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/packages/tavus-mcp/pyproject.toml +2 -2
  7. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/pyproject.toml +1 -1
  8. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/__init__.py +1 -1
  9. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/unit/test_release_versions.py +30 -0
  10. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/uv.lock +1 -1
  11. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/workers/tavus-mcp/package-lock.json +2 -2
  12. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/workers/tavus-mcp/package.json +1 -1
  13. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/workers/tavus-mcp/src/index.ts +9 -0
  14. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/workers/tavus-mcp/src/tavus.ts +61 -56
  15. tavus_cli-0.4.4/workers/tavus-mcp/src/version.ts +1 -0
  16. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/workers/tavus-mcp/wrangler.jsonc +2 -1
  17. tavus_cli-0.4.2/.release-please-manifest.json +0 -3
  18. tavus_cli-0.4.2/workers/tavus-mcp/src/version.ts +0 -1
  19. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/.env.example +0 -0
  20. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/.github/workflows/ci.yml +0 -0
  21. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/.github/workflows/deploy-cloudflare-worker.yml +0 -0
  22. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/.github/workflows/pr-reviews.yml +0 -0
  23. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/.github/workflows/tail-cloudflare-worker.yml +0 -0
  24. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/.github/workflows/validate-staging-deployment.yml +0 -0
  25. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/.gitignore +0 -0
  26. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/AGENTS.md +0 -0
  27. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/README.md +0 -0
  28. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/docs/gemini-enterprise/README.md +0 -0
  29. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/docs/gemini-enterprise/listing.md +0 -0
  30. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/docs/gemini-enterprise/test-queries.md +0 -0
  31. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/docs/usage-observability.md +0 -0
  32. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/packages/tavus/README.md +0 -0
  33. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/packages/tavus-mcp/README.md +0 -0
  34. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/release-please-config.json +0 -0
  35. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/scripts/__init__.py +0 -0
  36. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/scripts/check_release_versions.py +0 -0
  37. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/skills/tavus-agentic-pals/SKILL.md +0 -0
  38. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/skills/tavus-agentic-pals/agents/openai.yaml +0 -0
  39. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/skills/tavus-agentic-pals/references/build-and-verify.md +0 -0
  40. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/skills/tavus-agentic-pals/references/builder-workflow.md +0 -0
  41. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/skills/tavus-agentic-pals/references/chat-mode.md +0 -0
  42. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/skills/tavus-agentic-pals/references/examples.md +0 -0
  43. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/cli/__init__.py +0 -0
  44. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/cli/main.py +0 -0
  45. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/__init__.py +0 -0
  46. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/auth/__init__.py +0 -0
  47. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/auth/keyring_store.py +0 -0
  48. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/auth/oauth.py +0 -0
  49. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/auth/session.py +0 -0
  50. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/client/__init__.py +0 -0
  51. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/client/http.py +0 -0
  52. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/daily_transport.py +0 -0
  53. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/env.py +0 -0
  54. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/errors.py +0 -0
  55. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/pal_urls.py +0 -0
  56. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/patch.py +0 -0
  57. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/recipes/__init__.py +0 -0
  58. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/recipes/build_and_verify.py +0 -0
  59. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/recipes/capabilities.py +0 -0
  60. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/recipes/carrier_builder.py +0 -0
  61. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/recipes/knowledge.py +0 -0
  62. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/recipes/options.py +0 -0
  63. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/recipes/quickstart.py +0 -0
  64. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/recipes/scaffold_embed.py +0 -0
  65. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/recipes/templates.py +0 -0
  66. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/recipes/tool_reuse.py +0 -0
  67. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/schemas/__init__.py +0 -0
  68. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/schemas/file_manifest.py +0 -0
  69. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/schemas/guardrail.py +0 -0
  70. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/schemas/objective.py +0 -0
  71. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/schemas/pal.py +0 -0
  72. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/schemas/pronunciation.py +0 -0
  73. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/sdk/schemas/tool.py +0 -0
  74. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/src/tavus_mcp/server.py +0 -0
  75. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/conftest.py +0 -0
  76. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/integration/test_cli.py +0 -0
  77. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/integration/test_client.py +0 -0
  78. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/integration/test_mcp_server.py +0 -0
  79. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/integration/test_oauth.py +0 -0
  80. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/unit/test_auth.py +0 -0
  81. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/unit/test_build_and_verify.py +0 -0
  82. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/unit/test_builder.py +0 -0
  83. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/unit/test_capabilities.py +0 -0
  84. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/unit/test_daily_transport.py +0 -0
  85. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/unit/test_env.py +0 -0
  86. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/unit/test_guardrail_schema.py +0 -0
  87. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/unit/test_objective_schema.py +0 -0
  88. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/unit/test_pal_schema.py +0 -0
  89. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/unit/test_patch.py +0 -0
  90. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/unit/test_pronunciation_schema.py +0 -0
  91. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/unit/test_scaffold_embed.py +0 -0
  92. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/unit/test_tool_reuse.py +0 -0
  93. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/tests/unit/test_tool_schema.py +0 -0
  94. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/workers/tavus-mcp/.dev.vars.example +0 -0
  95. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/workers/tavus-mcp/src/oauth-grant.ts +0 -0
  96. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/workers/tavus-mcp/src/oauth.ts +0 -0
  97. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/workers/tavus-mcp/test/parity.test.ts +0 -0
  98. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/workers/tavus-mcp/test/tavus.test.ts +0 -0
  99. {tavus_cli-0.4.2 → tavus_cli-0.4.4}/workers/tavus-mcp/tsconfig.json +0 -0
@@ -322,6 +322,52 @@ jobs:
322
322
  - name: Publish Tavus CLI and its alias packages to PyPI
323
323
  run: uv publish --trusted-publishing always --check-url https://pypi.org/simple/ dist/*
324
324
 
325
+ notify-cvi-automations:
326
+ name: 'Notify #cvi-automations (prod deploy)'
327
+ needs: [preflight, production]
328
+ if: ${{ always() && !cancelled() && needs.preflight.result == 'success' }}
329
+ runs-on: ubuntu-latest
330
+ # A Slack or mention-resolution failure must not change the deploy result.
331
+ continue-on-error: true
332
+ timeout-minutes: 5
333
+ steps:
334
+ - name: Resolve release author mentions
335
+ id: mentions
336
+ continue-on-error: true
337
+ timeout-minutes: 2
338
+ uses: Tavus-Engineering/pr-changelog-action/release-mentions@main
339
+ with:
340
+ github-token: ${{ secrets.GITHUB_TOKEN }}
341
+ deploy-tag: ${{ needs.preflight.outputs.release_tag }}
342
+ environment: prod
343
+
344
+ - name: 'Post outcome to #cvi-automations'
345
+ env:
346
+ SLACK_BOT_TOKEN: ${{ secrets.CVI_BOT_SLACK_TOKEN }}
347
+ MENTIONS: ${{ steps.mentions.outputs.mentions }}
348
+ DEPLOY_RESULT: ${{ needs.production.result }}
349
+ RELEASE_TAG: ${{ needs.preflight.outputs.release_tag }}
350
+ RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
351
+ run: |
352
+ set -euo pipefail
353
+ AUTHOR_TAGS="${MENTIONS:+${MENTIONS} }"
354
+ CVI_TEAM="<!subteam^S08HUM36HMZ>"
355
+ if [ "$DEPLOY_RESULT" = "success" ]; then
356
+ TEXT=":white_check_mark: ${AUTHOR_TAGS}Tavus MCP <${RUN_URL}|${RELEASE_TAG}> is live in production."
357
+ else
358
+ TEXT=":x: ${CVI_TEAM} Tavus MCP production deploy failed — <${RUN_URL}|run>."
359
+ fi
360
+
361
+ RESPONSE=$(curl --fail-with-body --silent --show-error \
362
+ --connect-timeout 5 --max-time 30 \
363
+ -X POST https://slack.com/api/chat.postMessage \
364
+ -H "Authorization: Bearer ${SLACK_BOT_TOKEN}" \
365
+ -H "Content-Type: application/json; charset=utf-8" \
366
+ --data "$(jq -n --arg channel "C0B9S5Y556V" --arg text "$TEXT" \
367
+ '{channel:$channel, text:$text, unfurl_links:false}')")
368
+ echo "$RESPONSE" | jq .
369
+ echo "$RESPONSE" | jq -e '.ok == true' >/dev/null
370
+
325
371
  update-final-board:
326
372
  name: Refresh Slack after production
327
373
  needs: [preflight, update-pending-board, production]
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.4.4"
3
+ }
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.4.4](https://github.com/Tavus-Engineering/tavus-mcp/compare/v0.4.3...v0.4.4) (2026-09-10)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * prepare hosted MCP metadata for directory review ([#47](https://github.com/Tavus-Engineering/tavus-mcp/issues/47)) ([728bd51](https://github.com/Tavus-Engineering/tavus-mcp/commit/728bd519ef48a0b8d4203926d124f4c6d2500cff))
9
+
10
+ ## [0.4.3](https://github.com/Tavus-Engineering/tavus-mcp/compare/v0.4.2...v0.4.3) (2026-08-28)
11
+
12
+
13
+ ### Reverts
14
+
15
+ * "revert: "feat: notify cvi-automations after MCP deploys"" ([c75fdc8](https://github.com/Tavus-Engineering/tavus-mcp/commit/c75fdc850fef1873b83cb356028cb0539193c5aa))
16
+
3
17
  ## [0.4.2](https://github.com/Tavus-Engineering/tavus-mcp/compare/v0.4.1...v0.4.2) (2026-08-28)
4
18
 
5
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: tavus-cli
3
- Version: 0.4.2
3
+ Version: 0.4.4
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
@@ -1,11 +1,11 @@
1
1
  [project]
2
2
  name = "tavus"
3
- version = "0.4.2" # x-release-please-version
3
+ version = "0.4.4" # 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.4.2", # x-release-please-version
8
+ "tavus-cli==0.4.4", # 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.4.2" # x-release-please-version
3
+ version = "0.4.4" # 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.4.2", # x-release-please-version
8
+ "tavus-cli==0.4.4", # 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.4.2"
3
+ version = "0.4.4"
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.4.2" # x-release-please-version
4
+ __version__ = "0.4.4" # x-release-please-version
@@ -4,6 +4,8 @@ import importlib.util
4
4
  import json
5
5
  from pathlib import Path
6
6
 
7
+ import yaml
8
+
7
9
  ROOT = Path(__file__).resolve().parents[2]
8
10
  SCRIPT = ROOT / "scripts" / "check_release_versions.py"
9
11
  SPEC = importlib.util.spec_from_file_location("check_release_versions", SCRIPT)
@@ -38,3 +40,31 @@ def test_release_please_updates_python_runtime_version() -> None:
38
40
  assert ci_workflow.index("python scripts/check_release_versions.py") < (
39
41
  ci_workflow.index("uv sync --extra dev")
40
42
  )
43
+
44
+
45
+ def test_production_deploy_notifies_cvi_automations() -> None:
46
+ workflow = yaml.safe_load(
47
+ (ROOT / ".github" / "workflows" / "pypi-cli.yml").read_text()
48
+ )
49
+ notify = workflow["jobs"]["notify-cvi-automations"]
50
+
51
+ assert notify["needs"] == ["preflight", "production"]
52
+ assert notify["continue-on-error"] is True
53
+ assert "needs.preflight.result == 'success'" in notify["if"]
54
+
55
+ mention_step, post_step = notify["steps"]
56
+ assert (
57
+ mention_step["uses"]
58
+ == "Tavus-Engineering/pr-changelog-action/release-mentions@main"
59
+ )
60
+ assert mention_step["with"]["deploy-tag"] == (
61
+ "${{ needs.preflight.outputs.release_tag }}"
62
+ )
63
+ assert mention_step["with"]["environment"] == "prod"
64
+
65
+ script = post_step["run"]
66
+ assert "https://slack.com/api/chat.postMessage" in script
67
+ assert 'channel "C0B9S5Y556V"' in script
68
+ assert "Tavus MCP <${RUN_URL}|${RELEASE_TAG}> is live in production." in script
69
+ assert "Tavus MCP production deploy failed" in script
70
+ assert "jq -e '.ok == true'" in script
@@ -1303,7 +1303,7 @@ wheels = [
1303
1303
 
1304
1304
  [[package]]
1305
1305
  name = "tavus-cli"
1306
- version = "0.4.2"
1306
+ version = "0.4.4"
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.4.2",
3
+ "version": "0.4.4",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@tavus/tavus-mcp-worker",
9
- "version": "0.4.2",
9
+ "version": "0.4.4",
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.4.2",
3
+ "version": "0.4.4",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "scripts": {
@@ -17,6 +17,15 @@ const MCP_ROUTE = "/mcp";
17
17
  export default {
18
18
  async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
19
19
  const url = new URL(request.url);
20
+ if (
21
+ url.pathname === "/.well-known/openai-apps-challenge" &&
22
+ (request.method === "GET" || request.method === "HEAD") &&
23
+ env.OPENAI_APPS_CHALLENGE
24
+ ) {
25
+ return new Response(request.method === "HEAD" ? null : env.OPENAI_APPS_CHALLENGE, {
26
+ headers: { "Content-Type": "text/plain; charset=utf-8" },
27
+ });
28
+ }
20
29
  const oauthResponse = await handleOAuthRequest(request, env, MCP_ROUTE);
21
30
  if (oauthResponse) {
22
31
  return oauthResponse;
@@ -20,6 +20,7 @@ interface OAuthGrantStoreBinding {
20
20
  export type TavusEnvironment = "TEST" | "STG" | "PROD";
21
21
 
22
22
  export interface Env {
23
+ OPENAI_APPS_CHALLENGE?: string;
23
24
  TAVUS_ENV?: string;
24
25
  TAVUS_PUBLIC_API_BASE_URL?: string;
25
26
  TAVUS_DEV_PORTAL_URL?: string;
@@ -138,17 +139,21 @@ function readOnlyAnnotations(title: string) {
138
139
  readOnlyHint: true,
139
140
  destructiveHint: false,
140
141
  idempotentHint: true,
141
- openWorldHint: true,
142
+ openWorldHint: false,
142
143
  };
143
144
  }
144
145
 
145
- function writeAnnotations(title: string) {
146
+ function writeAnnotations(
147
+ title: string,
148
+ options: { destructiveHint?: boolean; openWorldHint?: boolean } = {},
149
+ ) {
146
150
  return {
147
151
  title,
148
152
  readOnlyHint: false,
149
153
  destructiveHint: false,
150
154
  idempotentHint: false,
151
- openWorldHint: true,
155
+ openWorldHint: false,
156
+ ...options,
152
157
  };
153
158
  }
154
159
 
@@ -158,7 +163,7 @@ function destructiveAnnotations(title: string) {
158
163
  readOnlyHint: false,
159
164
  destructiveHint: true,
160
165
  idempotentHint: true,
161
- openWorldHint: true,
166
+ openWorldHint: false,
162
167
  };
163
168
  }
164
169
 
@@ -456,7 +461,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
456
461
  readOnlyHint: true,
457
462
  destructiveHint: false,
458
463
  idempotentHint: true,
459
- openWorldHint: true,
464
+ openWorldHint: false,
460
465
  },
461
466
  async ({ deep }) =>
462
467
  toolResult(
@@ -481,7 +486,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
481
486
  readOnlyHint: true,
482
487
  destructiveHint: false,
483
488
  idempotentHint: true,
484
- openWorldHint: true,
489
+ openWorldHint: false,
485
490
  },
486
491
  async ({ limit, page, pal_type }) =>
487
492
  toolResult(
@@ -501,7 +506,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
501
506
  readOnlyHint: true,
502
507
  destructiveHint: false,
503
508
  idempotentHint: true,
504
- openWorldHint: true,
509
+ openWorldHint: false,
505
510
  },
506
511
  async ({ pal_id, include_settings }) =>
507
512
  toolResult(
@@ -515,7 +520,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
515
520
 
516
521
  server.tool(
517
522
  "tavus_pal_create",
518
- "Low-level raw PAL create that SKIPS the PAL Maker pipeline. For any 'build/make me a PAL' request, use tavus_pal_build_and_verify instead — it runs the same cloud PAL Maker flow as the portal (interview, sectioned prompt, objectives, guardrails, greeting, face, publish, verification). Only use this raw create when you deliberately need to bypass that pipeline and know exactly what you are doing. Returns pal_url for direct editing in the matching PAL Maker environment. Full-pipeline PALs use tavus-gemma-4 unless layers.llm.model is explicitly supplied. Tools are first-class records referenced by top-level tool_ids; never write tools inline under layers.llm.",
523
+ "Create a PAL directly from supplied configuration and return its PAL Maker editor URL. This low-level operation does not draft or verify the PAL through the guided PAL Maker pipeline. Full-pipeline PALs default to tavus-gemma-4 unless layers.llm.model is supplied. Tools are first-class records referenced by top-level tool_ids; inline layers.llm.tools configuration is unsupported.",
519
524
  {
520
525
  system_prompt: z.string().min(1).optional(),
521
526
  pal_name: z.string().default("Agentic Tavus PAL"),
@@ -539,7 +544,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
539
544
  readOnlyHint: false,
540
545
  destructiveHint: false,
541
546
  idempotentHint: false,
542
- openWorldHint: true,
547
+ openWorldHint: false,
543
548
  },
544
549
  async ({ system_prompt, pal_name, default_face_id, layers, ...settings }) =>
545
550
  toolResult(
@@ -567,7 +572,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
567
572
  readOnlyHint: false,
568
573
  destructiveHint: true,
569
574
  idempotentHint: true,
570
- openWorldHint: true,
575
+ openWorldHint: false,
571
576
  },
572
577
  async ({ pal_id }) => toolResult(await client.delete("pals", pal_id)),
573
578
  );
@@ -584,7 +589,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
584
589
  readOnlyHint: false,
585
590
  destructiveHint: true,
586
591
  idempotentHint: false,
587
- openWorldHint: true,
592
+ openWorldHint: false,
588
593
  },
589
594
  async ({ pal_id, ops }) =>
590
595
  toolResult(await client.patch("pals", pal_id, validatePatchOperations(ops))),
@@ -601,7 +606,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
601
606
  readOnlyHint: true,
602
607
  destructiveHint: false,
603
608
  idempotentHint: true,
604
- openWorldHint: true,
609
+ openWorldHint: false,
605
610
  },
606
611
  async ({ pal_id }) => {
607
612
  const [pal, faces, voices, guardrails, objectives, documents, tools, skills, capabilities] =
@@ -648,7 +653,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
648
653
  readOnlyHint: true,
649
654
  destructiveHint: false,
650
655
  idempotentHint: true,
651
- openWorldHint: true,
656
+ openWorldHint: false,
652
657
  },
653
658
  async ({ limit }) => toolResult(await client.list("skills", { limit })),
654
659
  );
@@ -664,7 +669,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
664
669
  readOnlyHint: true,
665
670
  destructiveHint: false,
666
671
  idempotentHint: true,
667
- openWorldHint: true,
672
+ openWorldHint: false,
668
673
  },
669
674
  async ({ skill_id }) => toolResult(await client.get("skills", skill_id)),
670
675
  );
@@ -680,7 +685,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
680
685
  readOnlyHint: true,
681
686
  destructiveHint: false,
682
687
  idempotentHint: true,
683
- openWorldHint: true,
688
+ openWorldHint: false,
684
689
  },
685
690
  async ({ pal_id }) => toolResult(await client.getPath(`pals/${pal_id}/skills/`)),
686
691
  );
@@ -696,9 +701,9 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
696
701
  {
697
702
  title: "Attach PAL skill",
698
703
  readOnlyHint: false,
699
- destructiveHint: false,
704
+ destructiveHint: true,
700
705
  idempotentHint: true,
701
- openWorldHint: true,
706
+ openWorldHint: false,
702
707
  },
703
708
  async ({ pal_id, skill_id, config }) =>
704
709
  toolResult(await client.put(`pals/${pal_id}/skills/${skill_id}`, { config: config ?? {} })),
@@ -715,9 +720,9 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
715
720
  {
716
721
  title: "Patch PAL skill",
717
722
  readOnlyHint: false,
718
- destructiveHint: false,
723
+ destructiveHint: true,
719
724
  idempotentHint: false,
720
- openWorldHint: true,
725
+ openWorldHint: false,
721
726
  },
722
727
  async ({ pal_id, skill_id, config }) =>
723
728
  toolResult(await client.patchPath(`pals/${pal_id}/skills/${skill_id}`, { config })),
@@ -735,7 +740,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
735
740
  readOnlyHint: false,
736
741
  destructiveHint: true,
737
742
  idempotentHint: true,
738
- openWorldHint: true,
743
+ openWorldHint: false,
739
744
  },
740
745
  async ({ pal_id, skill_id }) =>
741
746
  toolResult(await client.deletePath(`pals/${pal_id}/skills/${skill_id}`)),
@@ -756,7 +761,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
756
761
  readOnlyHint: true,
757
762
  destructiveHint: false,
758
763
  idempotentHint: true,
759
- openWorldHint: true,
764
+ openWorldHint: false,
760
765
  },
761
766
  async ({ limit, page, search, sort, tags }) =>
762
767
  toolResult(await client.list("voices", clean({ limit, page, search, sort, tags: csv(tags) }))),
@@ -834,7 +839,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
834
839
  app_message: z.boolean().optional(),
835
840
  tags: z.array(z.string()).optional(),
836
841
  },
837
- writeAnnotations("Update guardrail"),
842
+ writeAnnotations("Update guardrail", { destructiveHint: true }),
838
843
  async ({ guardrail_id, ...body }) =>
839
844
  toolResult(await client.patchPath(`guardrails/${guardrail_id}`, clean(body))),
840
845
  );
@@ -904,7 +909,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
904
909
  objectives_id: z.string().min(1),
905
910
  ops: z.array(JsonPatchOperationSchema).min(1),
906
911
  },
907
- writeAnnotations("Update objective set"),
912
+ writeAnnotations("Update objective set", { destructiveHint: true }),
908
913
  async ({ objectives_id, ops }) =>
909
914
  toolResult(await client.patchPath(`objectives/${objectives_id}`, ops)),
910
915
  );
@@ -921,7 +926,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
921
926
  "tavus_objective_validate",
922
927
  "Validate an objective set without persisting it.",
923
928
  objectiveCreateFields,
924
- writeAnnotations("Validate objective set"),
929
+ readOnlyAnnotations("Validate objective set"),
925
930
  async (body) => toolResult(await client.post("objectives/validate", body)),
926
931
  );
927
932
 
@@ -993,7 +998,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
993
998
  static_filler: z.string().optional(),
994
999
  tags: z.array(z.string()).optional(),
995
1000
  },
996
- writeAnnotations("Update tool"),
1001
+ writeAnnotations("Update tool", { destructiveHint: true }),
997
1002
  async ({ tool_id, ...body }) =>
998
1003
  toolResult(await client.patchPath(`tools/${tool_id}`, clean(body))),
999
1004
  );
@@ -1021,7 +1026,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1021
1026
  pal_id: z.string().min(1),
1022
1027
  tool_ids: z.array(z.string().min(1)).min(1).max(50),
1023
1028
  },
1024
- writeAnnotations("Attach PAL tools"),
1029
+ writeAnnotations("Attach PAL tools", { destructiveHint: true }),
1025
1030
  async ({ pal_id, tool_ids }) => toolResult(await attachPalTools(client, pal_id, tool_ids)),
1026
1031
  );
1027
1032
 
@@ -1075,7 +1080,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1075
1080
  name: z.string().min(1).max(255).optional(),
1076
1081
  rules: z.array(z.record(z.string(), z.unknown())).max(10000).optional(),
1077
1082
  },
1078
- writeAnnotations("Update pronunciation dictionary"),
1083
+ writeAnnotations("Update pronunciation dictionary", { destructiveHint: true }),
1079
1084
  async ({ dictionary_id, ...body }) =>
1080
1085
  toolResult(await client.patchPath(`pronunciation-dictionaries/${dictionary_id}`, clean(body))),
1081
1086
  );
@@ -1114,7 +1119,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1114
1119
  readOnlyHint: true,
1115
1120
  destructiveHint: false,
1116
1121
  idempotentHint: true,
1117
- openWorldHint: true,
1122
+ openWorldHint: false,
1118
1123
  },
1119
1124
  async ({ pal_id }) => toolResult(await listPalCapabilities(client, pal_id)),
1120
1125
  );
@@ -1144,9 +1149,9 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1144
1149
  {
1145
1150
  title: "Attach PAL capability",
1146
1151
  readOnlyHint: false,
1147
- destructiveHint: false,
1152
+ destructiveHint: true,
1148
1153
  idempotentHint: true,
1149
- openWorldHint: true,
1154
+ openWorldHint: false,
1150
1155
  },
1151
1156
  async (input) => toolResult(await attachPalCapability(client, input)),
1152
1157
  );
@@ -1158,9 +1163,9 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1158
1163
  {
1159
1164
  title: "Patch PAL capability",
1160
1165
  readOnlyHint: false,
1161
- destructiveHint: false,
1166
+ destructiveHint: true,
1162
1167
  idempotentHint: false,
1163
- openWorldHint: true,
1168
+ openWorldHint: false,
1164
1169
  },
1165
1170
  async (input) => toolResult(await attachPalCapability(client, input, true)),
1166
1171
  );
@@ -1177,7 +1182,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1177
1182
  readOnlyHint: false,
1178
1183
  destructiveHint: true,
1179
1184
  idempotentHint: true,
1180
- openWorldHint: true,
1185
+ openWorldHint: false,
1181
1186
  },
1182
1187
  async ({ pal_id, capability }) =>
1183
1188
  toolResult(await detachPalCapability(client, pal_id, capability)),
@@ -1202,7 +1207,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1202
1207
  readOnlyHint: true,
1203
1208
  destructiveHint: false,
1204
1209
  idempotentHint: true,
1205
- openWorldHint: true,
1210
+ openWorldHint: false,
1206
1211
  },
1207
1212
  async ({ limit, page, sort, status, tags, participant_tags, name_or_uuid, verbose, scope }) =>
1208
1213
  toolResult(
@@ -1235,7 +1240,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1235
1240
  readOnlyHint: true,
1236
1241
  destructiveHint: false,
1237
1242
  idempotentHint: true,
1238
- openWorldHint: true,
1243
+ openWorldHint: false,
1239
1244
  },
1240
1245
  async ({ document_id, verbose }) =>
1241
1246
  toolResult(await client.get("documents", document_id, { verbose: String(verbose) })),
@@ -1301,7 +1306,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1301
1306
  readOnlyHint: true,
1302
1307
  destructiveHint: false,
1303
1308
  idempotentHint: true,
1304
- openWorldHint: true,
1309
+ openWorldHint: false,
1305
1310
  },
1306
1311
  async ({ search, page, limit }) =>
1307
1312
  toolResult(await client.getPath("documents/tags", clean({ search, page, limit }))),
@@ -1321,7 +1326,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1321
1326
  readOnlyHint: true,
1322
1327
  destructiveHint: false,
1323
1328
  idempotentHint: true,
1324
- openWorldHint: true,
1329
+ openWorldHint: false,
1325
1330
  },
1326
1331
  async ({ document_id, collection, limit, offset }) =>
1327
1332
  toolResult(
@@ -1342,7 +1347,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1342
1347
  {
1343
1348
  title: "Recrawl document",
1344
1349
  readOnlyHint: false,
1345
- destructiveHint: false,
1350
+ destructiveHint: true,
1346
1351
  idempotentHint: false,
1347
1352
  openWorldHint: true,
1348
1353
  },
@@ -1361,7 +1366,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1361
1366
  readOnlyHint: true,
1362
1367
  destructiveHint: false,
1363
1368
  idempotentHint: true,
1364
- openWorldHint: true,
1369
+ openWorldHint: false,
1365
1370
  },
1366
1371
  async ({ pal_id }) => toolResult(await listPalKnowledge(client, pal_id)),
1367
1372
  );
@@ -1381,7 +1386,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1381
1386
  readOnlyHint: false,
1382
1387
  destructiveHint: false,
1383
1388
  idempotentHint: true,
1384
- openWorldHint: true,
1389
+ openWorldHint: false,
1385
1390
  },
1386
1391
  async ({ pal_id, document_ids, document_tags }) =>
1387
1392
  toolResult(
@@ -1401,7 +1406,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1401
1406
  readOnlyHint: false,
1402
1407
  destructiveHint: true,
1403
1408
  idempotentHint: true,
1404
- openWorldHint: true,
1409
+ openWorldHint: false,
1405
1410
  },
1406
1411
  async ({ pal_id, document_ids, document_tags }) =>
1407
1412
  toolResult(
@@ -1421,7 +1426,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1421
1426
  readOnlyHint: false,
1422
1427
  destructiveHint: true,
1423
1428
  idempotentHint: true,
1424
- openWorldHint: true,
1429
+ openWorldHint: false,
1425
1430
  },
1426
1431
  async ({ pal_id, document_ids, document_tags }) =>
1427
1432
  toolResult(
@@ -1446,9 +1451,9 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1446
1451
  {
1447
1452
  title: "Patch PAL Knowledge settings",
1448
1453
  readOnlyHint: false,
1449
- destructiveHint: false,
1454
+ destructiveHint: true,
1450
1455
  idempotentHint: false,
1451
- openWorldHint: true,
1456
+ openWorldHint: false,
1452
1457
  },
1453
1458
  async ({ pal_id, ...settings }) =>
1454
1459
  toolResult(await patchPalKnowledgeSettings(client, pal_id, settings)),
@@ -1466,7 +1471,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1466
1471
  readOnlyHint: true,
1467
1472
  destructiveHint: false,
1468
1473
  idempotentHint: true,
1469
- openWorldHint: true,
1474
+ openWorldHint: false,
1470
1475
  },
1471
1476
  async ({ limit, stock }) =>
1472
1477
  toolResult(
@@ -1485,7 +1490,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1485
1490
  {
1486
1491
  title: "Create conversation",
1487
1492
  readOnlyHint: false,
1488
- destructiveHint: false,
1493
+ destructiveHint: true,
1489
1494
  idempotentHint: false,
1490
1495
  openWorldHint: true,
1491
1496
  },
@@ -1515,7 +1520,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1515
1520
  readOnlyHint: false,
1516
1521
  destructiveHint: true,
1517
1522
  idempotentHint: true,
1518
- openWorldHint: true,
1523
+ openWorldHint: false,
1519
1524
  },
1520
1525
  async ({ conversation_id }) =>
1521
1526
  toolResult(await client.post(`conversations/${conversation_id}/end`, {})),
@@ -1529,7 +1534,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1529
1534
  custom_greeting: z.string().optional(),
1530
1535
  conversation_name: z.string().optional(),
1531
1536
  },
1532
- writeAnnotations("Start PAL text test"),
1537
+ writeAnnotations("Start PAL text test", { destructiveHint: true, openWorldHint: true }),
1533
1538
  async ({ pal_id, custom_greeting, conversation_name }) =>
1534
1539
  toolResult(
1535
1540
  await client.create(
@@ -1552,7 +1557,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1552
1557
  text: z.string().min(1),
1553
1558
  timeout_s: z.number().int().min(5).max(120).default(45),
1554
1559
  },
1555
- writeAnnotations("Test PAL response"),
1560
+ writeAnnotations("Test PAL response", { destructiveHint: true, openWorldHint: true }),
1556
1561
  async ({ conversation_id, text, timeout_s }) =>
1557
1562
  toolResult({ text: await respondTurn(client, conversation_id, text, timeout_s * 1000) }),
1558
1563
  );
@@ -1574,7 +1579,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1574
1579
  face_id: z.string().optional(),
1575
1580
  conversation_name: z.string().optional(),
1576
1581
  },
1577
- writeAnnotations("Preview PAL"),
1582
+ writeAnnotations("Preview PAL", { destructiveHint: true, openWorldHint: true }),
1578
1583
  async ({ pal_id, face_id, conversation_name }) => {
1579
1584
  let selectedFaceId = face_id;
1580
1585
  if (!selectedFaceId) {
@@ -1596,7 +1601,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1596
1601
 
1597
1602
  server.tool(
1598
1603
  "tavus_quickstart",
1599
- "Use this fast, unguided path only when the user wants a quick throwaway or supplies a complete system prompt. It creates a PAL, selects a stock face when needed, and starts a conversation. For every other 'build/make me a PAL' request, use tavus_pal_build_and_verify so the PAL goes through the guided PAL Maker pipeline.",
1604
+ "Create a PAL from a complete system prompt, select a stock face when none is supplied, and start a conversation. Returns the PAL, conversation, and selected face. This quick setup does not gather an interview or run the guided PAL Maker build and verification pipeline.",
1600
1605
  {
1601
1606
  system_prompt: z.string().min(1),
1602
1607
  pal_name: z.string().default("Agentic Tavus PAL"),
@@ -1608,7 +1613,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1608
1613
  readOnlyHint: false,
1609
1614
  destructiveHint: false,
1610
1615
  idempotentHint: false,
1611
- openWorldHint: true,
1616
+ openWorldHint: false,
1612
1617
  },
1613
1618
  async ({ system_prompt, pal_name, face_id, conversation_name }) => {
1614
1619
  const selectedFaceId = face_id ?? (await firstStockFaceId(client));
@@ -1653,7 +1658,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1653
1658
  readOnlyHint: false,
1654
1659
  destructiveHint: false,
1655
1660
  idempotentHint: false,
1656
- openWorldHint: true,
1661
+ openWorldHint: false,
1657
1662
  },
1658
1663
  async ({ template, pal_name, business_context, default_face_id, layers }) =>
1659
1664
  toolResult(
@@ -1672,7 +1677,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1672
1677
 
1673
1678
  server.tool(
1674
1679
  "tavus_pal_build_and_verify",
1675
- "Use this standard guided PAL Maker pipeline for every 'build/make me a PAL' request. Do not substitute tavus_pal_create or tavus_quickstart. Before calling it, interview the user in chat with 3-6 short questions, asked one at a time. Cover who the PAL serves, its goals, interaction style, safety constraints, knowledge sources, and any face preference. Pass the Q&A as `interview` and distill it into per-artifact `briefs`. The pipeline drafts the system prompt, objectives, guardrails, and greeting; publishes the PAL; selects a face; smoke-tests it; and returns a judged verdict. It can take one to three minutes, so tell the user before calling.",
1680
+ "Build and publish a PAL through the guided PAL Maker pipeline from a completed brief and optional interview Q&A. Drafts the personality, objectives, guardrails, and greeting, selects a face, publishes the PAL, runs conversation probes, and returns the PAL ID, editor URL, and judged verification result. The briefs fields describe each artifact, including knowledge, tools, skills, perception, and face preferences. Connected tools or knowledge sources may access external services during building or testing. Usually takes one to three minutes.",
1676
1681
  {
1677
1682
  prompt: z.string().min(1),
1678
1683
  interview: z
@@ -1696,7 +1701,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1696
1701
  pal_name: z.string().optional(),
1697
1702
  probes: z.array(z.string()).max(5).optional(),
1698
1703
  },
1699
- writeAnnotations("Build and verify PAL with PAL Maker"),
1704
+ writeAnnotations("Build and verify PAL with PAL Maker", { destructiveHint: true, openWorldHint: true }),
1700
1705
  async ({ prompt, interview, briefs, face_id, pal_name, probes }) =>
1701
1706
  toolResult(
1702
1707
  await runGuidedBuild(client, config.palMakerUrl, {
@@ -1741,7 +1746,7 @@ export function createTavusMcpServer(env: Env, apiKey?: string): McpServer {
1741
1746
  readOnlyHint: true,
1742
1747
  destructiveHint: false,
1743
1748
  idempotentHint: true,
1744
- openWorldHint: true,
1749
+ openWorldHint: false,
1745
1750
  },
1746
1751
  async ({ resource, limit }) => toolResult(await client.list(resourceName(resource), { limit })),
1747
1752
  );
@@ -0,0 +1 @@
1
+ export const VERSION = "0.4.4"; // x-release-please-version
@@ -71,7 +71,8 @@
71
71
  ],
72
72
  "vars": {
73
73
  "TAVUS_ENV": "PROD",
74
- "TAVUS_PUBLIC_API_BASE_URL": "https://tavusapi.com/v2"
74
+ "TAVUS_PUBLIC_API_BASE_URL": "https://tavusapi.com/v2",
75
+ "OPENAI_APPS_CHALLENGE": "cRJob24tawhN66ab556or-qJ7hqON4c5e5hg-wrnKz4"
75
76
  }
76
77
  }
77
78
  }
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.4.2"
3
- }
@@ -1 +0,0 @@
1
- export const VERSION = "0.4.2"; // x-release-please-version
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes