@ai-sdk/openai 3.0.14 → 3.0.15

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 (110) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/index.js +1 -1
  3. package/dist/index.mjs +1 -1
  4. package/package.json +6 -5
  5. package/src/chat/__fixtures__/azure-model-router.1.chunks.txt +8 -0
  6. package/src/chat/__snapshots__/openai-chat-language-model.test.ts.snap +88 -0
  7. package/src/chat/convert-openai-chat-usage.ts +57 -0
  8. package/src/chat/convert-to-openai-chat-messages.test.ts +516 -0
  9. package/src/chat/convert-to-openai-chat-messages.ts +225 -0
  10. package/src/chat/get-response-metadata.ts +15 -0
  11. package/src/chat/map-openai-finish-reason.ts +19 -0
  12. package/src/chat/openai-chat-api.ts +198 -0
  13. package/src/chat/openai-chat-language-model.test.ts +3496 -0
  14. package/src/chat/openai-chat-language-model.ts +700 -0
  15. package/src/chat/openai-chat-options.ts +186 -0
  16. package/src/chat/openai-chat-prepare-tools.test.ts +322 -0
  17. package/src/chat/openai-chat-prepare-tools.ts +84 -0
  18. package/src/chat/openai-chat-prompt.ts +70 -0
  19. package/src/completion/convert-openai-completion-usage.ts +46 -0
  20. package/src/completion/convert-to-openai-completion-prompt.ts +93 -0
  21. package/src/completion/get-response-metadata.ts +15 -0
  22. package/src/completion/map-openai-finish-reason.ts +19 -0
  23. package/src/completion/openai-completion-api.ts +81 -0
  24. package/src/completion/openai-completion-language-model.test.ts +752 -0
  25. package/src/completion/openai-completion-language-model.ts +336 -0
  26. package/src/completion/openai-completion-options.ts +58 -0
  27. package/src/embedding/__snapshots__/openai-embedding-model.test.ts.snap +43 -0
  28. package/src/embedding/openai-embedding-api.ts +13 -0
  29. package/src/embedding/openai-embedding-model.test.ts +146 -0
  30. package/src/embedding/openai-embedding-model.ts +95 -0
  31. package/src/embedding/openai-embedding-options.ts +30 -0
  32. package/src/image/openai-image-api.ts +35 -0
  33. package/src/image/openai-image-model.test.ts +722 -0
  34. package/src/image/openai-image-model.ts +305 -0
  35. package/src/image/openai-image-options.ts +28 -0
  36. package/src/index.ts +9 -0
  37. package/src/internal/index.ts +19 -0
  38. package/src/openai-config.ts +18 -0
  39. package/src/openai-error.test.ts +34 -0
  40. package/src/openai-error.ts +22 -0
  41. package/src/openai-language-model-capabilities.test.ts +93 -0
  42. package/src/openai-language-model-capabilities.ts +54 -0
  43. package/src/openai-provider.test.ts +98 -0
  44. package/src/openai-provider.ts +270 -0
  45. package/src/openai-tools.ts +114 -0
  46. package/src/responses/__fixtures__/openai-apply-patch-tool-delete.1.chunks.txt +5 -0
  47. package/src/responses/__fixtures__/openai-apply-patch-tool.1.chunks.txt +38 -0
  48. package/src/responses/__fixtures__/openai-apply-patch-tool.1.json +69 -0
  49. package/src/responses/__fixtures__/openai-code-interpreter-tool.1.chunks.txt +393 -0
  50. package/src/responses/__fixtures__/openai-code-interpreter-tool.1.json +137 -0
  51. package/src/responses/__fixtures__/openai-error.1.chunks.txt +4 -0
  52. package/src/responses/__fixtures__/openai-error.1.json +8 -0
  53. package/src/responses/__fixtures__/openai-file-search-tool.1.chunks.txt +94 -0
  54. package/src/responses/__fixtures__/openai-file-search-tool.1.json +89 -0
  55. package/src/responses/__fixtures__/openai-file-search-tool.2.chunks.txt +93 -0
  56. package/src/responses/__fixtures__/openai-file-search-tool.2.json +112 -0
  57. package/src/responses/__fixtures__/openai-image-generation-tool.1.chunks.txt +16 -0
  58. package/src/responses/__fixtures__/openai-image-generation-tool.1.json +96 -0
  59. package/src/responses/__fixtures__/openai-local-shell-tool.1.chunks.txt +7 -0
  60. package/src/responses/__fixtures__/openai-local-shell-tool.1.json +70 -0
  61. package/src/responses/__fixtures__/openai-mcp-tool-approval.1.chunks.txt +11 -0
  62. package/src/responses/__fixtures__/openai-mcp-tool-approval.1.json +169 -0
  63. package/src/responses/__fixtures__/openai-mcp-tool-approval.2.chunks.txt +123 -0
  64. package/src/responses/__fixtures__/openai-mcp-tool-approval.2.json +176 -0
  65. package/src/responses/__fixtures__/openai-mcp-tool-approval.3.chunks.txt +11 -0
  66. package/src/responses/__fixtures__/openai-mcp-tool-approval.3.json +169 -0
  67. package/src/responses/__fixtures__/openai-mcp-tool-approval.4.chunks.txt +84 -0
  68. package/src/responses/__fixtures__/openai-mcp-tool-approval.4.json +182 -0
  69. package/src/responses/__fixtures__/openai-mcp-tool.1.chunks.txt +373 -0
  70. package/src/responses/__fixtures__/openai-mcp-tool.1.json +159 -0
  71. package/src/responses/__fixtures__/openai-reasoning-encrypted-content.1.chunks.txt +110 -0
  72. package/src/responses/__fixtures__/openai-reasoning-encrypted-content.1.json +117 -0
  73. package/src/responses/__fixtures__/openai-shell-tool.1.chunks.txt +182 -0
  74. package/src/responses/__fixtures__/openai-shell-tool.1.json +73 -0
  75. package/src/responses/__fixtures__/openai-web-search-tool.1.chunks.txt +185 -0
  76. package/src/responses/__fixtures__/openai-web-search-tool.1.json +266 -0
  77. package/src/responses/__snapshots__/openai-responses-language-model.test.ts.snap +10955 -0
  78. package/src/responses/convert-openai-responses-usage.ts +53 -0
  79. package/src/responses/convert-to-openai-responses-input.test.ts +2976 -0
  80. package/src/responses/convert-to-openai-responses-input.ts +578 -0
  81. package/src/responses/map-openai-responses-finish-reason.ts +22 -0
  82. package/src/responses/openai-responses-api.test.ts +89 -0
  83. package/src/responses/openai-responses-api.ts +1086 -0
  84. package/src/responses/openai-responses-language-model.test.ts +6927 -0
  85. package/src/responses/openai-responses-language-model.ts +1932 -0
  86. package/src/responses/openai-responses-options.ts +312 -0
  87. package/src/responses/openai-responses-prepare-tools.test.ts +924 -0
  88. package/src/responses/openai-responses-prepare-tools.ts +264 -0
  89. package/src/responses/openai-responses-provider-metadata.ts +39 -0
  90. package/src/speech/openai-speech-api.ts +38 -0
  91. package/src/speech/openai-speech-model.test.ts +202 -0
  92. package/src/speech/openai-speech-model.ts +137 -0
  93. package/src/speech/openai-speech-options.ts +22 -0
  94. package/src/tool/apply-patch.ts +141 -0
  95. package/src/tool/code-interpreter.ts +104 -0
  96. package/src/tool/file-search.ts +145 -0
  97. package/src/tool/image-generation.ts +126 -0
  98. package/src/tool/local-shell.test-d.ts +20 -0
  99. package/src/tool/local-shell.ts +72 -0
  100. package/src/tool/mcp.ts +125 -0
  101. package/src/tool/shell.ts +85 -0
  102. package/src/tool/web-search-preview.ts +139 -0
  103. package/src/tool/web-search.test-d.ts +13 -0
  104. package/src/tool/web-search.ts +179 -0
  105. package/src/transcription/openai-transcription-api.ts +37 -0
  106. package/src/transcription/openai-transcription-model.test.ts +507 -0
  107. package/src/transcription/openai-transcription-model.ts +232 -0
  108. package/src/transcription/openai-transcription-options.ts +50 -0
  109. package/src/transcription/transcription-test.mp3 +0 -0
  110. package/src/version.ts +6 -0
@@ -0,0 +1,84 @@
1
+ {"type":"response.created","sequence_number":0,"response":{"id":"resp_04a97b4fce127879006949a87ab0cc8195b3175edc260d6a88","object":"response","created_at":1766434938,"status":"in_progress","background":false,"completed_at":null,"error":null,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-5-mini-2025-08-07","output":[],"parallel_tool_calls":true,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":"medium","summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[{"type":"mcp","allowed_tools":null,"headers":null,"require_approval":"always","server_description":"Link shortener","server_label":"zip1","server_url":"https://zip1.io/mcp"}],"top_logprobs":0,"top_p":1,"truncation":"disabled","usage":null,"user":null,"metadata":{}}}
2
+ {"type":"response.in_progress","sequence_number":1,"response":{"id":"resp_04a97b4fce127879006949a87ab0cc8195b3175edc260d6a88","object":"response","created_at":1766434938,"status":"in_progress","background":false,"completed_at":null,"error":null,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-5-mini-2025-08-07","output":[],"parallel_tool_calls":true,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":"medium","summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[{"type":"mcp","allowed_tools":null,"headers":null,"require_approval":"always","server_description":"Link shortener","server_label":"zip1","server_url":"https://zip1.io/mcp"}],"top_logprobs":0,"top_p":1,"truncation":"disabled","usage":null,"user":null,"metadata":{}}}
3
+ {"type":"response.output_item.added","sequence_number":2,"output_index":0,"item":{"id":"mcpl_04a97b4fce127879006949a87ac9388195b0d86b0d1f24176b","type":"mcp_list_tools","server_label":"zip1","tools":[]}}
4
+ {"type":"response.mcp_list_tools.in_progress","sequence_number":3,"output_index":0,"item_id":"mcpl_04a97b4fce127879006949a87ac9388195b0d86b0d1f24176b"}
5
+ {"type":"response.mcp_list_tools.completed","sequence_number":4,"output_index":0,"item_id":"mcpl_04a97b4fce127879006949a87ac9388195b0d86b0d1f24176b"}
6
+ {"type":"response.output_item.done","sequence_number":5,"output_index":0,"item":{"id":"mcpl_04a97b4fce127879006949a87ac9388195b0d86b0d1f24176b","type":"mcp_list_tools","server_label":"zip1","tools":[{"annotations":{"read_only":false},"description":"Create a shortened URL using zip1.io with optional custom alias, password protection, and max clicks limit","input_schema":{"properties":{"alias":{"description":"Custom alias for the short URL (optional, alphanumeric and hyphens only)","type":"string"},"description":{"description":"Description for the short URL (optional, max 100 characters)","type":"string"},"max_clicks":{"description":"Maximum number of clicks allowed before the link expires (optional)","minimum":1,"type":"integer"},"password":{"description":"Password to protect the short URL (optional)","type":"string"},"url":{"description":"The long URL to shorten (must include http:// or https://)","type":"string"}},"required":["url"],"type":"object"},"name":"create_short_url"},{"annotations":{"read_only":false},"description":"Get detailed statistics and analytics for a shortened URL including click counts, countries, and recent activity","input_schema":{"properties":{"short_code":{"description":"The short code or custom alias of the URL to get stats for","type":"string"}},"required":["short_code"],"type":"object"},"name":"get_url_stats"},{"annotations":{"read_only":false},"description":"Check if a URL is valid and can be shortened by zip1.io","input_schema":{"properties":{"url":{"description":"The URL to validate","type":"string"}},"required":["url"],"type":"object"},"name":"validate_url"},{"annotations":{"read_only":false},"description":"Generate a random 6-character alphanumeric short code suggestion (the actual code will be generated when creating the URL)","input_schema":{"properties":{},"type":"object"},"name":"generate_short_code"}]}}
7
+ {"type":"response.output_item.added","sequence_number":6,"output_index":1,"item":{"id":"mcp_04a97b4fce127879006949a87c14248195ac23dfe0854c03d3","type":"mcp_call","status":"in_progress","approval_request_id":"mcpr_04a97b4fce127879006949a8672ac081959f95aa8ceedb7cd9","arguments":"","error":null,"name":"create_short_url","output":null,"server_label":"zip1"}}
8
+ {"type":"response.mcp_call.in_progress","sequence_number":7,"output_index":1,"item_id":"mcp_04a97b4fce127879006949a87c14248195ac23dfe0854c03d3"}
9
+ {"type":"response.mcp_call_arguments.delta","sequence_number":8,"output_index":1,"item_id":"mcp_04a97b4fce127879006949a87c14248195ac23dfe0854c03d3","delta":"{\"alias\":\"\",\"description\":\"Shortened link for ai-sdk.dev\",\"max_clicks\":100,\"password\":\"\",\"url\":\"https://ai-sdk.dev/\"}","obfuscation":"LFLSBWdBroW"}
10
+ {"type":"response.mcp_call.in_progress","sequence_number":9,"output_index":1,"item_id":"mcp_04a97b4fce127879006949a87c14248195ac23dfe0854c03d3"}
11
+ {"type":"response.mcp_call_arguments.done","sequence_number":10,"output_index":1,"item_id":"mcp_04a97b4fce127879006949a87c14248195ac23dfe0854c03d3","arguments":"{\"alias\":\"\",\"description\":\"Shortened link for ai-sdk.dev\",\"max_clicks\":100,\"password\":\"\",\"url\":\"https://ai-sdk.dev/\"}"}
12
+ {"type":"response.mcp_call.completed","sequence_number":11,"output_index":1,"item_id":"mcp_04a97b4fce127879006949a87c14248195ac23dfe0854c03d3"}
13
+ {"type":"response.output_item.done","sequence_number":12,"output_index":1,"item":{"id":"mcp_04a97b4fce127879006949a87c14248195ac23dfe0854c03d3","type":"mcp_call","status":"completed","approval_request_id":"mcpr_04a97b4fce127879006949a8672ac081959f95aa8ceedb7cd9","arguments":"{\"alias\":\"\",\"description\":\"Shortened link for ai-sdk.dev\",\"max_clicks\":100,\"password\":\"\",\"url\":\"https://ai-sdk.dev/\"}","error":null,"name":"create_short_url","output":"āœ… Short URL created: https://zip1.io/UDKvlw\nšŸ”¤ Generated code: UDKvlw\nšŸ”¢ Max clicks: 100\nšŸ“„ Description: Shortened link for ai-sdk.dev\nšŸ”— Original URL: https://ai-sdk.dev/\n\nšŸ“Š View stats: https://zip1.io/stats/UDKvlw","server_label":"zip1"}}
14
+ {"type":"response.output_item.added","sequence_number":13,"output_index":2,"item":{"id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","type":"message","status":"in_progress","content":[],"role":"assistant"}}
15
+ {"type":"response.content_part.added","sequence_number":14,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""}}
16
+ {"type":"response.output_text.delta","sequence_number":15,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"Done","logprobs":[],"obfuscation":"ufYbadaDhVS1"}
17
+ {"type":"response.output_text.delta","sequence_number":16,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" —","logprobs":[],"obfuscation":"BzRtWfnctxU0cM"}
18
+ {"type":"response.output_text.delta","sequence_number":17,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" here","logprobs":[],"obfuscation":"OjpJFjPbcbN"}
19
+ {"type":"response.output_text.delta","sequence_number":18,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"’s","logprobs":[],"obfuscation":"h8b34u53ssH2k2"}
20
+ {"type":"response.output_text.delta","sequence_number":19,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" your","logprobs":[],"obfuscation":"GMLN7KqemZH"}
21
+ {"type":"response.output_text.delta","sequence_number":20,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" shortened","logprobs":[],"obfuscation":"REEBOQ"}
22
+ {"type":"response.output_text.delta","sequence_number":21,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" link","logprobs":[],"obfuscation":"rUqgb6iEqA7"}
23
+ {"type":"response.output_text.delta","sequence_number":22,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":":\n\n","logprobs":[],"obfuscation":"ze30cT2xbOZAK"}
24
+ {"type":"response.output_text.delta","sequence_number":23,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"https","logprobs":[],"obfuscation":"0nDhVC2VQek"}
25
+ {"type":"response.output_text.delta","sequence_number":24,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"://","logprobs":[],"obfuscation":"inS9yi6XUvcvL"}
26
+ {"type":"response.output_text.delta","sequence_number":25,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"zip","logprobs":[],"obfuscation":"HuIqsYzol3V1a"}
27
+ {"type":"response.output_text.delta","sequence_number":26,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"1","logprobs":[],"obfuscation":"vPH6xuMqCCffIfS"}
28
+ {"type":"response.output_text.delta","sequence_number":27,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":".io","logprobs":[],"obfuscation":"Z6MkOna50Bsqy"}
29
+ {"type":"response.output_text.delta","sequence_number":28,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"/","logprobs":[],"obfuscation":"phKQU3AUIGlDbzh"}
30
+ {"type":"response.output_text.delta","sequence_number":29,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"UD","logprobs":[],"obfuscation":"05XdD9BBDhsvvh"}
31
+ {"type":"response.output_text.delta","sequence_number":30,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"K","logprobs":[],"obfuscation":"u2yqYYLv9v302js"}
32
+ {"type":"response.output_text.delta","sequence_number":31,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"vl","logprobs":[],"obfuscation":"D4I8qi6yP3ZHrN"}
33
+ {"type":"response.output_text.delta","sequence_number":32,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"w","logprobs":[],"obfuscation":"rOS9l4BHIfY4yaf"}
34
+ {"type":"response.output_text.delta","sequence_number":33,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"\n\n","logprobs":[],"obfuscation":"BEPbBHbGF8wdWz"}
35
+ {"type":"response.output_text.delta","sequence_number":34,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"Details","logprobs":[],"obfuscation":"LQFUtRxOn"}
36
+ {"type":"response.output_text.delta","sequence_number":35,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":":\n","logprobs":[],"obfuscation":"n35QHl38Ta8xAH"}
37
+ {"type":"response.output_text.delta","sequence_number":36,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"-","logprobs":[],"obfuscation":"bYto1pqt4lwRcne"}
38
+ {"type":"response.output_text.delta","sequence_number":37,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" Original","logprobs":[],"obfuscation":"XiSZEWQ"}
39
+ {"type":"response.output_text.delta","sequence_number":38,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" URL","logprobs":[],"obfuscation":"GQnbMeIKUZH8"}
40
+ {"type":"response.output_text.delta","sequence_number":39,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":":","logprobs":[],"obfuscation":"yMGNXcaZOvso7WF"}
41
+ {"type":"response.output_text.delta","sequence_number":40,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" https","logprobs":[],"obfuscation":"HBwmx3xypg"}
42
+ {"type":"response.output_text.delta","sequence_number":41,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"://","logprobs":[],"obfuscation":"UW1eM2FtMIjQT"}
43
+ {"type":"response.output_text.delta","sequence_number":42,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"ai","logprobs":[],"obfuscation":"WSmtrVppZMgQ1P"}
44
+ {"type":"response.output_text.delta","sequence_number":43,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"-sdk","logprobs":[],"obfuscation":"QE8Qd1Ssmo64"}
45
+ {"type":"response.output_text.delta","sequence_number":44,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":".dev","logprobs":[],"obfuscation":"VE1fFOghQrxm"}
46
+ {"type":"response.output_text.delta","sequence_number":45,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"/\n","logprobs":[],"obfuscation":"PN3sKnXmehCD9W"}
47
+ {"type":"response.output_text.delta","sequence_number":46,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"-","logprobs":[],"obfuscation":"uCPYvD61xg08Bnv"}
48
+ {"type":"response.output_text.delta","sequence_number":47,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" Max","logprobs":[],"obfuscation":"VOh4oR23ibSK"}
49
+ {"type":"response.output_text.delta","sequence_number":48,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" clicks","logprobs":[],"obfuscation":"nfTq0mLnw"}
50
+ {"type":"response.output_text.delta","sequence_number":49,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":":","logprobs":[],"obfuscation":"iwn9HG3Ievhsn0I"}
51
+ {"type":"response.output_text.delta","sequence_number":50,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" ","logprobs":[],"obfuscation":"12YJpIoqzG5hj7v"}
52
+ {"type":"response.output_text.delta","sequence_number":51,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"100","logprobs":[],"obfuscation":"uk0Ia8v5OIsSH"}
53
+ {"type":"response.output_text.delta","sequence_number":52,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"\n","logprobs":[],"obfuscation":"7n5DpXeL35k42rN"}
54
+ {"type":"response.output_text.delta","sequence_number":53,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"-","logprobs":[],"obfuscation":"07L94359gEtL1e0"}
55
+ {"type":"response.output_text.delta","sequence_number":54,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" Stats","logprobs":[],"obfuscation":"ZBzL42q8Zw"}
56
+ {"type":"response.output_text.delta","sequence_number":55,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":":","logprobs":[],"obfuscation":"TUVEpEMAaYBbqiR"}
57
+ {"type":"response.output_text.delta","sequence_number":56,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" https","logprobs":[],"obfuscation":"HKXWVQWocO"}
58
+ {"type":"response.output_text.delta","sequence_number":57,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"://","logprobs":[],"obfuscation":"qnnHgzpK1myRs"}
59
+ {"type":"response.output_text.delta","sequence_number":58,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"zip","logprobs":[],"obfuscation":"0bAfRZuBod1gO"}
60
+ {"type":"response.output_text.delta","sequence_number":59,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"1","logprobs":[],"obfuscation":"3jOsam5Ej0uqSrY"}
61
+ {"type":"response.output_text.delta","sequence_number":60,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":".io","logprobs":[],"obfuscation":"85blnr1dh9iFk"}
62
+ {"type":"response.output_text.delta","sequence_number":61,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"/st","logprobs":[],"obfuscation":"J9PkuDbsTtylz"}
63
+ {"type":"response.output_text.delta","sequence_number":62,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"ats","logprobs":[],"obfuscation":"AzKPUwMe8YI3p"}
64
+ {"type":"response.output_text.delta","sequence_number":63,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"/","logprobs":[],"obfuscation":"JBHZynxLWBPTwKF"}
65
+ {"type":"response.output_text.delta","sequence_number":64,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"UD","logprobs":[],"obfuscation":"WcUSbGo6rpt1eG"}
66
+ {"type":"response.output_text.delta","sequence_number":65,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"K","logprobs":[],"obfuscation":"m8VIfv2dpK2ITkV"}
67
+ {"type":"response.output_text.delta","sequence_number":66,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"vl","logprobs":[],"obfuscation":"2JZgk8b0OfAMzT"}
68
+ {"type":"response.output_text.delta","sequence_number":67,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"w","logprobs":[],"obfuscation":"yl4coQwNhog2K5F"}
69
+ {"type":"response.output_text.delta","sequence_number":68,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"\n\n","logprobs":[],"obfuscation":"nRJQxDAPDNdmNG"}
70
+ {"type":"response.output_text.delta","sequence_number":69,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"Would","logprobs":[],"obfuscation":"cPCfpCUh7T0"}
71
+ {"type":"response.output_text.delta","sequence_number":70,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" you","logprobs":[],"obfuscation":"KHuTc2IxSnUV"}
72
+ {"type":"response.output_text.delta","sequence_number":71,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" like","logprobs":[],"obfuscation":"7Bw7tYxnbdX"}
73
+ {"type":"response.output_text.delta","sequence_number":72,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" a","logprobs":[],"obfuscation":"dMkQ41JBFxTnx2"}
74
+ {"type":"response.output_text.delta","sequence_number":73,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" custom","logprobs":[],"obfuscation":"7KSofsUAd"}
75
+ {"type":"response.output_text.delta","sequence_number":74,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" alias","logprobs":[],"obfuscation":"88yx4BQx70"}
76
+ {"type":"response.output_text.delta","sequence_number":75,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" or","logprobs":[],"obfuscation":"256siRga6ZBKx"}
77
+ {"type":"response.output_text.delta","sequence_number":76,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" password","logprobs":[],"obfuscation":"u3SwLKQ"}
78
+ {"type":"response.output_text.delta","sequence_number":77,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" protection","logprobs":[],"obfuscation":"WOeIw"}
79
+ {"type":"response.output_text.delta","sequence_number":78,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":" added","logprobs":[],"obfuscation":"dhsaeQk02A"}
80
+ {"type":"response.output_text.delta","sequence_number":79,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"delta":"?","logprobs":[],"obfuscation":"lGCxUtnEVkk86no"}
81
+ {"type":"response.output_text.done","sequence_number":80,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"text":"Done — here’s your shortened link:\n\nhttps://zip1.io/UDKvlw\n\nDetails:\n- Original URL: https://ai-sdk.dev/\n- Max clicks: 100\n- Stats: https://zip1.io/stats/UDKvlw\n\nWould you like a custom alias or password protection added?","logprobs":[]}
82
+ {"type":"response.content_part.done","sequence_number":81,"item_id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","output_index":2,"content_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"Done — here’s your shortened link:\n\nhttps://zip1.io/UDKvlw\n\nDetails:\n- Original URL: https://ai-sdk.dev/\n- Max clicks: 100\n- Stats: https://zip1.io/stats/UDKvlw\n\nWould you like a custom alias or password protection added?"}}
83
+ {"type":"response.output_item.done","sequence_number":82,"output_index":2,"item":{"id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"Done — here’s your shortened link:\n\nhttps://zip1.io/UDKvlw\n\nDetails:\n- Original URL: https://ai-sdk.dev/\n- Max clicks: 100\n- Stats: https://zip1.io/stats/UDKvlw\n\nWould you like a custom alias or password protection added?"}],"role":"assistant"}}
84
+ {"type":"response.completed","sequence_number":83,"response":{"id":"resp_04a97b4fce127879006949a87ab0cc8195b3175edc260d6a88","object":"response","created_at":1766434938,"status":"completed","background":false,"completed_at":1766434942,"error":null,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-5-mini-2025-08-07","output":[{"id":"mcpl_04a97b4fce127879006949a87ac9388195b0d86b0d1f24176b","type":"mcp_list_tools","server_label":"zip1","tools":[{"annotations":{"read_only":false},"description":"Create a shortened URL using zip1.io with optional custom alias, password protection, and max clicks limit","input_schema":{"properties":{"alias":{"description":"Custom alias for the short URL (optional, alphanumeric and hyphens only)","type":"string"},"description":{"description":"Description for the short URL (optional, max 100 characters)","type":"string"},"max_clicks":{"description":"Maximum number of clicks allowed before the link expires (optional)","minimum":1,"type":"integer"},"password":{"description":"Password to protect the short URL (optional)","type":"string"},"url":{"description":"The long URL to shorten (must include http:// or https://)","type":"string"}},"required":["url"],"type":"object"},"name":"create_short_url"},{"annotations":{"read_only":false},"description":"Get detailed statistics and analytics for a shortened URL including click counts, countries, and recent activity","input_schema":{"properties":{"short_code":{"description":"The short code or custom alias of the URL to get stats for","type":"string"}},"required":["short_code"],"type":"object"},"name":"get_url_stats"},{"annotations":{"read_only":false},"description":"Check if a URL is valid and can be shortened by zip1.io","input_schema":{"properties":{"url":{"description":"The URL to validate","type":"string"}},"required":["url"],"type":"object"},"name":"validate_url"},{"annotations":{"read_only":false},"description":"Generate a random 6-character alphanumeric short code suggestion (the actual code will be generated when creating the URL)","input_schema":{"properties":{},"type":"object"},"name":"generate_short_code"}]},{"id":"mcp_04a97b4fce127879006949a87c14248195ac23dfe0854c03d3","type":"mcp_call","status":"completed","approval_request_id":"mcpr_04a97b4fce127879006949a8672ac081959f95aa8ceedb7cd9","arguments":"{\"alias\":\"\",\"description\":\"Shortened link for ai-sdk.dev\",\"max_clicks\":100,\"password\":\"\",\"url\":\"https://ai-sdk.dev/\"}","error":null,"name":"create_short_url","output":"āœ… Short URL created: https://zip1.io/UDKvlw\nšŸ”¤ Generated code: UDKvlw\nšŸ”¢ Max clicks: 100\nšŸ“„ Description: Shortened link for ai-sdk.dev\nšŸ”— Original URL: https://ai-sdk.dev/\n\nšŸ“Š View stats: https://zip1.io/stats/UDKvlw","server_label":"zip1"},{"id":"msg_04a97b4fce127879006949a87d97e081959020140d5b07b7b5","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"Done — here’s your shortened link:\n\nhttps://zip1.io/UDKvlw\n\nDetails:\n- Original URL: https://ai-sdk.dev/\n- Max clicks: 100\n- Stats: https://zip1.io/stats/UDKvlw\n\nWould you like a custom alias or password protection added?"}],"role":"assistant"}],"parallel_tool_calls":true,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":"medium","summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[{"type":"mcp","allowed_tools":null,"headers":null,"require_approval":"always","server_description":"Link shortener","server_label":"zip1","server_url":"https://zip1.io/mcp"}],"top_logprobs":0,"top_p":1,"truncation":"disabled","usage":{"input_tokens":779,"input_tokens_details":{"cached_tokens":0},"output_tokens":69,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":848},"user":null,"metadata":{}}}
@@ -0,0 +1,182 @@
1
+ {
2
+ "id": "resp_04f6b17429cf2b02006949a68dcefc81969600243221f290a7",
3
+ "object": "response",
4
+ "created_at": 1766434446,
5
+ "status": "completed",
6
+ "background": false,
7
+ "billing": {
8
+ "payer": "developer"
9
+ },
10
+ "completed_at": 1766434452,
11
+ "error": null,
12
+ "incomplete_details": null,
13
+ "instructions": null,
14
+ "max_output_tokens": null,
15
+ "max_tool_calls": null,
16
+ "model": "gpt-5-mini-2025-08-07",
17
+ "output": [
18
+ {
19
+ "id": "mcpl_04f6b17429cf2b02006949a68ebc288196ad7b23d6c452775a",
20
+ "type": "mcp_list_tools",
21
+ "server_label": "zip1",
22
+ "tools": [
23
+ {
24
+ "annotations": {
25
+ "read_only": false
26
+ },
27
+ "description": "Create a shortened URL using zip1.io with optional custom alias, password protection, and max clicks limit",
28
+ "input_schema": {
29
+ "properties": {
30
+ "alias": {
31
+ "description": "Custom alias for the short URL (optional, alphanumeric and hyphens only)",
32
+ "type": "string"
33
+ },
34
+ "description": {
35
+ "description": "Description for the short URL (optional, max 100 characters)",
36
+ "type": "string"
37
+ },
38
+ "max_clicks": {
39
+ "description": "Maximum number of clicks allowed before the link expires (optional)",
40
+ "minimum": 1,
41
+ "type": "integer"
42
+ },
43
+ "password": {
44
+ "description": "Password to protect the short URL (optional)",
45
+ "type": "string"
46
+ },
47
+ "url": {
48
+ "description": "The long URL to shorten (must include http:// or https://)",
49
+ "type": "string"
50
+ }
51
+ },
52
+ "required": [
53
+ "url"
54
+ ],
55
+ "type": "object"
56
+ },
57
+ "name": "create_short_url"
58
+ },
59
+ {
60
+ "annotations": {
61
+ "read_only": false
62
+ },
63
+ "description": "Get detailed statistics and analytics for a shortened URL including click counts, countries, and recent activity",
64
+ "input_schema": {
65
+ "properties": {
66
+ "short_code": {
67
+ "description": "The short code or custom alias of the URL to get stats for",
68
+ "type": "string"
69
+ }
70
+ },
71
+ "required": [
72
+ "short_code"
73
+ ],
74
+ "type": "object"
75
+ },
76
+ "name": "get_url_stats"
77
+ },
78
+ {
79
+ "annotations": {
80
+ "read_only": false
81
+ },
82
+ "description": "Check if a URL is valid and can be shortened by zip1.io",
83
+ "input_schema": {
84
+ "properties": {
85
+ "url": {
86
+ "description": "The URL to validate",
87
+ "type": "string"
88
+ }
89
+ },
90
+ "required": [
91
+ "url"
92
+ ],
93
+ "type": "object"
94
+ },
95
+ "name": "validate_url"
96
+ },
97
+ {
98
+ "annotations": {
99
+ "read_only": false
100
+ },
101
+ "description": "Generate a random 6-character alphanumeric short code suggestion (the actual code will be generated when creating the URL)",
102
+ "input_schema": {
103
+ "properties": {},
104
+ "type": "object"
105
+ },
106
+ "name": "generate_short_code"
107
+ }
108
+ ]
109
+ },
110
+ {
111
+ "id": "mcp_04f6b17429cf2b02006949a6908fc4819686c02f71f7faecc6",
112
+ "type": "mcp_call",
113
+ "status": "completed",
114
+ "approval_request_id": "mcpr_04f6b17429cf2b02006949a68bf5808196b6f2008a315c9aa4",
115
+ "arguments": "{\"alias\":\"\",\"description\":\"\",\"max_clicks\":100,\"password\":\"\",\"url\":\"https://ai-sdk.dev/\"}",
116
+ "error": null,
117
+ "name": "create_short_url",
118
+ "output": "āœ… Short URL created: https://zip1.io/oMAchr\nšŸ”¤ Generated code: oMAchr\nšŸ”¢ Max clicks: 100\nšŸ”— Original URL: https://ai-sdk.dev/\n\nšŸ“Š View stats: https://zip1.io/stats/oMAchr",
119
+ "server_label": "zip1"
120
+ },
121
+ {
122
+ "id": "msg_04f6b17429cf2b02006949a6930b308196a3ad4f35aa6e0b1b",
123
+ "type": "message",
124
+ "status": "completed",
125
+ "content": [
126
+ {
127
+ "type": "output_text",
128
+ "annotations": [],
129
+ "logprobs": [],
130
+ "text": "Done — I created a short link for you.\n\nShort URL: https://zip1.io/oMAchr\nOriginal URL: https://ai-sdk.dev/\nMax clicks: 100\nStats page: https://zip1.io/stats/oMAchr\n\nWould you like a custom alias, password protection, or a description added to this short link?"
131
+ }
132
+ ],
133
+ "role": "assistant"
134
+ }
135
+ ],
136
+ "parallel_tool_calls": true,
137
+ "previous_response_id": null,
138
+ "prompt_cache_key": null,
139
+ "prompt_cache_retention": null,
140
+ "reasoning": {
141
+ "effort": "medium",
142
+ "summary": null
143
+ },
144
+ "safety_identifier": null,
145
+ "service_tier": "default",
146
+ "store": true,
147
+ "temperature": 1,
148
+ "text": {
149
+ "format": {
150
+ "type": "text"
151
+ },
152
+ "verbosity": "medium"
153
+ },
154
+ "tool_choice": "auto",
155
+ "tools": [
156
+ {
157
+ "type": "mcp",
158
+ "allowed_tools": null,
159
+ "headers": null,
160
+ "require_approval": "always",
161
+ "server_description": "Link shortener",
162
+ "server_label": "zip1",
163
+ "server_url": "https://zip1.io/mcp"
164
+ }
165
+ ],
166
+ "top_logprobs": 0,
167
+ "top_p": 1,
168
+ "truncation": "disabled",
169
+ "usage": {
170
+ "input_tokens": 765,
171
+ "input_tokens_details": {
172
+ "cached_tokens": 0
173
+ },
174
+ "output_tokens": 74,
175
+ "output_tokens_details": {
176
+ "reasoning_tokens": 0
177
+ },
178
+ "total_tokens": 839
179
+ },
180
+ "user": null,
181
+ "metadata": {}
182
+ }