@stacksjs/defaults 0.70.57 → 0.70.59

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.
Files changed (575) hide show
  1. package/app/Actions/AI/AskAction.ts +40 -0
  2. package/app/Actions/AI/SummaryAction.ts +40 -0
  3. package/app/Actions/Auth/AuthUserAction.ts +13 -0
  4. package/app/Actions/Auth/CreateTokenAction.ts +64 -0
  5. package/app/Actions/Auth/DisableTwoFactorAction.ts +37 -0
  6. package/app/Actions/Auth/EnableTwoFactorAction.ts +37 -0
  7. package/app/Actions/Auth/GenerateAuthenticationAction.ts +51 -0
  8. package/app/Actions/Auth/GenerateRegistrationAction.ts +53 -0
  9. package/app/Actions/Auth/GenerateTwoFactorSecretAction.ts +26 -0
  10. package/app/Actions/Auth/ListTokensAction.ts +30 -0
  11. package/app/Actions/Auth/LoginAction.ts +73 -0
  12. package/app/Actions/Auth/LogoutAction.ts +16 -0
  13. package/app/Actions/Auth/LogoutAllAction.ts +28 -0
  14. package/app/Actions/Auth/RefreshTokenAction.ts +39 -0
  15. package/app/Actions/Auth/RegisterAction.ts +57 -0
  16. package/app/Actions/Auth/ResendVerificationAction.ts +24 -0
  17. package/app/Actions/Auth/RevokeTokenAction.ts +43 -0
  18. package/app/Actions/Auth/TestAbilitiesAction.ts +61 -0
  19. package/app/Actions/Auth/VerifyAuthenticationAction.ts +94 -0
  20. package/app/Actions/Auth/VerifyEmailAction.ts +25 -0
  21. package/app/Actions/Auth/VerifyRegistrationAction.ts +59 -0
  22. package/app/Actions/Auth/VerifyTwoFactorLoginAction.ts +57 -0
  23. package/app/Actions/Billable/CheckoutAction.ts +25 -0
  24. package/app/Actions/Buddy/BuddyBrowseAction.ts +34 -0
  25. package/app/Actions/Buddy/BuddyCancelAction.ts +32 -0
  26. package/app/Actions/Buddy/BuddyCommitAction.ts +25 -0
  27. package/app/Actions/Buddy/BuddyGitHubConnectAction.ts +40 -0
  28. package/app/Actions/Buddy/BuddyGitHubDisconnectAction.ts +19 -0
  29. package/app/Actions/Buddy/BuddyProcessAction.ts +65 -0
  30. package/app/Actions/Buddy/BuddyProcessStreamAction.ts +128 -0
  31. package/app/Actions/Buddy/BuddyPushAction.ts +21 -0
  32. package/app/Actions/Buddy/BuddyRepoOpenAction.ts +44 -0
  33. package/app/Actions/Buddy/BuddyRepoValidateAction.ts +35 -0
  34. package/app/Actions/Buddy/BuddySettingsAction.ts +21 -0
  35. package/app/Actions/Buddy/BuddySettingsUpdateAction.ts +46 -0
  36. package/app/Actions/Buddy/BuddyStateAction.ts +28 -0
  37. package/app/Actions/Buddy/BuddyTitleAction.ts +49 -0
  38. package/app/Actions/Buddy/CommandsAction.ts +802 -0
  39. package/app/Actions/Buddy/JobCancelAction.ts +32 -0
  40. package/app/Actions/Buddy/JobRetryAction.ts +49 -0
  41. package/app/Actions/Buddy/JobsListAction.ts +141 -0
  42. package/app/Actions/Buddy/ScheduleListAction.ts +52 -0
  43. package/app/Actions/Buddy/VersionsAction.ts +12 -0
  44. package/app/Actions/Cms/AuthorDestroyAction.ts +21 -0
  45. package/app/Actions/Cms/AuthorIndexAction.ts +14 -0
  46. package/app/Actions/Cms/AuthorShowAction.ts +19 -0
  47. package/app/Actions/Cms/AuthorStoreAction.ts +20 -0
  48. package/app/Actions/Cms/AuthorUpdateAction.ts +24 -0
  49. package/app/Actions/Cms/CategorizableDestroyAction.ts +16 -0
  50. package/app/Actions/Cms/CategorizableIndexAction.ts +14 -0
  51. package/app/Actions/Cms/CategorizableShowAction.ts +16 -0
  52. package/app/Actions/Cms/CategorizableStoreAction.ts +42 -0
  53. package/app/Actions/Cms/CategorizableUpdateAction.ts +38 -0
  54. package/app/Actions/Cms/CommentDestroyAction.ts +16 -0
  55. package/app/Actions/Cms/CommentIndexAction.ts +17 -0
  56. package/app/Actions/Cms/CommentShowAction.ts +16 -0
  57. package/app/Actions/Cms/CommentStoreAction.ts +39 -0
  58. package/app/Actions/Cms/CommentUpdateAction.ts +37 -0
  59. package/app/Actions/Cms/PageDestroyAction.ts +16 -0
  60. package/app/Actions/Cms/PageIndexAction.ts +14 -0
  61. package/app/Actions/Cms/PageStoreAction.ts +31 -0
  62. package/app/Actions/Cms/PageUpdateAction.ts +27 -0
  63. package/app/Actions/Cms/PostDestroyAction.ts +17 -0
  64. package/app/Actions/Cms/PostIndexAction.ts +14 -0
  65. package/app/Actions/Cms/PostShowAction.ts +16 -0
  66. package/app/Actions/Cms/PostStoreAction.ts +37 -0
  67. package/app/Actions/Cms/PostUpdateAction.ts +32 -0
  68. package/app/Actions/Cms/PostViewsUpdateAction.ts +34 -0
  69. package/app/Actions/Cms/RssFeedAction.ts +59 -0
  70. package/app/Actions/Cms/SitemapAction.ts +60 -0
  71. package/app/Actions/Cms/TaggableDestroyAction.ts +16 -0
  72. package/app/Actions/Cms/TaggableIndexAction.ts +14 -0
  73. package/app/Actions/Cms/TaggableShowAction.ts +16 -0
  74. package/app/Actions/Cms/TaggableStoreAction.ts +36 -0
  75. package/app/Actions/Cms/TaggableUpdateAction.ts +37 -0
  76. package/app/Actions/Commerce/CouponDestroyAction.ts +18 -0
  77. package/app/Actions/Commerce/CouponIndexAction.ts +16 -0
  78. package/app/Actions/Commerce/CouponShowAction.ts +18 -0
  79. package/app/Actions/Commerce/CouponStoreAction.ts +21 -0
  80. package/app/Actions/Commerce/CouponUpdateAction.ts +31 -0
  81. package/app/Actions/Commerce/CustomerDestroyAction.ts +16 -0
  82. package/app/Actions/Commerce/CustomerIndexAction.ts +15 -0
  83. package/app/Actions/Commerce/CustomerShowAction.ts +18 -0
  84. package/app/Actions/Commerce/CustomerStoreAction.ts +29 -0
  85. package/app/Actions/Commerce/CustomerUpdateAction.ts +27 -0
  86. package/app/Actions/Commerce/DriverDestroyAction.ts +18 -0
  87. package/app/Actions/Commerce/GiftCardDestroyAction.ts +18 -0
  88. package/app/Actions/Commerce/GiftCardIndexAction.ts +16 -0
  89. package/app/Actions/Commerce/GiftCardShowAction.ts +18 -0
  90. package/app/Actions/Commerce/GiftCardStatsAction.ts +30 -0
  91. package/app/Actions/Commerce/GiftCardStoreAction.ts +35 -0
  92. package/app/Actions/Commerce/GiftCardUpdateAction.ts +26 -0
  93. package/app/Actions/Commerce/GiftCardUpdateBalanceAction.ts +36 -0
  94. package/app/Actions/Commerce/OrderDestroyAction.ts +18 -0
  95. package/app/Actions/Commerce/OrderExportAction.ts +15 -0
  96. package/app/Actions/Commerce/OrderIndexAction.ts +15 -0
  97. package/app/Actions/Commerce/OrderShowAction.ts +18 -0
  98. package/app/Actions/Commerce/OrderStoreAction.ts +32 -0
  99. package/app/Actions/Commerce/OrderUpdateAction.ts +34 -0
  100. package/app/Actions/Commerce/PaymentDestroyAction.ts +16 -0
  101. package/app/Actions/Commerce/PaymentFetchStatsAction.ts +31 -0
  102. package/app/Actions/Commerce/PaymentIndexAction.ts +15 -0
  103. package/app/Actions/Commerce/PaymentMonthlyTrendsAction.ts +21 -0
  104. package/app/Actions/Commerce/PaymentShowAction.ts +17 -0
  105. package/app/Actions/Commerce/PaymentStoreAction.ts +24 -0
  106. package/app/Actions/Commerce/PaymentUpdateAction.ts +35 -0
  107. package/app/Actions/Commerce/PrintDeviceDestroyAction.ts +18 -0
  108. package/app/Actions/Commerce/PrintDeviceIndexAction.ts +14 -0
  109. package/app/Actions/Commerce/PrintDeviceShowAction.ts +17 -0
  110. package/app/Actions/Commerce/PrintDeviceStoreAction.ts +27 -0
  111. package/app/Actions/Commerce/PrintDeviceUpdateAction.ts +27 -0
  112. package/app/Actions/Commerce/Product/ManufacturerDestroyAction.ts +20 -0
  113. package/app/Actions/Commerce/Product/ManufacturerIndexAction.ts +16 -0
  114. package/app/Actions/Commerce/Product/ManufacturerShowAction.ts +18 -0
  115. package/app/Actions/Commerce/Product/ManufacturerStoreAction.ts +14 -0
  116. package/app/Actions/Commerce/Product/ProductCategoryIndexAction.ts +16 -0
  117. package/app/Actions/Commerce/Product/ProductCategoryStoreAction.ts +16 -0
  118. package/app/Actions/Commerce/Product/ProductDestroyAction.ts +16 -0
  119. package/app/Actions/Commerce/Product/ProductIndexAction.ts +14 -0
  120. package/app/Actions/Commerce/Product/ProductManufacturerDestroyAction.ts +18 -0
  121. package/app/Actions/Commerce/Product/ProductManufacturerIndexAction.ts +14 -0
  122. package/app/Actions/Commerce/Product/ProductManufacturerShowAction.ts +16 -0
  123. package/app/Actions/Commerce/Product/ProductManufacturerStoreAction.ts +14 -0
  124. package/app/Actions/Commerce/Product/ProductManufacturerUpdateAction.ts +18 -0
  125. package/app/Actions/Commerce/Product/ProductShowAction.ts +18 -0
  126. package/app/Actions/Commerce/Product/ProductStoreAction.ts +17 -0
  127. package/app/Actions/Commerce/Product/ProductUnitDestroyAction.ts +18 -0
  128. package/app/Actions/Commerce/Product/ProductUnitIndexAction.ts +14 -0
  129. package/app/Actions/Commerce/Product/ProductUnitShowAction.ts +18 -0
  130. package/app/Actions/Commerce/Product/ProductUnitStoreAction.ts +15 -0
  131. package/app/Actions/Commerce/Product/ProductUpdateAction.ts +17 -0
  132. package/app/Actions/Commerce/Product/ProductVariantDestroyAction.ts +18 -0
  133. package/app/Actions/Commerce/Product/ProductVariantIndexAction.ts +14 -0
  134. package/app/Actions/Commerce/Product/ProductVariantShowAction.ts +17 -0
  135. package/app/Actions/Commerce/Product/ProductVariantStoreAction.ts +14 -0
  136. package/app/Actions/Commerce/Product/ProductVariantUpdateAction.ts +16 -0
  137. package/app/Actions/Commerce/ReceiptDestroyAction.ts +18 -0
  138. package/app/Actions/Commerce/ReceiptIndexAction.ts +14 -0
  139. package/app/Actions/Commerce/ReceiptShowAction.ts +18 -0
  140. package/app/Actions/Commerce/ReceiptStoreAction.ts +28 -0
  141. package/app/Actions/Commerce/ReceiptUpdateAction.ts +30 -0
  142. package/app/Actions/Commerce/ReviewIndexAction.ts +14 -0
  143. package/app/Actions/Commerce/ReviewShowAction.ts +16 -0
  144. package/app/Actions/Commerce/ReviewStoreAction.ts +26 -0
  145. package/app/Actions/Commerce/ReviewUpdateAction.ts +28 -0
  146. package/app/Actions/Commerce/Shipping/DeliveryRouteDestroyAction.ts +18 -0
  147. package/app/Actions/Commerce/Shipping/DeliveryRouteIndexAction.ts +16 -0
  148. package/app/Actions/Commerce/Shipping/DeliveryRouteShowAction.ts +18 -0
  149. package/app/Actions/Commerce/Shipping/DeliveryRouteStoreAction.ts +16 -0
  150. package/app/Actions/Commerce/Shipping/DeliveryRouteUpdateAction.ts +18 -0
  151. package/app/Actions/Commerce/Shipping/DigitalDeliveryDestroyAction.ts +18 -0
  152. package/app/Actions/Commerce/Shipping/DigitalDeliveryIndexAction.ts +16 -0
  153. package/app/Actions/Commerce/Shipping/DigitalDeliveryShowAction.ts +18 -0
  154. package/app/Actions/Commerce/Shipping/DigitalDeliveryStoreAction.ts +18 -0
  155. package/app/Actions/Commerce/Shipping/DigitalDeliveryUpdateAction.ts +18 -0
  156. package/app/Actions/Commerce/Shipping/DriverIndexAction.ts +16 -0
  157. package/app/Actions/Commerce/Shipping/DriverShowAction.ts +18 -0
  158. package/app/Actions/Commerce/Shipping/DriverStoreAction.ts +16 -0
  159. package/app/Actions/Commerce/Shipping/DriverUpdateAction.ts +18 -0
  160. package/app/Actions/Commerce/Shipping/LicenseKeyDestroyAction.ts +20 -0
  161. package/app/Actions/Commerce/Shipping/LicenseKeyIndexAction.ts +16 -0
  162. package/app/Actions/Commerce/Shipping/LicenseKeyShowAction.ts +18 -0
  163. package/app/Actions/Commerce/Shipping/LicenseKeyStoreAction.ts +18 -0
  164. package/app/Actions/Commerce/Shipping/LicenseKeyUpdateAction.ts +18 -0
  165. package/app/Actions/Commerce/Shipping/ShippingMethodDestroyAction.ts +16 -0
  166. package/app/Actions/Commerce/Shipping/ShippingMethodIndexAction.ts +14 -0
  167. package/app/Actions/Commerce/Shipping/ShippingMethodShowAction.ts +16 -0
  168. package/app/Actions/Commerce/Shipping/ShippingMethodStoreAction.ts +16 -0
  169. package/app/Actions/Commerce/Shipping/ShippingMethodUpdateAction.ts +15 -0
  170. package/app/Actions/Commerce/Shipping/ShippingRateDestroyAction.ts +16 -0
  171. package/app/Actions/Commerce/Shipping/ShippingRateIndexAction.ts +14 -0
  172. package/app/Actions/Commerce/Shipping/ShippingRateShowAction.ts +16 -0
  173. package/app/Actions/Commerce/Shipping/ShippingRateStoreAction.ts +16 -0
  174. package/app/Actions/Commerce/Shipping/ShippingRateUpdateAction.ts +17 -0
  175. package/app/Actions/Commerce/Shipping/ShippingZoneDestroyAction.ts +16 -0
  176. package/app/Actions/Commerce/Shipping/ShippingZoneIndexAction.ts +14 -0
  177. package/app/Actions/Commerce/Shipping/ShippingZoneShowAction.ts +16 -0
  178. package/app/Actions/Commerce/Shipping/ShippingZoneStoreAction.ts +16 -0
  179. package/app/Actions/Commerce/Shipping/ShippingZoneUpdateAction.ts +15 -0
  180. package/app/Actions/Commerce/TaxRateDestroyAction.ts +16 -0
  181. package/app/Actions/Commerce/TaxRateIndexAction.ts +14 -0
  182. package/app/Actions/Commerce/TaxRateShowAction.ts +17 -0
  183. package/app/Actions/Commerce/TaxRateStoreAction.ts +24 -0
  184. package/app/Actions/Commerce/TaxRateUpdateAction.ts +24 -0
  185. package/app/Actions/Commerce/WaitlistProductAnalyticsAction.ts +29 -0
  186. package/app/Actions/Commerce/WaitlistProductDestroyAction.ts +16 -0
  187. package/app/Actions/Commerce/WaitlistProductIndexAction.ts +14 -0
  188. package/app/Actions/Commerce/WaitlistProductQuantityDistributionAction.ts +32 -0
  189. package/app/Actions/Commerce/WaitlistProductShowAction.ts +16 -0
  190. package/app/Actions/Commerce/WaitlistProductStatusAction.ts +37 -0
  191. package/app/Actions/Commerce/WaitlistProductStoreAction.ts +27 -0
  192. package/app/Actions/Commerce/WaitlistProductTimeSeriesAction.ts +25 -0
  193. package/app/Actions/Commerce/WaitlistProductUpdateAction.ts +29 -0
  194. package/app/Actions/Commerce/WaitlistRestaurantDashboardAction.ts +29 -0
  195. package/app/Actions/Commerce/WaitlistRestaurantDestroyAction.ts +16 -0
  196. package/app/Actions/Commerce/WaitlistRestaurantIndexAction.ts +14 -0
  197. package/app/Actions/Commerce/WaitlistRestaurantShowAction.ts +16 -0
  198. package/app/Actions/Commerce/WaitlistRestaurantStoreAction.ts +31 -0
  199. package/app/Actions/Commerce/WaitlistRestaurantUpdateAction.ts +33 -0
  200. package/app/Actions/ContactAction.ts +72 -0
  201. package/app/Actions/Dashboard/Actions/CreateAction.ts +11 -0
  202. package/app/Actions/Dashboard/Actions/GetActionCount.ts +12 -0
  203. package/app/Actions/Dashboard/Actions/GetActions.ts +19 -0
  204. package/app/Actions/Dashboard/Analytics/BlogAnalyticsAction.ts +58 -0
  205. package/app/Actions/Dashboard/Analytics/BrowserAnalyticsAction.ts +42 -0
  206. package/app/Actions/Dashboard/Analytics/CommerceAnalyticsAction.ts +64 -0
  207. package/app/Actions/Dashboard/Analytics/CountryAnalyticsAction.ts +41 -0
  208. package/app/Actions/Dashboard/Analytics/DeviceAnalyticsAction.ts +58 -0
  209. package/app/Actions/Dashboard/Analytics/EventAnalyticsAction.ts +90 -0
  210. package/app/Actions/Dashboard/Analytics/MarketingAnalyticsAction.ts +76 -0
  211. package/app/Actions/Dashboard/Analytics/PageAnalyticsAction.ts +45 -0
  212. package/app/Actions/Dashboard/Analytics/ReferrerAnalyticsAction.ts +72 -0
  213. package/app/Actions/Dashboard/Analytics/SalesAnalyticsAction.ts +73 -0
  214. package/app/Actions/Dashboard/Analytics/WebAnalyticsAction.ts +114 -0
  215. package/app/Actions/Dashboard/Auth/MeAction.ts +84 -0
  216. package/app/Actions/Dashboard/BuddyDashboardAction.ts +34 -0
  217. package/app/Actions/Dashboard/Ci/RepoRunJobsAction.ts +60 -0
  218. package/app/Actions/Dashboard/Ci/RepoRunsAction.ts +67 -0
  219. package/app/Actions/Dashboard/Ci/RunnerHistoryAction.ts +58 -0
  220. package/app/Actions/Dashboard/Ci/StatusAction.ts +73 -0
  221. package/app/Actions/Dashboard/Ci/failure-notifier.ts +214 -0
  222. package/app/Actions/Dashboard/Ci/runner-pressure-monitor.ts +259 -0
  223. package/app/Actions/Dashboard/Cloud/CloudIndexAction.ts +61 -0
  224. package/app/Actions/Dashboard/Commands/CreateCommand.ts +11 -0
  225. package/app/Actions/Dashboard/Commands/GetAverageCommandTime.ts +12 -0
  226. package/app/Actions/Dashboard/Commands/GetCommandCount.ts +12 -0
  227. package/app/Actions/Dashboard/Commands/GetCommandSuccessRate.ts +12 -0
  228. package/app/Actions/Dashboard/Commands/GetCommands.ts +12 -0
  229. package/app/Actions/Dashboard/Commerce/CommerceCouponsAction.ts +48 -0
  230. package/app/Actions/Dashboard/Commerce/CommerceCustomersAction.ts +48 -0
  231. package/app/Actions/Dashboard/Commerce/CommerceDashboardAction.ts +98 -0
  232. package/app/Actions/Dashboard/Commerce/CommerceDeliveryAction.ts +65 -0
  233. package/app/Actions/Dashboard/Commerce/CommerceGiftCardsAction.ts +48 -0
  234. package/app/Actions/Dashboard/Commerce/CommerceOrdersAction.ts +51 -0
  235. package/app/Actions/Dashboard/Commerce/CommercePaymentsAction.ts +59 -0
  236. package/app/Actions/Dashboard/Commerce/CommerceProductsAction.ts +50 -0
  237. package/app/Actions/Dashboard/Commerce/CommerceTaxesAction.ts +46 -0
  238. package/app/Actions/Dashboard/Commerce/PosIndexAction.ts +57 -0
  239. package/app/Actions/Dashboard/Commerce/ReviewIndexAction.ts +51 -0
  240. package/app/Actions/Dashboard/Content/AuthorIndexAction.ts +51 -0
  241. package/app/Actions/Dashboard/Content/CategoryIndexAction.ts +27 -0
  242. package/app/Actions/Dashboard/Content/CommentIndexAction.ts +41 -0
  243. package/app/Actions/Dashboard/Content/ContentDashboardAction.ts +54 -0
  244. package/app/Actions/Dashboard/Content/FileIndexAction.ts +24 -0
  245. package/app/Actions/Dashboard/Content/PageIndexAction.ts +25 -0
  246. package/app/Actions/Dashboard/Content/PostIndexAction.ts +102 -0
  247. package/app/Actions/Dashboard/Content/SeoIndexAction.ts +17 -0
  248. package/app/Actions/Dashboard/Content/TagIndexAction.ts +23 -0
  249. package/app/Actions/Dashboard/CreateDnsRecords.ts +11 -0
  250. package/app/Actions/Dashboard/CreateMailbox.ts +11 -0
  251. package/app/Actions/Dashboard/DashboardActivityAction.ts +58 -0
  252. package/app/Actions/Dashboard/DashboardHealthAction.ts +52 -0
  253. package/app/Actions/Dashboard/DashboardHomeAction.ts +83 -0
  254. package/app/Actions/Dashboard/DashboardStatsAction.ts +48 -0
  255. package/app/Actions/Dashboard/Data/AccessTokenIndexAction.ts +65 -0
  256. package/app/Actions/Dashboard/Data/ActivityIndexAction.ts +28 -0
  257. package/app/Actions/Dashboard/Data/DataDashboardAction.ts +67 -0
  258. package/app/Actions/Dashboard/Data/SubscriberIndexAction.ts +48 -0
  259. package/app/Actions/Dashboard/Data/TeamIndexAction.ts +43 -0
  260. package/app/Actions/Dashboard/Data/UserIndexAction.ts +48 -0
  261. package/app/Actions/Dashboard/Deployments/CreateDeployment.ts +11 -0
  262. package/app/Actions/Dashboard/Deployments/GetAverageDeploymentTime.ts +15 -0
  263. package/app/Actions/Dashboard/Deployments/GetDeployScript.ts +12 -0
  264. package/app/Actions/Dashboard/Deployments/GetDeploymentCount.ts +12 -0
  265. package/app/Actions/Dashboard/Deployments/GetDeploymentLiveTerminalOutput.ts +12 -0
  266. package/app/Actions/Dashboard/Deployments/GetDeployments.ts +20 -0
  267. package/app/Actions/Dashboard/Deployments/GetRecentDeployments.ts +12 -0
  268. package/app/Actions/Dashboard/Deployments/UpdateDeployScript.ts +11 -0
  269. package/app/Actions/Dashboard/GetDnsRecords.ts +12 -0
  270. package/app/Actions/Dashboard/GetEmailInboxes.ts +12 -0
  271. package/app/Actions/Dashboard/GetProjects.ts +13 -0
  272. package/app/Actions/Dashboard/GetRecentCommits.ts +13 -0
  273. package/app/Actions/Dashboard/Inbox/InboxIndexAction.ts +144 -0
  274. package/app/Actions/Dashboard/Inbox/InboxShowAction.ts +89 -0
  275. package/app/Actions/Dashboard/Infrastructure/CommandIndexAction.ts +18 -0
  276. package/app/Actions/Dashboard/Infrastructure/DnsIndexAction.ts +101 -0
  277. package/app/Actions/Dashboard/Infrastructure/EnvironmentIndexAction.ts +67 -0
  278. package/app/Actions/Dashboard/Infrastructure/InsightsAction.ts +29 -0
  279. package/app/Actions/Dashboard/Infrastructure/LogIndexAction.ts +50 -0
  280. package/app/Actions/Dashboard/Infrastructure/MailboxIndexAction.ts +85 -0
  281. package/app/Actions/Dashboard/Infrastructure/PermissionIndexAction.ts +54 -0
  282. package/app/Actions/Dashboard/Infrastructure/RequestIndexAction.ts +44 -0
  283. package/app/Actions/Dashboard/Infrastructure/ServerIndexAction.ts +101 -0
  284. package/app/Actions/Dashboard/Jobs/CreateJob.ts +11 -0
  285. package/app/Actions/Dashboard/Jobs/GetAverageJobTime.ts +12 -0
  286. package/app/Actions/Dashboard/Jobs/GetJobHistory.ts +12 -0
  287. package/app/Actions/Dashboard/Jobs/GetJobs.ts +11 -0
  288. package/app/Actions/Dashboard/Jobs/GetJobsPerMinute.ts +12 -0
  289. package/app/Actions/Dashboard/Jobs/JobIndexAction.ts +136 -0
  290. package/app/Actions/Dashboard/Jobs/JobRetryAction.ts +23 -0
  291. package/app/Actions/Dashboard/Jobs/JobStatsAction.ts +49 -0
  292. package/app/Actions/Dashboard/Kanban/BoardDestroyAction.ts +84 -0
  293. package/app/Actions/Dashboard/Kanban/BoardShowAction.ts +215 -0
  294. package/app/Actions/Dashboard/Kanban/BoardStoreAction.ts +98 -0
  295. package/app/Actions/Dashboard/Kanban/BoardUpdateAction.ts +96 -0
  296. package/app/Actions/Dashboard/Kanban/BoardsIndexAction.ts +81 -0
  297. package/app/Actions/Dashboard/Kanban/BoardsReorderAction.ts +80 -0
  298. package/app/Actions/Dashboard/Kanban/CardAssigneesSyncAction.ts +103 -0
  299. package/app/Actions/Dashboard/Kanban/CardCommentDestroyAction.ts +33 -0
  300. package/app/Actions/Dashboard/Kanban/CardCommentStoreAction.ts +82 -0
  301. package/app/Actions/Dashboard/Kanban/CardDestroyAction.ts +48 -0
  302. package/app/Actions/Dashboard/Kanban/CardLabelsSyncAction.ts +103 -0
  303. package/app/Actions/Dashboard/Kanban/CardShowAction.ts +122 -0
  304. package/app/Actions/Dashboard/Kanban/CardStoreAction.ts +112 -0
  305. package/app/Actions/Dashboard/Kanban/CardUpdateAction.ts +91 -0
  306. package/app/Actions/Dashboard/Kanban/CardsReorderAction.ts +148 -0
  307. package/app/Actions/Dashboard/Kanban/ColumnDestroyAction.ts +59 -0
  308. package/app/Actions/Dashboard/Kanban/ColumnStoreAction.ts +94 -0
  309. package/app/Actions/Dashboard/Kanban/ColumnUpdateAction.ts +89 -0
  310. package/app/Actions/Dashboard/Kanban/ColumnsReorderAction.ts +85 -0
  311. package/app/Actions/Dashboard/Kanban/LabelDestroyAction.ts +41 -0
  312. package/app/Actions/Dashboard/Kanban/LabelStoreAction.ts +70 -0
  313. package/app/Actions/Dashboard/Kanban/LabelUpdateAction.ts +83 -0
  314. package/app/Actions/Dashboard/Kanban/UsersListAction.ts +36 -0
  315. package/app/Actions/Dashboard/Library/CreateComponent.ts +11 -0
  316. package/app/Actions/Dashboard/Library/CreateFunction.ts +11 -0
  317. package/app/Actions/Dashboard/Library/DependencyIndexAction.ts +92 -0
  318. package/app/Actions/Dashboard/Library/GetAverageReleaseTime.ts +12 -0
  319. package/app/Actions/Dashboard/Library/GetComponents.ts +24 -0
  320. package/app/Actions/Dashboard/Library/GetComponentsDownloadCount.ts +12 -0
  321. package/app/Actions/Dashboard/Library/GetDownloadCount.ts +12 -0
  322. package/app/Actions/Dashboard/Library/GetFunctions.ts +22 -0
  323. package/app/Actions/Dashboard/Library/GetFunctionsDownloadCount.ts +12 -0
  324. package/app/Actions/Dashboard/Library/GetReleaseCount.ts +12 -0
  325. package/app/Actions/Dashboard/Library/GetReleases.ts +28 -0
  326. package/app/Actions/Dashboard/Library/PackageIndexAction.ts +26 -0
  327. package/app/Actions/Dashboard/Marketing/CampaignIndexAction.ts +45 -0
  328. package/app/Actions/Dashboard/Marketing/ListIndexAction.ts +43 -0
  329. package/app/Actions/Dashboard/Marketing/SocialPostIndexAction.ts +47 -0
  330. package/app/Actions/Dashboard/Models/GetModels.ts +39 -0
  331. package/app/Actions/Dashboard/Models/GetSubscriberCount.ts +12 -0
  332. package/app/Actions/Dashboard/Models/GetUserCount.ts +12 -0
  333. package/app/Actions/Dashboard/Models/ModelShowAction.ts +131 -0
  334. package/app/Actions/Dashboard/Models/ModelsIndexAction.ts +169 -0
  335. package/app/Actions/Dashboard/Notifications/CreateNotification.ts +11 -0
  336. package/app/Actions/Dashboard/Notifications/GetAverageNotificationTime.ts +12 -0
  337. package/app/Actions/Dashboard/Notifications/GetNotificationCount.ts +12 -0
  338. package/app/Actions/Dashboard/Notifications/GetNotificationDeliveryRate.ts +12 -0
  339. package/app/Actions/Dashboard/Notifications/GetNotificationHistory.ts +12 -0
  340. package/app/Actions/Dashboard/Notifications/GetNotifications.ts +12 -0
  341. package/app/Actions/Dashboard/Notifications/NotificationDashboardAction.ts +43 -0
  342. package/app/Actions/Dashboard/Queries/QueryIndexAction.ts +22 -0
  343. package/app/Actions/Dashboard/Queue/QueueRetryFailedAction.ts +22 -0
  344. package/app/Actions/Dashboard/Queue/QueueStatsAction.ts +98 -0
  345. package/app/Actions/Dashboard/Queue/QueueWorkersAction.ts +46 -0
  346. package/app/Actions/Dashboard/Rbac/PermissionDestroyAction.ts +33 -0
  347. package/app/Actions/Dashboard/Rbac/PermissionStoreAction.ts +53 -0
  348. package/app/Actions/Dashboard/Rbac/PermissionsIndexAction.ts +34 -0
  349. package/app/Actions/Dashboard/Rbac/RoleDestroyAction.ts +35 -0
  350. package/app/Actions/Dashboard/Rbac/RolePermissionsShowAction.ts +45 -0
  351. package/app/Actions/Dashboard/Rbac/RolePermissionsSyncAction.ts +63 -0
  352. package/app/Actions/Dashboard/Rbac/RoleStoreAction.ts +58 -0
  353. package/app/Actions/Dashboard/Rbac/RolesIndexAction.ts +36 -0
  354. package/app/Actions/Dashboard/Rbac/UserRolesShowAction.ts +40 -0
  355. package/app/Actions/Dashboard/Rbac/UserRolesSyncAction.ts +65 -0
  356. package/app/Actions/Dashboard/Rbac/UsersListAction.ts +39 -0
  357. package/app/Actions/Dashboard/Realtime/RealtimeStatsAction.ts +50 -0
  358. package/app/Actions/Dashboard/Releases/ReleaseIndexAction.ts +21 -0
  359. package/app/Actions/Dashboard/Requests/GetAverageRequestTime.ts +12 -0
  360. package/app/Actions/Dashboard/Requests/GetRequestCount.ts +12 -0
  361. package/app/Actions/Dashboard/Requests/GetRequestSuccessRate.ts +12 -0
  362. package/app/Actions/Dashboard/Requests/GetRequests.ts +12 -0
  363. package/app/Actions/Dashboard/Search/GlobalSearchAction.ts +26 -0
  364. package/app/Actions/Dashboard/ServiceHealthAction.ts +243 -0
  365. package/app/Actions/Dashboard/Settings/MailSettingsGetAction.ts +20 -0
  366. package/app/Actions/Dashboard/Settings/MailSettingsUpdateAction.ts +10 -0
  367. package/app/Actions/Dashboard/Settings/SettingsIndexAction.ts +40 -0
  368. package/app/Actions/Dashboard/Settings/UpdateAiConfig.ts +27 -0
  369. package/app/Actions/Dashboard/Settings/UpdateAnalyticsConfig.ts +38 -0
  370. package/app/Actions/Dashboard/Settings/UpdateAppConfig.ts +38 -0
  371. package/app/Actions/Dashboard/Settings/UpdateCacheConfig.ts +11 -0
  372. package/app/Actions/Dashboard/Settings/UpdateCliConfig.ts +11 -0
  373. package/app/Actions/Dashboard/Settings/UpdateCloudConfig.ts +38 -0
  374. package/app/Actions/Dashboard/Settings/UpdateDatabaseConfig.ts +38 -0
  375. package/app/Actions/Dashboard/Settings/UpdateDnsConfig.ts +38 -0
  376. package/app/Actions/Dashboard/Settings/UpdateDocsConfig.ts +11 -0
  377. package/app/Actions/Dashboard/Settings/UpdateEmailConfig.ts +38 -0
  378. package/app/Actions/Dashboard/Settings/UpdateEnvConfig.ts +11 -0
  379. package/app/Actions/Dashboard/Settings/UpdateErrorsConfig.ts +11 -0
  380. package/app/Actions/Dashboard/Settings/UpdateFileSystemsConfig.ts +11 -0
  381. package/app/Actions/Dashboard/Settings/UpdateGitConfig.ts +11 -0
  382. package/app/Actions/Dashboard/Settings/UpdateHashingConfig.ts +11 -0
  383. package/app/Actions/Dashboard/Settings/UpdateLibraryConfig.ts +11 -0
  384. package/app/Actions/Dashboard/Settings/UpdateLoggerConfig.ts +11 -0
  385. package/app/Actions/Dashboard/Settings/UpdateNotificationConfig.ts +11 -0
  386. package/app/Actions/Dashboard/Settings/UpdatePaymentConfig.ts +11 -0
  387. package/app/Actions/Dashboard/Settings/UpdatePortsConfig.ts +38 -0
  388. package/app/Actions/Dashboard/Settings/UpdateQueueConfig.ts +11 -0
  389. package/app/Actions/Dashboard/Settings/UpdateSearchEngineConfig.ts +11 -0
  390. package/app/Actions/Dashboard/Settings/UpdateSecurityConfig.ts +38 -0
  391. package/app/Actions/Dashboard/Settings/UpdateServicesConfig.ts +38 -0
  392. package/app/Actions/Dashboard/Settings/UpdateStorageConfig.ts +11 -0
  393. package/app/Actions/Dashboard/Settings/UpdateTeamConfig.ts +11 -0
  394. package/app/Actions/Dashboard/Settings/UpdateUiConfig.ts +11 -0
  395. package/app/Actions/HealthAction.ts +112 -0
  396. package/app/Actions/InstallAction.ts +83 -0
  397. package/app/Actions/Locale/SetLocaleAction.ts +51 -0
  398. package/app/Actions/LogAction.ts +42 -0
  399. package/app/Actions/Logs/LogFetchStatsAction.ts +50 -0
  400. package/app/Actions/Logs/LogIndexOrmAction.ts +13 -0
  401. package/app/Actions/Logs/LogShowOrmAction.ts +17 -0
  402. package/app/Actions/Logs/LogStoreOrmAction.ts +16 -0
  403. package/app/Actions/Logs/LogUpdateOrmAction.ts +20 -0
  404. package/app/Actions/Monitoring/ErrorDestroyAction.ts +25 -0
  405. package/app/Actions/Monitoring/ErrorGroupAction.ts +21 -0
  406. package/app/Actions/Monitoring/ErrorIgnoreAction.ts +25 -0
  407. package/app/Actions/Monitoring/ErrorIndexAction.ts +14 -0
  408. package/app/Actions/Monitoring/ErrorResolveAction.ts +25 -0
  409. package/app/Actions/Monitoring/ErrorShowAction.ts +19 -0
  410. package/app/Actions/Monitoring/ErrorStatsAction.ts +14 -0
  411. package/app/Actions/Monitoring/ErrorTimelineAction.ts +14 -0
  412. package/app/Actions/Monitoring/ErrorUnresolveAction.ts +25 -0
  413. package/app/Actions/NotifyUser.ts +10 -0
  414. package/app/Actions/Password/PasswordResetAction.ts +54 -0
  415. package/app/Actions/Password/SendPasswordResetEmailAction.ts +66 -0
  416. package/app/Actions/Password/VerifyResetTokenAction.ts +27 -0
  417. package/app/Actions/Payment/CancelSubscriptionAction.ts +20 -0
  418. package/app/Actions/Payment/CreateCheckoutAction.ts +28 -0
  419. package/app/Actions/Payment/CreateInvoiceSubscription.ts +18 -0
  420. package/app/Actions/Payment/CreatePaymentIntentAction.ts +31 -0
  421. package/app/Actions/Payment/CreateSetupIntentAction.ts +20 -0
  422. package/app/Actions/Payment/CreateSubscriptionAction.ts +23 -0
  423. package/app/Actions/Payment/DeleteDefaultPaymentAction.ts +18 -0
  424. package/app/Actions/Payment/FetchActiveSubscriptionAction.ts +18 -0
  425. package/app/Actions/Payment/FetchDefaultPaymentMethodAction.ts +18 -0
  426. package/app/Actions/Payment/FetchPaymentCustomerAction.ts +18 -0
  427. package/app/Actions/Payment/FetchPaymentMethodsAction.ts +18 -0
  428. package/app/Actions/Payment/FetchProductAction.ts +15 -0
  429. package/app/Actions/Payment/FetchTransactionHistoryAction.ts +18 -0
  430. package/app/Actions/Payment/FetchUserSubscriptionsAction.ts +18 -0
  431. package/app/Actions/Payment/SetDefaultPaymentAction.ts +20 -0
  432. package/app/Actions/Payment/SetUserDefaultPaymentAction.ts +20 -0
  433. package/app/Actions/Payment/StorePaymentMethodAction.ts +20 -0
  434. package/app/Actions/Payment/StoreTransactionAction.ts +20 -0
  435. package/app/Actions/Payment/UpdateCustomerAction.ts +24 -0
  436. package/app/Actions/Payment/UpdateDefaultPaymentMethodAction.ts +18 -0
  437. package/app/Actions/Payment/UpdateSubscriptionAction.ts +22 -0
  438. package/app/Actions/Queue/FetchQueuesAction.ts +14 -0
  439. package/app/Actions/README.md +61 -0
  440. package/app/Actions/Realtime/FetchWebsocketsAction.ts +14 -0
  441. package/app/Actions/RobotsAction.ts +61 -0
  442. package/app/Actions/SendWelcomeEmail.ts +40 -0
  443. package/app/Actions/SitemapAction.ts +234 -0
  444. package/app/Actions/Storefront/AddToCartAction.ts +153 -0
  445. package/app/Actions/Storefront/CheckoutContactAction.ts +50 -0
  446. package/app/Actions/Storefront/CheckoutShippingAction.ts +61 -0
  447. package/app/Actions/Storefront/GetCartAction.ts +58 -0
  448. package/app/Actions/Storefront/PlaceOrderAction.ts +195 -0
  449. package/app/Actions/Storefront/SubmitReviewAction.ts +140 -0
  450. package/app/Actions/Storefront/UpdateCartItemAction.ts +83 -0
  451. package/app/Actions/Storefront/_shipping.ts +64 -0
  452. package/app/Actions/SubscriberEmailAction.ts +60 -0
  453. package/app/Actions/TestErrorAction.ts +163 -0
  454. package/app/Actions/UnsubscribeAction.ts +107 -0
  455. package/app/Actions/UploadTestAction.ts +57 -0
  456. package/app/Broadcasts/OrderShipped.ts +57 -0
  457. package/app/Commands/Inspire.ts +57 -0
  458. package/app/Commands/README.md +84 -0
  459. package/app/Commands.ts +38 -0
  460. package/app/Controllers/ComingSoonController.ts +9 -0
  461. package/app/Controllers/QueryController.ts +373 -0
  462. package/app/Events.ts +14 -0
  463. package/app/Gates.ts +107 -0
  464. package/app/Jobs/ExampleJob.ts +20 -0
  465. package/app/Jobs/ExampleTwoJob.ts +12 -0
  466. package/app/Jobs/PruneModelsJob.ts +61 -0
  467. package/app/Jobs/PruneQueryLogsJob.ts +51 -0
  468. package/app/Jobs/README.md +79 -0
  469. package/app/Jobs/SendCampaignJob.ts +201 -0
  470. package/app/Jobs/SendEmailJob.ts +52 -0
  471. package/app/Jobs/SendPasswordResetEmailJob.ts +44 -0
  472. package/app/Jobs/SyncSearchIndexJob.ts +64 -0
  473. package/app/Listener.ts +84 -0
  474. package/app/Listeners/Console.ts +22 -0
  475. package/app/Listeners/README.md +47 -0
  476. package/app/Mail/OrderConfirmation.ts +60 -0
  477. package/app/Mail/SubscriptionConfirmation.ts +41 -0
  478. package/app/Middleware/Abilities.ts +53 -0
  479. package/app/Middleware/Api.ts +26 -0
  480. package/app/Middleware/Auth.ts +59 -0
  481. package/app/Middleware/Can.ts +68 -0
  482. package/app/Middleware/Compress.ts +213 -0
  483. package/app/Middleware/Cors.ts +320 -0
  484. package/app/Middleware/Csrf.ts +224 -0
  485. package/app/Middleware/EnsureEmailIsVerified.ts +28 -0
  486. package/app/Middleware/Env.ts +24 -0
  487. package/app/Middleware/EnvDevelopment.ts +19 -0
  488. package/app/Middleware/EnvLocal.ts +19 -0
  489. package/app/Middleware/EnvNotDevelopment.ts +19 -0
  490. package/app/Middleware/EnvNotLocal.ts +19 -0
  491. package/app/Middleware/EnvNotProduction.ts +19 -0
  492. package/app/Middleware/EnvNotStaging.ts +19 -0
  493. package/app/Middleware/EnvProduction.ts +19 -0
  494. package/app/Middleware/EnvStaging.ts +19 -0
  495. package/app/Middleware/Guest.ts +25 -0
  496. package/app/Middleware/Logger.ts +20 -0
  497. package/app/Middleware/Maintenance.ts +36 -0
  498. package/app/Middleware/Permission.ts +42 -0
  499. package/app/Middleware/README.md +48 -0
  500. package/app/Middleware/Role.ts +42 -0
  501. package/app/Middleware/Signed.ts +31 -0
  502. package/app/Middleware/Team.ts +36 -0
  503. package/app/Middleware/Throttle.ts +96 -0
  504. package/app/Middleware.ts +35 -0
  505. package/app/Models/Activity.ts +94 -0
  506. package/app/Models/Board.ts +103 -0
  507. package/app/Models/BoardColumn.ts +87 -0
  508. package/app/Models/Campaign.ts +239 -0
  509. package/app/Models/CampaignSend.ts +107 -0
  510. package/app/Models/Card.ts +117 -0
  511. package/app/Models/CardComment.ts +68 -0
  512. package/app/Models/Comment.ts +108 -0
  513. package/app/Models/Content/Author.ts +104 -0
  514. package/app/Models/Content/Page.ts +99 -0
  515. package/app/Models/Content/Post.ts +144 -0
  516. package/app/Models/Deployment.ts +116 -0
  517. package/app/Models/EmailList.ts +126 -0
  518. package/app/Models/EmailListSubscriber.ts +91 -0
  519. package/app/Models/Error.ts +70 -0
  520. package/app/Models/FailedJob.ts +62 -0
  521. package/app/Models/Job.ts +63 -0
  522. package/app/Models/Label.ts +66 -0
  523. package/app/Models/Log.ts +110 -0
  524. package/app/Models/Notification.ts +118 -0
  525. package/app/Models/PaymentMethod.ts +98 -0
  526. package/app/Models/PaymentProduct.ts +91 -0
  527. package/app/Models/PaymentTransaction.ts +78 -0
  528. package/app/Models/README.md +31 -0
  529. package/app/Models/Release.ts +89 -0
  530. package/app/Models/Request.ts +114 -0
  531. package/app/Models/SocialPost.ts +136 -0
  532. package/app/Models/Subscriber.ts +89 -0
  533. package/app/Models/SubscriberEmail.ts +55 -0
  534. package/app/Models/Subscription.ts +153 -0
  535. package/app/Models/Tag.ts +82 -0
  536. package/app/Models/Team.ts +72 -0
  537. package/app/Models/User.ts +134 -0
  538. package/app/Models/commerce/Cart.ts +139 -0
  539. package/app/Models/commerce/CartItem.ts +137 -0
  540. package/app/Models/commerce/Category.ts +105 -0
  541. package/app/Models/commerce/Coupon.ts +181 -0
  542. package/app/Models/commerce/Customer.ts +132 -0
  543. package/app/Models/commerce/DeliveryRoute.ts +93 -0
  544. package/app/Models/commerce/DigitalDelivery.ts +105 -0
  545. package/app/Models/commerce/Driver.ts +97 -0
  546. package/app/Models/commerce/GiftCard.ts +191 -0
  547. package/app/Models/commerce/LicenseKey.ts +87 -0
  548. package/app/Models/commerce/LoyaltyPoint.ts +107 -0
  549. package/app/Models/commerce/LoyaltyReward.ts +124 -0
  550. package/app/Models/commerce/Manufacturer.ts +84 -0
  551. package/app/Models/commerce/Order.ts +142 -0
  552. package/app/Models/commerce/OrderItem.ts +51 -0
  553. package/app/Models/commerce/Payment.ts +163 -0
  554. package/app/Models/commerce/PrintDevice.ts +117 -0
  555. package/app/Models/commerce/Product.ts +148 -0
  556. package/app/Models/commerce/ProductUnit.ts +107 -0
  557. package/app/Models/commerce/ProductVariant.ts +106 -0
  558. package/app/Models/commerce/Receipt.ts +128 -0
  559. package/app/Models/commerce/Review.ts +140 -0
  560. package/app/Models/commerce/ShippingMethod.ts +97 -0
  561. package/app/Models/commerce/ShippingRate.ts +74 -0
  562. package/app/Models/commerce/ShippingZone.ts +111 -0
  563. package/app/Models/commerce/TaxRate.ts +114 -0
  564. package/app/Models/commerce/Transaction.ts +126 -0
  565. package/app/Models/commerce/WaitlistProduct.ts +149 -0
  566. package/app/Models/commerce/WaitlistRestaurant.ts +187 -0
  567. package/app/Models/realtime/Websocket.ts +77 -0
  568. package/app/Notifications/README.md +31 -0
  569. package/app/Notifications/Welcome.ts +32 -0
  570. package/app/Policies/PostPolicy.ts +131 -0
  571. package/app/README.md +23 -0
  572. package/app/Routes.ts +47 -0
  573. package/app/Scheduler.ts +28 -0
  574. package/app/Storefront/CartCookie.ts +109 -0
  575. package/package.json +3 -2
@@ -0,0 +1,84 @@
1
+ # What are Commands
2
+
3
+ Stacks allows you to easily create & manage CLIs. This is done through the use of commands. Commands—_a framework primitive, built on CAC_—are responsible for defining the signature and behavior of a command-line interface.
4
+
5
+ > [!TIP]
6
+ > You may ship your CLI as a binary, or you may also use `buddy` to run your commands.
7
+
8
+ ## Get Started
9
+
10
+ The following command will bootstrap a new action file in the `app/Commands` directory.
11
+
12
+ ```sh
13
+ buddy make:command SendEmails
14
+ ```
15
+
16
+ Because commands are automatically registered, you can use them in your CLI immediately.
17
+
18
+ ```sh
19
+
20
+ ### Example
21
+
22
+ A simple example of a command that prints a random quote to the console. _For a closer look, take a peak at the [Inspire.ts](./Inspire.ts) command._
23
+
24
+ ```ts
25
+
26
+ interface InspireOptions {
27
+ two: boolean
28
+ }
29
+
30
+ export default function (cli: CLI) {
31
+ cli
32
+ .command('inspire', 'Inspire yourself with a random quote')
33
+ .option('--two, -t', 'Inspire yourself with two random quotes', { default: false })
34
+ .alias('insp')
35
+ .action((options: InspireOptions) => {
36
+ if (options.two)
37
+ // @ts-expect-error - this is safe because we hard-coded the quotes
38
+ quotes.random(2).map((quote, index) => log.info(`${index + 1}. ${quote}`))
39
+ else
40
+ log.info(quotes.random())
41
+
42
+ log.success('Have a great day!')
43
+ process.exit(ExitCode.Success)
44
+ })
45
+
46
+ cli
47
+ .command('inspire:two', 'Inspire yourself with two random quotes')
48
+ .action(() => {
49
+ // @ts-expect-error - this is safe because we hard-coded the quotes
50
+ quotes.random(2).map((quote, index) => log.info(`${index + 1}. ${quote}`))
51
+
52
+ log.success('Have a great day!')
53
+ process.exit(ExitCode.Success)
54
+ })
55
+
56
+ cli.on('inspire:*', () => {
57
+ log.error('Invalid command: %s\nSee --help for a list of available commands.', cli.args.join(' '))
58
+ process.exit(1)
59
+ })
60
+
61
+ return cli
62
+ }
63
+
64
+ ```
65
+
66
+ ## 🚜 Contributing
67
+
68
+ Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
69
+
70
+ ## 🏝 Community
71
+
72
+ For help, discussion about best practices, or any other conversation that would benefit from being searchable:
73
+
74
+ [Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)
75
+
76
+ For casual chit-chat with others using this package:
77
+
78
+ [Join the Stacks Discord Server](https://discord.gg/stacksjs)
79
+
80
+ ## 📄 License
81
+
82
+ The MIT License (MIT). Please see [LICENSE](../../LICENSE.md) for more information.
83
+
84
+ Made with 💙
@@ -0,0 +1,38 @@
1
+ export interface CommandConfig {
2
+ /** The command file name (without .ts extension) */
3
+ file: string
4
+ /** Whether the command is enabled */
5
+ enabled?: boolean
6
+ /** Command aliases */
7
+ aliases?: string[]
8
+ }
9
+
10
+ export type CommandRegistry = Record<string, string | CommandConfig>
11
+
12
+ /**
13
+ * The application's command registry.
14
+ *
15
+ * Commands listed here will be auto-loaded by the CLI.
16
+ * You can use a simple string (file name) or a config object for more control.
17
+ *
18
+ * @example
19
+ * // Simple registration
20
+ * 'inspire': 'Inspire',
21
+ *
22
+ * // With config
23
+ * 'send-emails': {
24
+ * file: 'SendEmails',
25
+ * enabled: true,
26
+ * aliases: ['emails', 'mail'],
27
+ * },
28
+ */
29
+ export default {
30
+ 'inspire': 'Inspire',
31
+ // Add more commands here
32
+ // 'my-command': 'MyCommand',
33
+ // 'send-emails': {
34
+ // file: 'SendEmails',
35
+ // enabled: true,
36
+ // aliases: ['emails'],
37
+ // },
38
+ } satisfies CommandRegistry
@@ -0,0 +1,9 @@
1
+ import { Controller } from '@stacksjs/server'
2
+ /**
3
+ * Base Controller class providing Laravel-like functionality
4
+ */
5
+ export default class ComingSoonController extends Controller {
6
+ protected index() {
7
+ return this.success('Coming Soon v2')
8
+ }
9
+ }
@@ -0,0 +1,373 @@
1
+ import { config } from '@stacksjs/config'
2
+ import { db, sql } from '@stacksjs/database'
3
+ import { Controller } from '@stacksjs/server'
4
+
5
+ export default class QueryController extends Controller {
6
+ /**
7
+ * Get query statistics for the dashboard
8
+ */
9
+ async getStats() {
10
+ try {
11
+ // Get the total number of queries
12
+ const totalQueries = await db
13
+ .selectFrom('query_logs')
14
+ .select(db.fn.count('id').as('count'))
15
+ .executeTakeFirstOrThrow()
16
+
17
+ // Get counts by query type
18
+ const queryTypeStats = await db
19
+ .selectFrom('query_logs')
20
+ .select([
21
+ sql`json_extract(tags, "$[0]")`.as('type'),
22
+ db.fn.count('id').as('count'),
23
+ ])
24
+ .groupBy(sql`json_extract(tags, "$[0]")`)
25
+ .execute()
26
+
27
+ // Get counts by status
28
+ const statusStats = await db
29
+ .selectFrom('query_logs')
30
+ .select(['status', db.fn.count('id').as('count')])
31
+ .groupBy('status')
32
+ .execute()
33
+
34
+ // Get average duration by query type
35
+ const durationStats = await db
36
+ .selectFrom('query_logs')
37
+ .select([
38
+ sql`json_extract(tags, "$[0]")`.as('type'),
39
+ db.fn.avg('duration').as('avg_duration'),
40
+ ])
41
+ .groupBy(sql`json_extract(tags, "$[0]")`)
42
+ .execute()
43
+
44
+ // Get count of slow queries over time (last 24 hours)
45
+ const slowQueriesTimeline = await db
46
+ .selectFrom('query_logs')
47
+ .select([
48
+ sql`strftime("%Y-%m-%d %H:00:00", executed_at)`.as('hour'),
49
+ db.fn.count('id').as('count'),
50
+ ])
51
+ .where('status', '=', 'slow')
52
+ .where('executed_at', '>=', sql`datetime("now", "-1 day")` as any)
53
+ .groupBy(sql`strftime("%Y-%m-%d %H:00:00", executed_at)`)
54
+ .orderBy('hour')
55
+ .execute()
56
+
57
+ return {
58
+ totalQueries: totalQueries.count,
59
+ byType: queryTypeStats,
60
+ byStatus: statusStats,
61
+ avgDuration: durationStats,
62
+ slowQueriesTimeline,
63
+ // Include system settings for reference
64
+ settings: {
65
+ slowThreshold: config.database?.queryLogging?.slowThreshold || 100,
66
+ },
67
+ }
68
+ }
69
+ catch (error: unknown) {
70
+ const err = error as Error
71
+ throw new Error(`Failed to fetch query statistics: ${err.message}`)
72
+ }
73
+ }
74
+
75
+ /**
76
+ * Get a paginated list of recent queries
77
+ */
78
+ async getRecentQueries({
79
+ page = 1,
80
+ perPage = 10,
81
+ connection = 'all',
82
+ type = 'all',
83
+ status = 'all',
84
+ search = '',
85
+ }) {
86
+ try {
87
+ let query = db
88
+ .selectFrom('query_logs')
89
+ .select([
90
+ 'id',
91
+ 'query',
92
+ 'normalized_query',
93
+ 'duration',
94
+ 'connection',
95
+ 'status',
96
+ 'executed_at',
97
+ 'model',
98
+ 'method',
99
+ 'rows_affected',
100
+ 'tags',
101
+ ])
102
+ .orderBy('executed_at', 'desc')
103
+
104
+ // Apply filters
105
+ if (connection !== 'all')
106
+ query = query.where('connection', '=', connection)
107
+
108
+ if (status !== 'all')
109
+ query = query.where('status', '=', status as any)
110
+
111
+ if (type !== 'all')
112
+ query = query.where('tags', 'like', `%"${type}"%`)
113
+
114
+ if (search) {
115
+ query = query.where(eb => eb.or([
116
+ eb('query', 'like', `%${search}%`),
117
+ eb('model', 'like', `%${search}%`),
118
+ eb('method', 'like', `%${search}%`),
119
+ eb('affected_tables', 'like', `%${search}%`),
120
+ ]))
121
+ }
122
+
123
+ // Get total count for pagination
124
+ const countQuery = query.$call(q => q.select(db.fn.count('id').as('count')))
125
+ const totalResult = await countQuery.executeTakeFirstOrThrow()
126
+ const total = Number(totalResult.count)
127
+
128
+ // Apply pagination
129
+ const offset = (page - 1) * perPage
130
+ query = query.limit(perPage).offset(offset)
131
+
132
+ // Execute paginated query
133
+ const results = await query.execute()
134
+
135
+ return {
136
+ data: results,
137
+ meta: {
138
+ current_page: page,
139
+ per_page: perPage,
140
+ total,
141
+ last_page: Math.ceil(total / perPage),
142
+ },
143
+ }
144
+ }
145
+ catch (error: unknown) {
146
+ const err = error as Error
147
+ throw new Error(`Failed to fetch recent queries: ${err.message}`)
148
+ }
149
+ }
150
+
151
+ /**
152
+ * Get a list of slow queries
153
+ */
154
+ async getSlowQueries({
155
+ page = 1,
156
+ perPage = 10,
157
+ threshold = 0,
158
+ connection = 'all',
159
+ search = '',
160
+ }) {
161
+ try {
162
+ let slowThreshold = threshold
163
+ if (slowThreshold < 0)
164
+ slowThreshold = config.database?.queryLogging?.slowThreshold || 100
165
+
166
+ let query = db
167
+ .selectFrom('query_logs')
168
+ .select([
169
+ 'id',
170
+ 'query',
171
+ 'normalized_query',
172
+ 'duration',
173
+ 'connection',
174
+ 'status',
175
+ 'executed_at',
176
+ 'model',
177
+ 'method',
178
+ 'rows_affected',
179
+ 'optimization_suggestions',
180
+ 'affected_tables',
181
+ 'indexes_used',
182
+ 'missing_indexes',
183
+ ])
184
+ .where('duration', '>=', slowThreshold)
185
+ .orderBy('duration', 'desc')
186
+
187
+ if (connection !== 'all')
188
+ query = query.where('connection', '=', connection)
189
+
190
+ if (search) {
191
+ query = query.where(eb => eb.or([
192
+ eb('query', 'like', `%${search}%`),
193
+ eb('model', 'like', `%${search}%`),
194
+ eb('method', 'like', `%${search}%`),
195
+ eb('affected_tables', 'like', `%${search}%`),
196
+ ]))
197
+ }
198
+
199
+ const countQuery = query.$call(q => q.select(db.fn.count('id').as('count')))
200
+ const totalResult = await countQuery.executeTakeFirstOrThrow()
201
+ const total = Number(totalResult.count)
202
+
203
+ const offset = (page - 1) * perPage
204
+ query = query.limit(perPage).offset(offset)
205
+
206
+ const results = await query.execute()
207
+
208
+ return {
209
+ data: results,
210
+ meta: {
211
+ current_page: page,
212
+ per_page: perPage,
213
+ total,
214
+ last_page: Math.ceil(total / perPage),
215
+ threshold: slowThreshold,
216
+ },
217
+ }
218
+ }
219
+ catch (error: unknown) {
220
+ const err = error as Error
221
+ throw new Error(`Failed to fetch slow queries: ${err.message}`)
222
+ }
223
+ }
224
+
225
+ /**
226
+ * Get a single query by ID
227
+ */
228
+ async getQuery(id: number) {
229
+ try {
230
+ const query = await db
231
+ .selectFrom('query_logs')
232
+ .selectAll()
233
+ .where('id', '=', id)
234
+ .executeTakeFirst()
235
+
236
+ if (!query)
237
+ throw new Error('Query not found')
238
+
239
+ // Parse JSON fields (safely — data may be corrupted)
240
+ const safeParse = (val: string | null | undefined, fallback: any = []) => {
241
+ if (!val) return fallback
242
+ try { return JSON.parse(val) }
243
+ catch { return fallback }
244
+ }
245
+
246
+ return {
247
+ ...query,
248
+ bindings: safeParse(query.bindings, null),
249
+ tags: safeParse(query.tags),
250
+ affected_tables: safeParse(query.affected_tables),
251
+ indexes_used: safeParse(query.indexes_used),
252
+ missing_indexes: safeParse(query.missing_indexes),
253
+ optimization_suggestions: safeParse(query.optimization_suggestions),
254
+ }
255
+ }
256
+ catch (error: any) {
257
+ throw new Error(`Failed to fetch query: ${error.message}`)
258
+ }
259
+ }
260
+
261
+ /**
262
+ * Get query timeline data for charts
263
+ */
264
+ async getQueryTimeline({
265
+ timeframe = 'day', // 'day', 'week', 'month'
266
+ type = 'all',
267
+ }) {
268
+ try {
269
+ let interval: string
270
+ let timeConstraint: string
271
+
272
+ // Set time grouping format and constraint based on timeframe
273
+ switch (timeframe) {
274
+ case 'week':
275
+ interval = '%Y-%m-%d'
276
+ timeConstraint = '-7 day'
277
+ break
278
+ case 'month':
279
+ interval = '%Y-%m-%d'
280
+ timeConstraint = '-30 day'
281
+ break
282
+ case 'day':
283
+ default:
284
+ interval = '%Y-%m-%d %H:00:00'
285
+ timeConstraint = '-24 hour'
286
+ break
287
+ }
288
+
289
+ let query = db
290
+ .selectFrom('query_logs')
291
+ .select([
292
+ sql`strftime("${interval}", executed_at)`.as('time_interval'),
293
+ db.fn.count('id').as('count'),
294
+ db.fn.avg('duration').as('avg_duration'),
295
+ ])
296
+ .where('executed_at', '>=', sql`datetime("now", "${timeConstraint}")` as any)
297
+ .groupBy('time_interval')
298
+ .orderBy('time_interval')
299
+
300
+ // Apply type filter if specified
301
+ if (type !== 'all')
302
+ query = query.where('tags', 'like', `%"${type}"%`)
303
+
304
+ const results = await query.execute()
305
+
306
+ return {
307
+ data: results,
308
+ meta: {
309
+ timeframe,
310
+ type,
311
+ },
312
+ }
313
+ }
314
+ catch (error: unknown) {
315
+ const err = error as Error
316
+ throw new Error(`Failed to fetch query timeline: ${err.message}`)
317
+ }
318
+ }
319
+
320
+ /**
321
+ * Get the most frequently run normalized queries
322
+ */
323
+ async getFrequentQueries(): Promise<Array<{
324
+ normalized_query: string
325
+ count: string | number | bigint
326
+ avg_duration: string | number
327
+ max_duration: number | undefined
328
+ }>> {
329
+ try {
330
+ const results = await db
331
+ .selectFrom('query_logs')
332
+ .select([
333
+ 'normalized_query',
334
+ db.fn.count('id').as('count'),
335
+ db.fn.avg('duration').as('avg_duration'),
336
+ db.fn.max('duration').as('max_duration'),
337
+ ])
338
+ .groupBy('normalized_query')
339
+ .orderBy('count', 'desc')
340
+ .limit(10)
341
+ .execute()
342
+
343
+ return results
344
+ }
345
+ catch (error: unknown) {
346
+ const err = error as Error
347
+ throw new Error(`Failed to fetch frequent queries: ${err.message}`)
348
+ }
349
+ }
350
+
351
+ /**
352
+ * Prune old query logs
353
+ */
354
+ async pruneQueryLogs() {
355
+ try {
356
+ const retentionDays = config.database?.queryLogging?.retention || 7
357
+
358
+ const result = await db
359
+ .deleteFrom('query_logs')
360
+ .where('executed_at', '<', sql`datetime("now", "-${retentionDays} day")` as any)
361
+ .executeTakeFirst()
362
+
363
+ return {
364
+ pruned: result.numDeletedRows,
365
+ retentionDays,
366
+ }
367
+ }
368
+ catch (error: unknown) {
369
+ const err = error as Error
370
+ throw new Error(`Failed to prune query logs: ${err.message}`)
371
+ }
372
+ }
373
+ }
package/app/Events.ts ADDED
@@ -0,0 +1,14 @@
1
+ import type { Events } from '@stacksjs/types'
2
+
3
+ /**
4
+ * **Events Configuration**
5
+ *
6
+ * This configuration defines all of your events. Because Stacks is fully-typed, you may
7
+ * hover any of the options below and the definitions will be provided. In case you
8
+ * have any questions, feel free to reach out via Discord or GitHub Discussions.
9
+ */
10
+ export default {
11
+ // eventName: ['Listener1', 'Listener2'] -> listeners default to ./app/actions/*
12
+ 'user:registered': ['SendWelcomeEmail'],
13
+ 'user:created': ['NotifyUser'],
14
+ } satisfies Events
package/app/Gates.ts ADDED
@@ -0,0 +1,107 @@
1
+ import type { UserModel } from '@stacksjs/orm'
2
+
3
+ /**
4
+ * Authorization Gates Configuration
5
+ *
6
+ * Define your application's authorization gates and policy mappings here.
7
+ * Gates provide a simple way to authorize actions, while policies
8
+ * organize authorization logic around particular models.
9
+ *
10
+ * @see https://stacksjs.org/docs/security/authorization
11
+ */
12
+
13
+ /**
14
+ * Gate definitions
15
+ *
16
+ * Simple ability checks that don't require a model.
17
+ *
18
+ * @example
19
+ * // In your code:
20
+ * import { Gate } from '@stacksjs/auth'
21
+ *
22
+ * if (await Gate.allows('edit-settings', user)) {
23
+ * // User can edit settings
24
+ * }
25
+ */
26
+ export const gates = {
27
+ /**
28
+ * Check if user can access admin area
29
+ */
30
+ 'access-admin': (user: UserModel | null) => {
31
+ return user?.email?.endsWith('@stacksjs.org') ?? false
32
+ },
33
+
34
+ /**
35
+ * Check if user can edit application settings
36
+ */
37
+ 'edit-settings': (user: UserModel | null) => {
38
+ // Add your logic here
39
+ return user !== null
40
+ },
41
+
42
+ /**
43
+ * Check if user can view dashboard
44
+ */
45
+ 'view-dashboard': (user: UserModel | null) => {
46
+ return user !== null
47
+ },
48
+
49
+ // Add more gates here...
50
+ // 'ability-name': (user, ...args) => boolean,
51
+ }
52
+
53
+ /**
54
+ * Policy mappings
55
+ *
56
+ * Map model names to their policy classes.
57
+ * Policy files should be in app/Policies/ directory.
58
+ *
59
+ * @example
60
+ * // Simple mapping (uses PostPolicy for Post model)
61
+ * 'Post': 'PostPolicy',
62
+ *
63
+ * // Or with config:
64
+ * 'Post': {
65
+ * policy: 'PostPolicy',
66
+ * model: Post,
67
+ * },
68
+ */
69
+ export const policies: Record<string, string | { policy: string, model?: string }> = {
70
+ // 'Post': 'PostPolicy',
71
+ // 'User': 'UserPolicy',
72
+ // 'Comment': 'CommentPolicy',
73
+ }
74
+
75
+ /**
76
+ * Before callbacks
77
+ *
78
+ * Run before any gate/policy check. Return true to allow,
79
+ * false to deny, or null to continue to the actual check.
80
+ *
81
+ * @example
82
+ * // Super admins bypass all checks
83
+ * (user) => user?.role === 'super-admin' ? true : null
84
+ */
85
+ export const before: Array<(user: UserModel | null, ability: string, args: any[]) => boolean | null | Promise<boolean | null>> = [
86
+ // Example: Super admin bypass
87
+ // (user, ability) => {
88
+ // if (user?.role === 'super-admin') {
89
+ // return true // Allow everything for super admins
90
+ // }
91
+ // return null // Continue to normal checks
92
+ // },
93
+ ]
94
+
95
+ /**
96
+ * After callbacks
97
+ *
98
+ * Run after gate/policy checks. Can override the result.
99
+ */
100
+ export const after: Array<(user: UserModel | null, ability: string, result: boolean, args: any[]) => boolean | void | Promise<boolean | void>> = [
101
+ // Example: Log all authorization checks
102
+ // (user, ability, result) => {
103
+ // console.log(`User ${user?.id} ${result ? 'allowed' : 'denied'} for ${ability}`)
104
+ // },
105
+ ]
106
+
107
+ export default { gates, policies, before, after }
@@ -0,0 +1,20 @@
1
+ // import { HttpError } from '@stacksjs/error-handling'
2
+ import { Job } from '@stacksjs/queue'
3
+ import { Every } from '@stacksjs/types'
4
+
5
+ export default new Job({
6
+ name: 'Example Job', // optional, defaults to the file name
7
+ description: 'A demo (cron) job that runs every minute', // optional
8
+ tries: 3, // optional, defaults to 3 retries, in case of failures
9
+ backoff: 3, // optional, defaults to 3-second delays between retries
10
+ rate: Every.Minute, // optional, '* * * * *' in cron syntax
11
+ backoffConfig: {
12
+ strategy: 'linear',
13
+ initialDelay: 5000,
14
+ factor: 3,
15
+ },
16
+ handle: (payload: any) => {
17
+ return payload
18
+ },
19
+ // action: 'SendWelcomeEmail', // instead of handle, you may target an action or `action: () => {`
20
+ })
@@ -0,0 +1,12 @@
1
+ import { log } from '@stacksjs/cli'
2
+ import { Job } from '@stacksjs/queue'
3
+ import { Every } from '@stacksjs/types'
4
+
5
+ export default new Job({
6
+ rate: Every.TwoMinutes, // optional, '*/2 * * * *' in cron syntax
7
+ handle: () => {
8
+ log.info('This cron job log this message every two minutes')
9
+ log.info('Please note, any job may also be dispatched individually, or scheduled via ./app/Schedule')
10
+ },
11
+ // action: 'SendWelcomeEmail', // instead of handle, you may target an action or `action: () => {`
12
+ })