@beechcms/api 0.6.0-preview.1 → 0.6.0-preview.3

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 (373) hide show
  1. package/README.md +4 -4
  2. package/assets/dashboard/BeechLogo.svg +18 -18
  3. package/assets/dashboard/BeechLogoLIght.svg +48 -48
  4. package/assets/dashboard/assets/chart-Cws4Yj6K.js +39 -0
  5. package/assets/dashboard/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  6. package/assets/dashboard/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  7. package/assets/dashboard/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  8. package/assets/dashboard/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  9. package/assets/dashboard/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  10. package/assets/dashboard/assets/index-BjPpppHe.css +1 -0
  11. package/assets/dashboard/assets/index-CrW-zhkA.js +642 -0
  12. package/assets/dashboard/assets/lora-cyrillic-ext-wght-normal-YcVxMP-u.woff2 +0 -0
  13. package/assets/dashboard/assets/lora-cyrillic-wght-normal-UWPuZLjM.woff2 +0 -0
  14. package/assets/dashboard/assets/lora-latin-ext-wght-normal-C2Wlntb9.woff2 +0 -0
  15. package/assets/dashboard/assets/lora-latin-wght-normal-BiLcIKcI.woff2 +0 -0
  16. package/assets/dashboard/assets/lora-math-wght-normal-sOy7rEfW.woff2 +0 -0
  17. package/assets/dashboard/assets/lora-symbols-wght-normal-DQ5VrUkH.woff2 +0 -0
  18. package/assets/dashboard/assets/lora-vietnamese-wght-normal-CfJ7gtf3.woff2 +0 -0
  19. package/assets/dashboard/assets/pie-chart-recharts-CAxoDQp2.js +1 -0
  20. package/assets/dashboard/assets/timeseries-chart-recharts-CixDW-LM.js +1 -0
  21. package/assets/dashboard/beechLogoDark.svg +48 -48
  22. package/assets/dashboard/index.html +18 -18
  23. package/assets/dashboard/noResult.svg +42 -42
  24. package/assets/dashboard/sol.svg +3 -3
  25. package/assets/dashboard/undraw_enter_nwx3.svg +36 -36
  26. package/dist/auth/__fixtures__/in-memory-hash-provider.d.ts +5 -0
  27. package/dist/auth/__fixtures__/static-token-service.d.ts +6 -0
  28. package/dist/auth/bcrypt-hash-provider.d.ts +8 -0
  29. package/dist/auth/constants.d.ts +10 -0
  30. package/dist/auth/jose-token-service.d.ts +14 -0
  31. package/dist/auth/login.d.ts +32 -0
  32. package/dist/auth/refresh.d.ts +1 -0
  33. package/dist/factory.d.ts +39 -0
  34. package/dist/features/automations/action-executors/create-entry.executor.d.ts +7 -0
  35. package/dist/features/automations/action-executors/edit-field.executor.d.ts +7 -0
  36. package/dist/features/automations/action-executors/index.d.ts +13 -0
  37. package/dist/features/automations/action-executors/send-mail.executor.d.ts +7 -0
  38. package/dist/features/automations/action-executors/set-variable.executor.d.ts +15 -0
  39. package/dist/features/automations/action-executors/webhook.executor.d.ts +7 -0
  40. package/dist/features/automations/automation-runner.d.ts +13 -0
  41. package/dist/features/automations/automation-runner.utils.d.ts +3 -0
  42. package/dist/features/automations/automations.handler.d.ts +7 -0
  43. package/dist/features/automations/automations.schema.d.ts +191 -0
  44. package/dist/features/automations/context-resolver.d.ts +8 -0
  45. package/dist/features/automations/cron-runner.d.ts +9 -0
  46. package/dist/features/automations/cron-runner.utils.d.ts +1 -0
  47. package/dist/features/automations/filter-translation.d.ts +9 -0
  48. package/dist/features/automations/index.d.ts +7 -0
  49. package/dist/features/automations/template-grammar.d.ts +73 -0
  50. package/dist/features/automations/var-access-resolver.d.ts +6 -0
  51. package/dist/features/automations/when-evaluator.d.ts +3 -0
  52. package/dist/features/automations/when-pushdown.d.ts +2 -0
  53. package/dist/features/backrefs/backrefs.handler.d.ts +3 -0
  54. package/dist/features/backrefs/d1-backref.repository.d.ts +17 -0
  55. package/dist/features/backrefs/index.d.ts +1 -0
  56. package/dist/features/content/constants.d.ts +12 -0
  57. package/dist/features/content/handlers/bulk.handler.d.ts +3 -0
  58. package/dist/features/content/handlers/create.d.ts +3 -0
  59. package/dist/features/content/handlers/delete.d.ts +3 -0
  60. package/dist/features/content/handlers/facets.d.ts +3 -0
  61. package/dist/features/content/handlers/get.d.ts +4 -0
  62. package/dist/features/content/handlers/helpers.d.ts +12 -0
  63. package/dist/features/content/handlers/list.d.ts +3 -0
  64. package/dist/features/content/handlers/update.d.ts +3 -0
  65. package/dist/features/content/index.d.ts +4 -0
  66. package/dist/features/dashboard-layout/dashboard-layout.handler.d.ts +7 -0
  67. package/dist/features/dashboard-layout/index.d.ts +1 -0
  68. package/dist/features/draft/draft.handler.d.ts +4 -0
  69. package/dist/features/draft/draft.middleware.d.ts +9 -0
  70. package/dist/features/draft/index.d.ts +1 -0
  71. package/{src/features/email/email.provider.ts → dist/features/email/email.provider.d.ts} +37 -42
  72. package/dist/features/email/email.service.d.ts +13 -0
  73. package/dist/features/email/email.types.d.ts +94 -0
  74. package/{src/features/email/index.ts → dist/features/email/index.d.ts} +20 -33
  75. package/dist/features/email/providers/resend.d.ts +36 -0
  76. package/dist/features/email/providers/smtp.d.ts +11 -0
  77. package/dist/features/email/templates/automation-mail.d.ts +8 -0
  78. package/dist/features/email/templates/password-changed.d.ts +15 -0
  79. package/dist/features/email/templates/password-reset.d.ts +18 -0
  80. package/dist/features/email/templates/shell.d.ts +58 -0
  81. package/dist/features/notifications/index.d.ts +1 -0
  82. package/dist/features/notifications/notifications.handler.d.ts +15 -0
  83. package/dist/features/password-reset/index.d.ts +6 -0
  84. package/dist/features/password-reset/request.d.ts +10 -0
  85. package/dist/features/password-reset/reset.d.ts +9 -0
  86. package/dist/features/rotate-field/index.d.ts +1 -0
  87. package/dist/features/rotate-field/rotate-field.handler.d.ts +7 -0
  88. package/dist/features/rotate-field/rotate-field.schema.d.ts +11 -0
  89. package/dist/features/schema/schema.handler.d.ts +7 -0
  90. package/dist/features/seeds/index.d.ts +1 -0
  91. package/dist/features/seeds/seeds.handler.d.ts +6 -0
  92. package/dist/features/settings/settings.handler.d.ts +7 -0
  93. package/dist/features/setup/index.d.ts +7 -0
  94. package/dist/features/stats/index.d.ts +1 -0
  95. package/dist/features/stats/stats.handler.d.ts +7 -0
  96. package/dist/features/webhooks/index.d.ts +3 -0
  97. package/dist/index.d.ts +6 -0
  98. package/dist/index.js +9666 -0
  99. package/dist/media-utils.d.ts +25 -0
  100. package/dist/middleware/auth-providers.middleware.d.ts +8 -0
  101. package/dist/middleware/observability.middleware.d.ts +20 -0
  102. package/dist/middleware/rate-limit.middleware.d.ts +9 -0
  103. package/dist/middleware/repository.middleware.d.ts +34 -0
  104. package/dist/middleware/seed-registry.middleware.d.ts +10 -0
  105. package/dist/middleware/storage.middleware.d.ts +7 -0
  106. package/dist/middleware.d.ts +11 -0
  107. package/dist/public/access-policy.d.ts +12 -0
  108. package/dist/public/api-key-middleware.d.ts +6 -0
  109. package/dist/public/cache-utils.d.ts +10 -0
  110. package/dist/public/entry-projection.d.ts +2 -0
  111. package/dist/public/idempotency.d.ts +9 -0
  112. package/dist/public/index.d.ts +11 -0
  113. package/dist/public/problem-details.d.ts +31 -0
  114. package/dist/public/public-add.d.ts +3 -0
  115. package/dist/public/public-edit.d.ts +5 -0
  116. package/dist/public/public-errors.d.ts +13 -0
  117. package/dist/public/public-read.d.ts +3 -0
  118. package/dist/public/public-routes.d.ts +3 -0
  119. package/dist/public/query-builder.d.ts +28 -0
  120. package/dist/public/rate-limit-middleware.d.ts +3 -0
  121. package/dist/public/read-list.d.ts +26 -0
  122. package/dist/public/read-single.d.ts +22 -0
  123. package/dist/public/response-builder.d.ts +22 -0
  124. package/dist/public/sanitize.d.ts +23 -0
  125. package/dist/public/slug-utils.d.ts +11 -0
  126. package/dist/rate-limit/cloudflare-rate-limiter.d.ts +6 -0
  127. package/dist/rate-limit/in-memory-rate-limiter.d.ts +7 -0
  128. package/dist/rate-limit/no-op-rate-limiter.d.ts +4 -0
  129. package/dist/search-utils.d.ts +54 -0
  130. package/dist/search.d.ts +6 -0
  131. package/dist/shared/apply-policies.d.ts +10 -0
  132. package/dist/shared/automations.repository.d1.d.ts +12 -0
  133. package/dist/shared/background-notification-service.d.ts +18 -0
  134. package/dist/shared/base.repository.d1.d.ts +18 -0
  135. package/dist/shared/content-utils.d.ts +21 -0
  136. package/dist/shared/content.repository.d1.d.ts +68 -0
  137. package/dist/shared/d1-activity-log.repository.d.ts +13 -0
  138. package/dist/shared/d1-activity-logger.d.ts +20 -0
  139. package/dist/shared/d1-analytics.repository.d.ts +20 -0
  140. package/dist/shared/d1-content-scan.repository.d.ts +7 -0
  141. package/dist/shared/d1-notification.repository.d.ts +17 -0
  142. package/dist/shared/d1-password-reset-token.repository.d.ts +10 -0
  143. package/dist/shared/d1-search.repository.d.ts +14 -0
  144. package/dist/shared/d1-session.repository.d.ts +12 -0
  145. package/dist/shared/d1-setup-checklist.repository.d.ts +12 -0
  146. package/dist/shared/d1-user.repository.d.ts +18 -0
  147. package/dist/shared/d1-widget.repository.d.ts +31 -0
  148. package/dist/shared/dashboard-layout.repository.d1.d.ts +9 -0
  149. package/dist/shared/demo-data-sql.d.ts +1 -0
  150. package/dist/shared/demo-data.repository.d1.d.ts +6 -0
  151. package/dist/shared/execution-context-scheduler.d.ts +6 -0
  152. package/dist/shared/fixed-clock.d.ts +13 -0
  153. package/dist/shared/fts-sync.d.ts +1 -0
  154. package/dist/shared/idempotency.repository.d1.d.ts +16 -0
  155. package/dist/shared/in-memory-activity-logger.d.ts +11 -0
  156. package/dist/shared/in-memory-notification-service.d.ts +11 -0
  157. package/dist/shared/in-memory-seed.repository.d.ts +18 -0
  158. package/dist/shared/media.repository.d1.d.ts +35 -0
  159. package/dist/shared/qstash-notification-service.d.ts +18 -0
  160. package/dist/shared/query-utils.d.ts +36 -0
  161. package/dist/shared/request-utils.d.ts +13 -0
  162. package/dist/shared/schema-mutator.d1.d.ts +12 -0
  163. package/dist/shared/seed-layout.repository.d1.d.ts +9 -0
  164. package/dist/shared/seed-registry-cache.d.ts +12 -0
  165. package/dist/shared/seed.repository.d1.d.ts +13 -0
  166. package/dist/shared/sequential-id-generator.d.ts +13 -0
  167. package/dist/shared/site-settings.repository.d1.d.ts +7 -0
  168. package/dist/shared/storage/factory.d.ts +8 -0
  169. package/dist/shared/storage/s3-bucket.d.ts +43 -0
  170. package/dist/shared/storage-utils.d.ts +7 -0
  171. package/dist/shared/system-stats.repository.d1.d.ts +25 -0
  172. package/dist/types.d.ts +85 -0
  173. package/dist/upload.d.ts +16 -0
  174. package/dist/widget.d.ts +7 -0
  175. package/migrations/0000_v040_base.sql +265 -265
  176. package/migrations/0029_automations.sql +14 -14
  177. package/migrations/0030_test_seeds.sql +125 -125
  178. package/package.json +27 -18
  179. package/assets/dashboard/assets/index-BSjk0Sx9.js +0 -634
  180. package/assets/dashboard/assets/index-kRCYVN2B.css +0 -1
  181. package/src/auth/__fixtures__/in-memory-hash-provider.ts +0 -17
  182. package/src/auth/__fixtures__/static-token-service.ts +0 -22
  183. package/src/auth/bcrypt-hash-provider.ts +0 -24
  184. package/src/auth/constants.ts +0 -14
  185. package/src/auth/generate-refresh-token.test.ts +0 -23
  186. package/src/auth/hash-provider.test.ts +0 -55
  187. package/src/auth/jose-token-service.ts +0 -62
  188. package/src/auth/jwt-claims-passthrough.test.ts +0 -87
  189. package/src/auth/login.test.ts +0 -100
  190. package/src/auth/login.ts +0 -78
  191. package/src/auth/refresh.ts +0 -11
  192. package/src/auth/token-service.test.ts +0 -90
  193. package/src/factory.ts +0 -368
  194. package/src/features/automations/__tests__/action-executors.test.ts +0 -255
  195. package/src/features/automations/__tests__/automation-runner.test.ts +0 -196
  196. package/src/features/automations/__tests__/automation-runner.utils.test.ts +0 -60
  197. package/src/features/automations/__tests__/automations.handler.test.ts +0 -264
  198. package/src/features/automations/__tests__/automations.repository.test.ts +0 -163
  199. package/src/features/automations/__tests__/automations.schema.test.ts +0 -224
  200. package/src/features/automations/__tests__/context-resolver.test.ts +0 -126
  201. package/src/features/automations/__tests__/cron-runner.test.ts +0 -267
  202. package/src/features/automations/__tests__/cron-runner.utils.test.ts +0 -144
  203. package/src/features/automations/__tests__/set-variable.executor.test.ts +0 -383
  204. package/src/features/automations/__tests__/template-grammar.test.ts +0 -308
  205. package/src/features/automations/__tests__/webhook.executor.test.ts +0 -142
  206. package/src/features/automations/__tests__/when-evaluator.test.ts +0 -274
  207. package/src/features/automations/__tests__/when-pushdown.test.ts +0 -281
  208. package/src/features/automations/action-executors/create-entry.executor.ts +0 -27
  209. package/src/features/automations/action-executors/edit-field.executor.ts +0 -26
  210. package/src/features/automations/action-executors/index.ts +0 -37
  211. package/src/features/automations/action-executors/send-mail.executor.ts +0 -53
  212. package/src/features/automations/action-executors/set-variable.executor.ts +0 -159
  213. package/src/features/automations/action-executors/webhook.executor.ts +0 -67
  214. package/src/features/automations/automation-runner.ts +0 -85
  215. package/src/features/automations/automation-runner.utils.ts +0 -47
  216. package/src/features/automations/automations.handler.ts +0 -197
  217. package/src/features/automations/automations.schema.ts +0 -177
  218. package/src/features/automations/context-resolver.ts +0 -152
  219. package/src/features/automations/cron-runner.ts +0 -140
  220. package/src/features/automations/cron-runner.utils.ts +0 -44
  221. package/src/features/automations/filter-translation.ts +0 -46
  222. package/src/features/automations/index.ts +0 -16
  223. package/src/features/automations/template-grammar.ts +0 -245
  224. package/src/features/automations/var-access-resolver.ts +0 -140
  225. package/src/features/automations/when-evaluator.ts +0 -87
  226. package/src/features/automations/when-pushdown.ts +0 -57
  227. package/src/features/backrefs/__tests__/backrefs.handler.test.ts +0 -359
  228. package/src/features/backrefs/backrefs.handler.ts +0 -168
  229. package/src/features/backrefs/d1-backref.repository.ts +0 -84
  230. package/src/features/backrefs/index.ts +0 -5
  231. package/src/features/content/constants.ts +0 -16
  232. package/src/features/content/handlers/bulk.handler.ts +0 -185
  233. package/src/features/content/handlers/create.ts +0 -129
  234. package/src/features/content/handlers/delete.ts +0 -62
  235. package/src/features/content/handlers/facets.ts +0 -49
  236. package/src/features/content/handlers/get.ts +0 -120
  237. package/src/features/content/handlers/helpers.test.ts +0 -180
  238. package/src/features/content/handlers/helpers.ts +0 -93
  239. package/src/features/content/handlers/list.ts +0 -174
  240. package/src/features/content/handlers/update.ts +0 -174
  241. package/src/features/content/index.ts +0 -26
  242. package/src/features/draft/draft.handler.ts +0 -195
  243. package/src/features/draft/draft.middleware.ts +0 -66
  244. package/src/features/draft/index.ts +0 -5
  245. package/src/features/email/email.service.ts +0 -98
  246. package/src/features/email/email.types.ts +0 -119
  247. package/src/features/email/providers/resend.ts +0 -67
  248. package/src/features/email/providers/smtp.ts +0 -55
  249. package/src/features/email/templates/automation-mail.ts +0 -19
  250. package/src/features/email/templates/password-changed.ts +0 -63
  251. package/src/features/email/templates/password-reset.ts +0 -68
  252. package/src/features/email/templates/shell.ts +0 -96
  253. package/src/features/notifications/index.ts +0 -5
  254. package/src/features/notifications/notifications.handler.ts +0 -105
  255. package/src/features/password-reset/index.ts +0 -19
  256. package/src/features/password-reset/request.ts +0 -92
  257. package/src/features/password-reset/reset.ts +0 -102
  258. package/src/features/rotate-field/index.ts +0 -5
  259. package/src/features/rotate-field/rotate-field.handler.ts +0 -132
  260. package/src/features/rotate-field/rotate-field.schema.ts +0 -17
  261. package/src/features/schema/schema.handler.ts +0 -131
  262. package/src/features/seeds/index.ts +0 -5
  263. package/src/features/seeds/seeds.handler.test.ts +0 -632
  264. package/src/features/seeds/seeds.handler.ts +0 -693
  265. package/src/features/settings/__tests__/settings.handler.test.ts +0 -555
  266. package/src/features/settings/settings.handler.ts +0 -392
  267. package/src/features/setup/index.ts +0 -204
  268. package/src/features/stats/index.ts +0 -5
  269. package/src/features/stats/stats.handler.ts +0 -420
  270. package/src/features/webhooks/index.ts +0 -63
  271. package/src/index.ts +0 -65
  272. package/src/media-utils.ts +0 -82
  273. package/src/middleware/auth-providers.middleware.ts +0 -45
  274. package/src/middleware/observability.middleware.ts +0 -70
  275. package/src/middleware/rate-limit.middleware.ts +0 -45
  276. package/src/middleware/repository.middleware.ts +0 -114
  277. package/src/middleware/seed-registry.middleware.test.ts +0 -97
  278. package/src/middleware/seed-registry.middleware.ts +0 -21
  279. package/src/middleware/storage.middleware.ts +0 -25
  280. package/src/middleware.ts +0 -45
  281. package/src/public/access-policy.ts +0 -27
  282. package/src/public/api-key-middleware.ts +0 -57
  283. package/src/public/cache-utils.ts +0 -38
  284. package/src/public/entry-projection.ts +0 -46
  285. package/src/public/idempotency.ts +0 -23
  286. package/src/public/index.ts +0 -16
  287. package/src/public/problem-details.ts +0 -124
  288. package/src/public/public-add.ts +0 -114
  289. package/src/public/public-edit.ts +0 -163
  290. package/src/public/public-errors.ts +0 -19
  291. package/src/public/public-read.ts +0 -63
  292. package/src/public/public-routes.ts +0 -88
  293. package/src/public/query-builder.test.ts +0 -224
  294. package/src/public/query-builder.ts +0 -156
  295. package/src/public/rate-limit-middleware.ts +0 -34
  296. package/src/public/read-list.ts +0 -54
  297. package/src/public/read-single.ts +0 -48
  298. package/src/public/response-builder.ts +0 -30
  299. package/src/public/sanitize.ts +0 -69
  300. package/src/public/slug-utils.ts +0 -18
  301. package/src/rate-limit/cloudflare-rate-limiter.test.ts +0 -30
  302. package/src/rate-limit/cloudflare-rate-limiter.ts +0 -15
  303. package/src/rate-limit/in-memory-rate-limiter.test.ts +0 -37
  304. package/src/rate-limit/in-memory-rate-limiter.ts +0 -17
  305. package/src/rate-limit/no-op-rate-limiter.test.ts +0 -22
  306. package/src/rate-limit/no-op-rate-limiter.ts +0 -11
  307. package/src/search-utils.test.ts +0 -211
  308. package/src/search-utils.ts +0 -213
  309. package/src/search.ts +0 -65
  310. package/src/shared/apply-policies.test.ts +0 -81
  311. package/src/shared/apply-policies.ts +0 -67
  312. package/src/shared/automations.repository.d1.ts +0 -150
  313. package/src/shared/background-notification-service.test.ts +0 -62
  314. package/src/shared/background-notification-service.ts +0 -52
  315. package/src/shared/base.repository.d1.ts +0 -32
  316. package/src/shared/content-utils.test.ts +0 -165
  317. package/src/shared/content-utils.ts +0 -86
  318. package/src/shared/content.repository.d1.test.ts +0 -458
  319. package/src/shared/content.repository.d1.ts +0 -851
  320. package/src/shared/d1-activity-log.repository.test.ts +0 -140
  321. package/src/shared/d1-activity-log.repository.ts +0 -105
  322. package/src/shared/d1-activity-logger.test.ts +0 -86
  323. package/src/shared/d1-activity-logger.ts +0 -67
  324. package/src/shared/d1-analytics.repository.test.ts +0 -78
  325. package/src/shared/d1-analytics.repository.ts +0 -85
  326. package/src/shared/d1-content-scan.repository.test.ts +0 -80
  327. package/src/shared/d1-content-scan.repository.ts +0 -37
  328. package/src/shared/d1-notification.repository.test.ts +0 -128
  329. package/src/shared/d1-notification.repository.ts +0 -118
  330. package/src/shared/d1-password-reset-token.repository.test.ts +0 -81
  331. package/src/shared/d1-password-reset-token.repository.ts +0 -56
  332. package/src/shared/d1-search.repository.test.ts +0 -87
  333. package/src/shared/d1-search.repository.ts +0 -88
  334. package/src/shared/d1-session.repository.test.ts +0 -125
  335. package/src/shared/d1-session.repository.ts +0 -102
  336. package/src/shared/d1-setup-checklist.repository.ts +0 -36
  337. package/src/shared/d1-user.repository.test.ts +0 -151
  338. package/src/shared/d1-user.repository.ts +0 -119
  339. package/src/shared/d1-widget.repository.test.ts +0 -221
  340. package/src/shared/d1-widget.repository.ts +0 -341
  341. package/src/shared/demo-data-sql.ts +0 -54
  342. package/src/shared/demo-data.repository.d1.ts +0 -20
  343. package/src/shared/execution-context-scheduler.ts +0 -13
  344. package/src/shared/fixed-clock.ts +0 -25
  345. package/src/shared/fts-sync.ts +0 -8
  346. package/src/shared/idempotency.repository.d1.test.ts +0 -83
  347. package/src/shared/idempotency.repository.d1.ts +0 -60
  348. package/src/shared/in-memory-activity-logger.ts +0 -19
  349. package/src/shared/in-memory-notification-service.ts +0 -19
  350. package/src/shared/in-memory-seed.repository.ts +0 -51
  351. package/src/shared/media.repository.d1.test.ts +0 -107
  352. package/src/shared/media.repository.d1.ts +0 -68
  353. package/src/shared/qstash-notification-service.test.ts +0 -67
  354. package/src/shared/qstash-notification-service.ts +0 -55
  355. package/src/shared/query-utils.ts +0 -141
  356. package/src/shared/request-utils.ts +0 -26
  357. package/src/shared/schema-mutator.d1.ts +0 -64
  358. package/src/shared/seed-layout.repository.d1.test.ts +0 -114
  359. package/src/shared/seed-layout.repository.d1.ts +0 -62
  360. package/src/shared/seed-registry-cache.test.ts +0 -68
  361. package/src/shared/seed-registry-cache.ts +0 -49
  362. package/src/shared/seed.repository.d1.test.ts +0 -143
  363. package/src/shared/seed.repository.d1.ts +0 -98
  364. package/src/shared/sequential-id-generator.ts +0 -33
  365. package/src/shared/site-settings.repository.d1.ts +0 -53
  366. package/src/shared/storage/factory.ts +0 -41
  367. package/src/shared/storage/s3-bucket.ts +0 -195
  368. package/src/shared/storage-utils.ts +0 -40
  369. package/src/shared/system-stats.repository.d1.test.ts +0 -58
  370. package/src/shared/system-stats.repository.d1.ts +0 -48
  371. package/src/types.ts +0 -87
  372. package/src/upload.ts +0 -198
  373. package/src/widget.ts +0 -212
@@ -1,125 +1,125 @@
1
- -- content_products
2
- CREATE TABLE IF NOT EXISTS content_products (
3
- id TEXT NOT NULL PRIMARY KEY,
4
- slug TEXT NOT NULL UNIQUE,
5
- status TEXT NOT NULL DEFAULT 'draft' CHECK (status IN ('draft', 'review', 'published', 'archived')),
6
- name TEXT NOT NULL,
7
- description TEXT,
8
- price REAL,
9
- inventory REAL,
10
- rating REAL,
11
- created_at INTEGER NOT NULL DEFAULT (unixepoch()),
12
- updated_at INTEGER NOT NULL DEFAULT (unixepoch())
13
- );
14
-
15
- CREATE INDEX IF NOT EXISTS idx_products_status ON content_products(status);
16
- CREATE INDEX IF NOT EXISTS idx_products_created_at ON content_products(created_at);
17
- CREATE INDEX IF NOT EXISTS idx_products_name ON content_products(name);
18
- CREATE INDEX IF NOT EXISTS idx_products_price ON content_products(price);
19
- CREATE INDEX IF NOT EXISTS idx_products_inventory ON content_products(inventory);
20
- CREATE INDEX IF NOT EXISTS idx_products_rating ON content_products(rating);
21
-
22
- CREATE VIRTUAL TABLE IF NOT EXISTS fts_products USING fts5(
23
- entry_id UNINDEXED,
24
- name,
25
- description,
26
- tokenize = 'unicode61'
27
- );
28
-
29
- CREATE TRIGGER IF NOT EXISTS fts_products_insert
30
- AFTER INSERT ON content_products BEGIN
31
- INSERT INTO fts_products(entry_id, name, description) VALUES (new.id, new.name, new.description);
32
- END;
33
-
34
- CREATE TRIGGER IF NOT EXISTS fts_products_update
35
- AFTER UPDATE OF name, description ON content_products BEGIN
36
- DELETE FROM fts_products WHERE entry_id = old.id;
37
- INSERT INTO fts_products(entry_id, name, description) VALUES (new.id, new.name, new.description);
38
- END;
39
-
40
- CREATE TRIGGER IF NOT EXISTS fts_products_delete
41
- AFTER DELETE ON content_products BEGIN
42
- DELETE FROM fts_products WHERE entry_id = old.id;
43
- END;
44
-
45
- -- content_reviews
46
- CREATE TABLE IF NOT EXISTS content_reviews (
47
- id TEXT NOT NULL PRIMARY KEY,
48
- slug TEXT NOT NULL UNIQUE,
49
- status TEXT NOT NULL DEFAULT 'draft' CHECK (status IN ('draft', 'review', 'published', 'archived')),
50
- title TEXT NOT NULL,
51
- body TEXT,
52
- score REAL,
53
- created_at INTEGER NOT NULL DEFAULT (unixepoch()),
54
- updated_at INTEGER NOT NULL DEFAULT (unixepoch())
55
- );
56
-
57
- CREATE INDEX IF NOT EXISTS idx_reviews_status ON content_reviews(status);
58
- CREATE INDEX IF NOT EXISTS idx_reviews_created_at ON content_reviews(created_at);
59
- CREATE INDEX IF NOT EXISTS idx_reviews_title ON content_reviews(title);
60
- CREATE INDEX IF NOT EXISTS idx_reviews_body ON content_reviews(body);
61
- CREATE INDEX IF NOT EXISTS idx_reviews_score ON content_reviews(score);
62
-
63
- CREATE VIRTUAL TABLE IF NOT EXISTS fts_reviews USING fts5(
64
- entry_id UNINDEXED,
65
- title,
66
- body,
67
- tokenize = 'unicode61'
68
- );
69
-
70
- CREATE TRIGGER IF NOT EXISTS fts_reviews_insert
71
- AFTER INSERT ON content_reviews BEGIN
72
- INSERT INTO fts_reviews(entry_id, title, body) VALUES (new.id, new.title, new.body);
73
- END;
74
-
75
- CREATE TRIGGER IF NOT EXISTS fts_reviews_update
76
- AFTER UPDATE OF title, body ON content_reviews BEGIN
77
- DELETE FROM fts_reviews WHERE entry_id = old.id;
78
- INSERT INTO fts_reviews(entry_id, title, body) VALUES (new.id, new.title, new.body);
79
- END;
80
-
81
- CREATE TRIGGER IF NOT EXISTS fts_reviews_delete
82
- AFTER DELETE ON content_reviews BEGIN
83
- DELETE FROM fts_reviews WHERE entry_id = old.id;
84
- END;
85
-
86
- -- content_tasks
87
- CREATE TABLE IF NOT EXISTS content_tasks (
88
- id TEXT NOT NULL PRIMARY KEY,
89
- slug TEXT NOT NULL UNIQUE,
90
- status TEXT NOT NULL DEFAULT 'draft' CHECK (status IN ('draft', 'review', 'published', 'archived')),
91
- title TEXT NOT NULL,
92
- taskStatus TEXT,
93
- completion REAL,
94
- created_at INTEGER NOT NULL DEFAULT (unixepoch()),
95
- updated_at INTEGER NOT NULL DEFAULT (unixepoch())
96
- );
97
-
98
- CREATE INDEX IF NOT EXISTS idx_tasks_status ON content_tasks(status);
99
- CREATE INDEX IF NOT EXISTS idx_tasks_created_at ON content_tasks(created_at);
100
- CREATE INDEX IF NOT EXISTS idx_tasks_title ON content_tasks(title);
101
- CREATE INDEX IF NOT EXISTS idx_tasks_taskStatus ON content_tasks(taskStatus);
102
- CREATE INDEX IF NOT EXISTS idx_tasks_completion ON content_tasks(completion);
103
-
104
- CREATE VIRTUAL TABLE IF NOT EXISTS fts_tasks USING fts5(
105
- entry_id UNINDEXED,
106
- title,
107
- taskStatus,
108
- tokenize = 'unicode61'
109
- );
110
-
111
- CREATE TRIGGER IF NOT EXISTS fts_tasks_insert
112
- AFTER INSERT ON content_tasks BEGIN
113
- INSERT INTO fts_tasks(entry_id, title, taskStatus) VALUES (new.id, new.title, new.taskStatus);
114
- END;
115
-
116
- CREATE TRIGGER IF NOT EXISTS fts_tasks_update
117
- AFTER UPDATE OF title, taskStatus ON content_tasks BEGIN
118
- DELETE FROM fts_tasks WHERE entry_id = old.id;
119
- INSERT INTO fts_tasks(entry_id, title, taskStatus) VALUES (new.id, new.title, new.taskStatus);
120
- END;
121
-
122
- CREATE TRIGGER IF NOT EXISTS fts_tasks_delete
123
- AFTER DELETE ON content_tasks BEGIN
124
- DELETE FROM fts_tasks WHERE entry_id = old.id;
125
- END;
1
+ -- content_products
2
+ CREATE TABLE IF NOT EXISTS content_products (
3
+ id TEXT NOT NULL PRIMARY KEY,
4
+ slug TEXT NOT NULL UNIQUE,
5
+ status TEXT NOT NULL DEFAULT 'draft' CHECK (status IN ('draft', 'review', 'published', 'archived')),
6
+ name TEXT NOT NULL,
7
+ description TEXT,
8
+ price REAL,
9
+ inventory REAL,
10
+ rating REAL,
11
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
12
+ updated_at INTEGER NOT NULL DEFAULT (unixepoch())
13
+ );
14
+
15
+ CREATE INDEX IF NOT EXISTS idx_products_status ON content_products(status);
16
+ CREATE INDEX IF NOT EXISTS idx_products_created_at ON content_products(created_at);
17
+ CREATE INDEX IF NOT EXISTS idx_products_name ON content_products(name);
18
+ CREATE INDEX IF NOT EXISTS idx_products_price ON content_products(price);
19
+ CREATE INDEX IF NOT EXISTS idx_products_inventory ON content_products(inventory);
20
+ CREATE INDEX IF NOT EXISTS idx_products_rating ON content_products(rating);
21
+
22
+ CREATE VIRTUAL TABLE IF NOT EXISTS fts_products USING fts5(
23
+ entry_id UNINDEXED,
24
+ name,
25
+ description,
26
+ tokenize = 'unicode61'
27
+ );
28
+
29
+ CREATE TRIGGER IF NOT EXISTS fts_products_insert
30
+ AFTER INSERT ON content_products BEGIN
31
+ INSERT INTO fts_products(entry_id, name, description) VALUES (new.id, new.name, new.description);
32
+ END;
33
+
34
+ CREATE TRIGGER IF NOT EXISTS fts_products_update
35
+ AFTER UPDATE OF name, description ON content_products BEGIN
36
+ DELETE FROM fts_products WHERE entry_id = old.id;
37
+ INSERT INTO fts_products(entry_id, name, description) VALUES (new.id, new.name, new.description);
38
+ END;
39
+
40
+ CREATE TRIGGER IF NOT EXISTS fts_products_delete
41
+ AFTER DELETE ON content_products BEGIN
42
+ DELETE FROM fts_products WHERE entry_id = old.id;
43
+ END;
44
+
45
+ -- content_reviews
46
+ CREATE TABLE IF NOT EXISTS content_reviews (
47
+ id TEXT NOT NULL PRIMARY KEY,
48
+ slug TEXT NOT NULL UNIQUE,
49
+ status TEXT NOT NULL DEFAULT 'draft' CHECK (status IN ('draft', 'review', 'published', 'archived')),
50
+ title TEXT NOT NULL,
51
+ body TEXT,
52
+ score REAL,
53
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
54
+ updated_at INTEGER NOT NULL DEFAULT (unixepoch())
55
+ );
56
+
57
+ CREATE INDEX IF NOT EXISTS idx_reviews_status ON content_reviews(status);
58
+ CREATE INDEX IF NOT EXISTS idx_reviews_created_at ON content_reviews(created_at);
59
+ CREATE INDEX IF NOT EXISTS idx_reviews_title ON content_reviews(title);
60
+ CREATE INDEX IF NOT EXISTS idx_reviews_body ON content_reviews(body);
61
+ CREATE INDEX IF NOT EXISTS idx_reviews_score ON content_reviews(score);
62
+
63
+ CREATE VIRTUAL TABLE IF NOT EXISTS fts_reviews USING fts5(
64
+ entry_id UNINDEXED,
65
+ title,
66
+ body,
67
+ tokenize = 'unicode61'
68
+ );
69
+
70
+ CREATE TRIGGER IF NOT EXISTS fts_reviews_insert
71
+ AFTER INSERT ON content_reviews BEGIN
72
+ INSERT INTO fts_reviews(entry_id, title, body) VALUES (new.id, new.title, new.body);
73
+ END;
74
+
75
+ CREATE TRIGGER IF NOT EXISTS fts_reviews_update
76
+ AFTER UPDATE OF title, body ON content_reviews BEGIN
77
+ DELETE FROM fts_reviews WHERE entry_id = old.id;
78
+ INSERT INTO fts_reviews(entry_id, title, body) VALUES (new.id, new.title, new.body);
79
+ END;
80
+
81
+ CREATE TRIGGER IF NOT EXISTS fts_reviews_delete
82
+ AFTER DELETE ON content_reviews BEGIN
83
+ DELETE FROM fts_reviews WHERE entry_id = old.id;
84
+ END;
85
+
86
+ -- content_tasks
87
+ CREATE TABLE IF NOT EXISTS content_tasks (
88
+ id TEXT NOT NULL PRIMARY KEY,
89
+ slug TEXT NOT NULL UNIQUE,
90
+ status TEXT NOT NULL DEFAULT 'draft' CHECK (status IN ('draft', 'review', 'published', 'archived')),
91
+ title TEXT NOT NULL,
92
+ taskStatus TEXT,
93
+ completion REAL,
94
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
95
+ updated_at INTEGER NOT NULL DEFAULT (unixepoch())
96
+ );
97
+
98
+ CREATE INDEX IF NOT EXISTS idx_tasks_status ON content_tasks(status);
99
+ CREATE INDEX IF NOT EXISTS idx_tasks_created_at ON content_tasks(created_at);
100
+ CREATE INDEX IF NOT EXISTS idx_tasks_title ON content_tasks(title);
101
+ CREATE INDEX IF NOT EXISTS idx_tasks_taskStatus ON content_tasks(taskStatus);
102
+ CREATE INDEX IF NOT EXISTS idx_tasks_completion ON content_tasks(completion);
103
+
104
+ CREATE VIRTUAL TABLE IF NOT EXISTS fts_tasks USING fts5(
105
+ entry_id UNINDEXED,
106
+ title,
107
+ taskStatus,
108
+ tokenize = 'unicode61'
109
+ );
110
+
111
+ CREATE TRIGGER IF NOT EXISTS fts_tasks_insert
112
+ AFTER INSERT ON content_tasks BEGIN
113
+ INSERT INTO fts_tasks(entry_id, title, taskStatus) VALUES (new.id, new.title, new.taskStatus);
114
+ END;
115
+
116
+ CREATE TRIGGER IF NOT EXISTS fts_tasks_update
117
+ AFTER UPDATE OF title, taskStatus ON content_tasks BEGIN
118
+ DELETE FROM fts_tasks WHERE entry_id = old.id;
119
+ INSERT INTO fts_tasks(entry_id, title, taskStatus) VALUES (new.id, new.title, new.taskStatus);
120
+ END;
121
+
122
+ CREATE TRIGGER IF NOT EXISTS fts_tasks_delete
123
+ AFTER DELETE ON content_tasks BEGIN
124
+ DELETE FROM fts_tasks WHERE entry_id = old.id;
125
+ END;
package/package.json CHANGED
@@ -1,43 +1,52 @@
1
1
  {
2
2
  "name": "@beechcms/api",
3
- "version": "0.6.0-preview.1",
3
+ "version": "0.6.0-preview.3",
4
4
  "type": "module",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/factory.d.ts",
5
7
  "exports": {
6
- ".": "./src/factory.ts"
8
+ ".": {
9
+ "types": "./dist/factory.d.ts",
10
+ "import": "./dist/index.js"
11
+ }
7
12
  },
8
13
  "files": [
9
- "src/",
14
+ "dist/",
10
15
  "migrations/0000_v040_base.sql",
11
16
  "migrations/0029_automations.sql",
12
17
  "migrations/0030_test_seeds.sql",
13
18
  "assets/"
14
19
  ],
15
- "scripts": {
16
- "dev": "wrangler dev --port 8789",
17
- "build": "tsc -p tsconfig.build.json --noEmit",
18
- "db:migrate:local": "node ./scripts/bootstrap-d1.mjs",
19
- "db:reset:local": "node -e \"require('fs').rmSync('.wrangler/state', {recursive:true,force:true})\" && node ./scripts/bootstrap-d1.mjs",
20
- "deploy": "wrangler deploy --minify",
21
- "cf-typegen": "wrangler types --env-interface CloudflareBindings",
22
- "test": "vitest run",
23
- "test:coverage": "vitest run --coverage"
24
- },
25
20
  "dependencies": {
26
21
  "@aws-sdk/client-s3": "^3.995.0",
27
22
  "@aws-sdk/s3-request-presigner": "^3.995.0",
28
- "@beechcms/core": "^0.6.0-preview.1",
23
+ "@beechcms/core": "^0.6.0-preview.3",
29
24
  "@upstash/qstash": "^2.11.0",
30
25
  "bcryptjs": "^2.4.3",
31
26
  "hono": "^4.12.21",
32
- "jose": "^6.1.3"
27
+ "jose": "^6.1.3",
28
+ "zod": "^4.4.3"
33
29
  },
34
30
  "devDependencies": {
35
31
  "@cloudflare/workers-types": "^4.20260213.0",
36
32
  "@types/bcryptjs": "^2.4.6",
37
33
  "@vitest/coverage-v8": "^4.1.0",
34
+ "esbuild": "0.28.1",
35
+ "vite": "8.0.16",
38
36
  "vitest": "^4.1.0",
39
- "wrangler": "^4.98.0"
37
+ "wrangler": "^4.100.0"
40
38
  },
41
39
  "license": "BUSL-1.1",
42
- "licenseFile": "../../LICENSE"
43
- }
40
+ "licenseFile": "../../LICENSE",
41
+ "scripts": {
42
+ "dev": "wrangler dev --port 8789",
43
+ "build": "esbuild src/factory.ts --bundle --packages=external --platform=neutral --format=esm --outfile=dist/index.js && tsc -p tsconfig.build.json",
44
+ "type-check": "tsc -p tsconfig.build.json --noEmit",
45
+ "db:migrate:local": "node ./scripts/bootstrap-d1.mjs",
46
+ "db:reset:local": "node -e \"require('fs').rmSync('.wrangler/state', {recursive:true,force:true})\" && node ./scripts/bootstrap-d1.mjs",
47
+ "deploy": "wrangler deploy --minify",
48
+ "cf-typegen": "wrangler types --env-interface CloudflareBindings",
49
+ "test": "vitest run",
50
+ "test:coverage": "vitest run --coverage"
51
+ }
52
+ }