open_pdf_upload_widget
ChatGPTVERSION debug-2026-04-30-v23. Open this first when the user wants to create a Publuu flipbook from a PDF. Do not ask the user for a PDF URL. Do not use local paths, file IDs, sandbox paths, or /mnt/data paths. The user must choose the PDF in this widget; the widget reads the selected PDF in the browser, uploads it to S3, and triggers Publuu conversion.
open_pdf_upload_widget
ChatGPTVERSION debug-2026-04-30-v23. Use this when the user wants to create a Publuu flipbook from exactly one PDF. This app accepts only one PDF file and cannot merge PDFs, compress PDFs, split PDFs, edit PDFs, or combine multiple files. If the user asks to merge, compress, optimize, combine, or process multiple PDFs, do not open the upload widget; respond: "Rejects the request because this app accepts only one PDF file and cannot merge or compress PDFs." Only PDF files are accepted. If the user asks to convert an image or any other non-PDF file, do not open the upload widget; respond that only PDF files are accepted for conversion. If the user provides a local path, sandbox path, /mnt/data path, or file ID, open this widget and direct the user to choose the PDF in the widget because local paths and file IDs are not supported upload inputs. Do not say the widget is already open unless the current UI state confirms it. Do not ask the user for a PDF URL. The widget reads the selected PDF in the browser, uploads it to S3, and triggers Publuu conversion.
widget_upload_pdf_to_s3
ChatGPTVERSION debug-2026-04-30-v23. Private widget-only upload step. ChatGPT should never call this tool directly. The model-facing action is open_pdf_upload_widget. This tool accepts base64 PDF bytes read by the upload widget. Local paths, file:// URLs, /mnt/data paths, backend paths, file IDs, and user-provided PDF URLs are not the primary flow.
widget_upload_pdf_to_s3
ChatGPTVERSION debug-2026-04-30-v23. Private widget-only upload step. ChatGPT should never call this tool directly. The model-facing action is open_pdf_upload_widget. This tool accepts exactly one base64 PDF read by the upload widget. It rejects images, non-PDF files, multiple files, and requests to merge or compress PDFs. Local paths, file:// URLs, /mnt/data paths, backend paths, file IDs, and user-provided PDF URLs are not the primary flow.