@alpic80/rivet-cli 1.24.0-aidon.8 β†’ 1.24.2-aidon.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -117,57 +117,60 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
117
117
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/gogwilt"><img src="https://avatars.githubusercontent.com/u/448108?v=4?s=100" width="100px;" alt="Cai GoGwilt"/><br /><sub><b>Cai GoGwilt</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=gogwilt" title="Code">πŸ’»</a> <a href="#business-gogwilt" title="Business development">πŸ’Ό</a> <a href="#ideas-gogwilt" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#maintenance-gogwilt" title="Maintenance">🚧</a> <a href="#promotion-gogwilt" title="Promotion">πŸ“£</a> <a href="https://github.com/Ironclad/rivet/pulls?q=is%3Apr+reviewed-by%3Agogwilt" title="Reviewed Pull Requests">πŸ‘€</a> <a href="https://github.com/Ironclad/rivet/issues?q=author%3Agogwilt" title="Bug reports">πŸ›</a></td>
118
118
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/teddycoleman"><img src="https://avatars.githubusercontent.com/u/15386324?v=4?s=100" width="100px;" alt="Teddy Coleman"/><br /><sub><b>Teddy Coleman</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=teddycoleman" title="Code">πŸ’»</a> <a href="https://github.com/Ironclad/rivet/issues?q=author%3Ateddycoleman" title="Bug reports">πŸ›</a></td>
119
119
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/tberman"><img src="https://avatars.githubusercontent.com/u/183738?v=4?s=100" width="100px;" alt="Todd Berman"/><br /><sub><b>Todd Berman</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=tberman" title="Code">πŸ’»</a> <a href="https://github.com/Ironclad/rivet/issues?q=author%3Atberman" title="Bug reports">πŸ›</a></td>
120
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/AryamanAgrawal"><img src="https://avatars.githubusercontent.com/u/107009412?v=4?s=100" width="100px;" alt="Aryaman Agrawal"/><br /><sub><b>Aryaman Agrawal</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=AryamanAgrawalIronclad" title="Code">πŸ’»</a> <a href="https://github.com/Ironclad/rivet/commits?author=AryamanAgrawalIronclad" title="Documentation">πŸ“–</a> <a href="#ideas-AryamanAgrawalIronclad" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#promotion-AryamanAgrawalIronclad" title="Promotion">πŸ“£</a> <a href="https://github.com/Ironclad/rivet/issues?q=author%3AAryamanAgrawalIronclad" title="Bug reports">πŸ›</a></td>
120
121
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/a-rothwell"><img src="https://avatars.githubusercontent.com/u/12634659?v=4?s=100" width="100px;" alt="Andrew Rothwell"/><br /><sub><b>Andrew Rothwell</b></sub></a><br /><a href="#tutorial-a-rothwell" title="Tutorials">βœ…</a> <a href="https://github.com/Ironclad/rivet/commits?author=a-rothwell" title="Documentation">πŸ“–</a> <a href="https://github.com/Ironclad/rivet/commits?author=a-rothwell" title="Code">πŸ’»</a></td>
121
122
  <td align="center" valign="top" width="14.28%"><a href="http://twitter.com/dominiccooney"><img src="https://avatars.githubusercontent.com/u/55120?v=4?s=100" width="100px;" alt="Dominic Cooney"/><br /><sub><b>Dominic Cooney</b></sub></a><br /><a href="#ideas-dominiccooney" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="https://github.com/Ironclad/rivet/issues?q=author%3Adominiccooney" title="Bug reports">πŸ›</a></td>
122
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/ankrgyl"><img src="https://avatars.githubusercontent.com/u/565363?v=4?s=100" width="100px;" alt="Ankur Goyal"/><br /><sub><b>Ankur Goyal</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=ankrgyl" title="Documentation">πŸ“–</a> <a href="https://github.com/Ironclad/rivet/commits?author=ankrgyl" title="Code">πŸ’»</a></td>
123
123
  </tr>
124
124
  <tr>
125
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/ankrgyl"><img src="https://avatars.githubusercontent.com/u/565363?v=4?s=100" width="100px;" alt="Ankur Goyal"/><br /><sub><b>Ankur Goyal</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=ankrgyl" title="Documentation">πŸ“–</a> <a href="https://github.com/Ironclad/rivet/commits?author=ankrgyl" title="Code">πŸ’»</a></td>
125
126
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/scottbessler"><img src="https://avatars.githubusercontent.com/u/293802?v=4?s=100" width="100px;" alt="Scott Bessler"/><br /><sub><b>Scott Bessler</b></sub></a><br /><a href="#example-scottbessler" title="Examples">πŸ’‘</a> <a href="https://github.com/Ironclad/rivet/commits?author=scottbessler" title="Code">πŸ’»</a> <a href="https://github.com/Ironclad/rivet/issues?q=author%3Ascottbessler" title="Bug reports">πŸ›</a></td>
126
127
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/meeow"><img src="https://avatars.githubusercontent.com/u/18222559?v=4?s=100" width="100px;" alt="Brandon Hong"/><br /><sub><b>Brandon Hong</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=meeow" title="Code">πŸ’»</a> <a href="https://github.com/Ironclad/rivet/issues?q=author%3Ameeow" title="Bug reports">πŸ›</a></td>
127
128
  <td align="center" valign="top" width="14.28%"><a href="https://swimburger.net"><img src="https://avatars.githubusercontent.com/u/3382717?v=4?s=100" width="100px;" alt="Niels Swimberghe"/><br /><sub><b>Niels Swimberghe</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=Swimburger" title="Code">πŸ’»</a> <a href="https://github.com/Ironclad/rivet/commits?author=Swimburger" title="Documentation">πŸ“–</a> <a href="https://github.com/Ironclad/rivet/issues?q=author%3ASwimburger" title="Bug reports">πŸ›</a></td>
128
129
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/tcgj"><img src="https://avatars.githubusercontent.com/u/7994529?v=4?s=100" width="100px;" alt="Terence C"/><br /><sub><b>Terence C</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=tcgj" title="Code">πŸ’»</a></td>
129
130
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/tbrodahl-ironclad"><img src="https://avatars.githubusercontent.com/u/142630410?v=4?s=100" width="100px;" alt="Thomas Brodahl"/><br /><sub><b>Thomas Brodahl</b></sub></a><br /><a href="#design-tbrodahl-ironclad" title="Design">🎨</a></td>
130
131
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/Jkwok0714"><img src="https://avatars.githubusercontent.com/u/28716303?v=4?s=100" width="100px;" alt="Justin Kwok"/><br /><sub><b>Justin Kwok</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/issues?q=author%3AJkwok0714" title="Bug reports">πŸ›</a></td>
131
- <td align="center" valign="top" width="14.28%"><a href="https://meebleforp.com/"><img src="https://avatars.githubusercontent.com/u/445650?v=4?s=100" width="100px;" alt="Zhang Yi Jiang"/><br /><sub><b>Zhang Yi Jiang</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=ZhangYiJiang" title="Documentation">πŸ“–</a></td>
132
132
  </tr>
133
133
  <tr>
134
+ <td align="center" valign="top" width="14.28%"><a href="https://meebleforp.com/"><img src="https://avatars.githubusercontent.com/u/445650?v=4?s=100" width="100px;" alt="Zhang Yi Jiang"/><br /><sub><b>Zhang Yi Jiang</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=ZhangYiJiang" title="Documentation">πŸ“–</a></td>
134
135
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/Crystalix007"><img src="https://avatars.githubusercontent.com/u/4603729?v=4?s=100" width="100px;" alt="Michael Kuc"/><br /><sub><b>Michael Kuc</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=Crystalix007" title="Code">πŸ’»</a></td>
135
136
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/eltociear"><img src="https://avatars.githubusercontent.com/u/22633385?v=4?s=100" width="100px;" alt="Ikko Eltociear Ashimine"/><br /><sub><b>Ikko Eltociear Ashimine</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=eltociear" title="Documentation">πŸ“–</a></td>
136
137
  <td align="center" valign="top" width="14.28%"><a href="http://ohshutit.com"><img src="https://avatars.githubusercontent.com/u/54246375?v=4?s=100" width="100px;" alt="HU$H"/><br /><sub><b>HU$H</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=hushaudio" title="Code">πŸ’»</a> <a href="#ideas-hushaudio" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
137
138
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/kcwhite"><img src="https://avatars.githubusercontent.com/u/3812801?v=4?s=100" width="100px;" alt="kcwhite"/><br /><sub><b>kcwhite</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=kcwhite" title="Documentation">πŸ“–</a></td>
138
139
  <td align="center" valign="top" width="14.28%"><a href="https://gentrace.ai"><img src="https://avatars.githubusercontent.com/u/1203039?v=4?s=100" width="100px;" alt="Vivek Nair"/><br /><sub><b>Vivek Nair</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=viveknair" title="Code">πŸ’»</a> <a href="https://github.com/Ironclad/rivet/commits?author=viveknair" title="Documentation">πŸ“–</a> <a href="https://github.com/Ironclad/rivet/issues?q=author%3Aviveknair" title="Bug reports">πŸ›</a></td>
139
140
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/CongYun22"><img src="https://avatars.githubusercontent.com/u/115971962?v=4?s=100" width="100px;" alt="δΈ›δΊ‘"/><br /><sub><b>δΈ›δΊ‘</b></sub></a><br /><a href="#ideas-CongYun22" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
140
- <td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/vianneystroebel/"><img src="https://avatars.githubusercontent.com/u/628818?v=4?s=100" width="100px;" alt="Vianney Stroebel"/><br /><sub><b>Vianney Stroebel</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/issues?q=author%3Avibl" title="Bug reports">πŸ›</a></td>
141
141
  </tr>
142
142
  <tr>
143
+ <td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/vianneystroebel/"><img src="https://avatars.githubusercontent.com/u/628818?v=4?s=100" width="100px;" alt="Vianney Stroebel"/><br /><sub><b>Vianney Stroebel</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/issues?q=author%3Avibl" title="Bug reports">πŸ›</a></td>
143
144
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/advisely"><img src="https://avatars.githubusercontent.com/u/29242247?v=4?s=100" width="100px;" alt="HumanBot"/><br /><sub><b>HumanBot</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/issues?q=author%3Aadvisely" title="Bug reports">πŸ›</a></td>
144
145
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/bradstallion"><img src="https://avatars.githubusercontent.com/u/37795833?v=4?s=100" width="100px;" alt="bradstallion"/><br /><sub><b>bradstallion</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/issues?q=author%3Abradstallion" title="Bug reports">πŸ›</a></td>
145
146
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/Wannabeasmartguy"><img src="https://avatars.githubusercontent.com/u/107250451?v=4?s=100" width="100px;" alt="Wannabeasmartguy"/><br /><sub><b>Wannabeasmartguy</b></sub></a><br /><a href="#ideas-Wannabeasmartguy" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
146
147
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/mhamadeus"><img src="https://avatars.githubusercontent.com/u/77891233?v=4?s=100" width="100px;" alt="mhamadeus"/><br /><sub><b>mhamadeus</b></sub></a><br /><a href="#ideas-mhamadeus" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
147
148
  <td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/moalturfi/"><img src="https://avatars.githubusercontent.com/u/71999644?v=4?s=100" width="100px;" alt="Mohamed Alturfi"/><br /><sub><b>Mohamed Alturfi</b></sub></a><br /><a href="#maintenance-altaiiiir" title="Maintenance">🚧</a></td>
148
149
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/kojikeneda"><img src="https://avatars.githubusercontent.com/u/2552616?v=4?s=100" width="100px;" alt="kojikeneda"/><br /><sub><b>kojikeneda</b></sub></a><br /><a href="#ideas-kojikeneda" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
149
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/Sandesh-Pyakurel"><img src="https://avatars.githubusercontent.com/u/82999440?v=4?s=100" width="100px;" alt="Sandesh Pyakurel"/><br /><sub><b>Sandesh Pyakurel</b></sub></a><br /><a href="#maintenance-Sandesh-Pyakurel" title="Maintenance">🚧</a></td>
150
150
  </tr>
151
151
  <tr>
152
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/Sandesh-Pyakurel"><img src="https://avatars.githubusercontent.com/u/82999440?v=4?s=100" width="100px;" alt="Sandesh Pyakurel"/><br /><sub><b>Sandesh Pyakurel</b></sub></a><br /><a href="#maintenance-Sandesh-Pyakurel" title="Maintenance">🚧</a></td>
152
153
  <td align="center" valign="top" width="14.28%"><a href="http://www.linkedin.com/in/jasonlgill"><img src="https://avatars.githubusercontent.com/u/241711?v=4?s=100" width="100px;" alt="Jason Gill"/><br /><sub><b>Jason Gill</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/issues?q=author%3Ajasongill" title="Bug reports">πŸ›</a></td>
153
154
  <td align="center" valign="top" width="14.28%"><a href="https://andriydruk.com"><img src="https://avatars.githubusercontent.com/u/1927559?v=4?s=100" width="100px;" alt="Andriy Druk"/><br /><sub><b>Andriy Druk</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/issues?q=author%3Aandriydruk" title="Bug reports">πŸ›</a></td>
154
155
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/bardia-pourvakil"><img src="https://avatars.githubusercontent.com/u/132475166?v=4?s=100" width="100px;" alt="bardia-pourvakil"/><br /><sub><b>bardia-pourvakil</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=bardia-pourvakil" title="Documentation">πŸ“–</a></td>
155
156
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/Cinerar"><img src="https://avatars.githubusercontent.com/u/120550?v=4?s=100" width="100px;" alt="Cinerar"/><br /><sub><b>Cinerar</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=Cinerar" title="Documentation">πŸ“–</a></td>
156
157
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/vpckso"><img src="https://avatars.githubusercontent.com/u/40294053?v=4?s=100" width="100px;" alt="Kit"/><br /><sub><b>Kit</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=vpckso" title="Code">πŸ’»</a></td>
157
158
  <td align="center" valign="top" width="14.28%"><a href="https://reactgular.com"><img src="https://avatars.githubusercontent.com/u/50146659?v=4?s=100" width="100px;" alt="Nick Foscarini"/><br /><sub><b>Nick Foscarini</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=codemile" title="Code">πŸ’»</a> <a href="https://github.com/Ironclad/rivet/commits?author=codemile" title="Documentation">πŸ“–</a></td>
158
- <td align="center" valign="top" width="14.28%"><a href="https://chang.com"><img src="https://avatars.githubusercontent.com/u/969364?v=4?s=100" width="100px;" alt="Wayne Chang"/><br /><sub><b>Wayne Chang</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=wayne-chang" title="Code">πŸ’»</a></td>
159
159
  </tr>
160
160
  <tr>
161
+ <td align="center" valign="top" width="14.28%"><a href="https://chang.com"><img src="https://avatars.githubusercontent.com/u/969364?v=4?s=100" width="100px;" alt="Wayne Chang"/><br /><sub><b>Wayne Chang</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=wayne-chang" title="Code">πŸ’»</a></td>
161
162
  <td align="center" valign="top" width="14.28%"><a href="http://twitter.com/lou7s"><img src="https://avatars.githubusercontent.com/u/35469434?v=4?s=100" width="100px;" alt="loui7"/><br /><sub><b>loui7</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=loui7" title="Code">πŸ’»</a></td>
162
163
  <td align="center" valign="top" width="14.28%"><a href="https://aschen.tech"><img src="https://avatars.githubusercontent.com/u/4447392?v=4?s=100" width="100px;" alt="Adrien Maret"/><br /><sub><b>Adrien Maret</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=Aschen" title="Code">πŸ’»</a></td>
163
164
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/ShravanSunder"><img src="https://avatars.githubusercontent.com/u/5294949?v=4?s=100" width="100px;" alt="Shravan Sunder"/><br /><sub><b>Shravan Sunder</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=ShravanSunder" title="Code">πŸ’»</a></td>
164
165
  <td align="center" valign="top" width="14.28%"><a href="https://www.liaujianjie.com"><img src="https://avatars.githubusercontent.com/u/3143132?v=4?s=100" width="100px;" alt="Liau Jian Jie"/><br /><sub><b>Liau Jian Jie</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=liaujianjie" title="Code">πŸ’»</a></td>
165
166
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/d-debrock"><img src="https://avatars.githubusercontent.com/u/38040249?v=4?s=100" width="100px;" alt="d-debrock"/><br /><sub><b>d-debrock</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=d-debrock" title="Code">πŸ’»</a></td>
166
167
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/cyppan"><img src="https://avatars.githubusercontent.com/u/1446201?v=4?s=100" width="100px;" alt="Cyprien Pannier"/><br /><sub><b>Cyprien Pannier</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=cyppan" title="Code">πŸ’»</a></td>
167
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/StephenGrider"><img src="https://avatars.githubusercontent.com/u/5003903?v=4?s=100" width="100px;" alt="Stephen Grider"/><br /><sub><b>Stephen Grider</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=StephenGrider" title="Code">πŸ’»</a> <a href="#ideas-StephenGrider" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#maintenance-StephenGrider" title="Maintenance">🚧</a></td>
168
168
  </tr>
169
169
  <tr>
170
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/StephenGrider"><img src="https://avatars.githubusercontent.com/u/5003903?v=4?s=100" width="100px;" alt="Stephen Grider"/><br /><sub><b>Stephen Grider</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=StephenGrider" title="Code">πŸ’»</a> <a href="#ideas-StephenGrider" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#maintenance-StephenGrider" title="Maintenance">🚧</a></td>
171
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/suhail-ak-s"><img src="https://avatars.githubusercontent.com/u/157091287?v=4?s=100" width="100px;" alt="Suhail AK"/><br /><sub><b>Suhail AK</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=suhail-ak-s" title="Code">πŸ’»</a></td>
170
172
  <td align="center" valign="top" width="14.28%"><a href="http://getenter.ai"><img src="https://avatars.githubusercontent.com/u/65794514?v=4?s=100" width="100px;" alt="Juliano Amadeu"/><br /><sub><b>Juliano Amadeu</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=julianolm" title="Code">πŸ’»</a> <a href="#ideas-julianolm" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
173
+ <td align="center" valign="top" width="14.28%"><a href="http://valerypopoff.ru"><img src="https://avatars.githubusercontent.com/u/5064630?v=4?s=100" width="100px;" alt="Valera Popov"/><br /><sub><b>Valera Popov</b></sub></a><br /><a href="https://github.com/Ironclad/rivet/commits?author=valerypopoff" title="Code">πŸ’»</a></td>
171
174
  </tr>
172
175
  </tbody>
173
176
  </table>
package/bin/cli.js CHANGED
@@ -3,7 +3,6 @@ import yargs from 'yargs';
3
3
  import { hideBin } from 'yargs/helpers';
4
4
  import { makeCommand as makeRunCommand, run } from './commands/run.js';
5
5
  import { makeCommand as makeServeCommand, serve } from './commands/serve.js';
6
- console.log('>>> CLI ENTRY REACHED');
7
6
  await yargs(hideBin(process.argv))
8
7
  .command('run <projectFile> [graphName]', 'Run a graph in a project file, or the main graph if graphName is not specified.', (y) => makeRunCommand(y), (args) => run(args))
9
8
  .command('serve [projectFile]', 'Serve a project file as a REST API.', (y) => makeServeCommand(y), (args) => serve(args))
@@ -19,13 +19,11 @@ export function makeCommand(y) {
19
19
  })
20
20
  .option('port', {
21
21
  describe: 'The port to serve on',
22
- type: 'number',
23
- default: 3000,
22
+ type: 'number'
24
23
  })
25
24
  .option('dev', {
26
25
  describe: 'Run in development mode: rereads the project file on each request',
27
- type: 'boolean',
28
- default: false,
26
+ type: 'boolean'
29
27
  })
30
28
  .option('graph', {
31
29
  describe: 'The ID or name of the graph to run. If omitted, the main graph is used.',
@@ -34,8 +32,7 @@ export function makeCommand(y) {
34
32
  })
35
33
  .option('allow-specifying-graph-id', {
36
34
  describe: 'Allow specifying the graph ID in the URL path',
37
- type: 'boolean',
38
- default: false,
35
+ type: 'boolean'
39
36
  })
40
37
  .option('openai-api-key', {
41
38
  describe: 'The OpenAI API key to use for the project. If omitted, the environment variable OPENAI_API_KEY is used.',
@@ -54,13 +51,11 @@ export function makeCommand(y) {
54
51
  })
55
52
  .option('expose-cost', {
56
53
  describe: 'Expose the cost of the graph run in the response',
57
- type: 'boolean',
58
- default: false,
54
+ type: 'boolean'
59
55
  })
60
56
  .option('expose-usage', {
61
57
  describe: 'Expose the token usage of the graph run in the response',
62
- type: 'boolean',
63
- default: false,
58
+ type: 'boolean'
64
59
  })
65
60
  .option('stream', {
66
61
  describe: 'Turns on streaming mode. Rivet events will be sent to the client using SSE (Server-Sent Events). If this is set to a Node ID or node title, only events for that node will be sent.',
@@ -71,21 +66,23 @@ export function makeCommand(y) {
71
66
  describe: 'Streams the partial outputs of a specific node. Requires --stream to be set.',
72
67
  type: 'string',
73
68
  demandOption: false,
69
+ })
70
+ .option('events', {
71
+ describe: 'Turns on listening to events triggered by "Raise Event" nodes. Events will be sent to the client using SSE (Server-Sent Events). Value is a list of event names, only valid with stream option',
72
+ type: 'string',
73
+ demandOption: false,
74
74
  })
75
75
  .option('log-requests', {
76
76
  describe: 'Determines if all requests (except health checks) will be logged via Hono logger',
77
- type: 'boolean',
78
- default: false,
77
+ type: 'boolean'
79
78
  })
80
79
  .option('log-activity', {
81
80
  describe: 'Determines if basic activity should be logging during processing',
82
- type: 'boolean',
83
- default: false,
81
+ type: 'boolean'
84
82
  })
85
83
  .option('log-trace', {
86
84
  describe: 'Determines if includeTrace should be turned on during graph processing',
87
- type: 'boolean',
88
- default: false,
85
+ type: 'boolean'
89
86
  })
90
87
  .option('projects-root-dir', {
91
88
  describe: 'Specifies the root directory where project files are located. If specified, a projectFile argument will be a relative path to this directory',
@@ -113,22 +110,23 @@ export async function serve(cliArgs = {}) {
113
110
  debugger;
114
111
  const pluginSettings = await setupPlugins(Rivet);
115
112
  const args = {
116
- hostname: cliArgs.hostname ?? process.env.HOSTNAME ?? '127.0.0.1',
117
- port: Number(cliArgs.port ?? process.env.PORT ?? 3000),
113
+ hostname: cliArgs.hostname ?? process.env.SERVE_HOSTNAME ?? '127.0.0.1',
114
+ port: Number(cliArgs.port ?? process.env.SERVE_PORT ?? 3000),
118
115
  projectFile: cliArgs.projectFile ?? process.env.PROJECT_FILE,
119
116
  dev: cliArgs.dev ?? process.env.NODE_ENV === 'development',
120
117
  graph: cliArgs.graph ?? process.env.GRAPH,
121
- allowSpecifyingGraphId: cliArgs.allowSpecifyingGraphId ?? process.env.ALLOW_SPECIFYING_GRAPH_ID === 'true',
118
+ allowSpecifyingGraphId: cliArgs.allowSpecifyingGraphId ?? (process.env.ALLOW_SPECIFYING_GRAPH_ID === 'true'),
122
119
  openaiApiKey: cliArgs.openaiApiKey ?? process.env.OPENAI_API_KEY,
123
120
  openaiEndpoint: cliArgs.openaiEndpoint ?? process.env.OPENAI_ENDPOINT,
124
121
  openaiOrganization: cliArgs.openaiOrganization ?? process.env.OPENAI_ORGANIZATION,
125
- exposeCost: cliArgs.exposeCost ?? process.env.EXPOSE_COST === 'true',
126
- exposeUsage: cliArgs.exposeUsage ?? process.env.EXPOSE_USAGE === 'true',
127
- logRequests: cliArgs.logRequests ?? process.env.LOG_REQUESTS === 'true',
128
- logActivity: cliArgs.logActivity ?? process.env.LOG_ACTIVITY === 'true',
129
- logTrace: cliArgs.logTrace ?? process.env.LOG_TRACE === 'true',
122
+ exposeCost: cliArgs.exposeCost ?? (process.env.EXPOSE_COST === 'true'),
123
+ exposeUsage: cliArgs.exposeUsage ?? (process.env.EXPOSE_USAGE === 'true'),
124
+ logRequests: cliArgs.logRequests ?? (process.env.LOG_REQUESTS === 'true'),
125
+ logActivity: cliArgs.logActivity ?? (process.env.LOG_ACTIVITY === 'true'),
126
+ logTrace: cliArgs.logTrace ?? (process.env.LOG_TRACE === 'true'),
130
127
  stream: cliArgs.stream ?? process.env.STREAM,
131
128
  streamNode: cliArgs.streamNode ?? process.env.STREAM_NODE,
129
+ events: cliArgs.events ?? process.env.EVENTS,
132
130
  projectsRootDir: cliArgs.projectsRootDir ?? process.env.PROJECTS_ROOT_DIR,
133
131
  pluginSettings: pluginSettings,
134
132
  };
@@ -150,6 +148,7 @@ export async function serve(cliArgs = {}) {
150
148
  throwIfNoMainGraph(initialProject, args.graph, projectFilePath);
151
149
  throwIfInvalidGraph(initialProject, args.graph);
152
150
  }
151
+ console.log(chalk.green('Server running version 11'));
153
152
  if (args.logActivity) {
154
153
  const logInfo = [
155
154
  args.hostname && `Hostname:${chalk.bold.white(args.hostname)}`,
@@ -165,16 +164,29 @@ export async function serve(cliArgs = {}) {
165
164
  app.get('/health', async (c) => c.text('Healthy like Popeye'));
166
165
  app.post('/', async (c) => {
167
166
  if (args.projectsRootDir) {
167
+ if (args.logActivity) {
168
+ console.error(chalk.red('Status 400 - Configured with projects-root-dir which requires a project file to be specified in URL,'));
169
+ }
168
170
  return c.text('Configured with projects-root-dir which requires a project file to be specified in URL', 400);
169
171
  }
172
+ // Capture all headers as an object
173
+ const headers = {};
174
+ c.req.raw.headers.forEach((value, key) => {
175
+ headers[key] = value;
176
+ });
170
177
  const project = args.dev ? await loadProjectFromFile(projectFilePath) : initialProject;
171
178
  const inputText = await c.req.text();
172
- return await processGraph({ project, inputText });
179
+ return await processGraph({ project, headers, inputText });
173
180
  });
174
181
  if (args.allowSpecifyingGraphId || args.projectsRootDir) {
175
182
  app.post('/*', async (c) => {
176
183
  const full = decodeURIComponent(c.req.path.slice(1)); // remove leading slash
177
- const parts = full.split('/');
184
+ const parts = full.split(':');
185
+ // Capture all headers as an object
186
+ const headers = {};
187
+ c.req.raw.headers.forEach((value, key) => {
188
+ headers[key] = value;
189
+ });
178
190
  let graphId;
179
191
  let graphFile;
180
192
  if (parts.length === 1) {
@@ -193,10 +205,16 @@ export async function serve(cliArgs = {}) {
193
205
  let project;
194
206
  if (args.projectsRootDir) {
195
207
  if (!graphFile) {
208
+ if (args.logActivity) {
209
+ console.error(chalk.red('Status 400 - A graphFile is required when specifying projects-root-dir,'));
210
+ }
196
211
  return c.text('A graphFile is required when specifying projects-root-dir', 400);
197
212
  }
198
213
  const fileMissing = await testIfMissingFile(path.join(args.projectsRootDir, graphFile));
199
214
  if (fileMissing) {
215
+ if (args.logActivity) {
216
+ console.error(chalk.red(`Status 400 - GraphFile ${graphFile} not found in root directory (${args.projectsRootDir})`));
217
+ }
200
218
  return c.text(`GraphFile ${graphFile} not found in root directory (${args.projectsRootDir})`, 400);
201
219
  }
202
220
  project = await loadProjectFromFile(path.join(args.projectsRootDir, graphFile));
@@ -205,7 +223,7 @@ export async function serve(cliArgs = {}) {
205
223
  project = args.dev || args.projectsRootDir ? await loadProjectFromFile(projectFilePath) : initialProject;
206
224
  }
207
225
  const inputText = await c.req.text();
208
- return await processGraph({ project, inputText, graphId });
226
+ return await processGraph({ project, headers, inputText, graphId });
209
227
  });
210
228
  }
211
229
  const server = serveHono({
@@ -256,10 +274,13 @@ function createProcessGraph(ctx) {
256
274
  let inputs = {};
257
275
  let runParams = {};
258
276
  if (opts.inputText.trim()) {
277
+ console.log(`Parsing input text: ${opts.inputText}`);
259
278
  const parsed = JSON.parse(opts.inputText);
260
279
  if (typeof parsed !== 'object') {
261
280
  throw new Error('Inputs must be an object');
262
281
  }
282
+ //pass in the header if needed
283
+ inputs.headers = JSON.stringify(opts.headers);
263
284
  if ('runParams' in parsed) {
264
285
  runParams = parsed['runParams'];
265
286
  delete parsed['runParams'];
@@ -275,6 +296,7 @@ function createProcessGraph(ctx) {
275
296
  `Input:${JSON.stringify(inputs)}`,
276
297
  localCtx.stream && `Stream:${chalk.bold.white(localCtx.stream)}`,
277
298
  localCtx.streamNode && `StreamNode:${chalk.bold.white(localCtx.streamNode)}`,
299
+ localCtx.events && `Events:${chalk.bold.white(localCtx.events)}`,
278
300
  localCtx.exposeCost && `ExposeCost:${chalk.bold.white(localCtx.exposeCost)}`,
279
301
  localCtx.exposeUsage && `ExposeUsage:${chalk.bold.white(localCtx.exposeUsage)}`,
280
302
  localCtx.logTrace && `LogTrace:${chalk.bold.white(localCtx.logTrace)}`
@@ -328,7 +350,7 @@ const parseStream = (stream) => {
328
350
  }
329
351
  return { start, finish, delta };
330
352
  };
331
- async function streamGraph({ project, inputs, graphId, pluginSettings, openaiApiKey, openaiEndpoint, openaiOrganization, exposeCost, exposeUsage, logActivity, logTrace, stream, streamNode, }) {
353
+ async function streamGraph({ project, inputs, graphId, pluginSettings, openaiApiKey, openaiEndpoint, openaiOrganization, exposeCost, exposeUsage, logActivity, logTrace, stream, streamNode, events }) {
332
354
  const { run, processor, getSSEStream } = createProcessor(project, {
333
355
  inputs,
334
356
  graph: graphId,
@@ -340,7 +362,7 @@ async function streamGraph({ project, inputs, graphId, pluginSettings, openaiApi
340
362
  });
341
363
  if (streamNode) {
342
364
  let sseStream;
343
- if (exposeCost || exposeUsage) {
365
+ if (exposeCost || exposeUsage || events) {
344
366
  const baseOptions = {
345
367
  exposeCost,
346
368
  exposeUsage,
@@ -352,6 +374,7 @@ async function streamGraph({ project, inputs, graphId, pluginSettings, openaiApi
352
374
  ...baseOptions,
353
375
  partialOutputs: [streamNode],
354
376
  nodeFinish: [streamNode],
377
+ userStreamEvents: events
355
378
  };
356
379
  sseStream = getSingleNodeStream(processor, spec);
357
380
  }
@@ -373,12 +396,13 @@ async function streamGraph({ project, inputs, graphId, pluginSettings, openaiApi
373
396
  error: logActivity
374
397
  };
375
398
  const sseStream = getSSEStream(parsed === true
376
- ? { ...baseOptions, nodeStart: true, nodeFinish: true, partialOutputs: true }
399
+ ? { ...baseOptions, nodeStart: true, nodeFinish: true, partialOutputs: true, userStreamEvents: events }
377
400
  : {
378
401
  ...baseOptions,
379
402
  nodeStart: parsed.start,
380
403
  nodeFinish: parsed.finish,
381
- partialOutputs: parsed.delta
404
+ partialOutputs: parsed.delta,
405
+ userStreamEvents: events
382
406
  });
383
407
  run().catch((err) => {
384
408
  console.error(err);
@@ -8,9 +8,9 @@ export declare function makeCommand<T>(y: yargs.Argv<T>): yargs.Argv<T & {
8
8
  } & {
9
9
  "include-cost": boolean;
10
10
  } & {
11
- context: string[] | never[];
11
+ context: never[] | string[];
12
12
  } & {
13
- input: string[] | never[];
13
+ input: never[] | string[];
14
14
  }>;
15
15
  export declare function run(args: {
16
16
  projectFile: string;
@@ -2,13 +2,13 @@ import type * as yargs from 'yargs';
2
2
  export declare function makeCommand<T>(y: yargs.Argv<T>): yargs.Argv<T & {
3
3
  hostname: string | undefined;
4
4
  } & {
5
- port: number;
5
+ port: number | undefined;
6
6
  } & {
7
- dev: boolean;
7
+ dev: boolean | undefined;
8
8
  } & {
9
9
  graph: string | undefined;
10
10
  } & {
11
- "allow-specifying-graph-id": boolean;
11
+ "allow-specifying-graph-id": boolean | undefined;
12
12
  } & {
13
13
  "openai-api-key": string | undefined;
14
14
  } & {
@@ -16,19 +16,21 @@ export declare function makeCommand<T>(y: yargs.Argv<T>): yargs.Argv<T & {
16
16
  } & {
17
17
  "openai-organization": string | undefined;
18
18
  } & {
19
- "expose-cost": boolean;
19
+ "expose-cost": boolean | undefined;
20
20
  } & {
21
- "expose-usage": boolean;
21
+ "expose-usage": boolean | undefined;
22
22
  } & {
23
23
  stream: string | undefined;
24
24
  } & {
25
25
  "stream-node": string | undefined;
26
26
  } & {
27
- "log-requests": boolean;
27
+ events: string | undefined;
28
+ } & {
29
+ "log-requests": boolean | undefined;
28
30
  } & {
29
- "log-activity": boolean;
31
+ "log-activity": boolean | undefined;
30
32
  } & {
31
- "log-trace": boolean;
33
+ "log-trace": boolean | undefined;
32
34
  } & {
33
35
  "projects-root-dir": string | undefined;
34
36
  } & {
@@ -51,6 +53,7 @@ type ServerContext = {
51
53
  logTrace: boolean;
52
54
  stream: string | undefined;
53
55
  streamNode: string | undefined;
56
+ events: string | undefined;
54
57
  projectsRootDir: string | undefined;
55
58
  pluginSettings?: Record<string, Record<string, unknown>>;
56
59
  };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@alpic80/rivet-cli",
3
3
  "license": "MIT",
4
4
  "repository": "https://github.com/castortech/rivet",
5
- "version": "1.24.0-aidon.8",
5
+ "version": "1.24.2-aidon.10",
6
6
  "src": "bin/cli.ts",
7
7
  "bin": {
8
8
  "rivet": "bin/cli.js"
@@ -24,11 +24,11 @@
24
24
  "dev:serve": "tsx src/cli.ts serve --projects-root-dir C:/temp/aidon/Rivet_Files"
25
25
  },
26
26
  "dependencies": {
27
- "@alpic80/rivet-core": "^1.24.0-aidon.4",
28
- "@alpic80/rivet-node": "^1.24.0-aidon.3",
27
+ "@alpic80/rivet-core": "^1.24.2-aidon.10",
28
+ "@alpic80/rivet-node": "^1.24.2-aidon.9",
29
29
  "@hono/node-server": "^1.13.8",
30
- "@ironclad/rivet-core": "npm:@alpic80/rivet-core@1.24.0-aidon.4",
31
- "@ironclad/rivet-node": "npm:@alpic80/rivet-node@1.24.0-aidon.3",
30
+ "@ironclad/rivet-core": "npm:@alpic80/rivet-core@1.24.2-aidon.10",
31
+ "@ironclad/rivet-node": "npm:@alpic80/rivet-node@1.24.2-aidon.9",
32
32
  "@types/dotenv": "^8.2.3",
33
33
  "chalk": "^5.4.1",
34
34
  "didyoumean2": "^7.0.4",