Skip to content

fix: correct CLI package names across agent-facing manifests - #455

Draft
aisling404 wants to merge 11 commits into
mainfrom
fix/agent-cli-naming
Draft

aisling404 wants to merge 11 commits into
mainfrom
fix/agent-cli-naming

Conversation

@aisling404

Copy link
Copy Markdown
Collaborator

Summary

An agent following this repo's own manifests can currently install the wrong CLI:

  • AGENTS.md told agents to install cli/ as @telnyx/cli — that's the general CLI (telnyx-cli repo), not the agent CLI. The right package is @telnyx/agent-cli (bin telnyx-agent).
  • agent.json advertised @telnyx/api-cli, which Telnyx's own docs deprecate in favor of @telnyx/cli — and its command matrix + quickstart used the legacy CLI's syntax, which does not work on the current one (e.g. auth setup, --name flags, telnyx ai chat, telnyx storage bucket).

Changes

  • AGENTS.md: cli/ row now installs @telnyx/agent-cli (bin telnyx-agent).
  • agent.json cli block: repointed to @telnyx/cli v2.0.0; global flags and the full top-level command list re-verified against the installed CLI (npx @telnyx/cli --help and per-command --help). Legacy topic matrix removed; a note points at telnyx resources / --help for drill-down so the manifest can't drift as easily.
  • agent.json agent_cli block (new): first-class entry for @telnyx/agent-cli with install, bin, repo, and the telnyx-agent capabilities --json self-description hook.
  • quickstart: rewritten with verified syntax (auth login, -d '{...}' payloads, positional number order); now leads with the one-command telnyx-agent setup-sms/setup-ai paths.
  • sdks: cli entry fixed; agent_cli entry added.

Verification

Every command in the new cli block and quickstart was checked against the actual installed @telnyx/cli 2.0.0 (--help output per subcommand). agent.json passes python3 -m json.tool. The assistant example's model id matches the one used 5× in this repo's guides (meta-llama/Llama-3.3-70B-Instruct).

Not included

  • npm deprecate @telnyx/api-cli — needs frontend-squad npm rights; recommended follow-up.
  • Surfacing the agent CLI on dotcom discovery routes — separate PR to dotcom-monorepo.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LFvhpJqZ1F3szEBV3WZnYB

AGENTS.md pointed agents at @telnyx/cli to install cli/ (wrong package),
and agent.json advertised @telnyx/api-cli, which Telnyx docs deprecate in
favor of @telnyx/cli. Fixes:

- AGENTS.md: cli/ installs as @telnyx/agent-cli (bin telnyx-agent)
- agent.json cli block: @telnyx/api-cli -> @telnyx/cli; command list and
  global flags re-verified against the installed CLI (v2.0.0), legacy
  topic matrix replaced with the verified top-level command set
- agent.json: new first-class agent_cli block for @telnyx/agent-cli with
  the 'telnyx-agent capabilities --json' self-description hook
- quickstart: examples rewritten with verified syntax (auth login, -d
  JSON payloads, number order positional arg); leads with the one-command
  telnyx-agent setup paths
- sdks: cli entry repointed to @telnyx/cli; agent_cli entry added

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LFvhpJqZ1F3szEBV3WZnYB
@aisling404

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 36baf75a64

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread agent.json
"video": ["room list", "room get", "room create", "room delete", "session list", "session get", "recording list", "recording get", "recording delete"],
"voice-profile": ["create", "delete", "get", "list"]
}
"package": "@telnyx/cli",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Migrate legacy capability commands with the package

After switching the advertised package to @telnyx/cli, several canonical capability examples still use commands from the removed legacy topic matrix: telnyx ai chat (line 62), telnyx storage bucket (line 118), and telnyx 10dlc wizard (line 155). None of those top-level commands appears in the newly verified command list at lines 215-223, so runtime agents that install the package specified here and execute these capability commands will fail; migrate every capability example to the new syntax or point it to telnyx-agent.

AGENTS.md reference: AGENTS.md:L85-L87

Useful? React with 👍 / 👎.

Comment thread agent.json Outdated
"install": "npm install -g @telnyx/api-cli",
"auth": "telnyx auth setup --api-key YOUR_KEY",
"install": "npm install -g @telnyx/agent-cli @telnyx/cli",
"auth": "export TELNYX_API_KEY=YOUR_KEY # or: telnyx auth login",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Do not offer login for env-only setup commands

If a user follows the advertised telnyx auth login alternative instead of exporting TELNYX_API_KEY, the first quickstart command, telnyx-agent setup-sms, immediately fails because cli/src/commands/setup-sms.ts:58-59 reads only process.env.TELNYX_API_KEY and explicitly rejects a missing variable. Remove this alternative from the shared quickstart or make the setup command consume credentials written by the new CLI.

Useful? React with 👍 / 👎.

Codex review follow-ups: scenario capability examples still used removed
legacy commands (telnyx ai chat, telnyx storage bucket, telnyx 10dlc
wizard) and unverified flags. All examples now verified against the
installed CLIs: assistant create uses -d JSON, ai chat moves to
telnyx-agent ai-chat --message, fax send uses --media, storage uses
bucket create -d, 10dlc points at telnyx-agent setup-10dlc. The
quickstart auth note now states telnyx-agent reads only TELNYX_API_KEY
('telnyx auth login' applies to telnyx commands only).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LFvhpJqZ1F3szEBV3WZnYB
@aisling404

Copy link
Copy Markdown
Collaborator Author

Addressed both Codex findings in 1752ff7:

  • P1 — migrated the remaining scenario cli examples off legacy syntax, each verified against the installed CLIs: telnyx assistant create now uses -d '{...}'; telnyx ai chattelnyx-agent ai-chat --message (no ai command exists in @telnyx/cli 2.0.0); telnyx fax send uses --media (the real flag) + --from; telnyx storage bucket createtelnyx bucket create -d '{...}'; telnyx 10dlc wizardtelnyx-agent setup-10dlc (no 10dlc command in the current CLI). message send, call dial, number search, and sim list were already valid per their --help output and are unchanged. telnyx-edge ship is the separate edge CLI and is out of scope here.
  • P2 — the quickstart auth line no longer offers telnyx auth login as an equivalent: it now states telnyx-agent reads only TELNYX_API_KEY, with auth login scoped to telnyx commands.

@aisling404

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1752ff7f3a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread agent.json Outdated
"description": "Register brands and campaigns for US A2P messaging compliance.",
"guide": "/guides/10dlc-registration.md",
"cli": "telnyx 10dlc wizard",
"cli": "telnyx-agent setup-10dlc",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Supply the required 10DLC contact flags

Fresh evidence after the earlier legacy-syntax report is that this replacement still cannot execute: setup10dlcCommand rejects invocations without both --phone and --email at cli/src/commands/setup-10dlc.ts:237-244, while the new capability example supplies neither. Any runtime agent invoking this advertised command exits before registering a brand, so include placeholder contact flags or direct users to a complete example.

AGENTS.md reference: AGENTS.md:L85-L87

Useful? React with 👍 / 👎.

Comment thread agent.json Outdated
"bin": "telnyx-agent",
"install": "npm install -g @telnyx/agent-cli",
"repo": "https://github.com/team-telnyx/ai/tree/main/cli",
"description": "Agent-friendly CLI: composite setup commands that take you from zero to a working capability in one call. Idempotent by default, --json everywhere.",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove the false idempotency guarantee

When an agent retries the highlighted provisioning workflows, this blanket guarantee can create duplicate billable resources: cli/README.md:93-97 explicitly marks setup-ai and setup-10dlc non-idempotent, and setup-porting also creates a new order. Since these commands are advertised immediately below this description, qualify which workflows reuse resources rather than telling runtime agents the CLI is idempotent by default.

AGENTS.md reference: AGENTS.md:L113-L123

Useful? React with 👍 / 👎.

Comment thread agent.json Outdated
"telnyx-agent setup-ai --json",
"telnyx-agent setup-porting --phone-numbers +13125550001 --customer-name 'Acme Corp'"
],
"note": "Run `telnyx-agent capabilities --json` for the authoritative, machine-readable command list."

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Stop calling the curated catalog authoritative

When a runtime agent relies on this note for command discovery, telnyx-agent capabilities --json returns the curated COMPOSITE_COMMANDS array rather than the complete router inventory; the CLI's own cli/README.md:83 explicitly says this catalog is not complete, and executable commands such as fund-account and whatsapp-templates are omitted. Either make the generated list exhaustive or describe it as a selected capability catalog so agents do not conclude that omitted commands are unavailable.

AGENTS.md reference: AGENTS.md:L113-L123

Useful? React with 👍 / 👎.

…lc contact flags

Codex round 2: the blanket 'idempotent by default' claim was wrong —
cli/README marks setup-ai and setup-10dlc non-idempotent and
setup-porting creates a new order each run; the agent_cli description
now names which setups reuse resources and which create fresh ones. The
capabilities note no longer calls the catalog authoritative (README:
'not the complete router inventory'). The setup-10dlc example now
supplies the required --phone/--email flags (setup-10dlc.ts:242 rejects
invocations without both).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LFvhpJqZ1F3szEBV3WZnYB
@aisling404

Copy link
Copy Markdown
Collaborator Author

Round-2 Codex findings addressed in 3c33d24 — all three were valid:

  • P1 (10DLC contact flags) — the setup-10dlc example now supplies the required --phone and --email placeholders (setup-10dlc.ts rejects invocations without both).
  • P1 (idempotency) — the agent_cli description no longer claims blanket idempotency; it now states setup-sms/setup-voice/setup-verify reuse previously provisioned resources unless --force, while setup-ai, setup-10dlc, and setup-porting create new resources on each run — matching the CLI README's own per-command notes.
  • P2 (capabilities catalog) — the note now describes capabilities --json as a curated catalog of capabilities and selected composite commands, not the complete command inventory, and points at --help for the full list.

The same overstated idempotency/authoritative-catalog wording had been copied into the companion PRs; both are corrected too (dotcom-monorepo#3233 @ 1f38e480, developer-docs-mintlify#1266 @ 7256c40).

@aisling404

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3c33d24aba

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread agent.json Outdated
"name": "AI Inference",
"description": "LLM chat completions and embeddings via OpenAI-compatible API.",
"cli": "telnyx ai chat 'Hello'",
"cli": "telnyx-agent ai-chat --message 'Hello'",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Pass a JSON message object to ai-chat

The fresh replacement still fails when a runtime agent invokes the advertised AI-inference example: ai-chat expects each --message value to be a JSON object (as documented by the command example at cli/src/index.ts:1008 and its validation text at cli/src/commands/ai-chat.ts:91-104), while 'Hello' is forwarded to the generated CLI as a scalar and rejected during request parsing. Wrap the prompt as '{"role":"user","content":"Hello"}' so this canonical capability command executes.

AGENTS.md reference: AGENTS.md:L85-L87

Useful? React with 👍 / 👎.

Codex round 3: ai-chat's --message flag requires a JSON message object
(expandMessages rejects plain strings with 'requires a JSON object');
the example now uses '{"role":"user","content":"Hello"}'.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LFvhpJqZ1F3szEBV3WZnYB
@aisling404

Copy link
Copy Markdown
Collaborator Author

Round-3 finding addressed in 0cc5a04 — valid: ai-chat's --message requires a JSON message object (expandMessages rejects plain strings). The example is now telnyx-agent ai-chat --message '{\"role\":\"user\",\"content\":\"Hello\"}'.

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0cc5a04a95

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread agent.json Outdated
"description": "Register brands and campaigns for US A2P messaging compliance.",
"guide": "/guides/10dlc-registration.md",
"cli": "telnyx 10dlc wizard",
"cli": "telnyx-agent setup-10dlc --phone +15551234567 --email compliance@example.com",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Supply the web opt-in URL before submitting 10DLC

When an agent runs this example as written, setup-10dlc defaults to web opt-in but, without --website, inserts the literal [your opt-in URL] into message_flow and still creates the brand and submits the campaign (cli/src/commands/setup-10dlc.ts:253,278-285,321-361). The command's own README explicitly requires --website for web opt-in so the submitted flow does not contain this placeholder (cli/README.md:423-424); add a representative URL placeholder or select a non-web opt-in method so the canonical command does not create a non-idempotent campaign with invalid compliance evidence.

AGENTS.md reference: AGENTS.md:L85-L87

Useful? React with 👍 / 👎.

Codex round 4: setup-10dlc defaults to web opt-in and, without
--website, builds a message_flow containing a literal placeholder URL
yet still submits the campaign. The example now includes --website.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LFvhpJqZ1F3szEBV3WZnYB
@aisling404

Copy link
Copy Markdown
Collaborator Author

Round-4 finding addressed in e6cd00c — valid: setup-10dlc defaults to web opt-in and, without --website, builds a message_flow containing the literal placeholder URL yet still submits the campaign (confirmed at setup-10dlc.ts:278-280). The example now includes --website https://example.com.

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e6cd00c515

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread agent.json Outdated
"version": "2.0.0",
"bin": "telnyx",
"install": "npm install -g @telnyx/cli",
"repo": "https://github.com/team-telnyx/telnyx-cli",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Link the npm CLI to its actual documentation

When a runtime agent follows this newly added repository link for @telnyx/cli v2, it lands on the incompatible Go CLI documented in skills/telnyx-cli/SKILL.md:21-65, whose plural resource syntax (telnyx messages create) differs from the singular npm commands advertised here; cli/src/platform-release.ts:3-24 likewise identifies that repository's releases as Go CLI v0.27. Point this field to the npm CLI's actual source/docs, or advertise the Go CLI and its matching install and commands instead.

AGENTS.md reference: AGENTS.md:L85-L87

Useful? React with 👍 / 👎.

Codex round 5: github.com/team-telnyx/telnyx-cli hosts the Go platform
CLI (plural-resource syntax; the agent CLI vendors its releases in
platform-release.ts), which is not the npm @telnyx/cli package this
block documents. Link the npm page instead and note the distinction.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LFvhpJqZ1F3szEBV3WZnYB
@aisling404

Copy link
Copy Markdown
Collaborator Author

Round-5 finding addressed in 8dd4717 — valid: github.com/team-telnyx/telnyx-cli hosts the Go platform CLI (plural-resource syntax; cli/src/platform-release.ts vendors its release binaries), which is not the npm @telnyx/cli package this block documents. The cli block now links the npm package page as its docs and the note spells out the npm-vs-Go distinction.

Reviewer heads-up beyond this PR's scope: the npm package's own repository.url metadata also points at telnyx-cli, and the live /api/llms.txt on telnyx.com repeats that repo link — worth an upstream fix in the package.json and a follow-up on the dotcom side.

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Nice work!

Reviewed commit: 8dd4717835

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Real E2E validation against a live Telnyx account showed the npm
@telnyx/cli is human-oriented and unfit for the agent manifest's
examples: auth requires interactive 'telnyx auth login' (TELNYX_API_KEY
is not read), number search and call dial drop into interactive
prompts, message send loses the from field, and the generic CRUD layer
(messaging-profile/assistant/bucket create) fails with 'Resource not
found'. Every scenario and quickstart example is now a telnyx-agent
command validated end-to-end (setup-sms bought+wired a real number and
proved reuse on re-run; send-sms queued a real SMS; ai-chat returned a
completion; create-ai-assistant works with Qwen/Qwen3-235B-A22B — the
Llama model id is rejected by the assistants API). The storage scenario
loses its CLI example (the agent CLI has no bucket op). The @telnyx/cli
block shrinks to a minimal pointer with an honest interactivity note.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LFvhpJqZ1F3szEBV3WZnYB
@aisling404

Copy link
Copy Markdown
Collaborator Author

Live E2E validation (real account, real money)

Installed both published packages and executed the manifest's commands against a live Telnyx account. Result: every runnable example is now a telnyx-agent command validated end-to-end (cdb1044), and the @telnyx/cli block shrinks to a minimal pointer — it pre-existed in this manifest, but E2E showed it is human-oriented and unsafe to advertise to autonomous agents.

telnyx-agent (@telnyx/agent-cli 0.4.2) — validated live ✅

  • status, capabilities --json (keyless), list-sim-cards --json, search-phone-numbers --country US --json
  • setup-sms --json bought +16073051147, created + wired a profile; re-run returned reused: true (idempotency proven)
  • setup-voice --json bought +16362029859 + Call Control App; setup-verify created a Verify profile
  • send-sms queued a real SMS between the two purchased numbers
  • ai-chat --message '{"role":"user","content":...}' returned a completion
  • create-messaging-profile (needs --whitelisted-destinations), create-ai-assistantworks with Qwen/Qwen3-235B-A22B; the assistants API rejects meta-llama/Llama-3.3-70B-Instruct (422), so the example model changed
  • setup-porting with 555 placeholders correctly fails the portability check; verify-send/rcs-send with placeholder IDs return structured API errors (error path validated)
  • setup-10dlc NOT executed — creates a TCR brand + submits a campaign with real recurring fees; flags verified against source only

🐛 Bug found in @telnyx/agent-cli 0.4.2 (separate issue-worthy)

setup-ai creates the assistant and buys a number, then fails wiring: it passes --force to the vendored Go CLI, which rejects it (flag provided but not defined: -force). Left the account with an orphaned number + unwired assistant — the exact non-idempotent double-billing hazard.

npm @telnyx/cli 2.0.0 — why its examples were removed ❌

  • Does not read TELNYX_API_KEY (profile store + interactive telnyx auth login only)
  • number search and call dial drop into interactive arrow-key prompts even with flags; number search has no JSON output at all
  • message send loses the from field (API rejects every send)
  • Generic CRUD (messaging-profile/assistant/bucket create) fails with Resource not found
  • --version reports 1.0.0

Resources created during validation (owner may want to release): +16073051147, +16362029859, +19252588249 (orphaned by the setup-ai bug), 2 messaging profiles, 1 Call Control App, 1 Verify profile, 2 AI assistants.

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cdb1044408

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread agent.json Outdated
"name": "Zero to AI assistant on a phone number (one command)",
"commands": [
"telnyx ai chat 'What can Telnyx do?'"
"telnyx-agent setup-ai --json"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove the broken setup-ai quickstart

With the advertised @telnyx/agent-cli 0.4.2, this command creates an assistant and purchases a number before attempting to wire them using phone-numbers update --force; the vendored Go CLI does not support that flag (cli/src/commands/setup-ai.ts:99-104), so the quickstart exits unsuccessfully after creating billable orphaned resources. Remove setup-ai from the quickstart and highlights until its wiring step is fixed, or replace it with the validated create-ai-assistant example.

AGENTS.md reference: AGENTS.md:L115-L123

Useful? React with 👍 / 👎.

Codex round 7, matching the live E2E result: @telnyx/agent-cli 0.4.2's
setup-ai creates an assistant and buys a number, then fails wiring
(--force rejected by the vendored Go CLI), leaving billable orphans.
Remove it from the quickstart and highlights, keep the validated
create-ai-assistant example, and note the v0.4.2 breakage in the
agent_cli description.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LFvhpJqZ1F3szEBV3WZnYB
@aisling404

Copy link
Copy Markdown
Collaborator Author

Round-7 finding addressed in b4afdd9 — valid (and consistent with the live E2E result above): setup-ai in the published 0.4.2 buys a number then fails the wiring step, so advertising it in the quickstart/highlights invited agents to create billable orphans. It's now removed from both promoted spots; the validated create-ai-assistant example stays, and the agent_cli description notes the v0.4.2 breakage. Fixing the actual wiring bug in cli/src/commands/setup-ai.ts is a separate follow-up PR.

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b4afdd97bf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread agent.json Outdated
Comment on lines 266 to 268
"name": "@telnyx/cli",
"install": "npm install -g @telnyx/cli",
"docs": "https://github.com/team-telnyx/telnyx-cli"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Point the SDK entry to the npm CLI documentation

When a runtime agent follows the sdks.cli.docs link, this entry now names and installs @telnyx/cli but still directs the agent to the incompatible Go platform CLI repository. Fresh evidence after the prior fix is that cli.docs was corrected to the npm page while this separate SDK entry was left unchanged; the linked CLI uses the Go installation and plural-resource syntax documented in skills/telnyx-cli/SKILL.md:21-65. Point this field to the same npm documentation as the top-level CLI entry.

AGENTS.md reference: AGENTS.md:L113-L123

Useful? React with 👍 / 👎.

Codex round 8: same mismatch as the cli block had — the sdks entry
names npm @telnyx/cli but linked the incompatible Go platform CLI repo.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LFvhpJqZ1F3szEBV3WZnYB
@aisling404

Copy link
Copy Markdown
Collaborator Author

Round-8 finding addressed in 23f46bd — valid, same npm-vs-Go mismatch as round 5 but in the sdks block, which I'd missed: sdks.cli named npm @telnyx/cli while linking the Go platform CLI repo. It now links https://www.npmjs.com/package/@telnyx/cli.

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 23f46bd7a2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread agent.json Outdated
"highlights": [
"telnyx-agent status",
"telnyx-agent setup-sms --json",
"telnyx-agent setup-voice --json",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Pass a real webhook URL to setup-voice

When a runtime agent follows this new highlight on an account with an outbound voice profile but no reusable app, setup-voice silently substitutes https://example.com/webhook (cli/src/commands/setup-voice.ts:48-49), provisions a number, and reports ready: true even though call events and inbound-call handling go to the placeholder rather than the user's application. Include a representative --webhook-url placeholder in the highlighted command or stop presenting this invocation as a working setup.

AGENTS.md reference: AGENTS.md:L113-L123

Useful? React with 👍 / 👎.

Codex round 9: without --webhook-url, setup-voice silently wires the
Call Control App to https://example.com/webhook and reports ready:true
while call events go to the placeholder (live E2E also showed such an
app is rejected for dialing). The highlight now shows the flag.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LFvhpJqZ1F3szEBV3WZnYB
@aisling404

Copy link
Copy Markdown
Collaborator Author

Round-9 finding addressed in 11a0d3c — valid, and it matches the live E2E: setup-voice without --webhook-url defaults to https://example.com/webhook and reports ready: true, yet in E2E the resulting Call Control App was rejected for dialing ("Only Call Control Apps with valid webhook URL are accepted"). The highlight now includes a representative --webhook-url placeholder.

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 11a0d3c860

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread agent.json Outdated
Comment on lines +236 to +238
"name": "Zero to sending SMS (one command)",
"commands": [
"telnyx messaging-profile create --name 'My Profile' --json",
"telnyx number search --country US --type long_code --json",
"telnyx number order --phone-number +1XXXXXXXXXX --json",
"telnyx message send --from +1XXXXXXXXXX --to +15559876543 --text 'Hello from Telnyx!'"
"telnyx-agent setup-sms --json"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Include 10DLC registration in the SMS quickstart

For the default US setup, this command only creates a messaging profile, buys a local number, and assigns it; it never performs the 10DLC registration that guides/sms-messaging.md:5-10 requires for US A2P traffic, even though setup-sms reports ready: true. An agent following this advertised “Zero to sending SMS” path can therefore purchase a number but still have its messages rejected as not_10dlc_registered; add the registration/assignment workflow or describe this as provisioning only.

AGENTS.md reference: AGENTS.md:L115-L123

Useful? React with 👍 / 👎.

Codex round 10: setup-sms provisions a profile and number and reports
ready:true, but US A2P delivery also requires 10DLC registration —
without it messages can be rejected as not_10dlc_registered. The
quickstart block is renamed to 'Provision for SMS' and both SMS blocks
carry a note pointing at setup-10dlc (and its carrier fees).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LFvhpJqZ1F3szEBV3WZnYB
@aisling404

Copy link
Copy Markdown
Collaborator Author

Round-10 finding addressed in f5bc1b7 — valid: setup-sms provisions and reports ready: true but does not register 10DLC, which US A2P delivery requires (my E2E send only proved API submission, not carrier delivery). The quickstart block is renamed to Provision for SMS (one command) and both SMS blocks now carry a note pointing at setup-10dlc — including that it creates a brand/campaign with carrier fees, so agents don't stumble into that blindly either.

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f5bc1b71b5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread agent.json
"telnyx-agent buy-phone-number --phone-number +1XXXXXXXXXX --messaging-profile-id PROFILE_ID --json",
"telnyx-agent send-sms --from +1XXXXXXXXXX --to +15559876543 --text 'Hello from Telnyx!' --json"
],
"note": "For US A2P traffic, register 10DLC before sending (telnyx-agent setup-10dlc); see the 10dlc capability above."

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Assign the sender in the 10DLC follow-up

Fresh evidence in this new note is that the referenced capability example omits --phone-number-id; setup-10dlc only executes its phone-number assignment step when that flag is supplied (cli/src/commands/setup-10dlc.ts:258,372-389), while the 10DLC guide identifies assignment as a required third step. An agent following either SMS quickstart can therefore create a billable brand and campaign yet leave the purchased sender outside that campaign, so the subsequent US A2P send can still be rejected. Include the purchased E.164 number in the registration invocation and direct the agent to wait for campaign approval.

AGENTS.md reference: AGENTS.md:L85-L87

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant