@alpic80/rivet-cli 1.24.0-aidon.9 β†’ 1.24.2-aidon.11

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,8 +110,8 @@ 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,
@@ -129,6 +126,7 @@ export async function serve(cliArgs = {}) {
129
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)}`,
@@ -158,6 +157,8 @@ export async function serve(cliArgs = {}) {
158
157
  args.dev && `Dev:${chalk.bold.white(args.dev)}`,
159
158
  args.graph && `Graph:${chalk.bold.white(args.graph)}`,
160
159
  args.allowSpecifyingGraphId && `AllowSpecifyingGraphId:${chalk.bold.white(args.allowSpecifyingGraphId)}`,
160
+ args.logActivity && `LogActivity:${chalk.bold.white(args.logActivity)}`,
161
+ args.logTrace && `LogTrace:${chalk.bold.white(args.logTrace)}`,
161
162
  args.logRequests && `LogRequests:${chalk.bold.white(args.logRequests)}`
162
163
  ].filter(Boolean).join(', ');
163
164
  console.log(chalk.green('Server config,', logInfo));
@@ -165,16 +166,29 @@ export async function serve(cliArgs = {}) {
165
166
  app.get('/health', async (c) => c.text('Healthy like Popeye'));
166
167
  app.post('/', async (c) => {
167
168
  if (args.projectsRootDir) {
169
+ if (args.logActivity) {
170
+ console.error(chalk.red('Status 400 - Configured with projects-root-dir which requires a project file to be specified in URL,'));
171
+ }
168
172
  return c.text('Configured with projects-root-dir which requires a project file to be specified in URL', 400);
169
173
  }
174
+ // Capture all headers as an object
175
+ const headers = {};
176
+ c.req.raw.headers.forEach((value, key) => {
177
+ headers[key] = value;
178
+ });
170
179
  const project = args.dev ? await loadProjectFromFile(projectFilePath) : initialProject;
171
180
  const inputText = await c.req.text();
172
- return await processGraph({ project, inputText });
181
+ return await processGraph({ project, headers, inputText });
173
182
  });
174
183
  if (args.allowSpecifyingGraphId || args.projectsRootDir) {
175
184
  app.post('/*', async (c) => {
176
185
  const full = decodeURIComponent(c.req.path.slice(1)); // remove leading slash
177
- const parts = full.split('/');
186
+ const parts = full.split(':');
187
+ // Capture all headers as an object
188
+ const headers = {};
189
+ c.req.raw.headers.forEach((value, key) => {
190
+ headers[key] = value;
191
+ });
178
192
  let graphId;
179
193
  let graphFile;
180
194
  if (parts.length === 1) {
@@ -193,10 +207,16 @@ export async function serve(cliArgs = {}) {
193
207
  let project;
194
208
  if (args.projectsRootDir) {
195
209
  if (!graphFile) {
210
+ if (args.logActivity) {
211
+ console.error(chalk.red('Status 400 - A graphFile is required when specifying projects-root-dir,'));
212
+ }
196
213
  return c.text('A graphFile is required when specifying projects-root-dir', 400);
197
214
  }
198
215
  const fileMissing = await testIfMissingFile(path.join(args.projectsRootDir, graphFile));
199
216
  if (fileMissing) {
217
+ if (args.logActivity) {
218
+ console.error(chalk.red(`Status 400 - GraphFile ${graphFile} not found in root directory (${args.projectsRootDir})`));
219
+ }
200
220
  return c.text(`GraphFile ${graphFile} not found in root directory (${args.projectsRootDir})`, 400);
201
221
  }
202
222
  project = await loadProjectFromFile(path.join(args.projectsRootDir, graphFile));
@@ -205,7 +225,7 @@ export async function serve(cliArgs = {}) {
205
225
  project = args.dev || args.projectsRootDir ? await loadProjectFromFile(projectFilePath) : initialProject;
206
226
  }
207
227
  const inputText = await c.req.text();
208
- return await processGraph({ project, inputText, graphId });
228
+ return await processGraph({ project, headers, inputText, graphId });
209
229
  });
210
230
  }
211
231
  const server = serveHono({
@@ -256,10 +276,13 @@ function createProcessGraph(ctx) {
256
276
  let inputs = {};
257
277
  let runParams = {};
258
278
  if (opts.inputText.trim()) {
279
+ console.log(`Parsing input text: ${opts.inputText}`);
259
280
  const parsed = JSON.parse(opts.inputText);
260
281
  if (typeof parsed !== 'object') {
261
282
  throw new Error('Inputs must be an object');
262
283
  }
284
+ //pass in the header if needed
285
+ inputs.headers = JSON.stringify(opts.headers);
263
286
  if ('runParams' in parsed) {
264
287
  runParams = parsed['runParams'];
265
288
  delete parsed['runParams'];
@@ -275,6 +298,7 @@ function createProcessGraph(ctx) {
275
298
  `Input:${JSON.stringify(inputs)}`,
276
299
  localCtx.stream && `Stream:${chalk.bold.white(localCtx.stream)}`,
277
300
  localCtx.streamNode && `StreamNode:${chalk.bold.white(localCtx.streamNode)}`,
301
+ localCtx.events && `Events:${chalk.bold.white(localCtx.events)}`,
278
302
  localCtx.exposeCost && `ExposeCost:${chalk.bold.white(localCtx.exposeCost)}`,
279
303
  localCtx.exposeUsage && `ExposeUsage:${chalk.bold.white(localCtx.exposeUsage)}`,
280
304
  localCtx.logTrace && `LogTrace:${chalk.bold.white(localCtx.logTrace)}`
@@ -328,7 +352,7 @@ const parseStream = (stream) => {
328
352
  }
329
353
  return { start, finish, delta };
330
354
  };
331
- async function streamGraph({ project, inputs, graphId, pluginSettings, openaiApiKey, openaiEndpoint, openaiOrganization, exposeCost, exposeUsage, logActivity, logTrace, stream, streamNode, }) {
355
+ async function streamGraph({ project, inputs, graphId, pluginSettings, openaiApiKey, openaiEndpoint, openaiOrganization, exposeCost, exposeUsage, logActivity, logTrace, stream, streamNode, events }) {
332
356
  const { run, processor, getSSEStream } = createProcessor(project, {
333
357
  inputs,
334
358
  graph: graphId,
@@ -340,7 +364,7 @@ async function streamGraph({ project, inputs, graphId, pluginSettings, openaiApi
340
364
  });
341
365
  if (streamNode) {
342
366
  let sseStream;
343
- if (exposeCost || exposeUsage) {
367
+ if (exposeCost || exposeUsage || events) {
344
368
  const baseOptions = {
345
369
  exposeCost,
346
370
  exposeUsage,
@@ -352,6 +376,7 @@ async function streamGraph({ project, inputs, graphId, pluginSettings, openaiApi
352
376
  ...baseOptions,
353
377
  partialOutputs: [streamNode],
354
378
  nodeFinish: [streamNode],
379
+ userStreamEvents: events
355
380
  };
356
381
  sseStream = getSingleNodeStream(processor, spec);
357
382
  }
@@ -373,12 +398,13 @@ async function streamGraph({ project, inputs, graphId, pluginSettings, openaiApi
373
398
  error: logActivity
374
399
  };
375
400
  const sseStream = getSSEStream(parsed === true
376
- ? { ...baseOptions, nodeStart: true, nodeFinish: true, partialOutputs: true }
401
+ ? { ...baseOptions, nodeStart: true, nodeFinish: true, partialOutputs: true, userStreamEvents: events }
377
402
  : {
378
403
  ...baseOptions,
379
404
  nodeStart: parsed.start,
380
405
  nodeFinish: parsed.finish,
381
- partialOutputs: parsed.delta
406
+ partialOutputs: parsed.delta,
407
+ userStreamEvents: events
382
408
  });
383
409
  run().catch((err) => {
384
410
  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.9",
5
+ "version": "1.24.2-aidon.11",
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.11",
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.11",
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",