semola 0.5.1 → 0.5.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 (488) hide show
  1. package/README.md +144 -29
  2. package/dist/api/core/index.cjs +206 -0
  3. package/dist/api/core/index.d.cts +21 -0
  4. package/dist/api/core/index.d.cts.map +1 -0
  5. package/dist/api/core/index.d.mts +21 -0
  6. package/dist/api/core/index.d.mts.map +1 -0
  7. package/dist/api/core/index.mjs +208 -0
  8. package/dist/api/core/index.mjs.map +1 -0
  9. package/dist/api/core/types.d.cts +107 -0
  10. package/dist/api/core/types.d.cts.map +1 -0
  11. package/dist/api/core/types.d.mts +107 -0
  12. package/dist/api/core/types.d.mts.map +1 -0
  13. package/dist/api/middleware/index.cjs +8 -0
  14. package/dist/api/middleware/index.d.cts +11 -0
  15. package/dist/api/middleware/index.d.cts.map +1 -0
  16. package/dist/api/middleware/index.d.mts +11 -0
  17. package/dist/api/middleware/index.d.mts.map +1 -0
  18. package/dist/api/middleware/index.mjs +10 -0
  19. package/dist/api/middleware/index.mjs.map +1 -0
  20. package/dist/api/middleware/types.d.cts +16 -0
  21. package/dist/api/middleware/types.d.cts.map +1 -0
  22. package/dist/api/middleware/types.d.mts +16 -0
  23. package/dist/api/middleware/types.d.mts.map +1 -0
  24. package/dist/api/openapi/index.cjs +254 -0
  25. package/dist/api/openapi/index.mjs +256 -0
  26. package/dist/api/openapi/index.mjs.map +1 -0
  27. package/dist/api/openapi/types.d.cts +60 -0
  28. package/dist/api/openapi/types.d.cts.map +1 -0
  29. package/dist/api/openapi/types.d.mts +60 -0
  30. package/dist/api/openapi/types.d.mts.map +1 -0
  31. package/dist/api/validation/index.cjs +64 -0
  32. package/dist/api/validation/index.mjs +61 -0
  33. package/dist/api/validation/index.mjs.map +1 -0
  34. package/dist/cache/types.d.cts +17 -0
  35. package/dist/cache/types.d.cts.map +1 -0
  36. package/dist/cache/types.d.mts +17 -0
  37. package/dist/cache/types.d.mts.map +1 -0
  38. package/dist/cron/builder/index.cjs +166 -0
  39. package/dist/cron/builder/index.d.cts +28 -0
  40. package/dist/cron/builder/index.d.cts.map +1 -0
  41. package/dist/cron/builder/index.d.mts +28 -0
  42. package/dist/cron/builder/index.d.mts.map +1 -0
  43. package/dist/cron/builder/index.mjs +163 -0
  44. package/dist/cron/builder/index.mjs.map +1 -0
  45. package/dist/cron/builder/types.cjs +27 -0
  46. package/dist/cron/builder/types.d.cts +79 -0
  47. package/dist/cron/builder/types.d.cts.map +1 -0
  48. package/dist/cron/builder/types.d.mts +79 -0
  49. package/dist/cron/builder/types.d.mts.map +1 -0
  50. package/dist/cron/builder/types.mjs +28 -0
  51. package/dist/cron/builder/types.mjs.map +1 -0
  52. package/dist/cron/core/index.cjs +308 -0
  53. package/dist/cron/core/index.d.cts +39 -0
  54. package/dist/cron/core/index.d.cts.map +1 -0
  55. package/dist/cron/core/index.d.mts +39 -0
  56. package/dist/cron/core/index.d.mts.map +1 -0
  57. package/dist/cron/core/index.mjs +310 -0
  58. package/dist/cron/core/index.mjs.map +1 -0
  59. package/dist/cron/core/scanner.cjs +237 -0
  60. package/dist/cron/core/scanner.mjs +238 -0
  61. package/dist/cron/core/scanner.mjs.map +1 -0
  62. package/dist/cron/core/types.d.cts +11 -0
  63. package/dist/cron/core/types.d.cts.map +1 -0
  64. package/dist/cron/core/types.d.mts +11 -0
  65. package/dist/cron/core/types.d.mts.map +1 -0
  66. package/dist/errors/types.d.cts +5 -0
  67. package/dist/errors/types.d.cts.map +1 -0
  68. package/dist/errors/types.d.mts +5 -0
  69. package/dist/errors/types.d.mts.map +1 -0
  70. package/dist/i18n/types.d.cts +13 -0
  71. package/dist/i18n/types.d.cts.map +1 -0
  72. package/dist/i18n/types.d.mts +13 -0
  73. package/dist/i18n/types.d.mts.map +1 -0
  74. package/dist/lib/api/index.cjs +5 -0
  75. package/dist/lib/api/index.d.cts +5 -0
  76. package/dist/lib/api/index.d.mts +5 -0
  77. package/dist/lib/api/index.mjs +3 -0
  78. package/dist/lib/cache/index.cjs +74 -0
  79. package/dist/lib/cache/index.d.cts +36 -0
  80. package/dist/lib/cache/index.d.cts.map +1 -0
  81. package/dist/lib/cache/index.d.mts +36 -0
  82. package/dist/lib/cache/index.d.mts.map +1 -0
  83. package/dist/lib/cache/index.mjs +75 -0
  84. package/dist/lib/cache/index.mjs.map +1 -0
  85. package/dist/lib/cron/index.cjs +13 -0
  86. package/dist/lib/cron/index.d.cts +4 -0
  87. package/dist/lib/cron/index.d.mts +4 -0
  88. package/dist/lib/cron/index.mjs +4 -0
  89. package/dist/lib/errors/index.cjs +30 -0
  90. package/dist/lib/errors/index.d.cts +13 -0
  91. package/dist/lib/errors/index.d.cts.map +1 -0
  92. package/dist/lib/errors/index.d.mts +13 -0
  93. package/dist/lib/errors/index.d.mts.map +1 -0
  94. package/dist/lib/errors/index.mjs +28 -0
  95. package/dist/lib/errors/index.mjs.map +1 -0
  96. package/dist/lib/i18n/index.cjs +42 -0
  97. package/dist/lib/i18n/index.d.cts +20 -0
  98. package/dist/lib/i18n/index.d.cts.map +1 -0
  99. package/dist/lib/i18n/index.d.mts +20 -0
  100. package/dist/lib/i18n/index.d.mts.map +1 -0
  101. package/dist/lib/i18n/index.mjs +43 -0
  102. package/dist/lib/i18n/index.mjs.map +1 -0
  103. package/dist/lib/logging/index.cjs +18 -0
  104. package/dist/lib/logging/index.d.cts +7 -0
  105. package/dist/lib/logging/index.d.mts +7 -0
  106. package/dist/lib/logging/index.mjs +5 -0
  107. package/dist/lib/orm/index.cjs +20 -0
  108. package/dist/lib/orm/index.d.cts +7 -0
  109. package/dist/lib/orm/index.d.mts +7 -0
  110. package/dist/lib/orm/index.mjs +6 -0
  111. package/dist/lib/policy/index.cjs +99 -0
  112. package/dist/lib/policy/index.d.cts +21 -0
  113. package/dist/lib/policy/index.d.cts.map +1 -0
  114. package/dist/lib/policy/index.d.mts +21 -0
  115. package/dist/lib/policy/index.d.mts.map +1 -0
  116. package/dist/lib/policy/index.mjs +81 -0
  117. package/dist/lib/policy/index.mjs.map +1 -0
  118. package/dist/lib/prompts/index.cjs +409 -0
  119. package/dist/lib/prompts/index.d.cts +31 -0
  120. package/dist/lib/prompts/index.d.cts.map +1 -0
  121. package/dist/lib/prompts/index.d.mts +31 -0
  122. package/dist/lib/prompts/index.d.mts.map +1 -0
  123. package/dist/lib/prompts/index.mjs +405 -0
  124. package/dist/lib/prompts/index.mjs.map +1 -0
  125. package/dist/lib/pubsub/index.cjs +117 -0
  126. package/dist/lib/pubsub/index.d.cts +36 -0
  127. package/dist/lib/pubsub/index.d.cts.map +1 -0
  128. package/dist/lib/pubsub/index.d.mts +36 -0
  129. package/dist/lib/pubsub/index.d.mts.map +1 -0
  130. package/dist/lib/pubsub/index.mjs +118 -0
  131. package/dist/lib/pubsub/index.mjs.map +1 -0
  132. package/dist/lib/queue/index.cjs +182 -0
  133. package/dist/lib/queue/index.d.cts +32 -0
  134. package/dist/lib/queue/index.d.cts.map +1 -0
  135. package/dist/lib/queue/index.d.mts +32 -0
  136. package/dist/lib/queue/index.d.mts.map +1 -0
  137. package/dist/lib/queue/index.mjs +183 -0
  138. package/dist/lib/queue/index.mjs.map +1 -0
  139. package/dist/lib/workflow/index.cjs +534 -0
  140. package/dist/lib/workflow/index.d.cts +7 -0
  141. package/dist/lib/workflow/index.d.cts.map +1 -0
  142. package/dist/lib/workflow/index.d.mts +7 -0
  143. package/dist/lib/workflow/index.d.mts.map +1 -0
  144. package/dist/lib/workflow/index.mjs +535 -0
  145. package/dist/lib/workflow/index.mjs.map +1 -0
  146. package/dist/logging/core/index.cjs +99 -0
  147. package/dist/logging/core/index.d.cts +26 -0
  148. package/dist/logging/core/index.d.cts.map +1 -0
  149. package/dist/logging/core/index.d.mts +26 -0
  150. package/dist/logging/core/index.d.mts.map +1 -0
  151. package/dist/logging/core/index.mjs +99 -0
  152. package/dist/logging/core/index.mjs.map +1 -0
  153. package/dist/logging/core/types.cjs +10 -0
  154. package/dist/logging/core/types.d.cts +22 -0
  155. package/dist/logging/core/types.d.cts.map +1 -0
  156. package/dist/logging/core/types.d.mts +22 -0
  157. package/dist/logging/core/types.d.mts.map +1 -0
  158. package/dist/logging/core/types.mjs +12 -0
  159. package/dist/logging/core/types.mjs.map +1 -0
  160. package/dist/logging/formatter/index.cjs +119 -0
  161. package/dist/logging/formatter/index.d.cts +27 -0
  162. package/dist/logging/formatter/index.d.cts.map +1 -0
  163. package/dist/logging/formatter/index.d.mts +27 -0
  164. package/dist/logging/formatter/index.d.mts.map +1 -0
  165. package/dist/logging/formatter/index.mjs +115 -0
  166. package/dist/logging/formatter/index.mjs.map +1 -0
  167. package/dist/logging/formatter/types.d.cts +5 -0
  168. package/dist/logging/formatter/types.d.cts.map +1 -0
  169. package/dist/logging/formatter/types.d.mts +5 -0
  170. package/dist/logging/formatter/types.d.mts.map +1 -0
  171. package/dist/logging/provider/index.cjs +165 -0
  172. package/dist/logging/provider/index.d.cts +28 -0
  173. package/dist/logging/provider/index.d.cts.map +1 -0
  174. package/dist/logging/provider/index.d.mts +28 -0
  175. package/dist/logging/provider/index.d.mts.map +1 -0
  176. package/dist/logging/provider/index.mjs +165 -0
  177. package/dist/logging/provider/index.mjs.map +1 -0
  178. package/dist/logging/provider/types.d.cts +23 -0
  179. package/dist/logging/provider/types.d.cts.map +1 -0
  180. package/dist/logging/provider/types.d.mts +23 -0
  181. package/dist/logging/provider/types.d.mts.map +1 -0
  182. package/dist/node_modules/@standard-schema/spec/dist/index.d.cts +80 -0
  183. package/dist/node_modules/@standard-schema/spec/dist/index.d.cts.map +1 -0
  184. package/dist/node_modules/@standard-schema/spec/dist/index.d.mts +80 -0
  185. package/dist/node_modules/@standard-schema/spec/dist/index.d.mts.map +1 -0
  186. package/dist/orm/column.cjs +137 -0
  187. package/dist/orm/column.d.cts +121 -0
  188. package/dist/orm/column.d.cts.map +1 -0
  189. package/dist/orm/column.d.mts +121 -0
  190. package/dist/orm/column.d.mts.map +1 -0
  191. package/dist/orm/column.mjs +132 -0
  192. package/dist/orm/column.mjs.map +1 -0
  193. package/dist/orm/dialect/index.cjs +14 -0
  194. package/dist/orm/dialect/index.mjs +16 -0
  195. package/dist/orm/dialect/index.mjs.map +1 -0
  196. package/dist/orm/dialect/mysql.cjs +31 -0
  197. package/dist/orm/dialect/mysql.mjs +33 -0
  198. package/dist/orm/dialect/mysql.mjs.map +1 -0
  199. package/dist/orm/dialect/postgres.cjs +23 -0
  200. package/dist/orm/dialect/postgres.mjs +25 -0
  201. package/dist/orm/dialect/postgres.mjs.map +1 -0
  202. package/dist/orm/dialect/sqlite.cjs +31 -0
  203. package/dist/orm/dialect/sqlite.mjs +33 -0
  204. package/dist/orm/dialect/sqlite.mjs.map +1 -0
  205. package/dist/orm/dialect/utils.cjs +8 -0
  206. package/dist/orm/dialect/utils.mjs +10 -0
  207. package/dist/orm/dialect/utils.mjs.map +1 -0
  208. package/dist/orm/internal/table-columns.cjs +31 -0
  209. package/dist/orm/internal/table-columns.mjs +32 -0
  210. package/dist/orm/internal/table-columns.mjs.map +1 -0
  211. package/dist/orm/internal/table-lookup.cjs +35 -0
  212. package/dist/orm/internal/table-lookup.mjs +35 -0
  213. package/dist/orm/internal/table-lookup.mjs.map +1 -0
  214. package/dist/orm/internal/table-relations.cjs +28 -0
  215. package/dist/orm/internal/table-relations.mjs +29 -0
  216. package/dist/orm/internal/table-relations.mjs.map +1 -0
  217. package/dist/orm/migration/config.cjs +7 -0
  218. package/dist/orm/migration/config.d.cts +7 -0
  219. package/dist/orm/migration/config.d.cts.map +1 -0
  220. package/dist/orm/migration/config.d.mts +7 -0
  221. package/dist/orm/migration/config.d.mts.map +1 -0
  222. package/dist/orm/migration/config.mjs +8 -0
  223. package/dist/orm/migration/config.mjs.map +1 -0
  224. package/dist/orm/migration/types.d.cts +20 -0
  225. package/dist/orm/migration/types.d.cts.map +1 -0
  226. package/dist/orm/migration/types.d.mts +20 -0
  227. package/dist/orm/migration/types.d.mts.map +1 -0
  228. package/dist/orm/orm.cjs +41 -0
  229. package/dist/orm/orm.d.cts +18 -0
  230. package/dist/orm/orm.d.cts.map +1 -0
  231. package/dist/orm/orm.d.mts +18 -0
  232. package/dist/orm/orm.d.mts.map +1 -0
  233. package/dist/orm/orm.mjs +43 -0
  234. package/dist/orm/orm.mjs.map +1 -0
  235. package/dist/orm/relation.cjs +18 -0
  236. package/dist/orm/relation.d.cts +8 -0
  237. package/dist/orm/relation.d.cts.map +1 -0
  238. package/dist/orm/relation.d.mts +8 -0
  239. package/dist/orm/relation.d.mts.map +1 -0
  240. package/dist/orm/relation.mjs +19 -0
  241. package/dist/orm/relation.mjs.map +1 -0
  242. package/dist/orm/runtime/builders/mutations.cjs +29 -0
  243. package/dist/orm/runtime/builders/mutations.mjs +28 -0
  244. package/dist/orm/runtime/builders/mutations.mjs.map +1 -0
  245. package/dist/orm/runtime/builders/select.cjs +18 -0
  246. package/dist/orm/runtime/builders/select.mjs +19 -0
  247. package/dist/orm/runtime/builders/select.mjs.map +1 -0
  248. package/dist/orm/runtime/client.cjs +90 -0
  249. package/dist/orm/runtime/client.mjs +92 -0
  250. package/dist/orm/runtime/client.mjs.map +1 -0
  251. package/dist/orm/runtime/context.cjs +49 -0
  252. package/dist/orm/runtime/context.mjs +51 -0
  253. package/dist/orm/runtime/context.mjs.map +1 -0
  254. package/dist/orm/runtime/dialect/index.cjs +11 -0
  255. package/dist/orm/runtime/dialect/index.mjs +13 -0
  256. package/dist/orm/runtime/dialect/index.mjs.map +1 -0
  257. package/dist/orm/runtime/dialect/mysql.cjs +95 -0
  258. package/dist/orm/runtime/dialect/mysql.mjs +97 -0
  259. package/dist/orm/runtime/dialect/mysql.mjs.map +1 -0
  260. package/dist/orm/runtime/dialect/postgres.cjs +51 -0
  261. package/dist/orm/runtime/dialect/postgres.mjs +53 -0
  262. package/dist/orm/runtime/dialect/postgres.mjs.map +1 -0
  263. package/dist/orm/runtime/dialect/sqlite.cjs +4 -0
  264. package/dist/orm/runtime/dialect/sqlite.mjs +7 -0
  265. package/dist/orm/runtime/dialect/sqlite.mjs.map +1 -0
  266. package/dist/orm/runtime/errors.cjs +19 -0
  267. package/dist/orm/runtime/errors.mjs +21 -0
  268. package/dist/orm/runtime/errors.mjs.map +1 -0
  269. package/dist/orm/runtime/hydrate/many.cjs +46 -0
  270. package/dist/orm/runtime/hydrate/many.mjs +48 -0
  271. package/dist/orm/runtime/hydrate/many.mjs.map +1 -0
  272. package/dist/orm/runtime/hydrate/one.cjs +38 -0
  273. package/dist/orm/runtime/hydrate/one.mjs +40 -0
  274. package/dist/orm/runtime/hydrate/one.mjs.map +1 -0
  275. package/dist/orm/runtime/hydrate.cjs +49 -0
  276. package/dist/orm/runtime/hydrate.mjs +51 -0
  277. package/dist/orm/runtime/hydrate.mjs.map +1 -0
  278. package/dist/orm/runtime/rows.cjs +30 -0
  279. package/dist/orm/runtime/rows.mjs +31 -0
  280. package/dist/orm/runtime/rows.mjs.map +1 -0
  281. package/dist/orm/runtime/utils.cjs +27 -0
  282. package/dist/orm/runtime/utils.mjs +27 -0
  283. package/dist/orm/runtime/utils.mjs.map +1 -0
  284. package/dist/orm/sql/parse-array.cjs +64 -0
  285. package/dist/orm/sql/parse-array.mjs +66 -0
  286. package/dist/orm/sql/parse-array.mjs.map +1 -0
  287. package/dist/orm/sql/plan/select.cjs +36 -0
  288. package/dist/orm/sql/plan/select.mjs +38 -0
  289. package/dist/orm/sql/plan/select.mjs.map +1 -0
  290. package/dist/orm/sql/plan/where/operators.cjs +95 -0
  291. package/dist/orm/sql/plan/where/operators.mjs +97 -0
  292. package/dist/orm/sql/plan/where/operators.mjs.map +1 -0
  293. package/dist/orm/sql/plan/where.cjs +59 -0
  294. package/dist/orm/sql/plan/where.mjs +61 -0
  295. package/dist/orm/sql/plan/where.mjs.map +1 -0
  296. package/dist/orm/sql/serialize/clauses.cjs +36 -0
  297. package/dist/orm/sql/serialize/clauses.mjs +37 -0
  298. package/dist/orm/sql/serialize/clauses.mjs.map +1 -0
  299. package/dist/orm/sql/serialize/joins.cjs +31 -0
  300. package/dist/orm/sql/serialize/joins.mjs +33 -0
  301. package/dist/orm/sql/serialize/joins.mjs.map +1 -0
  302. package/dist/orm/sql/serialize/values.cjs +30 -0
  303. package/dist/orm/sql/serialize/values.mjs +32 -0
  304. package/dist/orm/sql/serialize/values.mjs.map +1 -0
  305. package/dist/orm/sql/serialize/where/predicate.cjs +73 -0
  306. package/dist/orm/sql/serialize/where/predicate.mjs +75 -0
  307. package/dist/orm/sql/serialize/where/predicate.mjs.map +1 -0
  308. package/dist/orm/sql/serialize/where/tree.cjs +26 -0
  309. package/dist/orm/sql/serialize/where/tree.mjs +28 -0
  310. package/dist/orm/sql/serialize/where/tree.mjs.map +1 -0
  311. package/dist/orm/sql/serialize/where.cjs +10 -0
  312. package/dist/orm/sql/serialize/where.mjs +12 -0
  313. package/dist/orm/sql/serialize/where.mjs.map +1 -0
  314. package/dist/orm/sql/serialize.cjs +24 -0
  315. package/dist/orm/sql/serialize.mjs +25 -0
  316. package/dist/orm/sql/serialize.mjs.map +1 -0
  317. package/dist/orm/table.cjs +12 -0
  318. package/dist/orm/table.d.cts +12 -0
  319. package/dist/orm/table.d.cts.map +1 -0
  320. package/dist/orm/table.d.mts +12 -0
  321. package/dist/orm/table.d.mts.map +1 -0
  322. package/dist/orm/table.mjs +14 -0
  323. package/dist/orm/table.mjs.map +1 -0
  324. package/dist/orm/types.d.cts +183 -0
  325. package/dist/orm/types.d.cts.map +1 -0
  326. package/dist/orm/types.d.mts +183 -0
  327. package/dist/orm/types.d.mts.map +1 -0
  328. package/dist/policy/helpers.cjs +206 -0
  329. package/dist/policy/helpers.d.cts +50 -0
  330. package/dist/policy/helpers.d.cts.map +1 -0
  331. package/dist/policy/helpers.d.mts +50 -0
  332. package/dist/policy/helpers.d.mts.map +1 -0
  333. package/dist/policy/helpers.mjs +190 -0
  334. package/dist/policy/helpers.mjs.map +1 -0
  335. package/dist/policy/types.d.cts +16 -0
  336. package/dist/policy/types.d.cts.map +1 -0
  337. package/dist/policy/types.d.mts +16 -0
  338. package/dist/policy/types.d.mts.map +1 -0
  339. package/dist/prompts/core/keys.cjs +165 -0
  340. package/dist/prompts/core/keys.mjs +167 -0
  341. package/dist/prompts/core/keys.mjs.map +1 -0
  342. package/dist/prompts/core/runtime.cjs +104 -0
  343. package/dist/prompts/core/runtime.mjs +106 -0
  344. package/dist/prompts/core/runtime.mjs.map +1 -0
  345. package/dist/prompts/core/session.cjs +98 -0
  346. package/dist/prompts/core/session.mjs +100 -0
  347. package/dist/prompts/core/session.mjs.map +1 -0
  348. package/dist/prompts/core/types.d.cts +21 -0
  349. package/dist/prompts/core/types.d.cts.map +1 -0
  350. package/dist/prompts/core/types.d.mts +21 -0
  351. package/dist/prompts/core/types.d.mts.map +1 -0
  352. package/dist/prompts/types.d.cts +52 -0
  353. package/dist/prompts/types.d.cts.map +1 -0
  354. package/dist/prompts/types.d.mts +52 -0
  355. package/dist/prompts/types.d.mts.map +1 -0
  356. package/dist/pubsub/types.d.cts +10 -0
  357. package/dist/pubsub/types.d.cts.map +1 -0
  358. package/dist/pubsub/types.d.mts +10 -0
  359. package/dist/pubsub/types.d.mts.map +1 -0
  360. package/dist/queue/types.d.cts +47 -0
  361. package/dist/queue/types.d.cts.map +1 -0
  362. package/dist/queue/types.d.mts +47 -0
  363. package/dist/queue/types.d.mts.map +1 -0
  364. package/dist/workflow/types.d.cts +83 -0
  365. package/dist/workflow/types.d.cts.map +1 -0
  366. package/dist/workflow/types.d.mts +83 -0
  367. package/dist/workflow/types.d.mts.map +1 -0
  368. package/package.json +112 -16
  369. package/dist/lib/api/core/index.d.ts +0 -15
  370. package/dist/lib/api/core/index.d.ts.map +0 -1
  371. package/dist/lib/api/core/index.js +0 -218
  372. package/dist/lib/api/core/index.js.map +0 -1
  373. package/dist/lib/api/core/index.test.d.ts +0 -2
  374. package/dist/lib/api/core/index.test.d.ts.map +0 -1
  375. package/dist/lib/api/core/index.test.js +0 -219
  376. package/dist/lib/api/core/index.test.js.map +0 -1
  377. package/dist/lib/api/core/types.d.ts +0 -109
  378. package/dist/lib/api/core/types.d.ts.map +0 -1
  379. package/dist/lib/api/core/types.js +0 -2
  380. package/dist/lib/api/core/types.js.map +0 -1
  381. package/dist/lib/api/index.d.ts +0 -5
  382. package/dist/lib/api/index.d.ts.map +0 -1
  383. package/dist/lib/api/index.js +0 -3
  384. package/dist/lib/api/index.js.map +0 -1
  385. package/dist/lib/api/middleware/index.d.ts +0 -7
  386. package/dist/lib/api/middleware/index.d.ts.map +0 -1
  387. package/dist/lib/api/middleware/index.js +0 -7
  388. package/dist/lib/api/middleware/index.js.map +0 -1
  389. package/dist/lib/api/middleware/index.test.d.ts +0 -2
  390. package/dist/lib/api/middleware/index.test.d.ts.map +0 -1
  391. package/dist/lib/api/middleware/index.test.js +0 -67
  392. package/dist/lib/api/middleware/index.test.js.map +0 -1
  393. package/dist/lib/api/middleware/types.d.ts +0 -12
  394. package/dist/lib/api/middleware/types.d.ts.map +0 -1
  395. package/dist/lib/api/middleware/types.js +0 -2
  396. package/dist/lib/api/middleware/types.js.map +0 -1
  397. package/dist/lib/api/openapi/index.d.ts +0 -31
  398. package/dist/lib/api/openapi/index.d.ts.map +0 -1
  399. package/dist/lib/api/openapi/index.js +0 -284
  400. package/dist/lib/api/openapi/index.js.map +0 -1
  401. package/dist/lib/api/openapi/index.test.d.ts +0 -2
  402. package/dist/lib/api/openapi/index.test.d.ts.map +0 -1
  403. package/dist/lib/api/openapi/index.test.js +0 -359
  404. package/dist/lib/api/openapi/index.test.js.map +0 -1
  405. package/dist/lib/api/openapi/types.d.ts +0 -57
  406. package/dist/lib/api/openapi/types.d.ts.map +0 -1
  407. package/dist/lib/api/openapi/types.js +0 -5
  408. package/dist/lib/api/openapi/types.js.map +0 -1
  409. package/dist/lib/api/validation/index.d.ts +0 -33
  410. package/dist/lib/api/validation/index.d.ts.map +0 -1
  411. package/dist/lib/api/validation/index.js +0 -92
  412. package/dist/lib/api/validation/index.js.map +0 -1
  413. package/dist/lib/api/validation/index.test.d.ts +0 -2
  414. package/dist/lib/api/validation/index.test.d.ts.map +0 -1
  415. package/dist/lib/api/validation/index.test.js +0 -135
  416. package/dist/lib/api/validation/index.test.js.map +0 -1
  417. package/dist/lib/cache/index.d.ts +0 -25
  418. package/dist/lib/cache/index.d.ts.map +0 -1
  419. package/dist/lib/cache/index.js +0 -62
  420. package/dist/lib/cache/index.js.map +0 -1
  421. package/dist/lib/cache/index.test.d.ts +0 -2
  422. package/dist/lib/cache/index.test.d.ts.map +0 -1
  423. package/dist/lib/cache/index.test.js +0 -314
  424. package/dist/lib/cache/index.test.js.map +0 -1
  425. package/dist/lib/cache/types.d.ts +0 -5
  426. package/dist/lib/cache/types.d.ts.map +0 -1
  427. package/dist/lib/cache/types.js +0 -2
  428. package/dist/lib/cache/types.js.map +0 -1
  429. package/dist/lib/errors/index.d.ts +0 -9
  430. package/dist/lib/errors/index.d.ts.map +0 -1
  431. package/dist/lib/errors/index.js +0 -25
  432. package/dist/lib/errors/index.js.map +0 -1
  433. package/dist/lib/errors/index.test.d.ts +0 -2
  434. package/dist/lib/errors/index.test.d.ts.map +0 -1
  435. package/dist/lib/errors/index.test.js +0 -197
  436. package/dist/lib/errors/index.test.js.map +0 -1
  437. package/dist/lib/errors/types.d.ts +0 -2
  438. package/dist/lib/errors/types.d.ts.map +0 -1
  439. package/dist/lib/errors/types.js +0 -2
  440. package/dist/lib/errors/types.js.map +0 -1
  441. package/dist/lib/i18n/index.d.ts +0 -18
  442. package/dist/lib/i18n/index.d.ts.map +0 -1
  443. package/dist/lib/i18n/index.js +0 -38
  444. package/dist/lib/i18n/index.js.map +0 -1
  445. package/dist/lib/i18n/index.test.d.ts +0 -2
  446. package/dist/lib/i18n/index.test.d.ts.map +0 -1
  447. package/dist/lib/i18n/index.test.js +0 -402
  448. package/dist/lib/i18n/index.test.js.map +0 -1
  449. package/dist/lib/i18n/types.d.ts +0 -15
  450. package/dist/lib/i18n/types.d.ts.map +0 -1
  451. package/dist/lib/i18n/types.js +0 -2
  452. package/dist/lib/i18n/types.js.map +0 -1
  453. package/dist/lib/policy/index.d.ts +0 -9
  454. package/dist/lib/policy/index.d.ts.map +0 -1
  455. package/dist/lib/policy/index.js +0 -51
  456. package/dist/lib/policy/index.js.map +0 -1
  457. package/dist/lib/policy/index.test.d.ts +0 -2
  458. package/dist/lib/policy/index.test.d.ts.map +0 -1
  459. package/dist/lib/policy/index.test.js +0 -328
  460. package/dist/lib/policy/index.test.js.map +0 -1
  461. package/dist/lib/policy/types.d.ts +0 -27
  462. package/dist/lib/policy/types.d.ts.map +0 -1
  463. package/dist/lib/policy/types.js +0 -2
  464. package/dist/lib/policy/types.js.map +0 -1
  465. package/dist/lib/pubsub/index.d.ts +0 -23
  466. package/dist/lib/pubsub/index.d.ts.map +0 -1
  467. package/dist/lib/pubsub/index.js +0 -55
  468. package/dist/lib/pubsub/index.js.map +0 -1
  469. package/dist/lib/pubsub/index.test.d.ts +0 -2
  470. package/dist/lib/pubsub/index.test.d.ts.map +0 -1
  471. package/dist/lib/pubsub/index.test.js +0 -550
  472. package/dist/lib/pubsub/index.test.js.map +0 -1
  473. package/dist/lib/pubsub/types.d.ts +0 -7
  474. package/dist/lib/pubsub/types.d.ts.map +0 -1
  475. package/dist/lib/pubsub/types.js +0 -2
  476. package/dist/lib/pubsub/types.js.map +0 -1
  477. package/dist/lib/queue/index.d.ts +0 -28
  478. package/dist/lib/queue/index.d.ts.map +0 -1
  479. package/dist/lib/queue/index.js +0 -211
  480. package/dist/lib/queue/index.js.map +0 -1
  481. package/dist/lib/queue/index.test.d.ts +0 -2
  482. package/dist/lib/queue/index.test.d.ts.map +0 -1
  483. package/dist/lib/queue/index.test.js +0 -740
  484. package/dist/lib/queue/index.test.js.map +0 -1
  485. package/dist/lib/queue/types.d.ts +0 -52
  486. package/dist/lib/queue/types.d.ts.map +0 -1
  487. package/dist/lib/queue/types.js +0 -2
  488. package/dist/lib/queue/types.js.map +0 -1
@@ -0,0 +1,104 @@
1
+ const require_lib_errors_index = require("../../lib/errors/index.cjs");
2
+ const require_keys = require("./keys.cjs");
3
+ //#region src/lib/prompts/core/runtime.ts
4
+ const HIDE_CURSOR = "\x1B[?25l";
5
+ const SHOW_CURSOR = "\x1B[?25h";
6
+ const countLines = (text) => {
7
+ let count = 1;
8
+ for (let i = 0; i < text.length; i++) if (text[i] === "\n") count += 1;
9
+ return count;
10
+ };
11
+ var NodePromptRuntime = class {
12
+ stdin;
13
+ stdout;
14
+ queue = [];
15
+ waiters = [];
16
+ initialized = false;
17
+ previousLines = 0;
18
+ buffer = "";
19
+ constructor(stdin = process.stdin, stdout = process.stdout) {
20
+ this.stdin = stdin;
21
+ this.stdout = stdout;
22
+ }
23
+ isInteractive() {
24
+ return Boolean(this.stdin.isTTY && this.stdout.isTTY && typeof this.stdin.setRawMode === "function");
25
+ }
26
+ init() {
27
+ if (!this.isInteractive()) return require_lib_errors_index.err("PromptEnvironmentError", "Interactive prompts require a TTY with raw mode support");
28
+ if (this.initialized) return require_lib_errors_index.ok(void 0);
29
+ const [initError] = require_lib_errors_index.mightThrowSync(() => {
30
+ this.stdin.setRawMode(true);
31
+ this.stdin.setEncoding("utf8");
32
+ this.stdin.resume();
33
+ this.stdin.on("data", this.onData);
34
+ this.stdout.write(HIDE_CURSOR);
35
+ });
36
+ if (initError) return require_lib_errors_index.err("PromptIOError", "Unable to initialize prompt runtime");
37
+ this.initialized = true;
38
+ return require_lib_errors_index.ok(void 0);
39
+ }
40
+ readKey() {
41
+ const queued = this.queue.shift();
42
+ if (queued) return Promise.resolve(require_lib_errors_index.ok(queued));
43
+ return new Promise((resolve) => {
44
+ this.waiters.push(resolve);
45
+ });
46
+ }
47
+ render(frame) {
48
+ const [renderError] = require_lib_errors_index.mightThrowSync(() => {
49
+ if (this.previousLines > 1) this.stdout.write(`\u001B[${this.previousLines - 1}A`);
50
+ this.stdout.write("\r\x1B[J");
51
+ this.stdout.write(frame);
52
+ this.previousLines = countLines(frame);
53
+ });
54
+ if (renderError) return require_lib_errors_index.err("PromptIOError", "Unable to render prompt frame");
55
+ return require_lib_errors_index.ok(void 0);
56
+ }
57
+ done(frame) {
58
+ const [doneError] = require_lib_errors_index.mightThrowSync(() => {
59
+ if (this.previousLines > 1) this.stdout.write(`\u001B[${this.previousLines - 1}A`);
60
+ this.stdout.write("\r\x1B[J");
61
+ this.stdout.write(`${frame}\n`);
62
+ this.previousLines = 0;
63
+ });
64
+ if (doneError) return require_lib_errors_index.err("PromptIOError", "Unable to finalize prompt frame");
65
+ return require_lib_errors_index.ok(void 0);
66
+ }
67
+ close() {
68
+ if (!this.initialized) return require_lib_errors_index.ok(void 0);
69
+ this.initialized = false;
70
+ const [closeError] = require_lib_errors_index.mightThrowSync(() => {
71
+ this.stdin.off("data", this.onData);
72
+ this.stdin.setRawMode(false);
73
+ this.stdin.pause?.();
74
+ this.stdout.write(SHOW_CURSOR);
75
+ });
76
+ if (closeError) return require_lib_errors_index.err("PromptIOError", "Unable to close prompt runtime");
77
+ return require_lib_errors_index.ok(void 0);
78
+ }
79
+ interrupt() {
80
+ this.close();
81
+ process.exit(0);
82
+ }
83
+ onData = (chunk) => {
84
+ const value = typeof chunk === "string" ? chunk : chunk.toString("utf8");
85
+ const combined = `${this.buffer}${value}`;
86
+ this.buffer = "";
87
+ const [parseError, result] = require_lib_errors_index.mightThrowSync(() => require_keys.parseKeys(combined));
88
+ if (parseError || !result) {
89
+ for (const waiter of this.waiters.splice(0)) waiter(require_lib_errors_index.err("PromptIOError", "Failed to parse input"));
90
+ return;
91
+ }
92
+ this.buffer = result.remaining;
93
+ for (const key of result.keys) {
94
+ const waiter = this.waiters.shift();
95
+ if (waiter) waiter(require_lib_errors_index.ok(key));
96
+ else this.queue.push(key);
97
+ }
98
+ };
99
+ };
100
+ const createNodePromptRuntime = () => {
101
+ return new NodePromptRuntime();
102
+ };
103
+ //#endregion
104
+ exports.createNodePromptRuntime = createNodePromptRuntime;
@@ -0,0 +1,106 @@
1
+ import { err, mightThrowSync, ok } from "../../lib/errors/index.mjs";
2
+ import { parseKeys } from "./keys.mjs";
3
+ //#region src/lib/prompts/core/runtime.ts
4
+ const HIDE_CURSOR = "\x1B[?25l";
5
+ const SHOW_CURSOR = "\x1B[?25h";
6
+ const countLines = (text) => {
7
+ let count = 1;
8
+ for (let i = 0; i < text.length; i++) if (text[i] === "\n") count += 1;
9
+ return count;
10
+ };
11
+ var NodePromptRuntime = class {
12
+ stdin;
13
+ stdout;
14
+ queue = [];
15
+ waiters = [];
16
+ initialized = false;
17
+ previousLines = 0;
18
+ buffer = "";
19
+ constructor(stdin = process.stdin, stdout = process.stdout) {
20
+ this.stdin = stdin;
21
+ this.stdout = stdout;
22
+ }
23
+ isInteractive() {
24
+ return Boolean(this.stdin.isTTY && this.stdout.isTTY && typeof this.stdin.setRawMode === "function");
25
+ }
26
+ init() {
27
+ if (!this.isInteractive()) return err("PromptEnvironmentError", "Interactive prompts require a TTY with raw mode support");
28
+ if (this.initialized) return ok(void 0);
29
+ const [initError] = mightThrowSync(() => {
30
+ this.stdin.setRawMode(true);
31
+ this.stdin.setEncoding("utf8");
32
+ this.stdin.resume();
33
+ this.stdin.on("data", this.onData);
34
+ this.stdout.write(HIDE_CURSOR);
35
+ });
36
+ if (initError) return err("PromptIOError", "Unable to initialize prompt runtime");
37
+ this.initialized = true;
38
+ return ok(void 0);
39
+ }
40
+ readKey() {
41
+ const queued = this.queue.shift();
42
+ if (queued) return Promise.resolve(ok(queued));
43
+ return new Promise((resolve) => {
44
+ this.waiters.push(resolve);
45
+ });
46
+ }
47
+ render(frame) {
48
+ const [renderError] = mightThrowSync(() => {
49
+ if (this.previousLines > 1) this.stdout.write(`\u001B[${this.previousLines - 1}A`);
50
+ this.stdout.write("\r\x1B[J");
51
+ this.stdout.write(frame);
52
+ this.previousLines = countLines(frame);
53
+ });
54
+ if (renderError) return err("PromptIOError", "Unable to render prompt frame");
55
+ return ok(void 0);
56
+ }
57
+ done(frame) {
58
+ const [doneError] = mightThrowSync(() => {
59
+ if (this.previousLines > 1) this.stdout.write(`\u001B[${this.previousLines - 1}A`);
60
+ this.stdout.write("\r\x1B[J");
61
+ this.stdout.write(`${frame}\n`);
62
+ this.previousLines = 0;
63
+ });
64
+ if (doneError) return err("PromptIOError", "Unable to finalize prompt frame");
65
+ return ok(void 0);
66
+ }
67
+ close() {
68
+ if (!this.initialized) return ok(void 0);
69
+ this.initialized = false;
70
+ const [closeError] = mightThrowSync(() => {
71
+ this.stdin.off("data", this.onData);
72
+ this.stdin.setRawMode(false);
73
+ this.stdin.pause?.();
74
+ this.stdout.write(SHOW_CURSOR);
75
+ });
76
+ if (closeError) return err("PromptIOError", "Unable to close prompt runtime");
77
+ return ok(void 0);
78
+ }
79
+ interrupt() {
80
+ this.close();
81
+ process.exit(0);
82
+ }
83
+ onData = (chunk) => {
84
+ const value = typeof chunk === "string" ? chunk : chunk.toString("utf8");
85
+ const combined = `${this.buffer}${value}`;
86
+ this.buffer = "";
87
+ const [parseError, result] = mightThrowSync(() => parseKeys(combined));
88
+ if (parseError || !result) {
89
+ for (const waiter of this.waiters.splice(0)) waiter(err("PromptIOError", "Failed to parse input"));
90
+ return;
91
+ }
92
+ this.buffer = result.remaining;
93
+ for (const key of result.keys) {
94
+ const waiter = this.waiters.shift();
95
+ if (waiter) waiter(ok(key));
96
+ else this.queue.push(key);
97
+ }
98
+ };
99
+ };
100
+ const createNodePromptRuntime = () => {
101
+ return new NodePromptRuntime();
102
+ };
103
+ //#endregion
104
+ export { createNodePromptRuntime };
105
+
106
+ //# sourceMappingURL=runtime.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.mjs","names":[],"sources":["../../../src/lib/prompts/core/runtime.ts"],"sourcesContent":["import { err, mightThrowSync, ok } from \"../../errors/index.js\";\nimport { parseKeys } from \"./keys.js\";\nimport type { Key, PromptResultLike, PromptRuntime } from \"./types.js\";\n\nconst HIDE_CURSOR = \"\\u001B[?25l\";\nconst SHOW_CURSOR = \"\\u001B[?25h\";\n\nconst countLines = (text: string) => {\n let count = 1;\n\n for (let i = 0; i < text.length; i++) {\n if (text[i] === \"\\n\") {\n count += 1;\n }\n }\n\n return count;\n};\n\ntype StdinLike = {\n isTTY?: boolean;\n setRawMode: (mode: boolean) => void;\n setEncoding: (encoding: BufferEncoding) => void;\n resume: () => void;\n pause?: () => void;\n on: (event: string, listener: (chunk: Buffer | string) => void) => unknown;\n off: (event: string, listener: (chunk: Buffer | string) => void) => unknown;\n};\n\ntype StdoutLike = {\n isTTY?: boolean;\n write: (chunk: string) => boolean;\n};\n\nexport class NodePromptRuntime implements PromptRuntime {\n private readonly stdin: StdinLike;\n private readonly stdout: StdoutLike;\n private readonly queue: Key[] = [];\n private readonly waiters: Array<(result: PromptResultLike<Key>) => void> = [];\n private initialized = false;\n private previousLines = 0;\n private buffer = \"\";\n\n public constructor(\n stdin: StdinLike = process.stdin,\n stdout: StdoutLike = process.stdout,\n ) {\n this.stdin = stdin;\n this.stdout = stdout;\n }\n\n public isInteractive() {\n return Boolean(\n this.stdin.isTTY &&\n this.stdout.isTTY &&\n typeof this.stdin.setRawMode === \"function\",\n );\n }\n\n public init() {\n if (!this.isInteractive()) {\n return err(\n \"PromptEnvironmentError\",\n \"Interactive prompts require a TTY with raw mode support\",\n );\n }\n\n if (this.initialized) {\n return ok(undefined);\n }\n\n const [initError] = mightThrowSync(() => {\n this.stdin.setRawMode(true);\n this.stdin.setEncoding(\"utf8\");\n this.stdin.resume();\n this.stdin.on(\"data\", this.onData);\n this.stdout.write(HIDE_CURSOR);\n });\n\n if (initError) {\n return err(\"PromptIOError\", \"Unable to initialize prompt runtime\");\n }\n\n this.initialized = true;\n return ok(undefined);\n }\n\n public readKey(): Promise<PromptResultLike<Key>> {\n const queued = this.queue.shift();\n\n if (queued) {\n return Promise.resolve(ok(queued));\n }\n\n return new Promise<PromptResultLike<Key>>((resolve) => {\n this.waiters.push(resolve);\n });\n }\n\n public render(frame: string) {\n const [renderError] = mightThrowSync(() => {\n if (this.previousLines > 1) {\n this.stdout.write(`\\u001B[${this.previousLines - 1}A`);\n }\n\n this.stdout.write(\"\\r\\u001B[J\");\n this.stdout.write(frame);\n\n this.previousLines = countLines(frame);\n });\n\n if (renderError) {\n return err(\"PromptIOError\", \"Unable to render prompt frame\");\n }\n\n return ok(undefined);\n }\n\n public done(frame: string) {\n const [doneError] = mightThrowSync(() => {\n if (this.previousLines > 1) {\n this.stdout.write(`\\u001B[${this.previousLines - 1}A`);\n }\n\n this.stdout.write(\"\\r\\u001B[J\");\n this.stdout.write(`${frame}\\n`);\n this.previousLines = 0;\n });\n\n if (doneError) {\n return err(\"PromptIOError\", \"Unable to finalize prompt frame\");\n }\n\n return ok(undefined);\n }\n\n public close() {\n if (!this.initialized) {\n return ok(undefined);\n }\n\n this.initialized = false;\n\n const [closeError] = mightThrowSync(() => {\n this.stdin.off(\"data\", this.onData);\n this.stdin.setRawMode(false);\n this.stdin.pause?.();\n this.stdout.write(SHOW_CURSOR);\n });\n\n if (closeError) {\n return err(\"PromptIOError\", \"Unable to close prompt runtime\");\n }\n\n return ok(undefined);\n }\n\n public interrupt(): never {\n this.close();\n process.exit(0);\n }\n\n private onData = (chunk: Buffer | string) => {\n const value = typeof chunk === \"string\" ? chunk : chunk.toString(\"utf8\");\n const combined = `${this.buffer}${value}`;\n this.buffer = \"\";\n\n const [parseError, result] = mightThrowSync(() => parseKeys(combined));\n\n if (parseError || !result) {\n for (const waiter of this.waiters.splice(0)) {\n waiter(err(\"PromptIOError\", \"Failed to parse input\"));\n }\n\n return;\n }\n\n this.buffer = result.remaining;\n\n for (const key of result.keys) {\n const waiter = this.waiters.shift();\n\n if (waiter) {\n waiter(ok(key));\n } else {\n this.queue.push(key);\n }\n }\n };\n}\n\nexport const createNodePromptRuntime = () => {\n return new NodePromptRuntime();\n};\n"],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ const require_lib_errors_index = require("../../lib/errors/index.cjs");
2
+ //#region src/lib/prompts/core/session.ts
3
+ const CANCEL_MESSAGE = "Interrupted, bye!";
4
+ const resolveOutput = async (options, value) => {
5
+ if (!options.transform) return require_lib_errors_index.ok(value);
6
+ const [transformError, transformed] = await require_lib_errors_index.mightThrow(Promise.resolve().then(() => options.transform?.(value)));
7
+ if (transformError || transformed === null || transformed === void 0) return require_lib_errors_index.err("PromptIOError", "Prompt transform callback failed unexpectedly");
8
+ return require_lib_errors_index.ok(transformed);
9
+ };
10
+ const runValidation = async (options, value) => {
11
+ if (!options.validate) return require_lib_errors_index.ok(null);
12
+ const [validationError, validationMessage] = await require_lib_errors_index.mightThrow(Promise.resolve().then(() => options.validate?.(value)));
13
+ if (validationError) return require_lib_errors_index.err("PromptIOError", "Prompt validate callback failed unexpectedly");
14
+ if (typeof validationMessage === "string" && validationMessage.length > 0) return require_lib_errors_index.ok(validationMessage);
15
+ return require_lib_errors_index.ok(null);
16
+ };
17
+ const isCancelKey = (key) => {
18
+ if (key.name === "ctrl_c") return true;
19
+ if (key.name === "escape") return true;
20
+ return false;
21
+ };
22
+ const runPromptSession = async (params) => {
23
+ const [initError] = params.runtime.init();
24
+ if (initError) return require_lib_errors_index.err(initError.type, initError.message);
25
+ let state = params.initialState;
26
+ let errorMessage = null;
27
+ const closeAndDone = (message) => {
28
+ const [closeErr] = params.runtime.close();
29
+ if (closeErr) return require_lib_errors_index.err(closeErr.type, closeErr.message);
30
+ const [doneErr] = params.runtime.done(message);
31
+ if (doneErr) return require_lib_errors_index.err(doneErr.type, doneErr.message);
32
+ return null;
33
+ };
34
+ while (true) {
35
+ const [renderError] = params.runtime.render(params.render({
36
+ options: params.options,
37
+ state,
38
+ errorMessage
39
+ }));
40
+ if (renderError) {
41
+ params.runtime.close();
42
+ return require_lib_errors_index.err(renderError.type, renderError.message);
43
+ }
44
+ const [readError, key] = await params.runtime.readKey();
45
+ if (readError || !key) {
46
+ params.runtime.close();
47
+ return require_lib_errors_index.err(readError?.type ?? "PromptIOError", readError?.message ?? "Unable to read prompt input");
48
+ }
49
+ if (isCancelKey(key)) {
50
+ const [closeError] = params.runtime.close();
51
+ if (closeError) return require_lib_errors_index.err(closeError.type, closeError.message);
52
+ const [doneError] = params.runtime.done(`✖ ${CANCEL_MESSAGE}`);
53
+ if (doneError) return require_lib_errors_index.err(doneError.type, doneError.message);
54
+ if (params.runtime.interrupt) {
55
+ const [interruptError] = params.runtime.interrupt(CANCEL_MESSAGE);
56
+ if (interruptError) return require_lib_errors_index.err(interruptError.type, interruptError.message);
57
+ }
58
+ return require_lib_errors_index.err("PromptCancelledError", CANCEL_MESSAGE);
59
+ }
60
+ if (key.name !== "enter") {
61
+ state = params.onKey(state, key);
62
+ errorMessage = null;
63
+ continue;
64
+ }
65
+ const submitResult = params.onSubmit(state);
66
+ if ("errorMessage" in submitResult) {
67
+ errorMessage = submitResult.errorMessage;
68
+ continue;
69
+ }
70
+ const rawValue = submitResult.value;
71
+ const [validationRunError, validationErrorMessage] = await runValidation(params.options, rawValue);
72
+ if (validationRunError) {
73
+ const closeDoneErr = closeAndDone(`✖ ${params.options.message}`);
74
+ if (closeDoneErr) return closeDoneErr;
75
+ return require_lib_errors_index.err(validationRunError.type, validationRunError.message);
76
+ }
77
+ if (validationErrorMessage) {
78
+ errorMessage = validationErrorMessage;
79
+ continue;
80
+ }
81
+ const [transformError, finalValue] = await resolveOutput(params.options, rawValue);
82
+ if (transformError) {
83
+ const closeDoneErr = closeAndDone(`✖ ${params.options.message}`);
84
+ if (closeDoneErr) return closeDoneErr;
85
+ return require_lib_errors_index.err(transformError.type, transformError.message);
86
+ }
87
+ if (finalValue === null) return require_lib_errors_index.err("PromptIOError", "Unable to transform prompt value");
88
+ const closeDoneErr = closeAndDone(params.complete({
89
+ options: params.options,
90
+ state,
91
+ value: finalValue
92
+ }));
93
+ if (closeDoneErr) return closeDoneErr;
94
+ return require_lib_errors_index.ok(finalValue);
95
+ }
96
+ };
97
+ //#endregion
98
+ exports.runPromptSession = runPromptSession;
@@ -0,0 +1,100 @@
1
+ import { err, mightThrow, ok } from "../../lib/errors/index.mjs";
2
+ //#region src/lib/prompts/core/session.ts
3
+ const CANCEL_MESSAGE = "Interrupted, bye!";
4
+ const resolveOutput = async (options, value) => {
5
+ if (!options.transform) return ok(value);
6
+ const [transformError, transformed] = await mightThrow(Promise.resolve().then(() => options.transform?.(value)));
7
+ if (transformError || transformed === null || transformed === void 0) return err("PromptIOError", "Prompt transform callback failed unexpectedly");
8
+ return ok(transformed);
9
+ };
10
+ const runValidation = async (options, value) => {
11
+ if (!options.validate) return ok(null);
12
+ const [validationError, validationMessage] = await mightThrow(Promise.resolve().then(() => options.validate?.(value)));
13
+ if (validationError) return err("PromptIOError", "Prompt validate callback failed unexpectedly");
14
+ if (typeof validationMessage === "string" && validationMessage.length > 0) return ok(validationMessage);
15
+ return ok(null);
16
+ };
17
+ const isCancelKey = (key) => {
18
+ if (key.name === "ctrl_c") return true;
19
+ if (key.name === "escape") return true;
20
+ return false;
21
+ };
22
+ const runPromptSession = async (params) => {
23
+ const [initError] = params.runtime.init();
24
+ if (initError) return err(initError.type, initError.message);
25
+ let state = params.initialState;
26
+ let errorMessage = null;
27
+ const closeAndDone = (message) => {
28
+ const [closeErr] = params.runtime.close();
29
+ if (closeErr) return err(closeErr.type, closeErr.message);
30
+ const [doneErr] = params.runtime.done(message);
31
+ if (doneErr) return err(doneErr.type, doneErr.message);
32
+ return null;
33
+ };
34
+ while (true) {
35
+ const [renderError] = params.runtime.render(params.render({
36
+ options: params.options,
37
+ state,
38
+ errorMessage
39
+ }));
40
+ if (renderError) {
41
+ params.runtime.close();
42
+ return err(renderError.type, renderError.message);
43
+ }
44
+ const [readError, key] = await params.runtime.readKey();
45
+ if (readError || !key) {
46
+ params.runtime.close();
47
+ return err(readError?.type ?? "PromptIOError", readError?.message ?? "Unable to read prompt input");
48
+ }
49
+ if (isCancelKey(key)) {
50
+ const [closeError] = params.runtime.close();
51
+ if (closeError) return err(closeError.type, closeError.message);
52
+ const [doneError] = params.runtime.done(`✖ ${CANCEL_MESSAGE}`);
53
+ if (doneError) return err(doneError.type, doneError.message);
54
+ if (params.runtime.interrupt) {
55
+ const [interruptError] = params.runtime.interrupt(CANCEL_MESSAGE);
56
+ if (interruptError) return err(interruptError.type, interruptError.message);
57
+ }
58
+ return err("PromptCancelledError", CANCEL_MESSAGE);
59
+ }
60
+ if (key.name !== "enter") {
61
+ state = params.onKey(state, key);
62
+ errorMessage = null;
63
+ continue;
64
+ }
65
+ const submitResult = params.onSubmit(state);
66
+ if ("errorMessage" in submitResult) {
67
+ errorMessage = submitResult.errorMessage;
68
+ continue;
69
+ }
70
+ const rawValue = submitResult.value;
71
+ const [validationRunError, validationErrorMessage] = await runValidation(params.options, rawValue);
72
+ if (validationRunError) {
73
+ const closeDoneErr = closeAndDone(`✖ ${params.options.message}`);
74
+ if (closeDoneErr) return closeDoneErr;
75
+ return err(validationRunError.type, validationRunError.message);
76
+ }
77
+ if (validationErrorMessage) {
78
+ errorMessage = validationErrorMessage;
79
+ continue;
80
+ }
81
+ const [transformError, finalValue] = await resolveOutput(params.options, rawValue);
82
+ if (transformError) {
83
+ const closeDoneErr = closeAndDone(`✖ ${params.options.message}`);
84
+ if (closeDoneErr) return closeDoneErr;
85
+ return err(transformError.type, transformError.message);
86
+ }
87
+ if (finalValue === null) return err("PromptIOError", "Unable to transform prompt value");
88
+ const closeDoneErr = closeAndDone(params.complete({
89
+ options: params.options,
90
+ state,
91
+ value: finalValue
92
+ }));
93
+ if (closeDoneErr) return closeDoneErr;
94
+ return ok(finalValue);
95
+ }
96
+ };
97
+ //#endregion
98
+ export { runPromptSession };
99
+
100
+ //# sourceMappingURL=session.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.mjs","names":[],"sources":["../../../src/lib/prompts/core/session.ts"],"sourcesContent":["import { err, mightThrow, ok } from \"../../errors/index.js\";\nimport type { BasePromptOptions } from \"../types.js\";\nimport type { Key, PromptRuntime } from \"./types.js\";\n\ntype SubmitResult<TValue> =\n | {\n value: TValue;\n }\n | {\n errorMessage: string;\n };\n\ntype SessionOptions<\n TState,\n TValue,\n TOptions extends BasePromptOptions<TValue>,\n> = {\n runtime: PromptRuntime;\n options: TOptions;\n initialState: TState;\n render: (params: {\n options: TOptions;\n state: TState;\n errorMessage: string | null;\n }) => string;\n complete: (params: {\n options: TOptions;\n state: TState;\n value: TValue;\n }) => string;\n onKey: (state: TState, key: Key) => TState;\n onSubmit: (state: TState) => SubmitResult<TValue>;\n};\n\nconst CANCEL_MESSAGE = \"Interrupted, bye!\";\n\nconst resolveOutput = async <TValue>(\n options: BasePromptOptions<TValue>,\n value: TValue,\n) => {\n if (!options.transform) {\n return ok(value);\n }\n\n const [transformError, transformed] = await mightThrow(\n Promise.resolve().then(() => options.transform?.(value)),\n );\n\n if (transformError || transformed === null || transformed === undefined) {\n return err(\n \"PromptIOError\",\n \"Prompt transform callback failed unexpectedly\",\n );\n }\n\n return ok(transformed);\n};\n\nconst runValidation = async <TValue>(\n options: BasePromptOptions<TValue>,\n value: TValue,\n) => {\n if (!options.validate) {\n return ok(null);\n }\n\n const [validationError, validationMessage] = await mightThrow(\n Promise.resolve().then(() => options.validate?.(value)),\n );\n\n if (validationError) {\n return err(\"PromptIOError\", \"Prompt validate callback failed unexpectedly\");\n }\n\n if (typeof validationMessage === \"string\" && validationMessage.length > 0) {\n return ok(validationMessage);\n }\n\n return ok(null);\n};\n\nconst isCancelKey = (key: Key) => {\n if (key.name === \"ctrl_c\") return true;\n if (key.name === \"escape\") return true;\n\n return false;\n};\n\nexport const runPromptSession = async <\n TState,\n TValue,\n TOptions extends BasePromptOptions<TValue>,\n>(\n params: SessionOptions<TState, TValue, TOptions>,\n) => {\n const [initError] = params.runtime.init();\n\n if (initError) {\n return err(initError.type, initError.message);\n }\n\n let state = params.initialState;\n let errorMessage: string | null = null;\n\n const closeAndDone = (message: string) => {\n const [closeErr] = params.runtime.close();\n\n if (closeErr) {\n return err(closeErr.type, closeErr.message);\n }\n\n const [doneErr] = params.runtime.done(message);\n\n if (doneErr) {\n return err(doneErr.type, doneErr.message);\n }\n\n return null;\n };\n\n while (true) {\n const [renderError] = params.runtime.render(\n params.render({\n options: params.options,\n state,\n errorMessage,\n }),\n );\n\n if (renderError) {\n params.runtime.close();\n return err(renderError.type, renderError.message);\n }\n\n const [readError, key] = await params.runtime.readKey();\n\n if (readError || !key) {\n params.runtime.close();\n return err(\n readError?.type ?? \"PromptIOError\",\n readError?.message ?? \"Unable to read prompt input\",\n );\n }\n\n if (isCancelKey(key)) {\n const [closeError] = params.runtime.close();\n\n if (closeError) {\n return err(closeError.type, closeError.message);\n }\n\n const [doneError] = params.runtime.done(`✖ ${CANCEL_MESSAGE}`);\n\n if (doneError) {\n return err(doneError.type, doneError.message);\n }\n\n if (params.runtime.interrupt) {\n const [interruptError] = params.runtime.interrupt(CANCEL_MESSAGE);\n\n if (interruptError) {\n return err(interruptError.type, interruptError.message);\n }\n }\n\n return err(\"PromptCancelledError\", CANCEL_MESSAGE);\n }\n\n if (key.name !== \"enter\") {\n state = params.onKey(state, key);\n errorMessage = null;\n continue;\n }\n\n const submitResult = params.onSubmit(state);\n\n if (\"errorMessage\" in submitResult) {\n errorMessage = submitResult.errorMessage;\n continue;\n }\n\n const rawValue = submitResult.value;\n\n const [validationRunError, validationErrorMessage] = await runValidation(\n params.options,\n rawValue,\n );\n\n if (validationRunError) {\n const closeDoneErr = closeAndDone(`✖ ${params.options.message}`);\n\n if (closeDoneErr) {\n return closeDoneErr;\n }\n\n return err(validationRunError.type, validationRunError.message);\n }\n\n if (validationErrorMessage) {\n errorMessage = validationErrorMessage;\n continue;\n }\n\n const [transformError, finalValue] = await resolveOutput(\n params.options,\n rawValue,\n );\n\n if (transformError) {\n const closeDoneErr = closeAndDone(`✖ ${params.options.message}`);\n\n if (closeDoneErr) {\n return closeDoneErr;\n }\n\n return err(transformError.type, transformError.message);\n }\n\n if (finalValue === null) {\n return err(\"PromptIOError\", \"Unable to transform prompt value\");\n }\n\n const closeDoneErr = closeAndDone(\n params.complete({\n options: params.options,\n state,\n value: finalValue,\n }),\n );\n\n if (closeDoneErr) {\n return closeDoneErr;\n }\n\n return ok(finalValue);\n }\n};\n"],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { err, ok } from "../../lib/errors/index.cjs";
2
+
3
+ //#region src/lib/prompts/core/types.d.ts
4
+ type PromptResultLike<T> = ReturnType<typeof err<string>> | ReturnType<typeof ok<T>>;
5
+ type KeyName = "character" | "enter" | "backspace" | "delete" | "up" | "down" | "left" | "right" | "ctrl_left" | "ctrl_right" | "shift_left" | "shift_right" | "space" | "escape" | "ctrl_c" | "ctrl_backspace" | "ctrl_a" | "home" | "end" | "shift_ctrl_left" | "shift_ctrl_right" | "tab";
6
+ type Key = {
7
+ name: KeyName;
8
+ value?: string;
9
+ };
10
+ type PromptRuntime = {
11
+ isInteractive: () => boolean;
12
+ init: () => PromptResultLike<void>;
13
+ readKey: () => Promise<PromptResultLike<Key>>;
14
+ render: (frame: string) => PromptResultLike<void>;
15
+ done: (frame: string) => PromptResultLike<void>;
16
+ close: () => PromptResultLike<void>;
17
+ interrupt?: (message: string) => PromptResultLike<undefined>;
18
+ };
19
+ //#endregion
20
+ export { PromptRuntime };
21
+ //# sourceMappingURL=types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../../../src/lib/prompts/core/types.ts"],"mappings":";;;KAEY,gBAAA,MACR,UAAA,QAAkB,GAAA,YAClB,UAAA,QAAkB,EAAA,CAAG,CAAA;AAAA,KAEb,OAAA;AAAA,KAwBA,GAAA;EACV,IAAA,EAAM,OAAA;EACN,KAAA;AAAA;AAAA,KAGU,aAAA;EACV,aAAA;EACA,IAAA,QAAY,gBAAA;EACZ,OAAA,QAAe,OAAA,CAAQ,gBAAA,CAAiB,GAAA;EACxC,MAAA,GAAS,KAAA,aAAkB,gBAAA;EAC3B,IAAA,GAAO,KAAA,aAAkB,gBAAA;EACzB,KAAA,QAAa,gBAAA;EACb,SAAA,IAAa,OAAA,aAAoB,gBAAA;AAAA"}
@@ -0,0 +1,21 @@
1
+ import { err, ok } from "../../lib/errors/index.mjs";
2
+
3
+ //#region src/lib/prompts/core/types.d.ts
4
+ type PromptResultLike<T> = ReturnType<typeof err<string>> | ReturnType<typeof ok<T>>;
5
+ type KeyName = "character" | "enter" | "backspace" | "delete" | "up" | "down" | "left" | "right" | "ctrl_left" | "ctrl_right" | "shift_left" | "shift_right" | "space" | "escape" | "ctrl_c" | "ctrl_backspace" | "ctrl_a" | "home" | "end" | "shift_ctrl_left" | "shift_ctrl_right" | "tab";
6
+ type Key = {
7
+ name: KeyName;
8
+ value?: string;
9
+ };
10
+ type PromptRuntime = {
11
+ isInteractive: () => boolean;
12
+ init: () => PromptResultLike<void>;
13
+ readKey: () => Promise<PromptResultLike<Key>>;
14
+ render: (frame: string) => PromptResultLike<void>;
15
+ done: (frame: string) => PromptResultLike<void>;
16
+ close: () => PromptResultLike<void>;
17
+ interrupt?: (message: string) => PromptResultLike<undefined>;
18
+ };
19
+ //#endregion
20
+ export { PromptRuntime };
21
+ //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/lib/prompts/core/types.ts"],"mappings":";;;KAEY,gBAAA,MACR,UAAA,QAAkB,GAAA,YAClB,UAAA,QAAkB,EAAA,CAAG,CAAA;AAAA,KAEb,OAAA;AAAA,KAwBA,GAAA;EACV,IAAA,EAAM,OAAA;EACN,KAAA;AAAA;AAAA,KAGU,aAAA;EACV,aAAA;EACA,IAAA,QAAY,gBAAA;EACZ,OAAA,QAAe,OAAA,CAAQ,gBAAA,CAAiB,GAAA;EACxC,MAAA,GAAS,KAAA,aAAkB,gBAAA;EAC3B,IAAA,GAAO,KAAA,aAAkB,gBAAA;EACzB,KAAA,QAAa,gBAAA;EACb,SAAA,IAAa,OAAA,aAAoB,gBAAA;AAAA"}
@@ -0,0 +1,52 @@
1
+ //#region src/lib/prompts/types.d.ts
2
+ type PromptErrorType = "PromptEnvironmentError" | "PromptValidationError" | "PromptCancelledError" | "PromptIOError" | (string & {});
3
+ type MaybePromise<T> = T | Promise<T>;
4
+ type Validate<TValue> = ((value: TValue) => MaybePromise<string | null | undefined>) | undefined;
5
+ type Transform<TValue> = ((value: TValue) => MaybePromise<TValue>) | undefined;
6
+ type BasePromptOptions<TValue> = {
7
+ message: string;
8
+ validate?: Validate<TValue>;
9
+ transform?: Transform<TValue>;
10
+ };
11
+ type InputOptions = BasePromptOptions<string> & {
12
+ defaultValue?: string;
13
+ placeholder?: string;
14
+ required?: boolean;
15
+ requiredMessage?: string;
16
+ };
17
+ type PasswordOptions = InputOptions & {
18
+ mask?: string;
19
+ };
20
+ type ConfirmOptions = BasePromptOptions<boolean> & {
21
+ defaultValue?: boolean;
22
+ activeLabel?: string;
23
+ inactiveLabel?: string;
24
+ };
25
+ type NumberOptions = BasePromptOptions<number> & {
26
+ defaultValue?: number;
27
+ min?: number;
28
+ max?: number;
29
+ requiredMessage?: string;
30
+ invalidMessage?: string;
31
+ minMessage?: string;
32
+ maxMessage?: string;
33
+ };
34
+ type SelectChoice<TValue extends string> = {
35
+ value: TValue;
36
+ label?: string;
37
+ hint?: string;
38
+ disabled?: boolean;
39
+ };
40
+ type SelectOptions<TValue extends string> = BasePromptOptions<TValue> & {
41
+ choices: readonly [SelectChoice<TValue>, ...SelectChoice<TValue>[]];
42
+ defaultValue?: TValue;
43
+ };
44
+ type MultiselectOptions<TValue extends string> = BasePromptOptions<TValue[]> & {
45
+ choices: readonly [SelectChoice<TValue>, ...SelectChoice<TValue>[]];
46
+ defaultValue?: readonly TValue[];
47
+ min?: number;
48
+ max?: number;
49
+ };
50
+ //#endregion
51
+ export { ConfirmOptions, InputOptions, MultiselectOptions, NumberOptions, PasswordOptions, PromptErrorType, SelectChoice, SelectOptions };
52
+ //# sourceMappingURL=types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../../src/lib/prompts/types.ts"],"mappings":";KAAY,eAAA;AAAA,KAOA,YAAA,MAAkB,CAAA,GAAI,OAAA,CAAQ,CAAA;AAAA,KAE9B,QAAA,aACN,KAAA,EAAO,MAAA,KAAW,YAAA;AAAA,KAGZ,SAAA,aACN,KAAA,EAAO,MAAA,KAAW,YAAA,CAAa,MAAA;AAAA,KAGzB,iBAAA;EACV,OAAA;EACA,QAAA,GAAW,QAAA,CAAS,MAAA;EACpB,SAAA,GAAY,SAAA,CAAU,MAAA;AAAA;AAAA,KAGZ,YAAA,GAAe,iBAAA;EACzB,YAAA;EACA,WAAA;EACA,QAAA;EACA,eAAA;AAAA;AAAA,KAGU,eAAA,GAAkB,YAAA;EAC5B,IAAA;AAAA;AAAA,KAGU,cAAA,GAAiB,iBAAA;EAC3B,YAAA;EACA,WAAA;EACA,aAAA;AAAA;AAAA,KAGU,aAAA,GAAgB,iBAAA;EAC1B,YAAA;EACA,GAAA;EACA,GAAA;EACA,eAAA;EACA,cAAA;EACA,UAAA;EACA,UAAA;AAAA;AAAA,KAGU,YAAA;EACV,KAAA,EAAO,MAAA;EACP,KAAA;EACA,IAAA;EACA,QAAA;AAAA;AAAA,KAGU,aAAA,0BAAuC,iBAAA,CAAkB,MAAA;EACnE,OAAA,YAAmB,YAAA,CAAa,MAAA,MAAY,YAAA,CAAa,MAAA;EACzD,YAAA,GAAe,MAAA;AAAA;AAAA,KAGL,kBAAA,0BAA4C,iBAAA,CACtD,MAAA;EAEA,OAAA,YAAmB,YAAA,CAAa,MAAA,MAAY,YAAA,CAAa,MAAA;EACzD,YAAA,YAAwB,MAAA;EACxB,GAAA;EACA,GAAA;AAAA"}
@@ -0,0 +1,52 @@
1
+ //#region src/lib/prompts/types.d.ts
2
+ type PromptErrorType = "PromptEnvironmentError" | "PromptValidationError" | "PromptCancelledError" | "PromptIOError" | (string & {});
3
+ type MaybePromise<T> = T | Promise<T>;
4
+ type Validate<TValue> = ((value: TValue) => MaybePromise<string | null | undefined>) | undefined;
5
+ type Transform<TValue> = ((value: TValue) => MaybePromise<TValue>) | undefined;
6
+ type BasePromptOptions<TValue> = {
7
+ message: string;
8
+ validate?: Validate<TValue>;
9
+ transform?: Transform<TValue>;
10
+ };
11
+ type InputOptions = BasePromptOptions<string> & {
12
+ defaultValue?: string;
13
+ placeholder?: string;
14
+ required?: boolean;
15
+ requiredMessage?: string;
16
+ };
17
+ type PasswordOptions = InputOptions & {
18
+ mask?: string;
19
+ };
20
+ type ConfirmOptions = BasePromptOptions<boolean> & {
21
+ defaultValue?: boolean;
22
+ activeLabel?: string;
23
+ inactiveLabel?: string;
24
+ };
25
+ type NumberOptions = BasePromptOptions<number> & {
26
+ defaultValue?: number;
27
+ min?: number;
28
+ max?: number;
29
+ requiredMessage?: string;
30
+ invalidMessage?: string;
31
+ minMessage?: string;
32
+ maxMessage?: string;
33
+ };
34
+ type SelectChoice<TValue extends string> = {
35
+ value: TValue;
36
+ label?: string;
37
+ hint?: string;
38
+ disabled?: boolean;
39
+ };
40
+ type SelectOptions<TValue extends string> = BasePromptOptions<TValue> & {
41
+ choices: readonly [SelectChoice<TValue>, ...SelectChoice<TValue>[]];
42
+ defaultValue?: TValue;
43
+ };
44
+ type MultiselectOptions<TValue extends string> = BasePromptOptions<TValue[]> & {
45
+ choices: readonly [SelectChoice<TValue>, ...SelectChoice<TValue>[]];
46
+ defaultValue?: readonly TValue[];
47
+ min?: number;
48
+ max?: number;
49
+ };
50
+ //#endregion
51
+ export { ConfirmOptions, InputOptions, MultiselectOptions, NumberOptions, PasswordOptions, PromptErrorType, SelectChoice, SelectOptions };
52
+ //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../src/lib/prompts/types.ts"],"mappings":";KAAY,eAAA;AAAA,KAOA,YAAA,MAAkB,CAAA,GAAI,OAAA,CAAQ,CAAA;AAAA,KAE9B,QAAA,aACN,KAAA,EAAO,MAAA,KAAW,YAAA;AAAA,KAGZ,SAAA,aACN,KAAA,EAAO,MAAA,KAAW,YAAA,CAAa,MAAA;AAAA,KAGzB,iBAAA;EACV,OAAA;EACA,QAAA,GAAW,QAAA,CAAS,MAAA;EACpB,SAAA,GAAY,SAAA,CAAU,MAAA;AAAA;AAAA,KAGZ,YAAA,GAAe,iBAAA;EACzB,YAAA;EACA,WAAA;EACA,QAAA;EACA,eAAA;AAAA;AAAA,KAGU,eAAA,GAAkB,YAAA;EAC5B,IAAA;AAAA;AAAA,KAGU,cAAA,GAAiB,iBAAA;EAC3B,YAAA;EACA,WAAA;EACA,aAAA;AAAA;AAAA,KAGU,aAAA,GAAgB,iBAAA;EAC1B,YAAA;EACA,GAAA;EACA,GAAA;EACA,eAAA;EACA,cAAA;EACA,UAAA;EACA,UAAA;AAAA;AAAA,KAGU,YAAA;EACV,KAAA,EAAO,MAAA;EACP,KAAA;EACA,IAAA;EACA,QAAA;AAAA;AAAA,KAGU,aAAA,0BAAuC,iBAAA,CAAkB,MAAA;EACnE,OAAA,YAAmB,YAAA,CAAa,MAAA,MAAY,YAAA,CAAa,MAAA;EACzD,YAAA,GAAe,MAAA;AAAA;AAAA,KAGL,kBAAA,0BAA4C,iBAAA,CACtD,MAAA;EAEA,OAAA,YAAmB,YAAA,CAAa,MAAA,MAAY,YAAA,CAAa,MAAA;EACzD,YAAA,YAAwB,MAAA;EACxB,GAAA;EACA,GAAA;AAAA"}
@@ -0,0 +1,10 @@
1
+ //#region src/lib/pubsub/types.d.ts
2
+ type PubSubOptions = {
3
+ subscriber: Bun.RedisClient;
4
+ publisher: Bun.RedisClient;
5
+ channel: string;
6
+ };
7
+ type MessageHandler<T> = (message: T, channel: string) => void | Promise<void>;
8
+ //#endregion
9
+ export { MessageHandler, PubSubOptions };
10
+ //# sourceMappingURL=types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../../src/lib/pubsub/types.ts"],"mappings":";KAAY,aAAA;EACV,UAAA,EAAY,GAAA,CAAI,WAAA;EAChB,SAAA,EAAW,GAAA,CAAI,WAAA;EACf,OAAA;AAAA;AAAA,KAGU,cAAA,OACV,OAAA,EAAS,CAAA,EACT,OAAA,oBACU,OAAA"}
@@ -0,0 +1,10 @@
1
+ //#region src/lib/pubsub/types.d.ts
2
+ type PubSubOptions = {
3
+ subscriber: Bun.RedisClient;
4
+ publisher: Bun.RedisClient;
5
+ channel: string;
6
+ };
7
+ type MessageHandler<T> = (message: T, channel: string) => void | Promise<void>;
8
+ //#endregion
9
+ export { MessageHandler, PubSubOptions };
10
+ //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../src/lib/pubsub/types.ts"],"mappings":";KAAY,aAAA;EACV,UAAA,EAAY,GAAA,CAAI,WAAA;EAChB,SAAA,EAAW,GAAA,CAAI,WAAA;EACf,OAAA;AAAA;AAAA,KAGU,cAAA,OACV,OAAA,EAAS,CAAA,EACT,OAAA,oBACU,OAAA"}