@shware/workflow 0.0.0-stage → 0.0.0

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 (442) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +154 -2
  3. package/dist/_virtual/_rolldown/runtime.cjs +23 -0
  4. package/dist/apns-relay.cjs +105 -0
  5. package/dist/apns-relay.cjs.map +1 -0
  6. package/dist/apns-relay.d.cts +28 -0
  7. package/dist/apns-relay.d.cts.map +1 -0
  8. package/dist/apns-relay.d.mts +28 -0
  9. package/dist/apns-relay.d.mts.map +1 -0
  10. package/dist/apns-relay.mjs +104 -0
  11. package/dist/apns-relay.mjs.map +1 -0
  12. package/dist/apns.cjs +121 -0
  13. package/dist/apns.cjs.map +1 -0
  14. package/dist/apns.d.cts +63 -0
  15. package/dist/apns.d.cts.map +1 -0
  16. package/dist/apns.d.mts +63 -0
  17. package/dist/apns.d.mts.map +1 -0
  18. package/dist/apns.mjs +116 -0
  19. package/dist/apns.mjs.map +1 -0
  20. package/dist/client.cjs +125 -0
  21. package/dist/client.cjs.map +1 -0
  22. package/dist/client.d.cts +108 -0
  23. package/dist/client.d.cts.map +1 -0
  24. package/dist/client.d.mts +108 -0
  25. package/dist/client.d.mts.map +1 -0
  26. package/dist/client.mjs +122 -0
  27. package/dist/client.mjs.map +1 -0
  28. package/dist/cloudflare/bindings.cjs +28 -0
  29. package/dist/cloudflare/bindings.cjs.map +1 -0
  30. package/dist/cloudflare/bindings.d.cts +144 -0
  31. package/dist/cloudflare/bindings.d.cts.map +1 -0
  32. package/dist/cloudflare/bindings.d.mts +144 -0
  33. package/dist/cloudflare/bindings.d.mts.map +1 -0
  34. package/dist/cloudflare/bindings.mjs +25 -0
  35. package/dist/cloudflare/bindings.mjs.map +1 -0
  36. package/dist/cloudflare/channels.cjs +164 -0
  37. package/dist/cloudflare/channels.cjs.map +1 -0
  38. package/dist/cloudflare/channels.d.cts +29 -0
  39. package/dist/cloudflare/channels.d.cts.map +1 -0
  40. package/dist/cloudflare/channels.d.mts +29 -0
  41. package/dist/cloudflare/channels.d.mts.map +1 -0
  42. package/dist/cloudflare/channels.mjs +161 -0
  43. package/dist/cloudflare/channels.mjs.map +1 -0
  44. package/dist/cloudflare/d1-env.cjs +17 -0
  45. package/dist/cloudflare/d1-env.cjs.map +1 -0
  46. package/dist/cloudflare/d1-env.d.cts +12 -0
  47. package/dist/cloudflare/d1-env.d.cts.map +1 -0
  48. package/dist/cloudflare/d1-env.d.mts +12 -0
  49. package/dist/cloudflare/d1-env.d.mts.map +1 -0
  50. package/dist/cloudflare/d1-env.mjs +16 -0
  51. package/dist/cloudflare/d1-env.mjs.map +1 -0
  52. package/dist/cloudflare/index.cjs +54 -0
  53. package/dist/cloudflare/index.d.cts +19 -0
  54. package/dist/cloudflare/index.d.mts +19 -0
  55. package/dist/cloudflare/index.mjs +16 -0
  56. package/dist/cloudflare/router.cjs +516 -0
  57. package/dist/cloudflare/router.cjs.map +1 -0
  58. package/dist/cloudflare/router.d.cts +157 -0
  59. package/dist/cloudflare/router.d.cts.map +1 -0
  60. package/dist/cloudflare/router.d.mts +157 -0
  61. package/dist/cloudflare/router.d.mts.map +1 -0
  62. package/dist/cloudflare/router.mjs +503 -0
  63. package/dist/cloudflare/router.mjs.map +1 -0
  64. package/dist/cloudflare/runner.cjs +225 -0
  65. package/dist/cloudflare/runner.cjs.map +1 -0
  66. package/dist/cloudflare/runner.d.cts +73 -0
  67. package/dist/cloudflare/runner.d.cts.map +1 -0
  68. package/dist/cloudflare/runner.d.mts +73 -0
  69. package/dist/cloudflare/runner.d.mts.map +1 -0
  70. package/dist/cloudflare/runner.mjs +224 -0
  71. package/dist/cloudflare/runner.mjs.map +1 -0
  72. package/dist/cloudflare/schema.sql +127 -0
  73. package/dist/cloudflare/senders.cjs +114 -0
  74. package/dist/cloudflare/senders.cjs.map +1 -0
  75. package/dist/cloudflare/senders.d.cts +68 -0
  76. package/dist/cloudflare/senders.d.cts.map +1 -0
  77. package/dist/cloudflare/senders.d.mts +68 -0
  78. package/dist/cloudflare/senders.d.mts.map +1 -0
  79. package/dist/cloudflare/senders.mjs +108 -0
  80. package/dist/cloudflare/senders.mjs.map +1 -0
  81. package/dist/cloudflare/worker.cjs +228 -0
  82. package/dist/cloudflare/worker.cjs.map +1 -0
  83. package/dist/cloudflare/worker.d.cts +92 -0
  84. package/dist/cloudflare/worker.d.cts.map +1 -0
  85. package/dist/cloudflare/worker.d.mts +92 -0
  86. package/dist/cloudflare/worker.d.mts.map +1 -0
  87. package/dist/cloudflare/worker.mjs +224 -0
  88. package/dist/cloudflare/worker.mjs.map +1 -0
  89. package/dist/cloudflare/workers.d.cjs +0 -0
  90. package/dist/cloudflare/workers.d.cts +44 -0
  91. package/dist/cloudflare/workers.d.cts.map +1 -0
  92. package/dist/cloudflare/workers.d.mts +44 -0
  93. package/dist/cloudflare/workers.d.mts.map +1 -0
  94. package/dist/config.cjs +151 -0
  95. package/dist/config.cjs.map +1 -0
  96. package/dist/config.d.cts +149 -0
  97. package/dist/config.d.cts.map +1 -0
  98. package/dist/config.d.mts +149 -0
  99. package/dist/config.d.mts.map +1 -0
  100. package/dist/config.mjs +143 -0
  101. package/dist/config.mjs.map +1 -0
  102. package/dist/contract.cjs +212 -0
  103. package/dist/contract.cjs.map +1 -0
  104. package/dist/contract.d.cts +90 -0
  105. package/dist/contract.d.cts.map +1 -0
  106. package/dist/contract.d.mts +90 -0
  107. package/dist/contract.d.mts.map +1 -0
  108. package/dist/contract.mjs +206 -0
  109. package/dist/contract.mjs.map +1 -0
  110. package/dist/dsl/action.cjs +29 -0
  111. package/dist/dsl/action.cjs.map +1 -0
  112. package/dist/dsl/action.d.cts +64 -0
  113. package/dist/dsl/action.d.cts.map +1 -0
  114. package/dist/dsl/action.d.mts +64 -0
  115. package/dist/dsl/action.d.mts.map +1 -0
  116. package/dist/dsl/action.mjs +28 -0
  117. package/dist/dsl/action.mjs.map +1 -0
  118. package/dist/dsl/base.cjs +34 -0
  119. package/dist/dsl/base.cjs.map +1 -0
  120. package/dist/dsl/base.d.cts +45 -0
  121. package/dist/dsl/base.d.cts.map +1 -0
  122. package/dist/dsl/base.d.mts +45 -0
  123. package/dist/dsl/base.d.mts.map +1 -0
  124. package/dist/dsl/base.mjs +30 -0
  125. package/dist/dsl/base.mjs.map +1 -0
  126. package/dist/dsl/bundle.cjs +207 -0
  127. package/dist/dsl/bundle.cjs.map +1 -0
  128. package/dist/dsl/bundle.d.cts +19 -0
  129. package/dist/dsl/bundle.d.cts.map +1 -0
  130. package/dist/dsl/bundle.d.mts +19 -0
  131. package/dist/dsl/bundle.d.mts.map +1 -0
  132. package/dist/dsl/bundle.mjs +206 -0
  133. package/dist/dsl/bundle.mjs.map +1 -0
  134. package/dist/dsl/condition.cjs +177 -0
  135. package/dist/dsl/condition.cjs.map +1 -0
  136. package/dist/dsl/condition.d.cts +140 -0
  137. package/dist/dsl/condition.d.cts.map +1 -0
  138. package/dist/dsl/condition.d.mts +140 -0
  139. package/dist/dsl/condition.d.mts.map +1 -0
  140. package/dist/dsl/condition.mjs +156 -0
  141. package/dist/dsl/condition.mjs.map +1 -0
  142. package/dist/dsl/flow.cjs +228 -0
  143. package/dist/dsl/flow.cjs.map +1 -0
  144. package/dist/dsl/flow.d.cts +223 -0
  145. package/dist/dsl/flow.d.cts.map +1 -0
  146. package/dist/dsl/flow.d.mts +223 -0
  147. package/dist/dsl/flow.d.mts.map +1 -0
  148. package/dist/dsl/flow.mjs +226 -0
  149. package/dist/dsl/flow.mjs.map +1 -0
  150. package/dist/dsl/index.cjs +38 -0
  151. package/dist/dsl/index.d.cts +10 -0
  152. package/dist/dsl/index.d.mts +10 -0
  153. package/dist/dsl/index.mjs +9 -0
  154. package/dist/dsl/refs.cjs +59 -0
  155. package/dist/dsl/refs.cjs.map +1 -0
  156. package/dist/dsl/refs.d.cts +88 -0
  157. package/dist/dsl/refs.d.cts.map +1 -0
  158. package/dist/dsl/refs.d.mts +88 -0
  159. package/dist/dsl/refs.d.mts.map +1 -0
  160. package/dist/dsl/refs.mjs +55 -0
  161. package/dist/dsl/refs.mjs.map +1 -0
  162. package/dist/dsl/template.cjs +65 -0
  163. package/dist/dsl/template.cjs.map +1 -0
  164. package/dist/dsl/template.d.cts +75 -0
  165. package/dist/dsl/template.d.cts.map +1 -0
  166. package/dist/dsl/template.d.mts +75 -0
  167. package/dist/dsl/template.d.mts.map +1 -0
  168. package/dist/dsl/template.mjs +63 -0
  169. package/dist/dsl/template.mjs.map +1 -0
  170. package/dist/dsl/trigger.cjs +40 -0
  171. package/dist/dsl/trigger.cjs.map +1 -0
  172. package/dist/dsl/trigger.d.cts +65 -0
  173. package/dist/dsl/trigger.d.cts.map +1 -0
  174. package/dist/dsl/trigger.d.mts +65 -0
  175. package/dist/dsl/trigger.d.mts.map +1 -0
  176. package/dist/dsl/trigger.mjs +39 -0
  177. package/dist/dsl/trigger.mjs.map +1 -0
  178. package/dist/dsl/workflow.cjs +121 -0
  179. package/dist/dsl/workflow.cjs.map +1 -0
  180. package/dist/dsl/workflow.d.cts +59 -0
  181. package/dist/dsl/workflow.d.cts.map +1 -0
  182. package/dist/dsl/workflow.d.mts +59 -0
  183. package/dist/dsl/workflow.d.mts.map +1 -0
  184. package/dist/dsl/workflow.mjs +120 -0
  185. package/dist/dsl/workflow.mjs.map +1 -0
  186. package/dist/engine/actions.cjs +27 -0
  187. package/dist/engine/actions.cjs.map +1 -0
  188. package/dist/engine/actions.d.cts +40 -0
  189. package/dist/engine/actions.d.cts.map +1 -0
  190. package/dist/engine/actions.d.mts +40 -0
  191. package/dist/engine/actions.d.mts.map +1 -0
  192. package/dist/engine/actions.mjs +26 -0
  193. package/dist/engine/actions.mjs.map +1 -0
  194. package/dist/engine/bucket.cjs +72 -0
  195. package/dist/engine/bucket.cjs.map +1 -0
  196. package/dist/engine/bucket.d.cts +32 -0
  197. package/dist/engine/bucket.d.cts.map +1 -0
  198. package/dist/engine/bucket.d.mts +32 -0
  199. package/dist/engine/bucket.d.mts.map +1 -0
  200. package/dist/engine/bucket.mjs +69 -0
  201. package/dist/engine/bucket.mjs.map +1 -0
  202. package/dist/engine/condition.cjs +166 -0
  203. package/dist/engine/condition.cjs.map +1 -0
  204. package/dist/engine/condition.d.cts +52 -0
  205. package/dist/engine/condition.d.cts.map +1 -0
  206. package/dist/engine/condition.d.mts +52 -0
  207. package/dist/engine/condition.d.mts.map +1 -0
  208. package/dist/engine/condition.mjs +161 -0
  209. package/dist/engine/condition.mjs.map +1 -0
  210. package/dist/engine/index.cjs +20 -0
  211. package/dist/engine/index.d.cts +8 -0
  212. package/dist/engine/index.d.mts +8 -0
  213. package/dist/engine/index.mjs +7 -0
  214. package/dist/engine/interpreter.cjs +428 -0
  215. package/dist/engine/interpreter.cjs.map +1 -0
  216. package/dist/engine/interpreter.d.cts +6 -0
  217. package/dist/engine/interpreter.d.cts.map +1 -0
  218. package/dist/engine/interpreter.d.mts +6 -0
  219. package/dist/engine/interpreter.d.mts.map +1 -0
  220. package/dist/engine/interpreter.mjs +427 -0
  221. package/dist/engine/interpreter.mjs.map +1 -0
  222. package/dist/engine/ports.cjs +0 -0
  223. package/dist/engine/ports.d.cts +252 -0
  224. package/dist/engine/ports.d.cts.map +1 -0
  225. package/dist/engine/ports.d.mts +252 -0
  226. package/dist/engine/ports.d.mts.map +1 -0
  227. package/dist/engine/ports.mjs +1 -0
  228. package/dist/engine/recipient.cjs +23 -0
  229. package/dist/engine/recipient.cjs.map +1 -0
  230. package/dist/engine/recipient.d.cts +13 -0
  231. package/dist/engine/recipient.d.cts.map +1 -0
  232. package/dist/engine/recipient.d.mts +13 -0
  233. package/dist/engine/recipient.d.mts.map +1 -0
  234. package/dist/engine/recipient.mjs +22 -0
  235. package/dist/engine/recipient.mjs.map +1 -0
  236. package/dist/engine/time-scale.cjs +54 -0
  237. package/dist/engine/time-scale.cjs.map +1 -0
  238. package/dist/engine/time-scale.d.cts +31 -0
  239. package/dist/engine/time-scale.d.cts.map +1 -0
  240. package/dist/engine/time-scale.d.mts +31 -0
  241. package/dist/engine/time-scale.d.mts.map +1 -0
  242. package/dist/engine/time-scale.mjs +52 -0
  243. package/dist/engine/time-scale.mjs.map +1 -0
  244. package/dist/engine/time-window.cjs +149 -0
  245. package/dist/engine/time-window.cjs.map +1 -0
  246. package/dist/engine/time-window.d.cts +22 -0
  247. package/dist/engine/time-window.d.cts.map +1 -0
  248. package/dist/engine/time-window.d.mts +22 -0
  249. package/dist/engine/time-window.d.mts.map +1 -0
  250. package/dist/engine/time-window.mjs +147 -0
  251. package/dist/engine/time-window.mjs.map +1 -0
  252. package/dist/fcm.cjs +125 -0
  253. package/dist/fcm.cjs.map +1 -0
  254. package/dist/fcm.d.cts +48 -0
  255. package/dist/fcm.d.cts.map +1 -0
  256. package/dist/fcm.d.mts +48 -0
  257. package/dist/fcm.d.mts.map +1 -0
  258. package/dist/fcm.mjs +121 -0
  259. package/dist/fcm.mjs.map +1 -0
  260. package/dist/hash.cjs +245 -0
  261. package/dist/hash.cjs.map +1 -0
  262. package/dist/hash.d.cts +30 -0
  263. package/dist/hash.d.cts.map +1 -0
  264. package/dist/hash.d.mts +30 -0
  265. package/dist/hash.d.mts.map +1 -0
  266. package/dist/hash.mjs +239 -0
  267. package/dist/hash.mjs.map +1 -0
  268. package/dist/index.cjs +100 -0
  269. package/dist/index.d.cts +18 -0
  270. package/dist/index.d.mts +18 -0
  271. package/dist/index.mjs +17 -0
  272. package/dist/ir.cjs +366 -0
  273. package/dist/ir.cjs.map +1 -0
  274. package/dist/ir.d.cts +486 -0
  275. package/dist/ir.d.cts.map +1 -0
  276. package/dist/ir.d.mts +486 -0
  277. package/dist/ir.d.mts.map +1 -0
  278. package/dist/ir.mjs +344 -0
  279. package/dist/ir.mjs.map +1 -0
  280. package/dist/jwt.cjs +22 -0
  281. package/dist/jwt.cjs.map +1 -0
  282. package/dist/jwt.d.cts +9 -0
  283. package/dist/jwt.d.cts.map +1 -0
  284. package/dist/jwt.d.mts +9 -0
  285. package/dist/jwt.d.mts.map +1 -0
  286. package/dist/jwt.mjs +20 -0
  287. package/dist/jwt.mjs.map +1 -0
  288. package/dist/plan.cjs +223 -0
  289. package/dist/plan.cjs.map +1 -0
  290. package/dist/plan.d.cts +68 -0
  291. package/dist/plan.d.cts.map +1 -0
  292. package/dist/plan.d.mts +68 -0
  293. package/dist/plan.d.mts.map +1 -0
  294. package/dist/plan.mjs +221 -0
  295. package/dist/plan.mjs.map +1 -0
  296. package/dist/postgres-js.cjs +42 -0
  297. package/dist/postgres-js.cjs.map +1 -0
  298. package/dist/postgres-js.d.cts +28 -0
  299. package/dist/postgres-js.d.cts.map +1 -0
  300. package/dist/postgres-js.d.mts +28 -0
  301. package/dist/postgres-js.d.mts.map +1 -0
  302. package/dist/postgres-js.mjs +38 -0
  303. package/dist/postgres-js.mjs.map +1 -0
  304. package/dist/provenance.cjs +67 -0
  305. package/dist/provenance.cjs.map +1 -0
  306. package/dist/provenance.d.cts +41 -0
  307. package/dist/provenance.d.cts.map +1 -0
  308. package/dist/provenance.d.mts +41 -0
  309. package/dist/provenance.d.mts.map +1 -0
  310. package/dist/provenance.mjs +65 -0
  311. package/dist/provenance.mjs.map +1 -0
  312. package/dist/push.cjs +14 -0
  313. package/dist/push.cjs.map +1 -0
  314. package/dist/push.d.cts +16 -0
  315. package/dist/push.d.cts.map +1 -0
  316. package/dist/push.d.mts +16 -0
  317. package/dist/push.d.mts.map +1 -0
  318. package/dist/push.mjs +13 -0
  319. package/dist/push.mjs.map +1 -0
  320. package/dist/react-email.cjs +48 -0
  321. package/dist/react-email.cjs.map +1 -0
  322. package/dist/react-email.d.cts +7 -0
  323. package/dist/react-email.d.cts.map +1 -0
  324. package/dist/react-email.d.mts +7 -0
  325. package/dist/react-email.d.mts.map +1 -0
  326. package/dist/react-email.mjs +47 -0
  327. package/dist/react-email.mjs.map +1 -0
  328. package/dist/reporting/classify.cjs +42 -0
  329. package/dist/reporting/classify.cjs.map +1 -0
  330. package/dist/reporting/classify.d.cts +60 -0
  331. package/dist/reporting/classify.d.cts.map +1 -0
  332. package/dist/reporting/classify.d.mts +60 -0
  333. package/dist/reporting/classify.d.mts.map +1 -0
  334. package/dist/reporting/classify.mjs +38 -0
  335. package/dist/reporting/classify.mjs.map +1 -0
  336. package/dist/reporting/observer.cjs +63 -0
  337. package/dist/reporting/observer.cjs.map +1 -0
  338. package/dist/reporting/observer.d.cts +18 -0
  339. package/dist/reporting/observer.d.cts.map +1 -0
  340. package/dist/reporting/observer.d.mts +18 -0
  341. package/dist/reporting/observer.d.mts.map +1 -0
  342. package/dist/reporting/observer.mjs +62 -0
  343. package/dist/reporting/observer.mjs.map +1 -0
  344. package/dist/reporting/tracking.cjs +153 -0
  345. package/dist/reporting/tracking.cjs.map +1 -0
  346. package/dist/reporting/tracking.d.cts +43 -0
  347. package/dist/reporting/tracking.d.cts.map +1 -0
  348. package/dist/reporting/tracking.d.mts +43 -0
  349. package/dist/reporting/tracking.d.mts.map +1 -0
  350. package/dist/reporting/tracking.mjs +151 -0
  351. package/dist/reporting/tracking.mjs.map +1 -0
  352. package/dist/runtime.cjs +19 -0
  353. package/dist/runtime.cjs.map +1 -0
  354. package/dist/runtime.d.cts +30 -0
  355. package/dist/runtime.d.cts.map +1 -0
  356. package/dist/runtime.d.mts +30 -0
  357. package/dist/runtime.d.mts.map +1 -0
  358. package/dist/runtime.mjs +18 -0
  359. package/dist/runtime.mjs.map +1 -0
  360. package/dist/store/d1.cjs +185 -0
  361. package/dist/store/d1.cjs.map +1 -0
  362. package/dist/store/d1.d.cts +55 -0
  363. package/dist/store/d1.d.cts.map +1 -0
  364. package/dist/store/d1.d.mts +55 -0
  365. package/dist/store/d1.d.mts.map +1 -0
  366. package/dist/store/d1.mjs +184 -0
  367. package/dist/store/d1.mjs.map +1 -0
  368. package/dist/store/facts.cjs +60 -0
  369. package/dist/store/facts.cjs.map +1 -0
  370. package/dist/store/facts.d.cts +38 -0
  371. package/dist/store/facts.d.cts.map +1 -0
  372. package/dist/store/facts.d.mts +38 -0
  373. package/dist/store/facts.d.mts.map +1 -0
  374. package/dist/store/facts.mjs +58 -0
  375. package/dist/store/facts.mjs.map +1 -0
  376. package/dist/store/index.cjs +31 -0
  377. package/dist/store/index.cjs.map +1 -0
  378. package/dist/store/index.d.cts +291 -0
  379. package/dist/store/index.d.cts.map +1 -0
  380. package/dist/store/index.d.mts +291 -0
  381. package/dist/store/index.d.mts.map +1 -0
  382. package/dist/store/index.mjs +22 -0
  383. package/dist/store/index.mjs.map +1 -0
  384. package/dist/store/postgres-reporting.cjs +213 -0
  385. package/dist/store/postgres-reporting.cjs.map +1 -0
  386. package/dist/store/postgres-reporting.d.cts +63 -0
  387. package/dist/store/postgres-reporting.d.cts.map +1 -0
  388. package/dist/store/postgres-reporting.d.mts +63 -0
  389. package/dist/store/postgres-reporting.d.mts.map +1 -0
  390. package/dist/store/postgres-reporting.mjs +212 -0
  391. package/dist/store/postgres-reporting.mjs.map +1 -0
  392. package/dist/store/postgres.cjs +309 -0
  393. package/dist/store/postgres.cjs.map +1 -0
  394. package/dist/store/postgres.d.cts +77 -0
  395. package/dist/store/postgres.d.cts.map +1 -0
  396. package/dist/store/postgres.d.mts +77 -0
  397. package/dist/store/postgres.d.mts.map +1 -0
  398. package/dist/store/postgres.mjs +306 -0
  399. package/dist/store/postgres.mjs.map +1 -0
  400. package/dist/store/sql.cjs +24 -0
  401. package/dist/store/sql.cjs.map +1 -0
  402. package/dist/store/sql.d.cts +25 -0
  403. package/dist/store/sql.d.cts.map +1 -0
  404. package/dist/store/sql.d.mts +25 -0
  405. package/dist/store/sql.d.mts.map +1 -0
  406. package/dist/store/sql.mjs +23 -0
  407. package/dist/store/sql.mjs.map +1 -0
  408. package/dist/store/tables.cjs +404 -0
  409. package/dist/store/tables.cjs.map +1 -0
  410. package/dist/store/tables.d.cts +81 -0
  411. package/dist/store/tables.d.cts.map +1 -0
  412. package/dist/store/tables.d.mts +81 -0
  413. package/dist/store/tables.d.mts.map +1 -0
  414. package/dist/store/tables.mjs +399 -0
  415. package/dist/store/tables.mjs.map +1 -0
  416. package/dist/templates.cjs +247 -0
  417. package/dist/templates.cjs.map +1 -0
  418. package/dist/templates.d.cts +187 -0
  419. package/dist/templates.d.cts.map +1 -0
  420. package/dist/templates.d.mts +187 -0
  421. package/dist/templates.d.mts.map +1 -0
  422. package/dist/templates.mjs +230 -0
  423. package/dist/templates.mjs.map +1 -0
  424. package/dist/webhooks.cjs +96 -0
  425. package/dist/webhooks.cjs.map +1 -0
  426. package/dist/webhooks.d.cts +25 -0
  427. package/dist/webhooks.d.cts.map +1 -0
  428. package/dist/webhooks.d.mts +25 -0
  429. package/dist/webhooks.d.mts.map +1 -0
  430. package/dist/webhooks.mjs +94 -0
  431. package/dist/webhooks.mjs.map +1 -0
  432. package/dist/webpush.cjs +180 -0
  433. package/dist/webpush.cjs.map +1 -0
  434. package/dist/webpush.d.cts +53 -0
  435. package/dist/webpush.d.cts.map +1 -0
  436. package/dist/webpush.d.mts +53 -0
  437. package/dist/webpush.d.mts.map +1 -0
  438. package/dist/webpush.mjs +175 -0
  439. package/dist/webpush.mjs.map +1 -0
  440. package/package.json +189 -3
  441. package/src/cloudflare/schema.sql +127 -0
  442. package/src/cloudflare/workers.d.ts +44 -0
package/package.json CHANGED
@@ -1,6 +1,192 @@
1
1
  {
2
2
  "name": "@shware/workflow",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.0.0",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "git+https://github.com/ShwareHQ/shware-sdk.git"
7
+ },
8
+ "files": [
9
+ "dist",
10
+ "src/cloudflare/schema.sql",
11
+ "src/cloudflare/workers.d.ts"
12
+ ],
13
+ "type": "module",
14
+ "exports": {
15
+ ".": {
16
+ "import": {
17
+ "types": "./dist/index.d.mts",
18
+ "default": "./dist/index.mjs"
19
+ },
20
+ "require": {
21
+ "types": "./dist/index.d.cts",
22
+ "default": "./dist/index.cjs"
23
+ }
24
+ },
25
+ "./engine": {
26
+ "import": {
27
+ "types": "./dist/engine/index.d.mts",
28
+ "default": "./dist/engine/index.mjs"
29
+ },
30
+ "require": {
31
+ "types": "./dist/engine/index.d.cts",
32
+ "default": "./dist/engine/index.cjs"
33
+ }
34
+ },
35
+ "./schema.sql": "./dist/cloudflare/schema.sql",
36
+ "./cloudflare": {
37
+ "import": {
38
+ "types": "./dist/cloudflare/index.d.mts",
39
+ "default": "./dist/cloudflare/index.mjs"
40
+ },
41
+ "require": {
42
+ "types": "./dist/cloudflare/index.d.cts",
43
+ "default": "./dist/cloudflare/index.cjs"
44
+ }
45
+ },
46
+ "./store": {
47
+ "import": {
48
+ "types": "./dist/store/index.d.mts",
49
+ "default": "./dist/store/index.mjs"
50
+ },
51
+ "require": {
52
+ "types": "./dist/store/index.d.cts",
53
+ "default": "./dist/store/index.cjs"
54
+ }
55
+ },
56
+ "./client": {
57
+ "import": {
58
+ "types": "./dist/client.d.mts",
59
+ "default": "./dist/client.mjs"
60
+ },
61
+ "require": {
62
+ "types": "./dist/client.d.cts",
63
+ "default": "./dist/client.cjs"
64
+ }
65
+ },
66
+ "./postgres-js": {
67
+ "import": {
68
+ "types": "./dist/postgres-js.d.mts",
69
+ "default": "./dist/postgres-js.mjs"
70
+ },
71
+ "require": {
72
+ "types": "./dist/postgres-js.d.cts",
73
+ "default": "./dist/postgres-js.cjs"
74
+ }
75
+ },
76
+ "./react-email": {
77
+ "import": {
78
+ "types": "./dist/react-email.d.mts",
79
+ "default": "./dist/react-email.mjs"
80
+ },
81
+ "require": {
82
+ "types": "./dist/react-email.d.cts",
83
+ "default": "./dist/react-email.cjs"
84
+ }
85
+ },
86
+ "./push": {
87
+ "import": {
88
+ "types": "./dist/push.d.mts",
89
+ "default": "./dist/push.mjs"
90
+ },
91
+ "require": {
92
+ "types": "./dist/push.d.cts",
93
+ "default": "./dist/push.cjs"
94
+ }
95
+ },
96
+ "./apns": {
97
+ "import": {
98
+ "types": "./dist/apns.d.mts",
99
+ "default": "./dist/apns.mjs"
100
+ },
101
+ "require": {
102
+ "types": "./dist/apns.d.cts",
103
+ "default": "./dist/apns.cjs"
104
+ }
105
+ },
106
+ "./apns-relay": {
107
+ "import": {
108
+ "types": "./dist/apns-relay.d.mts",
109
+ "default": "./dist/apns-relay.mjs"
110
+ },
111
+ "require": {
112
+ "types": "./dist/apns-relay.d.cts",
113
+ "default": "./dist/apns-relay.cjs"
114
+ }
115
+ },
116
+ "./fcm": {
117
+ "import": {
118
+ "types": "./dist/fcm.d.mts",
119
+ "default": "./dist/fcm.mjs"
120
+ },
121
+ "require": {
122
+ "types": "./dist/fcm.d.cts",
123
+ "default": "./dist/fcm.cjs"
124
+ }
125
+ },
126
+ "./webpush": {
127
+ "import": {
128
+ "types": "./dist/webpush.d.mts",
129
+ "default": "./dist/webpush.mjs"
130
+ },
131
+ "require": {
132
+ "types": "./dist/webpush.d.cts",
133
+ "default": "./dist/webpush.cjs"
134
+ }
135
+ },
136
+ "./webhooks": {
137
+ "import": {
138
+ "types": "./dist/webhooks.d.mts",
139
+ "default": "./dist/webhooks.mjs"
140
+ },
141
+ "require": {
142
+ "types": "./dist/webhooks.d.cts",
143
+ "default": "./dist/webhooks.cjs"
144
+ }
145
+ }
146
+ },
147
+ "publishConfig": {
148
+ "access": "public"
149
+ },
150
+ "dependencies": {
151
+ "@slack/types": "^3.2.0",
152
+ "@types/ms": "^2.1.0",
153
+ "discord-api-types": "^0.38.56",
154
+ "ms": "^2.1.3",
155
+ "zod": "^4.6.5"
156
+ },
157
+ "devDependencies": {
158
+ "@electric-sql/pglite": "^0.5.8",
159
+ "@repo/typescript-config": "0.0.0",
160
+ "@types/node": "^26.6.3",
161
+ "@types/react": "^19.2.18",
162
+ "@types/react-dom": "^19.2.5",
163
+ "postgres": "^3.4.9",
164
+ "react": "^19.2.8",
165
+ "react-dom": "^19.2.8",
166
+ "typescript": "^7.0.2",
167
+ "vitest": "^5.0.2"
168
+ },
169
+ "peerDependencies": {
170
+ "postgres": ">=3.4.0",
171
+ "react": ">=19",
172
+ "react-dom": ">=19"
173
+ },
174
+ "peerDependenciesMeta": {
175
+ "postgres": {
176
+ "optional": true
177
+ },
178
+ "react": {
179
+ "optional": true
180
+ },
181
+ "react-dom": {
182
+ "optional": true
183
+ }
184
+ },
185
+ "scripts": {
186
+ "dev": "tsc --watch",
187
+ "build": "tsdown",
188
+ "test": "vitest run --passWithNoTests",
189
+ "check-types": "tsc --noEmit",
190
+ "lint": "oxlint --type-aware src tests --fix"
191
+ }
6
192
  }
@@ -0,0 +1,127 @@
1
+ -- Journey engine data plane (D1). Conditions are evaluated by querying at
2
+ -- decision time: lazy, with no real-time segment materialisation.
3
+
4
+ -- Raw event log. Every count- and window-based condition reads this table, so a
5
+ -- duplicated row silently changes a journey's behaviour, and `id` is what stops
6
+ -- that: it is the occurrence's identity, chosen by whoever sent it, and the key
7
+ -- constraint makes a second delivery of the same occurrence a no-op. Ingest is
8
+ -- reachable from two retrying callers (a client retrying a 500, and the
9
+ -- interpreter's send_event step being retried after it already committed its
10
+ -- row), so both pass an id they can reproduce.
11
+ --
12
+ -- Only the sender knows whether two deliveries describe one occurrence or two,
13
+ -- so the engine never invents that answer: an ingest that arrives without an id
14
+ -- is given a fresh one, which is a truthful "this is its own occurrence" rather
15
+ -- than a guess.
16
+ CREATE TABLE IF NOT EXISTS events (
17
+ id TEXT PRIMARY KEY NOT NULL,
18
+ user_id TEXT NOT NULL,
19
+ name TEXT NOT NULL,
20
+ ts INTEGER NOT NULL,
21
+ payload TEXT NOT NULL DEFAULT '{}'
22
+ );
23
+ CREATE INDEX IF NOT EXISTS idx_events_user_name_ts ON events (user_id, name, ts);
24
+
25
+ CREATE TABLE IF NOT EXISTS profiles (
26
+ user_id TEXT PRIMARY KEY,
27
+ props TEXT NOT NULL DEFAULT '{}'
28
+ );
29
+
30
+ -- Deploy artefacts: segment definitions (resolved by id during evaluation)
31
+ -- and the trigger routing table.
32
+ -- Push devices: one row per provider token, owned by the user who registered it last.
33
+ -- user_id is null for a device whose user signed out: it stays registered until the next
34
+ -- sign-in binds it again. A database created while it was NOT NULL needs the table rebuilt.
35
+ CREATE TABLE IF NOT EXISTS devices (
36
+ token TEXT PRIMARY KEY,
37
+ user_id TEXT,
38
+ platform TEXT NOT NULL,
39
+ ts INTEGER NOT NULL
40
+ );
41
+ CREATE INDEX IF NOT EXISTS idx_devices_user_ts ON devices (user_id, ts);
42
+
43
+ CREATE TABLE IF NOT EXISTS segments (
44
+ id TEXT PRIMARY KEY,
45
+ condition TEXT NOT NULL,
46
+ hash TEXT NOT NULL
47
+ );
48
+
49
+ -- Event trigger routes. `where` gates on the triggering event's payload
50
+ -- (a payload-only condition tree); `filter` gates on the profile.
51
+ CREATE TABLE IF NOT EXISTS triggers (
52
+ workflow TEXT PRIMARY KEY,
53
+ hash TEXT NOT NULL,
54
+ event TEXT NOT NULL,
55
+ "where" TEXT,
56
+ filter TEXT
57
+ );
58
+ CREATE INDEX IF NOT EXISTS idx_triggers_event ON triggers (event);
59
+
60
+ -- Segment-entry trigger routes.
61
+ CREATE TABLE IF NOT EXISTS segment_triggers (
62
+ workflow TEXT PRIMARY KEY,
63
+ hash TEXT NOT NULL,
64
+ segment TEXT NOT NULL
65
+ );
66
+ CREATE INDEX IF NOT EXISTS idx_segment_triggers_segment ON segment_triggers (segment);
67
+
68
+ -- Lazily maintained segment membership, covering only segments that something
69
+ -- triggers on. Transitions are re-evaluated when the user is ingested or
70
+ -- identified, and by the scheduled sweep (journeyWorker's `scheduled`), which
71
+ -- also catches drift driven purely by the clock.
72
+ CREATE TABLE IF NOT EXISTS segment_members (
73
+ segment TEXT NOT NULL,
74
+ user_id TEXT NOT NULL,
75
+ ts INTEGER NOT NULL,
76
+ PRIMARY KEY (segment, user_id)
77
+ );
78
+
79
+ -- Workflows a segment entry still has to start for a member: written with the
80
+ -- membership, removed as each starts, so a failed start is retried by the next
81
+ -- evaluation instead of being hidden behind the membership.
82
+ CREATE TABLE IF NOT EXISTS segment_starts (
83
+ segment TEXT NOT NULL,
84
+ workflow TEXT NOT NULL,
85
+ user_id TEXT NOT NULL,
86
+ ts INTEGER NOT NULL,
87
+ PRIMARY KEY (segment, workflow, user_id)
88
+ );
89
+
90
+ -- Erasures in progress (forgetUser): the user's data stays until every running
91
+ -- instance is stopped, and the scheduled sweep retries what is left.
92
+ CREATE TABLE IF NOT EXISTS erasures (
93
+ user_id TEXT PRIMARY KEY,
94
+ ts INTEGER NOT NULL
95
+ );
96
+
97
+ -- Entry ledger: the once-per-user policy, instance addressing, and the audit
98
+ -- trail of which IR version each user was pinned to.
99
+ --
100
+ -- The primary key is what makes the policy atomic, and it is also the whole
101
+ -- policy: a user who has entered cannot enter again. The one exception is a
102
+ -- row left at 'failed', which records an instance that died rather than a
103
+ -- journey the user received; the router takes such a row over so the entry can
104
+ -- be retried (see startJourney). A general re-entry policy is a separate
105
+ -- design question and deliberately not encoded here.
106
+ CREATE TABLE IF NOT EXISTS entries (
107
+ workflow TEXT NOT NULL,
108
+ user_id TEXT NOT NULL,
109
+ instance_id TEXT NOT NULL,
110
+ hash TEXT NOT NULL,
111
+ status TEXT NOT NULL,
112
+ ts INTEGER NOT NULL,
113
+ PRIMARY KEY (workflow, user_id)
114
+ );
115
+
116
+ -- wait_until wake routing. `wake_handle` is an opaque handle (the instance id
117
+ -- on Cloudflare, a callback id on AWS). The primary key makes the interpreter's
118
+ -- re-subscription on every wait attempt idempotent, which its one-shot-callback
119
+ -- contract requires.
120
+ CREATE TABLE IF NOT EXISTS subscriptions (
121
+ user_id TEXT NOT NULL,
122
+ event TEXT NOT NULL,
123
+ wake_handle TEXT NOT NULL,
124
+ ts INTEGER NOT NULL,
125
+ PRIMARY KEY (wake_handle, event)
126
+ );
127
+ CREATE INDEX IF NOT EXISTS idx_subs_user_event ON subscriptions (user_id, event);
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Minimal ambient declaration for cloudflare:workers — only the surface
3
+ * JourneyRunner actually uses. @cloudflare/workers-types is avoided because its
4
+ * global types clash with react/DOM. Shapes follow the official API:
5
+ * https://developers.cloudflare.com/workflows/build/workers-api/
6
+ */
7
+ declare module 'cloudflare:workers' {
8
+ export interface WorkflowEvent<Params = unknown> {
9
+ payload: Readonly<Params>;
10
+ timestamp: Date;
11
+ instanceId: string;
12
+ }
13
+
14
+ export interface WorkflowStepEvent<Payload = unknown> {
15
+ payload: Payload;
16
+ timestamp: Date;
17
+ type: string;
18
+ }
19
+
20
+ export interface WorkflowStep {
21
+ do<T>(name: string, callback: () => Promise<T>): Promise<T>;
22
+ sleep(name: string, durationMs: number | string): Promise<void>;
23
+ sleepUntil(name: string, timestamp: Date | number): Promise<void>;
24
+ waitForEvent<Payload = unknown>(
25
+ name: string,
26
+ options: { type: string; timeout?: number | string }
27
+ ): Promise<WorkflowStepEvent<Payload>>;
28
+ }
29
+
30
+ export abstract class WorkflowEntrypoint<Env = unknown, Params = unknown> {
31
+ /** The runtime constructs it with the execution context and the bindings. */
32
+ constructor(ctx: unknown, env: Env);
33
+ protected readonly ctx: unknown;
34
+ protected readonly env: Env;
35
+ abstract run(event: WorkflowEvent<Params>, step: WorkflowStep): Promise<unknown>;
36
+ }
37
+ }
38
+
39
+ /** The one export of cloudflare:workflows the runner uses: an error that ends the step without retries. */
40
+ declare module 'cloudflare:workflows' {
41
+ export class NonRetryableError extends Error {
42
+ constructor(message: string, name?: string);
43
+ }
44
+ }