@talqing/mcp 0.13.1 → 0.14.0

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 (3) hide show
  1. package/SKILL.md +25 -20
  2. package/package.json +1 -1
  3. package/tools.json +26 -1
package/SKILL.md CHANGED
@@ -376,18 +376,20 @@ states what each entry supports: which channels, its language codes and default
376
376
  language, whether it accepts a speed and within what range, and its default
377
377
  voice. Read it before choosing; do not assume a model exists.
378
378
 
379
- ### Images
379
+ ### Images and files
380
380
 
381
- People can attach a photo to a web chat, a web voice call or a web video call,
382
- and the agent sees it. **There is no setting for this** — whether an agent can
383
- read images is decided by the model it runs, and `vision` on that model's catalog
384
- entry is where it says so. Most entries read images; `gemini-3.8-flash`,
385
- `gemini-3.7-flash`, `openai/gpt-live-1` and the two `grok-voice-*` realtime
386
- entries do not, and an agent on one of them cannot be sent a photo at all. If a
387
- user wants image input, check `vision` before picking the model rather than
388
- changing anything on the agent.
381
+ People can send files on WhatsApp (Twilio senders) and in a web chat, and a photo
382
+ on a web voice or video call. Every file is stored on the conversation; photos,
383
+ PDFs and Word (`.docx`) files are also read by the agent, and anything else
384
+ (voice notes, videos, spreadsheets) is named to it as something it cannot open.
385
+ **There is no setting for this.** Whether the agent sees a photo or a scanned
386
+ PDF page is decided by the model it runs: `vision` on its catalog entry. Most
387
+ entries read images; `gemini-3.8-flash`, `gemini-3.7-flash`, `openai/gpt-live-1`
388
+ and the two `grok-voice-*` realtime entries do not — such an agent is told it
389
+ cannot view the image. Text PDFs and Word files are read on any model. If a user
390
+ wants image input, check `vision` before picking the model.
389
391
 
390
- A phone call carries no files, so this is web only.
392
+ A phone call carries no files.
391
393
 
392
394
  ### Vision input (screen share)
393
395
 
@@ -613,6 +615,9 @@ A tool is one capability the agent's LLM can call mid-conversation. It has:
613
615
  to get it out of the conversation, and a bare `{"type": "string"}` is how a
614
616
  tool ends up called with the wrong value. Mark the ones the tool cannot run
615
617
  without as `required`, and use an `enum` wherever the set of values is closed.
618
+ A **File** parameter is `{"type": "string", "format": "attachment"}`: the agent
619
+ passes the id of a file the person sent, and the operation reads
620
+ `{{args.<name>.url}}` (a link that lives an hour) and `.filename`, `.mime_type`.
616
621
  - **`long_running_task`** — voice and video agents keep talking while it runs and
617
622
  share the result when it lands; a run finishing within a second answers inline
618
623
  instead. Text agents wait either way. There is no fixed line — steer it from
@@ -1614,16 +1619,16 @@ connects and then fails.
1614
1619
 
1615
1620
  A chat is one text session, as a call is a voice one. `create_chat_message`
1616
1621
  takes a `client_message_id` (a UUID you generate) and returns the reply itself:
1617
- `status`, `items` and `chat_status`. A chat **ends only explicitly** — the
1618
- agent's `end_call`, or `end_chat` — and only then is it analysed and its
1619
- `session.completed` sent, so end the chats you start. On Telegram and WhatsApp a
1620
- person's messages join one chat until it ends; the next starts a new one.
1621
-
1622
- A message can carry `images`: up to four `{data_url, filename}` entries beside
1623
- `message`, each a base64 `data:image/...` URL of a JPEG, PNG or WebP under 10 MB.
1624
- The caption and the photo arrive as one turn and one item, so send them together
1625
- rather than as two messages. The agent's model must have `vision` (see *Images*
1626
- above) or the call is refused naming the model.
1622
+ `status`, `items` and `chat_status`. A chat ends with the agent's `end_call`,
1623
+ `end_chat`, or 24 hours after the person last wrote (`inactivity_timeout`) — only
1624
+ then is it analysed and its `session.completed` sent, so end the chats you start.
1625
+ On Telegram and WhatsApp a person's messages join one chat until it ends; the
1626
+ next starts a new one.
1627
+
1628
+ A message can carry `files`: up to four `{data_url, filename}` entries beside
1629
+ `message`, each a base64 `data:` URL of any type up to 20 MB. The caption and the
1630
+ file arrive as one turn and one item, so send them together rather than as two
1631
+ messages. See *Images and files* above for what the agent reads.
1627
1632
 
1628
1633
  **Reading it back.** A *conversation* is the thread with a person, on any
1629
1634
  surface; a *call* is one voice or video session. A person is one **contact**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talqing/mcp",
3
- "version": "0.13.1",
3
+ "version": "0.14.0",
4
4
  "description": "MCP server for building Talqing AI voice, video and text agents from Claude Code, Codex, or any MCP client.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://talqing.com",
package/tools.json CHANGED
@@ -3008,7 +3008,7 @@
3008
3008
  "role": "read"
3009
3009
  },
3010
3010
  {
3011
- "description": "One chat with its health snapshot, cost lines, vars and event trace.",
3011
+ "description": "One chat with its health snapshot, cost lines, vars, what it ran and event trace.",
3012
3012
  "method": "GET",
3013
3013
  "name": "get_chat_detail",
3014
3014
  "parameters": {
@@ -3505,6 +3505,31 @@
3505
3505
  "read_only": true,
3506
3506
  "role": "read"
3507
3507
  },
3508
+ {
3509
+ "description": "One file a person sent in this conversation, with a fresh link (it lives 1 hour).",
3510
+ "method": "GET",
3511
+ "name": "get_conversation_attachment",
3512
+ "parameters": {
3513
+ "additionalProperties": false,
3514
+ "description": "Arguments not inlined: call describe_function('get_conversation_attachment').",
3515
+ "properties": {
3516
+ "attachment_id": {
3517
+ "type": "string"
3518
+ },
3519
+ "conversation_id": {
3520
+ "type": "string"
3521
+ }
3522
+ },
3523
+ "required": [
3524
+ "conversation_id",
3525
+ "attachment_id"
3526
+ ],
3527
+ "type": "object"
3528
+ },
3529
+ "path": "/v1/conversations/{conversation_id}/attachments/{attachment_id}",
3530
+ "read_only": true,
3531
+ "role": "read"
3532
+ },
3508
3533
  {
3509
3534
  "description": "The agent sessions behind a conversation, newest first.",
3510
3535
  "method": "GET",