{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":682308998,"defaultBranch":"main","name":"shellChatGPT","ownerLogin":"mountaineerbr","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-08-23T22:36:48.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/92537363?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1692830209.402465","currentOid":""},"activityList":{"items":[{"before":"744494c9388841791521da3a6435f3b8ddeedc60","after":"6d6432f06120a21f1fd7ba81a71090ef83a90041","ref":"refs/heads/main","pushedAt":"2024-05-17T22:26:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Update `~/.chatgpt.conf`, expose `$OPTMD` for markdown option (0,1).\n\n---","shortMessageHtmlLink":"Update ~/.chatgpt.conf, expose $OPTMD for markdown option (0,1)."}},{"before":"79def9be9657a086d4e9149759a650e5e2882a21","after":"744494c9388841791521da3a6435f3b8ddeedc60","ref":"refs/heads/main","pushedAt":"2024-05-17T21:42:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Update documentation.\n\nMD code in README.md\n\n---","shortMessageHtmlLink":"Update documentation."}},{"before":"1a68a3cbbb84ea13b54bc4028c44c3a17228b487","after":"79def9be9657a086d4e9149759a650e5e2882a21","ref":"refs/heads/main","pushedAt":"2024-05-17T21:37:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Update documentation.\n\nAdd some python modules that are optional.\n\n---","shortMessageHtmlLink":"Update documentation."}},{"before":"f28f801670dfa6738071be4dd70b35c9791a84f8","after":"1a68a3cbbb84ea13b54bc4028c44c3a17228b487","ref":"refs/heads/main","pushedAt":"2024-05-17T21:02:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"if python markdown module is not found, then do not use it and do not print errors\n\nthis is optionally oused for tts function in chat mode.\n\n---\nHere’s a concise commit message for the `bash chatgpt.sh` script update:\n\n```\nHandle missing Python markdown module gracefully.\n```\n\nIn the developer comments: \"if python markdown module is not found, then do not use it and do not print errors\". The diff output shows that instead of printing errors and exiting with a non-zero status (`sys.exit(2)`), it handles the missing module by not using it.\n\nNote: It's important to ensure the implementation aligns with the requirement—handling the exception without exiting and without printing errors. If more adjustments are needed to match this behavior exactly, you might need to adjust the code inside the try-except block accordingly. For instance:\n\n```python\ntry:\n import markdown\n from bs4 import BeautifulSoup\nexcept ImportError:\n markdown = None # or any other appropriate handling\n ```\n\nThis change avoids exiting or printing errors, inline with the developer comments provided.","shortMessageHtmlLink":"if python markdown module is not found, then do not use it and do not…"}},{"before":"7feabf40e6fad3033565f9e00abb001e77dfe65b","after":"f28f801670dfa6738071be4dd70b35c9791a84f8","ref":"refs/heads/main","pushedAt":"2024-05-17T20:17:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Update code in ttsf() to split input that is longer than 4096 chars (OpenAI).\n\nThe code for splitting the input in various audio files was just so out-dated! I cannot even believe the code logic with the variables was so astray.. I remember that it worked correctly at one point in time..\n\nWell, I guess it makespart of the recently updating ttsf() fun, which is really a newer function than the other ones.. LOL\n\nAlso, it shall print user feedback \"Max Response / Capacity tokens\" when options -cc are set with -zw when the script is invoked...\n\n---\nCommit Message:\n```\nUpdate ttsf(): Split input longer than 4096 chars and add feedback for -cc with -zw options.\n```\n\nThe updated commit message highlights key areas:\n\n1. Modified `ttsf()` function to handle input string splitting when longer than 4096 characters.\n2. Added user feedback printing \"Max Response / Capacity tokens\" when options -cc are set with -zw during script invocation.\n\nThis concise commit message ensures clarity without repeating what's already in the developer comments and diff output.","shortMessageHtmlLink":"Update code in ttsf() to split input that is longer than 4096 chars (…"}},{"before":"90befa134e70080141718e5f9514ae3a9081242d","after":"7feabf40e6fad3033565f9e00abb001e77dfe65b","ref":"refs/heads/main","pushedAt":"2024-05-17T17:17:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Adjust TTS interface (option -z) with less verbose (option -vv).\n\nMinor adjustments to improve the TTS UX.\n\nAlso, dont edit \"!sh [cmd]\" output by defaults.\n\nAnd change what we record in the shell history. We will not record the output of \"!sh\" command anymore (which may be big!).\n\n---\n```\nImprove TTS interface and update history handling\n\nSimplified TTS options (-z, -vv) for better UX.\nAvoid recording large output of \"!sh\" in shell history.\n```","shortMessageHtmlLink":"Adjust TTS interface (option -z) with less verbose (option -vv)."}},{"before":"9c82412e5ee849ff8ba6f80da8c76dc5d6780457","after":"90befa134e70080141718e5f9514ae3a9081242d","ref":"refs/heads/main","pushedAt":"2024-05-17T02:29:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Fix the chat command `-S [PROMPT]` to set the System Prompt.\n\n---\n```\nUpdate bash chatgpt.sh script\n\nDeveloper comments: Fix the chat command `-S [PROMPT]` to set the System Prompt.\n```","shortMessageHtmlLink":"Fix the chat command -S [PROMPT] to set the System Prompt."}},{"before":"ea76ec70c12f7bfefb41ade78d88b3dd5c996c44","after":"9c82412e5ee849ff8ba6f80da8c76dc5d6780457","ref":"refs/heads/main","pushedAt":"2024-05-16T23:12:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Fixed regressions: complete refactor of functions to record to history file only after a response is received.\n\nThis code refactoring has begun about 3 months ago and has been improving along the time.\n\nSome bugs were not apparent from the start. We heavily relied on the history file recording and reading system to compose the request blocks, and that means some functions that depended on this system working correctly did not work correctly.\n\nIt is hard to check for issues of this kind because they are only visible in script execution, and afterwards in the history file record (~/.cache/chatgpt.tsv file).\n\nThis was hard work but it is worth the effort because now it would be trivial to have a multi-turn session without recording to disk. Such an implementation is beyond my needs right now, that is just a hypothesis.\n\nNow, the last commit update divides break_sessionf() routines and creates a _break_sessionf(). We actually only record to disk now when we are about to record the first and valid text response.\n\nThis improves how others function work. They expect the last session of a history file to be accessible, meaning that adding a \"SESSION BREAK\" mark in the history file unnecessarily just blocks access to the last session in a clean manner.\n\nThe facility of typing in a new user prompt \": [text]\" and \":: [text]\", to append user or system text without making the request, were broken since the above-mentioned code refactor started (about 3 months ago).\n\nNow that the buffering system is aligned and working properly, these facilities and working again.\n\nHowever, these functions now work a little differently than before. I think that they should work comparably well, with minor diference in how we prepare the request body.\n\nThe \"::: [text]\" syntax is removed because it would only work in text completions mode, anyways, and this was the most code-expensive function with little reward, so just deprecated.\n\nText injection of prompts can be done manually done with \"/hist\" to edit current chat history live.\n\nCommands \"!url: [url]\" and \"!sh: [cmd]\" were also not working correctly before. Now they work and are better implemented a little.\n\nAs these changes are somewhat relevant for some specific (and little used, if I may say so) features, this might not have warranted new big release number, but I thought it appropriate to draw attention to the new version to avoid any possible user prompt not being recorded correctly to the history file anymore...\n\n---\n```txt\nRefactor commit message for bash script update\n\n- Optimized history file recording mechanism.\n- Improved \": [text]\" and \":: [text]\" user/system prompt appending.\n- Deprecated \"::: [text]\" syntax.\n- Enhanced command \"!url: [url]\" and \"!sh: [cmd]\" functionality.\n\nUpdate version to v0.58.4.\n\nDeveloper comments:\n```","shortMessageHtmlLink":"Fixed regressions: complete refactor of functions to record to histor…"}},{"before":"ce6a4dd9bb2ef25508b8b1cf16536cb4de663921","after":"ea76ec70c12f7bfefb41ade78d88b3dd5c996c44","ref":"refs/heads/main","pushedAt":"2024-05-15T22:04:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"This improves printing out the last session option -HH\n\nWhen there is a break session mark but no content afterward. This change has to do with the code refactor of 3 months ago when we set to record to a history file only after a response. This is a leftover adjustment to that.\n\n---\n```\nUpdate chatgpt.sh: Improve session handling by removing break marks\n\nDeveloper comments: This improves printing out the last session option -HH\n\nWhen there is a break session mark but no content afterward. This change has to do with the code refactor of 3 months ago when we set to record to a history file only after a response. This is a leftover adjustment to that.\n```","shortMessageHtmlLink":"This improves printing out the last session option -HH"}},{"before":"8aa0e054466cc21dad946c7f32c564e9f3589f3e","after":"ce6a4dd9bb2ef25508b8b1cf16536cb4de663921","ref":"refs/heads/main","pushedAt":"2024-05-15T21:45:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Update glob to match gemini-1.5-flash-latest as multimodal.\n\nIt seems that gemini-1.5-pro-latest sometiems says it doe snot recognise images, although it should. The script code is right, but these models are not stable, it seems.\n\n---\nUpdate glob to match gemini-1.5-flash-latest as multimodal","shortMessageHtmlLink":"Update glob to match gemini-1.5-flash-latest as multimodal."}},{"before":"4f0c9789c5f1f17d403b000b6cb82156978f021e","after":"8aa0e054466cc21dad946c7f32c564e9f3589f3e","ref":"refs/heads/main","pushedAt":"2024-05-15T17:38:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Improve some internal functions of the script for better UI and UX.\n\nImproved is_txtfilef() to be sure input is a text file. This is needed for something else later.\n\nAdd new is_audiof() function to make pair with other functions of the same type.\n\nIn whisperf(), change ksh glob comparion test [[ ]] with the new is_audiof() function which uses a case glob matching (for pos args 1 and last as input).\n\nThis should make it load a text file as text prompt for Whisper, and also let a filename for the output file to be set without bad interference.\n\nImprove __set_outfmtf() globbing a little more..\n\nImprove start up code that loads the last argument from command line as text prompt if that is a text file. Now, if last argument is not a text file, then try setting the first positional argument as text if that is a vallid text file and path. This should generally improve how the script works in this regard for all functions, I cannot see how it can create a conflict with the other script functions, specially now that is_txtfilef() is improved.\n\n---\n**Commit Message:**\n```\nUpdate bash chatgpt.sh: enhance function checks and improve UI/UX\n\n- Improved is_txtfilef()\n- Added is_audiof() function\n- Updated whisperf() to use is_audiof()\n- Enhanced __set_outfmtf() globbing\n- Refined argument handling for text prompts\n```\n\nThis concise message captures the key changes made to the `chatgpt.sh` script, summarizing the main updates without going into unnecessary detail.","shortMessageHtmlLink":"Improve some internal functions of the script for better UI and UX."}},{"before":"6c2b0488cf7819c76f8e67321fec0ac591a37ec0","after":"4f0c9789c5f1f17d403b000b6cb82156978f021e","ref":"refs/heads/main","pushedAt":"2024-05-15T16:01:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Fix setting custom filename for TTS output audio.\n\nWe will only set a new name automatically if there is a file with such a name in the target directory.\n\nImprove how new names are generated in the same function.\n\nImprove the globbing for detecting a filename in user input a little in another function.\n\nAdd a python function to remove markdown from input.\n\nFinally, remove markdown from answer before submitting it to TTS. Because as I am working with GoogleAI and it returns text heavily marked down, OpenAI model stutters a little when there is a lot of markdown.\n\nIf the python function fails, and the user has pandoc, I think most dont, then we shall use pandoc. Pandoc is a little slower than the python function to remove the markdown. Basically, they convert markdown to markup, and then remove html.\n\n---\n### Commit Message\n```\nUpdate bash chatgpt.sh script: Improve TTS filename handling and add markdown removal\n\n- Fix setting custom filename for TTS output audio by auto-generating new names if existing files are found.\n- Enhance filename generation method within existing function.\n- Refine globbing to detect a filename in user input more effectively.\n- Add Python function to strip markdown from input before TTS submission.\n- Default to using pandoc for markdown removal if the Python function fails, improving compatibility.\n```\n\n### Explanation\nHere's a breakdown of the changes:\n1. **Fix for Custom Filename in TTS Output**:\n - Amendments were made to handle cases where there is already a file with the same name in the target directory.\n - Improved filename generation logic ensures that new filenames are automatically created sequentially if needed.\n\n2. **Enhanced Filename Generation Logic**:\n - Optimized the existing function to ensure filenames are generated correctly and consistently.\n\n3. **Better Filename Detection in Inputs**:\n - Updated globbing patterns to improve how filenames in user inputs are identified and handled.\n\n4. **Python Function to Remove Markdown**:\n - A new Python function `unmarkdownf` is introduced that converts markdown to plain text, thus resolving text-to(length)","shortMessageHtmlLink":"Fix setting custom filename for TTS output audio."}},{"before":"097e1a1e48b9770abb77b0559597c7ed325c920b","after":"6c2b0488cf7819c76f8e67321fec0ac591a37ec0","ref":"refs/heads/main","pushedAt":"2024-05-14T20:46:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"2x Improve how the command \"/markdown\" toggles in chat mode.\n\nMake the new function routine to run as a fork to avoid any possible interference with the main environment.\n\nThis is just out of precation code.\n\n---\n### Commit Message\n\n```\nImprove /markdown command toggle in chat mode; isolate routine in a fork to prevent interference\n```\n\n### Explanation\n\nThis commit message concisely summarizes the key changes made:\n\n1. **\"Improve /markdown command toggle in chat mode\"**: Indicates an enhancement in the handling of the `/markdown` command toggle, specifically targeting its behavior within the chat mode.\n\n2. **\"Isolate routine in a fork to prevent interference\"**: Highlights the introduction of a forked process for the new function routine. This ensures that it runs independently, minimizing the risk of affecting the main environment.\n\n### Developer's Comments\n\nThe diff output shows a modification in the code where the command associated with toggling `/markdown` has been altered:\n\n- The original implementation was:\n ```bash\n ((OPTMD)) || OPTMD=1 cmd_runf //\"${args[@]}\"\n ```\n\n- The new implementation is:\n ```bash\n ((OPTMD)) || (OPTMD=1 cmd_runf //\"${args[@]}\")\n ```\n\nThis change emphasizes the encapsulation of `OPTMD=1 cmd_runf` within a subshell (using parentheses), effectively isolating it and preventing potential disruptions to the primary environment.\n\nBy for(length)","shortMessageHtmlLink":"2x Improve how the command \"/markdown\" toggles in chat mode."}},{"before":"54775f936a7ff7737aeb580cc813059bfd8f466d","after":"097e1a1e48b9770abb77b0559597c7ed325c920b","ref":"refs/heads/main","pushedAt":"2024-05-14T20:28:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Improve how the command \"/markdown\" toggles in chat mode.\n\nAs I am working with Google-gemini a lot, many of its responses are in markdown, and Ifound it would better if /md can toggle markdown on AND also print the last response in markdown in case this option was not set before.\n\n---\nCertainly! Here's a concise commit message that encapsulates the changes made, along with developer comments:\n\n```\nImprove /markdown toggle and response output\n\nUpdated chatgpt.sh to enhance the /markdown toggle command. If not\npreviously activated, /md now enables markdown and prints the last\nresponse in markdown format.\n\nDeveloper Comments: As I frequently use Google-gemini, which often\nreturns markdown responses, this update allows /md to toggle markdown\non and display the last response if the option wasn't already set.\n```","shortMessageHtmlLink":"Improve how the command \"/markdown\" toggles in chat mode."}},{"before":"4ce10564fb5df8d0029e82e3afbc147c9b1133a3","after":"54775f936a7ff7737aeb580cc813059bfd8f466d","ref":"refs/heads/main","pushedAt":"2024-05-14T17:00:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Minor improvements. Documentation minor improvement.\n\nAfter dumping an URL text in chat with \"!url [url]\", when asked if user wants to edit buffer, TAB and SPACE will also lead to text editor, and ESC will skip editing, going to request.\n\n---\nHere is a concise commit message that includes important changes made to the `bash chatgpt.sh` script:\n\n```\nUpdate chatgpt.sh script\n\n- Updated version to v0.57.14\n- Rearranged API keys for better clarity\n- Enhanced buffer edit prompt:\n - TAB and SPACE now lead to text editor\n - ESC skips editing and proceeds to request\n- Minor documentation improvements\n```\n\nThis commit message captures the essence of the changes made without omitting any critical pieces of information.","shortMessageHtmlLink":"Minor improvements. Documentation minor improvement."}},{"before":"b29dce80897dd93f693e14923e796c41a8910809","after":"4ce10564fb5df8d0029e82e3afbc147c9b1133a3","ref":"refs/heads/main","pushedAt":"2024-05-14T00:03:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Improve handling the -v (less verbose) option in chat mode.\n\nSet ttsf() function to timeout on 2 seconds to repeat the response playback when less verbose option -v is set in chat mode.\n\nAlso, reset colour after response is print completed\n\n---\nHere is a concise yet descriptive commit message that covers the main changes mentioned in the developer comments and the provided DIFF output:\n\n```\nUpdate chatgpt.sh: Improved -v handling, added ttsf timeout, reset color\n\n- Improved handling of -v (less verbose) option in chat mode.\n- Set ttsf() function to timeout on 2 seconds for response playback when -v.\n- Reset color after response print completion.\n\n# v0.57.13 may/2024 by mountaineerbr GPL+3\n- Adjusted _p_suffixf to include reset.\n- Refined verbose option handling and chat environment checks.\n- Added condition to set var=1 when OPTV is true.\n- Removed unnecessary OPTV assignment in MOD_SPEECH section.\n```","shortMessageHtmlLink":"Improve handling the -v (less verbose) option in chat mode."}},{"before":"92f69f88a7bcb45a38a2abf63e289ae662d1444b","after":"b29dce80897dd93f693e14923e796c41a8910809","ref":"refs/heads/main","pushedAt":"2024-05-13T23:23:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Improve GoogleAI multimodality with gemini-1.5-pro models.\n\nGoogle gemini-pro-vision cannot accept multi-turn request blocks, whereas gemini-1.5-pro models can.\n\nAdjusting that!\n\nAlso, optimise jq code for recent fix of finish-reson comining with an empty string rather than null from LocalAI and Ollama servers...\n\nMake sure GoogleAi users see error message that URL of images are not supported in any models at the moment. Only if they are stored in Google Cloud, but I dont use that!\n\n---\n**Commit Message:**\n```\nUpdate bash chatgpt.sh script to improve multimodality with gemini-1.5-pro models and optimize jq code\n\nImproved GoogleAI handling by allowing multi-turn requests for gemini-1.5-pro models, which are different compared to gemini-pro-vision. Optimized the jq expression to handle finish-reason coming as an empty string. Added error message for unsupported image URLs in GoogleAI.\n\nComments:\n\n- Adjusted error messages for GoogleAI users on unsupported image URLs.\n- Included gemini-1.5-pro* and multimodal* in model conditions.\n- Refined finish_reason check for recent fix integration.\n\nDetails:\n\nDiff Output:\n\n 3c3\n< # v0.57.11 may/2024 by mountaineerbr GPL+3\n---\n> # v0.57.12 may/2024 by mountaineerbr GPL+3\n902c902\n< \t + if .finish_reason? != \\\"stop\\\" then (if .finish_reason? != null then (if .finish_reason? != \\\"\\\" then red+\\\"(\\\"+.finish_reason+\\\")\\\"+byellow else null end) else null end) else null end,\n(length)","shortMessageHtmlLink":"Improve GoogleAI multimodality with gemini-1.5-pro models."}},{"before":"77d7207f76a8cdca412ae347e70aa084f9a1ed76","after":"92f69f88a7bcb45a38a2abf63e289ae662d1444b","ref":"refs/heads/main","pushedAt":"2024-05-13T18:48:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Add better gpt-4o compatibility.\n\nImprove globs for future \"gpt-4[a-z]\" models, and possibly gpt-5\n\n---\nHere's a concise and complete commit message considering the important changes:\n\n```\nUpdate chatgpt.sh script to v0.57.11: Enhance model compatibility\n\n- Improved glob patterns for gpt-4[a-z]* and future gpt-[5-9]* models.\n- Changed multimodal format in model-name presentation.\n- Improved model checks for GPT versions.\n\nDeveloper notes:\nAdd better gpt-4o compatibility.\nImprove globs for future \"gpt-4[a-z]\" models, and possibly gpt-5.\n```","shortMessageHtmlLink":"Add better gpt-4o compatibility."}},{"before":"0d32c24e6e6b457a9dac80b7d2abb38cc03153d8","after":"77d7207f76a8cdca412ae347e70aa084f9a1ed76","ref":"refs/heads/main","pushedAt":"2024-05-13T18:36:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Update to have gpt-4o set maxa model capacity to 128K.\n\nAlso, update Tiktoken to have the new o-token counting...\n\n---\nCommit Message:\n```\nUpdate bash chatgpt.sh to v0.57.10: Set gpt-4o max model capacity to 128K; Update Tiktoken for new o-token counting.\n```\n\nDescription:\n- `bash chatgpt.sh` script is updated to version 0.57.10.\n- Added support for model `gpt-4o` with a maximum capacity of 128,000 tokens by modifying the regex match pattern.\n- Updated Tiktoken functionality to handle the new o-token counting methodology.","shortMessageHtmlLink":"Update to have gpt-4o set maxa model capacity to 128K."}},{"before":"423e62c225ef00210c01d83b3035c0cf79adf613","after":"0d32c24e6e6b457a9dac80b7d2abb38cc03153d8","ref":"refs/heads/main","pushedAt":"2024-05-13T17:22:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Just a small speed improvement in the code for loading image / url on error printing when input has tab substitutions for the shell to perform.\n\n---\nHere is a suggested concise commit message that captures the essence of the changes based on the provided developer's comment and the diff output:\n\n```\nOptimize image/URL error handling in chatgpt.sh by streamlining tab substitution logic\n\n- Bump version from 0.57.8 to 0.57.9.\n- Refine the process of tab substitutions in error printing to improve speed.\n```\n\nThis commit message starts with a brief summary of the change, focusing on the functionality affected (image/URL error handling) and the nature of the improvement (optimization and streamlining). It then succinctly lists the specific changes, including the version increment and a detailed note on the adjustment made for tab substitutions. Such a message is useful in clearly communicating the intent and scope of the update to other developers and stakeholders who may be reviewing the commit history.","shortMessageHtmlLink":"Just a small speed improvement in the code for loading image / url on…"}},{"before":"bf238afda47f4cc3abf283eda184d57d6f5ea302","after":"423e62c225ef00210c01d83b3035c0cf79adf613","ref":"refs/heads/main","pushedAt":"2024-05-13T15:55:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Improve Whisper options while recoding voice input.\n\nSome features were being tested for a long time, and it should now be time to expose these features to the user.\n\nSo, we can press r while recording to restart recording, w to turn whisper off, and e to edit as text one-shot.\n\nAlso change the error message when using multimodal models and just say multimodal function found an invalid input to load as object, which then will prevent it from trying to continue loading further images / urls from user input..\n\n---\nHere is a concise and informative commit message that highlights significant changes made to the `chatgpt.sh` script based on the diff output provided:\n\n```\nUpdated chatgpt.sh to enhance voice control and error handling\n\n- Incremented version number to v0.57.8\n- Enhanced Whisper mode options, allowing users to toggle whisper by pressing 'w' and reset record using 'r'\n- Introduced editing text via pressing 'e' without breaking recording flow\n- Refined error messages for multimodal function to better handle invalid inputs and prevent unwanted loading of further data\n- Streamlined user interface prompts for recording states\n```\n\nThis commit message accurately summarizes the major modifications including feature additions and improvements to user interactions while clarifying error handling adjustments.","shortMessageHtmlLink":"Improve Whisper options while recoding voice input."}},{"before":"f11d6454cf7a917fb395dba84ee5b9362a4852d8","after":"bf238afda47f4cc3abf283eda184d57d6f5ea302","ref":"refs/heads/main","pushedAt":"2024-05-13T14:34:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Improve how $REPLY_OLD is set. *Unescape the function json output*.\n\nIf the Continue option -C is set, we will set $REPLY_OLD from the last Question recorded in the history file. This improves using the regenerate response functions when running the script on different history files (sessions from different history files).\n\nNote that we will load the the last Question from the history file even if that is a killed line (starts with a comment \"#\").. This should be a little better than grepping `grep -ve \"^#\"` to get the last uncommented Question entry, I reckon, for some user interface behaviours on regenerate...\n\n---\nCommit Message:\n\n```\nUpdate setting of $REPLY_OLD and enhance JSON output unescaping\n\n- Improve setting of $REPLY_OLD by utilizing the last recorded question from history files, accommodating sessions with different history inputs.\n- Modify JSON output handling by integrating unescape functionality to provide cleaner data processing.\n- Maintain functionality even for lines commented out in session histories, enhancing UI behaviors on regeneration responses.\n```\n\n### Description of the Changes:\n1. The selected code snippet adjustments address both usability improvements and technical enhancements:\n - By changing how `$REPLY_OLD` is set, it allows the script to better manage and utilize previous session data even from commented lines which may be a more optimal approach than filtering out such lines.\n - The addition of an `unescapef function` wrapped around the `hist_lastlinef` output ensures that any special characters or structured data in JSON format are correctly interpreted, improving the robustness of data handling.\n\n2. The version bump in the header from `v0.57.6` to `v0.57.7` indicates a minor revision, appropriate for the scope of changes that refine functionality without introducing major new features.\n\nThis commit message and the corresponding code updates should succinctly convey the essence of the modifications ensuring all significant adjustments(length)","shortMessageHtmlLink":"Improve how $REPLY_OLD is set. *Unescape the function json output*."}},{"before":"1ff82f299c881cfe8549850992ace11af0de2a06","after":"f11d6454cf7a917fb395dba84ee5b9362a4852d8","ref":"refs/heads/main","pushedAt":"2024-05-13T14:22:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Improve how $REPLY_OLD is set.\n\nIf the Continue option -C is set, we will set $REPLY_OLD from the last Question recorded in the history file. This improves using the regenerate response functions when running the script on different history files (sessions from different history files).\n\nNote that we will load the the last Question from the history file even if that is a killed line (starts with a comment \"#\").. This should be a little better than grepping `grep -ve \"^#\"` to get the last uncommented Question entry, I reckon, for some user interface behaviours on regenerate...\n\n---\nCommit Message:\n```\nUpdate chatgpt.sh to enhance $REPLY_OLD handling and session continuity\n\n- Modify setting of $REPLY_OLD to utilize last Question from history file, improving session continuity across different history files.\n- Improve handling of lines starting with \"#\" in history files for $REPLY_OLD setting.\n- Adjust sed and grep usage to better manage session data and support -C option functionality.\n- Refine script version and minor code adjustments for consistency.\n```\n\nThis commit message succinctly captures the essence of the changes made, specifically focusing on the improvements in how `$REPLY_OLD` is set and the considerations for handling comments in history files. It also notes the technical adjustments made to the script for enhancing session management.","shortMessageHtmlLink":"Improve how $REPLY_OLD is set."}},{"before":"25cc6625e96eff149c39d7fcb06c82ec05fc7b83","after":"1ff82f299c881cfe8549850992ace11af0de2a06","ref":"refs/heads/main","pushedAt":"2024-05-13T02:05:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Improve checking and loading images in mutimodal models.\n\nSo we wont be too forgiving when trying to load images to multimodal models -- we will stop loading images / urls on the first error.\n\nAlso improve checking of possible image / urls, they cannot have an unescaped newline between significant chars while there are processed in the function.\n\n---\nCommit message:\n\n```\nUpdate chatgpt.sh to enhance image loading in multimodal models\n\n- Enforce stricter image/url validation to prevent processing entries with unescaped newlines.\n- Halt image/url loading on the first encountered error to improve reliability.\n- Minor code cleanup by removing unnecessary variables.\n\nDIFF provided indicates key logic adjustments for improved error handling and validation checks.\n```\n\nThis commit message succinctly captures the essence of the changes made to the script, highlighting the improvements in error handling and validation for image/url loading in multimodal models. It also notes a minor code cleanup.","shortMessageHtmlLink":"Improve checking and loading images in mutimodal models."}},{"before":"9ad73f9a90e80c8873d5dd15aa861755b96b0c60","after":"25cc6625e96eff149c39d7fcb06c82ec05fc7b83","ref":"refs/heads/main","pushedAt":"2024-05-12T18:32:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Fix using MistralAI token count at the end of json.\n\nFixed the MistralAI variable that allows for MistralAI json be checked for prompt and response tokens extraction correctly.\n\nImprove soem checking code, and add some commentsin code.\n\n---\n```\nUpdate chatgpt.sh to v0.57.4: Enhance MistralAI token handling\n\n- Fixed MistralAI token count verification in JSON responses.\n- Improved token check logic and added function `response_tknf` for extracting token information.\n- Additional comments added for clarity.\n```","shortMessageHtmlLink":"Fix using MistralAI token count at the end of json."}},{"before":"4731a3cecb9db96d9f5fe0ba06b766e45944cb24","after":"9ad73f9a90e80c8873d5dd15aa861755b96b0c60","ref":"refs/heads/main","pushedAt":"2024-05-11T17:15:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Optimise break_sessionf() function.\n\nIf there are very very long data recorded in the last 20 lines of the history file, the glob test will never take a long time to finish because we limit the testing var to 10K chars or so of length..\n\n---\nCommit message:\n\n```\nOptimize break_sessionf() function for efficiency\n\n- Updated version to 0.57.3 and adjusted author credits.\n- Modified break_sessionf() to handle very long data more efficiently in chatgpt.sh.\n- Added logic to limit tail variable to the last 10K characters if it exceeds 12K, ensuring faster glob tests on large history files.\n```\n\n### Breakdown of Commit Contents:\n\n1. **Version and Author Credit Update:**\n - Updated the script's version number from 0.57.2 to 0.57.3 and included the date and author information.\n\n2. **Functionality Optimization:**\n - The core change involves the `break_sessionf()` function. Previously, it used to check the last 20 lines of a file to find a pattern directly. This method could become inefficient with extensive data.\n\n3. **Efficiency Improvement:**\n - Introduced a new approach:\n - Store the last 20 lines of the target file in `tail`.\n - If the length of `tail` exceeds 12,000 characters, trim it to keep only the last 10,000 characters.\n - This makes the pattern search within `BREAK${tail}` much faster for large(length)","shortMessageHtmlLink":"Optimise break_sessionf() function."}},{"before":"8e443c7e0ee39b77c20e6c3e040c3efa31f39d6f","after":"4731a3cecb9db96d9f5fe0ba06b766e45944cb24","ref":"refs/heads/main","pushedAt":"2024-05-11T16:39:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"Improve logic for printing \"SESSION BREAK\" mark, and chat command `-S.prompt` has error improved.\n\nIt will now print SESSION BREAK to user on new sessions even if there is already a SESSION BREAK mark in the history file! Make it consistent for the user to know when it is a fresh session.\n\n---\n```\nUpdate v0.57.2: Enhanced session break logic and fixed `-S.prompt` command error\n\n- Improved consistency in printing \"SESSION BREAK\" for new sessions.\n- Resolved an error in handling `-S.prompt` command, ensuring correct parsing of arguments.\n- Adjusted session break detection to accommodate whitespace variations.\n```","shortMessageHtmlLink":"Improve logic for printing \"SESSION BREAK\" mark, and chat command `-S…"}},{"before":"4a7a0476dc70c41bde0e441ef1a8480bf3f10e4c","after":"8e443c7e0ee39b77c20e6c3e040c3efa31f39d6f","ref":"refs/heads/main","pushedAt":"2024-05-11T04:29:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"readme.md sync","shortMessageHtmlLink":"readme.md sync"}},{"before":"aebff4de66ee9cd3d772038cdf5b8e538a1168cd","after":"4a7a0476dc70c41bde0e441ef1a8480bf3f10e4c","ref":"refs/heads/main","pushedAt":"2024-05-11T04:26:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"readme.md sync","shortMessageHtmlLink":"readme.md sync"}},{"before":"771727f2152c9d215881ac18c3afb0d6cc80b6d9","after":"aebff4de66ee9cd3d772038cdf5b8e538a1168cd","ref":"refs/heads/main","pushedAt":"2024-05-11T04:15:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bionota","name":"JSN","path":"/bionota","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84939133?s=80&v=4"},"commit":{"message":"readme.md sync","shortMessageHtmlLink":"readme.md sync"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAETVXOagA","startCursor":null,"endCursor":null}},"title":"Activity · mountaineerbr/shellChatGPT"}