{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":739653614,"defaultBranch":"main","name":"ai-functions","ownerLogin":"aaronik","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-01-06T05:54:10.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1324601?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1705089786.0","currentOid":""},"activityList":{"items":[{"before":"81262fd1170bf495696cb03b4e963e6d9e958ea1","after":"a0c3bf3dcc3244e890de240a15a63692d2e6dc65","ref":"refs/heads/main","pushedAt":"2024-03-29T21:57:02.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Fix bug in crawl_web\n\nBefore this fix, the LLM was just repeating the purpose. Now it actually\nfulfills it.","shortMessageHtmlLink":"Fix bug in crawl_web"}},{"before":"d223c2d6c6961f4787656146cd66071d14108030","after":"81262fd1170bf495696cb03b4e963e6d9e958ea1","ref":"refs/heads/main","pushedAt":"2024-02-17T01:41:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Add clarifying comment","shortMessageHtmlLink":"Add clarifying comment"}},{"before":"4cf122ffe071f1905259bf04480eeb95684b7cf6","after":"d223c2d6c6961f4787656146cd66071d14108030","ref":"refs/heads/main","pushedAt":"2024-02-17T01:40:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Make some more tweaks to the primary prompt messages","shortMessageHtmlLink":"Make some more tweaks to the primary prompt messages"}},{"before":"b659bca8d2d93fbcc958006e8e8bf875efbe8902","after":"4cf122ffe071f1905259bf04480eeb95684b7cf6","ref":"refs/heads/main","pushedAt":"2024-02-16T23:46:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Major prompt update\n\n* Shifts a lot of focus from tool descriptions to top level messages.\n I think this goes faster, and is a bit more reliable.\n Gives the LLM more context about what I'm using it for.\n\n* Remove `info` tool\n The scaffolding still exists so it can be brought back if desired,\n but it's redundant with the llm providing a regular message response.\n The thinking was it was positively biasing using echo like\n functionality, when the desired default is print -z\n\n* Clean tests more\n Specifically the prompt test data file - this is a lot more clear now.","shortMessageHtmlLink":"Major prompt update"}},{"before":"9a080d30cd725efd368bbbc4926a02682eaebca0","after":"b659bca8d2d93fbcc958006e8e8bf875efbe8902","ref":"refs/heads/main","pushedAt":"2024-02-16T23:45:32.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Major prompt update\n\n* Shifts a lot of focus from tool descriptions to top level messages.\n I think this goes faster, and is a bit more reliable.\n Gives the LLM more context about what I'm using it for.\n\n* Remove `info` tool\n The scaffolding still exists so it can be brought back if desired,\n but it's redundant with the llm providing a regular message response.\n The thinking was it was positively biasing using echo like\n functionality, when the desired default is print -z\n\n* Clean tests more\n Specifically the prompt test data file - this is a lot more clear now.","shortMessageHtmlLink":"Major prompt update"}},{"before":"2cc3aa1e012d10f8b23ebafa73403f8132cda340","after":"9a080d30cd725efd368bbbc4926a02682eaebca0","ref":"refs/heads/main","pushedAt":"2024-02-10T02:37:14.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Dial prompts in a little bit","shortMessageHtmlLink":"Dial prompts in a little bit"}},{"before":"76c51faebeece7974b148912f872ebf7dfec6147","after":"2cc3aa1e012d10f8b23ebafa73403f8132cda340","ref":"refs/heads/main","pushedAt":"2024-02-09T21:00:13.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Migrate from pure shell to go interop\n\nI've been developing this app further in a separate repo (Aaronik/ai).\nIt uses go as the main driver. This has helped primarily in two ways:\n\n1) It makes it much easier to test. Having a fully fledged programming\n language has allowed me to write much more detailed tests.\n2) It handles weird JSON much better than jq. Over the course of this\n whole project, coercing jq to accept openai's json has been a pain.\n Before this commit, many responses errored out and gave a bunch of\n gross stuff in the terminal. Now it all works swimmingly.\n\nIt does require `go` to be installed on a person's computer now, which\nis certainly a limitation. But overall it's much more stable and robust,\nso I think it's worthwhile.","shortMessageHtmlLink":"Migrate from pure shell to go interop"}},{"before":"7111f47fee18dc07816c83da9129bacf6042467a","after":"76c51faebeece7974b148912f872ebf7dfec6147","ref":"refs/heads/main","pushedAt":"2024-01-29T21:10:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Do more work on tests, prompt, error handling\n\nWith dubious effect.\n\nThis commit removes extract_raw, and breaks some of the things it was\ngood for. But it makes the json sanitization a lot better, so hopefully\nit's a bit of a toss up at worst.","shortMessageHtmlLink":"Do more work on tests, prompt, error handling"}},{"before":"8e8b1b927482236c7eccb03336b0bfea3d00d469","after":"7111f47fee18dc07816c83da9129bacf6042467a","ref":"refs/heads/main","pushedAt":"2024-01-29T18:44:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Solidify web crawling\n\nIt's still not quite there yet though. The lynx dumps are way too\nverbose for any models to handle","shortMessageHtmlLink":"Solidify web crawling"}},{"before":"cf4df4802daf7270728728a299dd13da9006cd13","after":"8e8b1b927482236c7eccb03336b0bfea3d00d469","ref":"refs/heads/main","pushedAt":"2024-01-27T20:21:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Clean up some old comments","shortMessageHtmlLink":"Clean up some old comments"}},{"before":"80c2786805d05aa2c574b7813b9f6281727e486e","after":"cf4df4802daf7270728728a299dd13da9006cd13","ref":"refs/heads/main","pushedAt":"2024-01-27T17:39:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Speed up crawl_web integration specs","shortMessageHtmlLink":"Speed up crawl_web integration specs"}},{"before":"b01514b21646bffdc013e1286a887dc01c359819","after":"80c2786805d05aa2c574b7813b9f6281727e486e","ref":"refs/heads/main","pushedAt":"2024-01-27T17:23:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Parameterize integration tests\n\nThis should make it really easy to incrementally add test prompts here\nand there and test that the correct function is being called","shortMessageHtmlLink":"Parameterize integration tests"}},{"before":"2fb89e80b54ffee19d0b19322460d6c1363acbbd","after":"b01514b21646bffdc013e1286a887dc01c359819","ref":"refs/heads/main","pushedAt":"2024-01-26T20:12:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Make some integration tests for ai\n\nAllow ai to iterate over all web crawl requests","shortMessageHtmlLink":"Make some integration tests for ai"}},{"before":"72ccc5c1ac94fc8263041a2a56de10004ef17910","after":"2fb89e80b54ffee19d0b19322460d6c1363acbbd","ref":"refs/heads/main","pushedAt":"2024-01-26T20:08:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Make some integration tests for ai\n\nAllow ai to iterate over all web crawl requests","shortMessageHtmlLink":"Make some integration tests for ai"}},{"before":"f963b7ad9d251e0cccfbf5837e0f92ebf90d8141","after":"72ccc5c1ac94fc8263041a2a56de10004ef17910","ref":"refs/heads/main","pushedAt":"2024-01-26T17:27:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Add rudimentary web crawling abilities","shortMessageHtmlLink":"Add rudimentary web crawling abilities"}},{"before":"9c01371acdddf84c79c05f7f36dce59601bb515f","after":"f963b7ad9d251e0cccfbf5837e0f92ebf90d8141","ref":"refs/heads/main","pushedAt":"2024-01-26T17:26:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Add rudimentary web crawling abilities","shortMessageHtmlLink":"Add rudimentary web crawling abilities"}},{"before":"4fb0c3bb80fac60dbcd2fde9da8fa16b8b91c6f4","after":"9c01371acdddf84c79c05f7f36dce59601bb515f","ref":"refs/heads/main","pushedAt":"2024-01-26T17:24:58.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Add rudimentary web crawling abilities","shortMessageHtmlLink":"Add rudimentary web crawling abilities"}},{"before":"6afa905f011c38f17fc04da54bf1486ee477edbe","after":"4fb0c3bb80fac60dbcd2fde9da8fa16b8b91c6f4","ref":"refs/heads/main","pushedAt":"2024-01-25T00:01:09.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Little more cleaning","shortMessageHtmlLink":"Little more cleaning"}},{"before":"499cc6906dc6a4f10c26618a88a3a4821613cff5","after":"6afa905f011c38f17fc04da54bf1486ee477edbe","ref":"refs/heads/main","pushedAt":"2024-01-24T22:21:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Factor the non jq extraction logic","shortMessageHtmlLink":"Factor the non jq extraction logic"}},{"before":"567a28f8201072c1c4e605c716cf392ef8f7d070","after":"499cc6906dc6a4f10c26618a88a3a4821613cff5","ref":"refs/heads/main","pushedAt":"2024-01-24T22:17:24.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Add specs for dependency checks","shortMessageHtmlLink":"Add specs for dependency checks"}},{"before":"4c3dea60c20ddb29dd34a7c87b15de28de88ed2f","after":"567a28f8201072c1c4e605c716cf392ef8f7d070","ref":"refs/heads/main","pushedAt":"2024-01-24T19:36:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Allow model to be changed via env var","shortMessageHtmlLink":"Allow model to be changed via env var"}},{"before":"36491decf18cc7801e6294953b4af72e0ae773c3","after":"4c3dea60c20ddb29dd34a7c87b15de28de88ed2f","ref":"refs/heads/main","pushedAt":"2024-01-24T04:34:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Twiddle readme","shortMessageHtmlLink":"Twiddle readme"}},{"before":"432046e166a37ddc91b6ad6dab892cf9ba390a92","after":"36491decf18cc7801e6294953b4af72e0ae773c3","ref":"refs/heads/main","pushedAt":"2024-01-24T04:34:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Clean up a little.\n\nAlso add an attempt to get printz a little more robust.","shortMessageHtmlLink":"Clean up a little."}},{"before":"4395804c9cd8e95b13e73cdc6c78b3858f7724e9","after":"432046e166a37ddc91b6ad6dab892cf9ba390a92","ref":"refs/heads/main","pushedAt":"2024-01-23T23:20:37.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Clean up a little.\n\nAlso add an attempt to get printz a little more robust.","shortMessageHtmlLink":"Clean up a little."}},{"before":"b5e3cff4d659538f79d2cacecd05025a70d0a165","after":"4395804c9cd8e95b13e73cdc6c78b3858f7724e9","ref":"refs/heads/main","pushedAt":"2024-01-12T20:03:32.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Make some tweaks:\n\nUpdate the prompt quite a bit. It now performs better for:\n\n* Calling the correct function\n* Not calling printz('echo ...') where ... is info it could have just\n echo'd\n\nAlso update some comments for clarity, and move error handling to end up\n\"switch\" statement","shortMessageHtmlLink":"Make some tweaks:"}},{"before":null,"after":"4395804c9cd8e95b13e73cdc6c78b3858f7724e9","ref":"refs/heads/dev","pushedAt":"2024-01-12T20:03:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Make some tweaks:\n\nUpdate the prompt quite a bit. It now performs better for:\n\n* Calling the correct function\n* Not calling printz('echo ...') where ... is info it could have just\n echo'd\n\nAlso update some comments for clarity, and move error handling to end up\n\"switch\" statement","shortMessageHtmlLink":"Make some tweaks:"}},{"before":"c44f323a88cfeba04ba9bacc2f5039f29e3013ba","after":"b5e3cff4d659538f79d2cacecd05025a70d0a165","ref":"refs/heads/main","pushedAt":"2024-01-09T18:04:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Fix some ai commands so they work on mac\n\nApparently test doesn't have == in mac, but = is the same\n\nAnd uname has -s instead of -o.","shortMessageHtmlLink":"Fix some ai commands so they work on mac"}},{"before":"f18557822e90cb9f005bcf521249de88b7cb2457","after":"c44f323a88cfeba04ba9bacc2f5039f29e3013ba","ref":"refs/heads/main","pushedAt":"2024-01-07T20:27:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Bring image creation into the mix.\n\nYou can now ask it to create an image and it'll do that for you.\n\nThe functions api is really amazing.","shortMessageHtmlLink":"Bring image creation into the mix."}},{"before":"3c57cc3ae6774c4bfeb1f77bbf8a2a64abd78013","after":"f18557822e90cb9f005bcf521249de88b7cb2457","ref":"refs/heads/main","pushedAt":"2024-01-07T08:19:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Expand the capabilities of ai\n\nNow, instead of only generating a bash command to do something,\nit utilizes the openai function calling feature to either put a bash\ncommand on the command buffer, or to just echo something to the\nterminal.\n\nHopefully this forms as a basis to also include other functions, like\nimage generation.","shortMessageHtmlLink":"Expand the capabilities of ai"}},{"before":"212d04feb42a08f84d190e61b09c089977a3e88f","after":"3c57cc3ae6774c4bfeb1f77bbf8a2a64abd78013","ref":"refs/heads/main","pushedAt":"2024-01-06T07:09:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aaronik","name":"Aaron Sullivan","path":"/aaronik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1324601?s=80&v=4"},"commit":{"message":"Build a nice house for ai functions\n\nI've copy/pasted these functions to friends and coworkers. I've emailed\nthem and put them in slack. I've made a gist of them with some\nexplanation. Always asking people to copy/paste them into their .zshrc.\n\nWell that ends now.\n\nNow, they live in a nice place. A place that's:\n* easy to bring into your local environment\n* easy to remove from your local environment\n* easy to publish and get updates","shortMessageHtmlLink":"Build a nice house for ai functions"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMy0yOVQyMTo1NzowMi4wMDAwMDBazwAAAAQi_2Mv","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMy0yOVQyMTo1NzowMi4wMDAwMDBazwAAAAQi_2Mv","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMS0wNlQwNzowOToxMS4wMDAwMDBazwAAAAPZF9-5"}},"title":"Activity ยท aaronik/ai-functions"}