So now when zsh has a history entry with multiple lines, it will display correctly like so:
Hostname CWD Timestamp Runtime Exit Code Command
Davids-MacBook-Air.local ~/code/hishtory Oct 14 2022 23:06:06 PDT 1.621s 1 while :; do ls; done
Davids-MacBook-Air.local ~/code/hishtory Oct 14 2022 23:04:24 PDT 22.768s 130 hishtory query while
Davids-MacBook-Air.local ~/code/hishtory Oct 14 2022 23:04:24 PDT 1.258s 0 hishtory query while
Davids-MacBook-Air.local ~/code/hishtory Oct 14 2022 23:04:19 PDT 2.065s 0 while :
do
ls
done
Davids-MacBook-Air.local ~/code/hishtory Oct 14 2022 23:03:18 PDT 628ms 0 ./hishtory query while
Davids-MacBook-Air.local ~/code/hishtory Oct 14 2022 23:03:15 PDT 717ms 0 hishtory query while
Currently the SLSA verifier is meant to be used a standalone binary. I copied a bit of code from their main (and imported the rest of their code as a library) in order to support embedding it as a library. This ensures that the updated hishtory passes SLSA L3.
This required adding the ability to have hishtory run synchronously to avoid reconditions. I also added additional waiting code. Also a whole bunch of new tests and disabled gorm's default logger which also caued flakeyness