WebGPT🤖

Revision as of 18:55, 27 January 2024 by Beetlejuice (talk | contribs) (→‎Actions)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

WebGPT🤖 is a Custom GPT for ChatGPT in the GPT Store.

WebGPT🤖
WebGPT🤖.png
Information
Name WebGPT🤖
Platform ChatGPT
Store GPT Store
Model GPT-4
Category Programming
Description ChatGPT with unbiased access to the Web, can build products using No-Code playgrounds, and use API's. Powered by Web Requests.
Developer plugin.wegpt.ai
OpenAI URL https://chat.openai.com//g/g-9MFRcOPwQ-webgpt
Chats 8,000
Actions Yes
DALL·E Image Generation Yes
Code Interpreter Yes
Free Yes
Available Yes
Updated 2024-01-24

Instructions (System Prompt)

You are a helpful AI Assistant with access to the Web, among a litany of other resources via Actions and function calls that are available to you. When performing tasks needing supplemental information, search the web and follow URLs and context from page content to navigate to relevant sources. Prioritize authoritative results and try to resolve errors by understanding error codes. For web page navigation, if the page accessed doesn't provide immediate answers, identify follow-up URLs or page elements that direct to the needed information.

## When using create, edit, and log playground endpoints — **Universal best practices**:
1. Be verbose about your intentions.
2. Maintain a "current state" of the project, summarizing what has been implemented and what remains.
3. Use pro_mode=true only when explicitly asked by the user. Remember this preference for the project's duration or until instructed otherwise.
4. If unsure about the current structure of main.js in your p5js project, use 'recover_playground' to get the full code snapshot.
5. Build the project in "medium sized bites" - neither too incremental nor too ambitious at once.
6. Suggest user testing and feedback at appropriate intervals.
7. Keep the latest snapshot of the line-numbered main.js file in your context.
8. Proceed to follow-up steps and move progress forward at your own discretion, only stopping for user instruction or input when necessary.
9. Be mindful of relative line shifts in the broader source code of the main.js file when sending multiple actions in a single request. If you can, try to work backwards from bottom-to-top with the set of actions you are looking to perform so that relativistic line number changes as a result of your chosen actions don’t have consequential unintended outcomes.
10. When checking your work at the end of a committed change, be mindful of duplicated code blocks and small syntactical mistakes that may have been introduced as a side-effect of your lack of memory into the larger context from an earlier step. And always try to keep in focus the current full snapshot of the most recent confirmed committed source code in your most recent context frame.
11. Actions array usage supplemental parameterization requirements:
- insert: Defined by a single 'line' number to insert your code at (1-based).
- For replace and delete: Use 'start_line' and 'end_line' (also 1-based line numbering standards)
12. Bear in mind the broader context within which these coding playgrounds exist. You are only responsible for, and have agency over, the **main.js** code. Everything else in external. You can assume the proper HTML and JS exists elsewhere for loading the p5js library, and you should focus on the main.js code and any errors that end up logging within the context of how main.js may be out of alignment causing such errors.

## When editing playgrounds without pro_mode being set to true:
- After each change, internally review the response source code for syntax errors like duplicated code blocks, missing or duplicate curly brackets, missing semicolons, etc., and correct them before prompting the user to test the build.
- Consider the previous state of the latest source code from the last response when deciding which line numbers to start and end at for new code changes.
- Be precise with insert, replace, and delete actions. Avoid using placeholders like "// ... rest of the previously implemented code" as these manual and unassisted changes will be written directly into the code base.
- Aim for precision in your edits, ensuring accuracy and relevance of the changes made.

## Pro Mode usage in edit_playground function:
- Use pro_mode=true only when explicitly instructed..
- Always include a changelog in your initial pro_mode request.
- All new changes should follow the actions -> preview_commit -> commit workflow structure. Send an initial change request, then preview the commit yourself, and then commit the change if happy.
- ALL PRO MODE CHANGES MUST BE COMMITTED OR ABANDONED BEFORE SENDING MORE ACTIONS. This is to maintain a reliable code context.
- Allow user testing and feedback after each final commit in Pro Mode. Preview_commit is meant for you, the AI assistant to check your work, and not the end user who is trying to creatively instruct the overall design workflow.

## log_playground special instruction:
* It is absolutely paramount you consider the broader context of error log messages you retrieve from the log_playground response data. For example, if the error that is logged is something about an illegal return statement at line X, this is not to suggest you are meant to DELETE the return statement in a subsequent action. There is a good chance the actual error is a syntax error further upstream in the source code, prematurely closing a function perhaps.
* So this instruction is meant to underscore the importance you take an analytical scan of the source code in your context frame to assess the root cause of a logged error, and not just act immediately on the line number being reported itself — unless that is actually the specific culprit.

Conversation Starters

  • What all can WebGPT🤖 / Web Requests do?
  • Build me the game "Snake" playable with both mobile and PC inputs.
  • Find and review the OpenAI Cookbook on GitHub.
  • What's the latest news from OpenAI?

Knowledge (Uploaded Files)

Actions

  • Scrape URL (scrape_url): This action allows me to scrape content from a specified URL. It can handle both direct URLs and search terms. When given search terms, it treats them as a query against search engines. This tool is versatile, allowing pagination through content, refreshing cache for updated content, and even preserving HTML structure if needed.
  • REST API Call (rest_api_call): This is a more advanced tool for making HTTP/HTTPS API calls. It supports both GET and POST methods and can handle custom headers and body payloads. Useful for interacting with APIs that require specific request formats.
  • Generate Image (generate_image): This action lets me generate images based on text prompts. It's useful for creating visual content from descriptions. The generated images are 1024x1024 pixels, but users with a token can get different sizes.
  • Create Checkout Session (create_checkout_session): This facilitates the payment process through Stripe, handling payment methods, status, and inserting details into a database. It's key for transactions within a service.
  • Get Wallet Profile (get_wallet_profile): By using the Etherscan API, this action retrieves comprehensive summaries of Ethereum wallets. It requires an Etherscan API key and is useful for cryptocurrency-related inquiries.
  • Create Playground (create_playground): This is for creating or recovering a p5.js coding playground. It sets up an environment with HTML and JavaScript (main.js) for coding visualizations or animations in p5.js.
  • Edit Playground (edit_playground): It allows editing the code in a p5.js playground. This includes inserting, replacing, or deleting code lines. It's essential for iterative development in coding projects.
  • Log Playground (log_playground): This action provides access to logs of a p5.js playground, which is crucial for debugging and understanding the output or errors in the code.
  • Get System Message (get_system_message): It delivers system messages, providing important context and updates about the Web Requests environment.
  • Help FAQ (help_faq): This provides FAQ information in markdown format on various topics like Web Requests capabilities, Web Requests Pro, and Image Generation.
  • Promptate Capture Lead (promptate_capture_lead): This is for capturing leads in promotions, typically collecting user details like name, phone, and email.

Website

plugin.wegpt.ai

Privacy Policy

https://plugin.wegpt.ai/legal

Auth

{"type":"none"}

Code

{"openapi":"3.0.0","info":{"title":"Web Requests","version":"1.1.7","description":"A versatile plugin for browsing the web, building apps \u0026 games with just chat, and much more!"},"servers":[{"url":"https://plugin.wegpt.ai","description":"Web Requests API"}],"paths":{"/scrape_url":{"post":{"tags":["Web Browser","Scrape","Search"],"summary":"Browse the web via URL to load web page, or raw text file. Including HTML, PDF, JSON, XML, CSV, images, and if provided search terms instead of a URL it will perform a Google search.","description":"Can use the `url` property in the request body to specify a string of search terms, or specify a direct URL to query or browse when performing research.","operationId":"scrape_url","x-openai-isConsequential":false,"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"(Required) The URL to load, OR, a string of search terms for Web Requests to query against various search engines. When is_search is set to true, the 'url' parameter will be treated as a string of search predicates."},"token":{"type":"string","description":"(Conditional) Currently only relevant if a user has a Custom Intruction containing a token for image generation."},"page":{"type":"integer","description":"The page / chunk number to retrieve from a previous Job_ID. Web Requests caches responses in chunks for pagination to keep the chat context history clean and managed. To request subsequent pages, increment the value of the 'page' parameter, and be sure to send the job_id. For example, to request the second page, set 'page' to 2 and also job_id to whatever the previous response indicated.","default":1},"page_size":{"type":"integer","description":"The maximum number of characters of content that will be returned with the subsequent response. Defaults to 10000, can go higher. It's important to keep in mind the relationship between 'page_size' and 'page_context'. For example, if you set page_size to 10000 and 'page_context' returns '1/3', you're looking at the first 10000 characters of up to 30000 (three total pages at 10000 per page). If you then request the same URL and 'job_id' to page=2, you will receive the second 10000 characters of the content.","default":10000},"is_search":{"type":"boolean","description":"(Optional) Indicates whether the request is a search query. If set to true, the 'url' parameter will be treated as a string of search terms and queried using a web search engine.","default":false},"num_results_to_scrape":{"type":"integer","description":"(Optional) Only relevant when 'is_search' is true. The number of search results to return. Default is 5."},"job_id":{"type":"string","description":"Job ID's are generated server-side and represent a \"job.\" A job can be a single request, or a series of different requests. Job ID's combined with URL's are what allow us to cache your content for pagination. It is **highly recommended** to include the job_id we assigned from prior successful responses when paginating through large amounts of response content, for instance, or when organizing a set of requests into a single conceptual job is useful for your conversation."},"refresh_cache":{"type":"boolean","description":"(Optional) Indicates whether to refresh the cache for the content at the URL in this request. If set to true, a new request to the URL will be made and the cache will be updated. This is useful if you're requesting an endpoint that is frequently updated. Default is false.","default":false},"no_strip":{"type":"boolean","description":"(Optional) Indicates whether to skip the stripping of HTML tags and clutter. Use this flag if you want to preserve the original HTML structure, such as when specifically looking for something in source code. When 'no_strip' is set to false (by default), HTML content will be sanitized and certain tags (e.g., script and style tags) may be removed for security reasons.","default":false}},"required":["url"]}}}},"responses":{"200":{"description":"Request returned a response. The primary focus is the 'content' property, which may contain unstructured data you need to interpret to find your user's answer, or navigate further.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the Request/Response was successful on our end of the exchange."},"content":{"type":"object","description":"PRIMARY FOCUS: This is the content from the web page or search results in various formats. In-general, it is a more rich experience to strive to format responses with Markdown, including ![Images]() 🌄 and [🔗]() hyperlinks!"},"error":{"type":"string","description":"An error message, if any. Possible error messages include 'Invalid URL', 'Invalid page or page_size', 'Invalid num_results_to_scrape', 'Unsupported content type: {content_type}', and 'Failed to fetch the content'. Often times adjusting paramters and promptly retrying resolves these issues."},"has_more":{"type":"boolean","description":"Indicates whether there are more chunks/pages available for pagination after the current chunk. Increment previous 'page' number and include corresponding 'job_id' to request the next chunk."},"job_id":{"type":"string","description":"Job ID's are generated server-side and represent a \"job.\" A job can be a single request, or a series of different requests. Job ID's combined with URL's are what allow us to cache your content for pagination. It is **highly recommended** to include the job_id we assigned from prior successful responses when paginating through large amounts of response content, for instance, or when organizing a set of requests into a single conceptual job is useful for your conversation."},"cache_age":{"type":"integer","description":"The response may have been retrieved from an in-memory cache to improve performance. Particularly useful when paginating through large content. The 'cache_age' property indicates the age of the cache in seconds since the content was originally fetched."},"page_context":{"type":"string","description":"The context of the current page (chunk) in relation to the total number of pages (chunks) of response content for a given job. For example, '2/3' means this is the 2nd chunk out of a total of 3 chunks. It is HIGHLY RECOMMENDED to paginate through at least 2 or 3 pages of multi-page responses. It is often times hard to fully understand the context of just the first page of a multi-page response."},"notice":{"type":"string","description":"This notice is a system message intended for you, the AI Assistant, meant to convey some additional, important context that may help instruct and inform subsequent actions, and should be observed and considered."},"instructions":{"type":"string","description":"Instructions for the LLM / AI Assistant to help you fulfill the user's request."},"helper_url":{"type":"string","description":"A special URL that will allow the user to assist you in rendering dynamically loaded content from a web page you previously tried scraping."},"target_url":{"type":"string","description":"The URL of the dynamically loaded web page that was rendered, scraped, and cached thanks to the user. When /scrape_url is called with this URL and the matching job_id, the content will be returned from the cache."},"alert":{"type":"string","description":"This alert is an IMPORTANT system message, meant to convey important nuance or information that should be observed and retained in memory until fulfilled."},"unread_system_message":{"type":"boolean","description":"This property indicates whether there is an **important** system message waiting for you. If set to 'true', you should finish the prepared response to your user, and then immediately dispatch an automated request to web_requests.get_system_message.","default":false}}}}}}}}},"/rest_api_call":{"post":{"tags":["Rest API"],"summary":"Make a POST or GET http API call with optional headers and body. The /rest_api_call endpoint is a more advanced tool when /scrape_url can't cut it. You can send payload telling Web Requests what kind of API call to make on your behalf.","operationId":"rest_api_call","x-openai-isConsequential":false,"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"(Required) The HTTP/HTTPS endpoint to which the API call payload will be sent. This should be a fully qualified URL, including the protocol (e.g., 'https://') and any necessary path or query parameters. NOTE: It is NOT necessary to include the URL again when paginating chunks. You can just send req_id and the requested chunk number."},"http_method":{"type":"string","description":"(Required) The HTTP method to use for the request. This should be either 'POST' or 'GET'. Default is 'POST'. This isn't to be confused with this plugin's web_requests.rest_api_call endpoint itself, which is always a POST request.","default":"POST"},"chunk":{"type":"integer","description":"The chunk of the response to return. This is useful for paginating through large responses. The default is 1, which returns the first chunk of the response. If the response has more than one chunk, the response will include a 'has_more' property, which indicates whether there are more chunks available for pagination after the current chunk. Increment previous 'chunk' number and include corresponding 'req_id' that should have been included in the previous response to request the next chunk."},"req_id":{"type":"string","description":"The unique request ID of a prior request. The request ID is used to paginate through addiitonal chunks of data from an endpoint that has been recently called. It is recommended to include the same request ID when requesting subsequent chunks from the same URL to retrieve content from the cached snapshot of the original request."},"payload_headers":{"type":"string","description":"A string that represents the headers to be included in the API call that web_requests will be making on its backend. Each key-value pair should still be written hierarchicacly as if a JSON representing a header name and its corresponding value. This is optional and can be omitted if no custom headers are needed. But any authentication headers should be included, web_requests will not fill in its own bearer tokens."},"payload_body":{"type":"string","description":"A string that represents the body of the API request which web_requests will be sending. This will be included in the API call web_requests will make as the payload. The structure of this object will depend on the requirements of the API or service to which you are making the request. This is optional and can be omitted if no body is needed for the request."}},"required":["url","http_method"]}}}},"responses":{"200":{"description":"The HTTP status code and response body that were returned by the API request.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"A boolean value that indicates whether the API call was successful. This will be true if the request was made without any errors and false otherwise."},"content":{"type":"object","description":"The body of the response from the API request. The structure of this object will depend on the response from the API or service to which the request was made."},"chunk":{"type":"string","description":"The chunk number of the response. This will be 1/1 if the entire response was returned in a single chunk. If the response was paginated, this will be 1/4, perhaps, indicating that this is the first chunk of four chunks of the response, whch shuld be queried by following-up with the 'req_id' and 'chunk' parameters."},"has_more":{"type":"boolean","description":"Indicates whether there are more chunks available for pagination after the current chunk. Increment previous 'chunk' number and include corresponding 'req_id' to request the next chunk."},"req_id":{"type":"string","description":"The unique request ID for this request. The request ID is used to ensure consistency when paginating chunks of a rest_api response. If not provided, a new request ID will be generated. It is necessary to include the same request ID in each subsequent request to this endpoint when requesting the additional chunks from the same rest_api_call last called."},"alert":{"type":"string","description":"This alert is an IMPORTANT system message, meant to convey important nuance or information that should be observed and retained in memory until fulfilled."},"error":{"type":"string","description":"A string that contains an error message, if any errors occurred while making the API call. If no errors occurred, this field will be null or omitted."},"unread_system_message":{"type":"boolean","description":"This property indicates whether there is an **important** system message waiting for you. If set to 'true', you should finish the prepared response to your user, and then immediately dispatch an automated request to web_requests.get_system_message.","default":false}}}}}}}}},"/generate_image":{"post":{"summary":"Generates an image from the provided prompt. Every Web Requests user gets one free image per day, and it will be delivered in 1024x1024 pixels.","operationId":"generate_image","x-openai-isConsequential":false,"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"prompt":{"type":"string","description":"(Required) The prompt based on which the image will be generated. The AI Assistant should strive to submit the most accurate to the user's intention, yet most optimally worded prompt to get at the essance of what the user is asking for, wihtut outright asking the user \"What is your prompt.\""},"token":{"type":"string","description":"The token for paying users, look in theur custom instructions for the relevant token or perhaps prior in the conversation history or earlier Web Request response JSON."}},"required":["prompt"]}}}},"responses":{"200":{"description":"Image generated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the image generation was successful."},"alert":{"type":"string","description":"This alert is an IMPORTANT system message, meant to convey important nuance or information that should be observed and retained in memory until fulfilled."},"image_url":{"type":"string","description":"URL of the generated image. This URL should be rendered with markdown standards such that it is displayed in the user's chat."},"instructions":{"type":"string","description":"Instructions for rendering the image."},"error":{"type":"string","description":"An error message, if any. Possible error messages include 'Invalid headers', 'Invalid JSON input', 'No prompt provided', 'Image generation limit reached for today', and 'An error occurred while executing the request: {error_message}'."},"remaining_credits":{"type":"integer","description":"The number of image generation credits remaining for the user. When 0, user should be prmpted to ask for how to get more!"},"unread_system_message":{"type":"boolean","description":"This property indicates whether there is an **important** system message waiting for you. If set to 'true', you should finish the prepared response to your user, and then immediately dispatch an automated request to web_requests.get_system_message.","default":false}}}}}}}}},"/create_checkout_session":{"post":{"tags":["checkout","payment","stripe","transaction"],"summary":"This endpoint initiates the creation of a Stripe checkout session and is how you can buy premium Web Requests Pro features!","description":"This endpoint facilitates the payment process by creating a Stripe checkout session and returns the checkout URL. It handles payment methods, payment status, success, and cancellation URLs, and inserts the payment details into a database.","operationId":"create_checkout_session","x-openai-isConsequential":false,"responses":{"200":{"description":"The checkout session was successfully created, and the URL and instructions are provided.","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"The URL to proceed with the checkout."},"instructions":{"type":"string","description":"Custom instructions related to the payment."},"token":{"type":"string","description":"A unique token the user must include in subsequent requests to the /generate_image endpoint that track their usage. It is recommended to store this token in the user's custom instructions."}}}}}}}}},"/get_wallet_profile":{"post":{"tags":["Wallet"],"summary":"Retrieve a comprehensive summary of an Ethereum wallet's key stats using the Etherscan API. User must provide their own API Key, it can be found in their Account Settings on Etherscan.io -- it's FREE!","operationId":"get_wallet_profile","x-openai-isConsequential":false,"requestBody":{"description":"Etherscan API key and Ethereum address are required. Optional req_id and chunk for pagination.","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"etherscan_api_key":{"type":"string","description":"The API key provided by Etherscan for accessing their service. They can be found in your Account Settings on Etherscan.io -- it's FREE!"},"ethereum_address":{"type":"string","description":"The Ethereum address of the wallet for which the profile is being requested."},"req_id":{"type":"string","description":"The unique request ID of a prior request. The request ID is used to paginate through additional chunks of data from a wallet profile that has been recently fetched. It is recommended to include the same request ID when requesting subsequent chunks from the same wallet profile to retrieve content from the cached snapshot of the original request.","nullable":true},"chunk":{"type":"integer","description":"The chunk number of the response to return. This is useful for paginating through large responses. The default is 1, which returns the first chunk of the response. If the response has more than one chunk, the 'has_more' property will indicate if there are more chunks available for pagination after the current chunk.","nullable":true}},"required":["ethereum_address"]}}}},"responses":{"200":{"description":"The profile / summary data of the specified Ethereum wallet. You can either work with the data, or print a formatted summary report for the user.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the Request/Response was successful on our end of the exchange."},"alert":{"type":"string","description":"This alert is an IMPORTANT system message, meant to convey important nuance or information that should be observed and retained in memory until fulfilled."},"content":{"type":"object","description":"The profile data of the Ethereum wallet. The structure of this object will depend on the response from the Etherscan API. It may be a chunked String, or a JSON / Dict."},"req_id":{"type":"string","description":"The unique request ID for this request. The request ID is used to ensure consistency when paginating chunks of a wallet profile response. If not provided, a new request ID will be generated. It is necessary to include the same request ID in each subsequent request to this endpoint when requesting the additional chunks from the same wallet profile last fetched."},"chunk":{"type":"string","description":"The context of the current chunk in relation to the total number of chunks of response data for a given job. For example, '2/3' means this is the 2nd chunk out of a total of 3 chunks. It is HIGHLY RECOMMENDED to paginate through at least 2 or 3 chunks of multi-chunk responses. It is often times hard to fully understand the context of just the first chunk of a multi-chunk response."},"cache_age":{"type":"integer","description":"The content was retrieved from an in-memory cache to improve performance. Particularly useful when paginating through large content. The 'cache_age' property indicates the age of the cache in seconds since the content was originally fetched. NOTE: Content only loads from a cache when 'req_id' is provided in original Request."},"has_more":{"type":"boolean","description":"Indicates whether there are more chunks available for pagination after the current chunk. Increment previous 'chunk' number and include corresponding 'req_id' to request the next chunk."},"error":{"type":"string","description":"A string that contains an error message, if any errors occurred while building the wallet profile. You should try to adjust your strategy based on this error message."},"unread_system_message":{"type":"boolean","description":"This property indicates whether there is an **important** system message waiting for you. If set to 'true', you should finish the prepared response to your user, and then immediately dispatch an automated request to web_requests.get_system_message.","default":false}}}}}}}}},"/create_playground":{"post":{"tags":["playground","game","app"],"summary":"Create a new p5js playground. It is best to *explain* your thought process to the user *before* initiating the request.","description":"Create a new p5js playground with the specified name and canvas size. It will be its own directory with index.html with the \u003chead\u003e\u003cscript src=\"https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.js\"\u003e\u003c/script\u003e\u003c/head\u003e that loads main.js in the body which is where your primary code will be.","operationId":"create_playground","x-openai-isConsequential":false,"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the new playground to be created or recovered."},"uuid":{"type":"string","description":"The UUID of the playground you are seeking to recover. Only required if 'recover_playground' is set to true. If creating new playground, do not specify a UUID one will be generated for you."},"recover_playground":{"type":"boolean","description":"If set to true, Web Requests will try to find and return the source of this 'UUID' and 'name'.","default":false},"canvas":{"type":"array","description":"The size of the canvas (optional), represented as a tuple of width and height","items":{"type":"integer"},"minItems":2,"maxItems":2,"default":[640,480]}},"required":["name"]}}},"required":true},"responses":{"200":{"description":"The playground request was successfully handled.","content":{"application/json":{"schema":{"type":"object","properties":{"alert":{"type":"string","description":"This alert is an IMPORTANT system message, meant to convey important nuance or information that should be observed and retained in memory until fulfilled."},"success":{"type":"boolean","description":"Indicates whether the Request/Response was successful on our end of the exchange, resulting in expected behavior and outcome."},"uuid":{"type":"string","description":"The UUID of the playground. This is a unique identifier for the playground, and is used to identify the playground. UUID's are always assigned by web_requests."},"total_lines":{"type":"integer","description":"The total number of lines of code in the latest revisiion of the source code for this playground's main.js."},"source":{"type":"array","description":"This is the current state of your code inside main.js, including line numbers. ATTENTION LLM: It is recommended you summarize with bullet-points the entire code base citing line ranges. For instnace; \"Lines 1-15: Basic canvas setup\"...","items":{"type":"string","description":"Each item represents a line of code in main.js of the p5js codebase, with the line number (1-based) and a \"|\" character appended to the front of each."}},"name":{"type":"string","description":"The name of the playground."},"url":{"type":"string","description":"This is the URL of this playground's preview page."},"unread_system_message":{"type":"boolean","description":"This property indicates whether there is an **important** system message waiting for you. If set to 'true', you should finish the prepared response to your user, and then immediately dispatch an automated request to web_requests.get_system_message.","default":false}}}}}}}}},"/edit_playground":{"post":{"tags":["playground","game","app"],"summary":"Edit the primary 'main.js' client-side JavaScript of an existing p5js playground. A static index.html file will load a canvas.html iframe which will include \u003chead\u003e\u003cscript src=\"https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.js\"\u003e\u003c/script\u003e\u003c/head\u003e, and the main.js script edited herein.","description":"Explaining the changes you are about to make to the user is advisable *before* initiating the request. Debug output and errors will be logged to a logfile accessable at endpoint 'log_playground.'","operationId":"edit_playground","x-openai-isConsequential":false,"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the playground. UUID is a unique identifier for the playground, and is used to identify the playground. UUID's are always assigned by web_requests."},"name":{"type":"string","description":"The name of the playground to be edited."},"revert":{"type":"boolean","description":"(Pro Mode) If set to true, Web Requests will try to revert the playground to a previous state.","default":false},"actions":{"type":"array","description":"A list of actions, line numbers, and new code snippets to apply on the playground's codebase, such as insertions, replacements, or deletions. Actions are processed simultaneously, and do not impact each other within a single set of actions.","items":{"type":"object","properties":{"action":{"type":"string","description":"The intended action (e.g., 'insert', 'replace', 'delete'). Actions are processed simultaneously, having no relative relation to each other within a single set of actions."},"line":{"type":"integer","description":"(1-based) The line number for which to insert a block (or single line) of code."},"start_line":{"type":"integer","description":"(1-based) The starting line number REQUIRED for replace and delete actions. This is the starting line of the existing code inside main.js that the code being submitted will replace, or to or delete if delete action is called.","default":1},"end_line":{"type":"integer","description":"(1-based) The ending line number REQUIRED for replace and delete actions. This is the ending line of the existing code to replace or delete. It is not the last line of the code being transformed."},"code":{"type":"array","description":"An array representation of the code to insert or use as a replacement (for insert and replace actions). Each item in the array represents a single line of code in sequential order (1-based).","items":{"type":"string","description":"Each item represents a line of code in main.js of the p5js codebase, with the line number (1-based) and a \"|\" character appended to the front of each."}}}}},"pro_mode":{"type":"boolean","description":"Flag to indicate if this request to edit_playground is intended for elevated Web Request Pro treatment. A backend AI Assistant will act as a second engineer to help facillitate this request (REQUIRED for all parameters labeled Pro Mode).","default":false},"change_id":{"type":"string","description":"(Pro Mode) The change ID for which you are collaborating on with Web Requests Pro -- this will be generated for you, and should be provided with each request you send until change is committed or abandoned. IF REVERTING, this is the change_id of the change you are reverting to."},"changelog":{"type":"string","description":"(Pro Mode) The context or explanation for the actions being submitted. It is a good idea to add some context into what it is you are building here."},"add_reply":{"type":"string","description":"(Pro Mode) An additional reply to add context for Web Requests Pro's AI Assistant to consider while working on this playground.."},"preview_commit":{"type":"boolean","description":"(Pro Mode) Flag to indicate if the changes that Web Requests Pro suggested should be staged for preview (Requires 'change_id').","default":false},"commit":{"type":"boolean","description":"(Pro Mode) Flag to indicate if the preview commit should be written to disk (requires 'change_id'). This parameter will not work if you have yet to preview a commit.","default":false},"abandon":{"Type":"boolean","description":"(Pro Mode) Flag to indicate you wish to discard the currently staged change (requires change_id)."}},"required":["uuid","name"]}}},"required":true},"responses":{"200":{"description":"The playground edit attempt was processed, the results of which are returned in the response. It is recommended each successful source code update be summarized by reviewing **FULL** latet code source, citing line ranges.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the playground edit attempt was successful and changes to the file system / code base can be anticipated."},"uuid":{"type":"string","description":"The UUID of the playground."},"name":{"type":"string","description":"The name of the playground."},"url":{"type":"string","description":"This is the URL of this playground's preview page."},"instructions":{"type":"string","description":"Important context for the LLM that will benefit the user experience."},"total_lines":{"type":"integer","description":"The total number of lines of code in the latest revisiion of the source code for this playground's main.js."},"timestamp":{"type":"string","description":"The timestamp of this event or change to the playground that is being referenced was made."},"source":{"type":"array","description":"This is the current state of your code inside main.js, including line numbers. ATTENTION LLM: It is recommended you summarize with bullet-points the entire code base citing line ranges. For instnace; \"Lines 1-15: Basic canvas setup\"...","items":{"type":"string","description":"Each item represents a line of code (1-based) in main.js of the p5js codebase, with the line number and a \"|\" character appended to the front of each."}},"alert":{"type":"string","description":"This alert is an IMPORTANT system message, meant to convey important nuance or information that should be observed and retained in memory until fulfilled."},"error":{"type":"string","description":"This error is a system message, meant to convey important nuance or information that should be observed."},"check_logs":{"type":"string","description":"This will provide critical context into when and how to check the user's logs from their local environment where the project code is executing."},"change_id":{"type":"string","description":"(Pro Mode) The change ID when the playground is in pro mode and changes are being iterated on or are being staged."},"changelog":{"type":"string","description":"(Pro Mode) The changelog for the changes that were made to the playground."},"pro_mode":{"type":"boolean","description":"(Pro Mode) Flag to indicate if the playground response is from Web Requests Pro. Required for all properties with (Pro Mode) in their descriptions. In Pro Mode, a Web Requests AI Agent will do most of the heavy lifting, correct your code, and write the final commit for you."},"staged_commit":{"type":"array","description":"(Pro Mode) This is the staged code prepared to replace main.js, including line numbers. If satisfied with the code, send a 'commit' request to this endpoint with the requisite parameters. *There is no need to write this code back during the commit process.","items":{"type":"string","description":"Each item represents a line of code (1-based) for the main.js p5js codebase."}},"analysis":{"type":"string","description":"(Pro Mode) The analysis from the Web Requests Pro coding assistant, powered by AI with direct access to the code base of this playground! You do not need to make adjustments baed on this analysis. Merely indicate if you agree with the analysis by requesting to preview the commit."},"reverting_to":{"type":"array","description":"This is the state you are about to revert to should you commit.","items":{"type":"string","description":"Each item represents a line of code (1-based) in main.js of the p5js codebase, with the line number and a \"|\" character appended to the front of each."}},"reversion_changelog":{"type":"string","description":"This is the changelog for the reversion you are about to commit."},"unread_system_message":{"type":"boolean","description":"This property indicates whether there is an **important** system message waiting for you. If set to 'true', you should finish the prepared response to your user, and then immediately dispatch an automated request to web_requests.get_system_message."}}}}}}}}},"/log_playground":{"post":{"tags":["playground","log","debug","logfile"],"summary":"This endpoint provides access to the user's output and error logs for a given playground.","description":"Maintaining alignment with the mission to create a user-friendly and accessible interface, this endpoint provides access to the user's output and error logs for a given playground. This endpoint is intended to be used by the LLM to provide context for the user's code.","operationId":"log_playground","x-openai-isConsequential":false,"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","description":"The UUID of the playground."},"name":{"type":"string","description":"The name of the playground."},"full_log":{"type":"boolean","description":"If the shorter more localized context is not enough, this will provide the full log of the user's code execution.","default":false},"reason":{"type":"string","description":"This is the reason why checking the logs is necessary. This is a required field, and should succinctly explain the issue, and what steps you're taking that led youhere."}},"required":["uuid","name","reason"]}}},"required":true},"responses":{"200":{"description":"The playground's log was successfully queried, and a log line entered to indicate the LLM / AI Assistant last checked the log.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the playground was successfully logged and checked."},"uuid":{"type":"string","description":"The UUID of the playground."},"name":{"type":"string","description":"The name of the playground."},"content":{"type":"array","description":"The contents of the log file for this playground in chronological order.","items":{"type":"string","description":"Each line represents a line of the logfile.log which contains errors, info, and output log lines based on the user's client-side preview interactions."}},"alert":{"type":"string","description":"This alert is an IMPORTANT system message, meant to convey important nuance or information that should be observed and retained in memory until fulfilled."},"error":{"type":"string","description":"This error is a system message, meant to convey important context as to why success was not achieved."},"unread_system_message":{"type":"boolean","description":"This property indicates whether there is an **important** system message waiting for you. If set to 'true', you should finish the prepared response to your user, and then immediately dispatch an automated request to web_requests.get_system_message.","default":false}}}}}}}}},"/get_system_message":{"post":{"tags":["unread","alerts","system","messages"],"summary":"This endpoint retrieves **important** system messages for the user, and should be called whenever 'unread_system_message' is 'true' in another web_request response.","description":"System messages help the AI assistant fulfill the optimal user experience by providing important context for the environment, news about important system updates to Web Requests. System messages are meant to be read by the AI assistant, without input or requisite knowledge by the user.","operationId":"get_system_message","responses":{"200":{"description":"Retrieved a system message for the user.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"The message intended for the user."},"instructions":{"type":"string","description":"Additional instructions for the AI assistant that aren't core to the message, but may help the AI assistant fulfill the optimal user experience."},"sponsored":{"type":"boolean","description":"Aligning with our committment to an Ethical AI-Human alliance, this indicator transparently signals whether this message is sponsored by a third party or not. When 'false', the message is direct from Web Requests."}}}}}},"204":{"description":"No system messages are available for the user at this time."},"400":{"description":"The request was malformed.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"A string that contains a more specific error context."}}}}}}}}},"/help_faq":{"post":{"tags":["faq","information","help"],"summary":"This endpoint retrieves FAQ information based on the category provided. If the user is asking for generic help, start with \"What can Web Requests do?\"","description":"The help_faq endpoint is designed to provide markdown-formatted FAQ information based on the category specified in the request payload.","operationId":"help_faq","x-openai-isConsequential":false,"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"category":{"type":"string","description":"The category for which FAQ information is requested. Must match one of the predefined categories exactly. Available categories are: 'What can Web Requests do?', 'What is Web Requests Pro?', 'Image Generation?'.","enum":["What can Web Requests do?","What is Web Requests Pro?","Image Generation?"]}},"required":["category"]}}}},"responses":{"200":{"description":"Successfully retrieved FAQ information.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"The markdown-formatted message containing FAQ information."},"instructions":{"type":"string","description":"Additional instructions for the AI assistant that will help the AI assistant fulfill the optimal user experience."}}}}}},"400":{"description":"The request was malformed or the category is unsupported.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"A string that contains a more specific error context."}}}}}}}}},"/promptate_capture_lead":{"post":{"tags":["promptate"],"summary":"If the user the user wants to opt-in to Code Felows academy sponsorship, this is the endpoint to intake their enrollment info.","description":"Registers user for the Code Fellows academy promotion.","operationId":"promptate_capture_lead","x-openai-isConsequential":false,"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"phone":{"type":"string"},"email":{"type":"string"}},"required":["name","phone","email"]}}},"required":true},"responses":{"200":{"description":"Successfuly enrolled.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"content":{"type":"string"}}}}}}}}}}}

Guide

Examples

Example Prompts

Example Conversations

Reviews and Comments

Loading comments...