semola 0.5.3 → 0.6.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 (367) hide show
  1. package/README.md +18 -45
  2. package/dist/chunk-CKQMccvm.cjs +28 -0
  3. package/dist/lib/api/index.cjs +536 -4
  4. package/dist/lib/api/index.d.cts +270 -4
  5. package/dist/lib/api/index.d.mts +270 -4
  6. package/dist/lib/api/index.mjs +534 -2
  7. package/dist/lib/cache/index.cjs +47 -22
  8. package/dist/lib/cache/index.d.cts +14 -23
  9. package/dist/lib/cache/index.d.mts +14 -23
  10. package/dist/lib/cache/index.mjs +48 -25
  11. package/dist/lib/cron/index.cjs +734 -12
  12. package/dist/lib/cron/index.d.cts +145 -3
  13. package/dist/lib/cron/index.d.mts +145 -3
  14. package/dist/lib/cron/index.mjs +725 -3
  15. package/dist/lib/errors/index.d.cts +4 -4
  16. package/dist/lib/errors/index.d.mts +4 -4
  17. package/dist/lib/errors/index.mjs +0 -2
  18. package/dist/lib/i18n/index.d.cts +12 -4
  19. package/dist/lib/i18n/index.d.mts +12 -4
  20. package/dist/lib/i18n/index.mjs +0 -2
  21. package/dist/lib/logging/index.cjs +387 -17
  22. package/dist/lib/logging/index.d.cts +107 -6
  23. package/dist/lib/logging/index.d.mts +107 -6
  24. package/dist/lib/logging/index.mjs +373 -4
  25. package/dist/lib/orm/index.cjs +1641 -19
  26. package/dist/lib/orm/index.d.cts +402 -7
  27. package/dist/lib/orm/index.d.mts +402 -7
  28. package/dist/lib/orm/index.mjs +1630 -6
  29. package/dist/lib/policy/index.cjs +206 -20
  30. package/dist/lib/policy/index.d.cts +61 -5
  31. package/dist/lib/policy/index.d.mts +61 -5
  32. package/dist/lib/policy/index.mjs +187 -3
  33. package/dist/lib/prompts/index.cjs +374 -14
  34. package/dist/lib/prompts/index.d.cts +73 -29
  35. package/dist/lib/prompts/index.d.mts +73 -29
  36. package/dist/lib/prompts/index.mjs +361 -4
  37. package/dist/lib/pubsub/index.cjs +43 -19
  38. package/dist/lib/pubsub/index.d.cts +12 -22
  39. package/dist/lib/pubsub/index.d.mts +12 -22
  40. package/dist/lib/pubsub/index.mjs +44 -22
  41. package/dist/lib/queue/index.cjs +40 -10
  42. package/dist/lib/queue/index.d.cts +57 -8
  43. package/dist/lib/queue/index.d.mts +57 -8
  44. package/dist/lib/queue/index.mjs +39 -13
  45. package/dist/lib/workflow/index.cjs +285 -282
  46. package/dist/lib/workflow/index.d.cts +147 -4
  47. package/dist/lib/workflow/index.d.mts +147 -4
  48. package/dist/lib/workflow/index.mjs +278 -286
  49. package/package.json +11 -1
  50. package/dist/api/core/index.cjs +0 -206
  51. package/dist/api/core/index.d.cts +0 -21
  52. package/dist/api/core/index.d.cts.map +0 -1
  53. package/dist/api/core/index.d.mts +0 -21
  54. package/dist/api/core/index.d.mts.map +0 -1
  55. package/dist/api/core/index.mjs +0 -208
  56. package/dist/api/core/index.mjs.map +0 -1
  57. package/dist/api/core/types.d.cts +0 -107
  58. package/dist/api/core/types.d.cts.map +0 -1
  59. package/dist/api/core/types.d.mts +0 -107
  60. package/dist/api/core/types.d.mts.map +0 -1
  61. package/dist/api/middleware/index.cjs +0 -8
  62. package/dist/api/middleware/index.d.cts +0 -11
  63. package/dist/api/middleware/index.d.cts.map +0 -1
  64. package/dist/api/middleware/index.d.mts +0 -11
  65. package/dist/api/middleware/index.d.mts.map +0 -1
  66. package/dist/api/middleware/index.mjs +0 -10
  67. package/dist/api/middleware/index.mjs.map +0 -1
  68. package/dist/api/middleware/types.d.cts +0 -16
  69. package/dist/api/middleware/types.d.cts.map +0 -1
  70. package/dist/api/middleware/types.d.mts +0 -16
  71. package/dist/api/middleware/types.d.mts.map +0 -1
  72. package/dist/api/openapi/index.cjs +0 -254
  73. package/dist/api/openapi/index.mjs +0 -256
  74. package/dist/api/openapi/index.mjs.map +0 -1
  75. package/dist/api/openapi/types.d.cts +0 -60
  76. package/dist/api/openapi/types.d.cts.map +0 -1
  77. package/dist/api/openapi/types.d.mts +0 -60
  78. package/dist/api/openapi/types.d.mts.map +0 -1
  79. package/dist/api/validation/index.cjs +0 -64
  80. package/dist/api/validation/index.mjs +0 -61
  81. package/dist/api/validation/index.mjs.map +0 -1
  82. package/dist/cache/types.d.cts +0 -17
  83. package/dist/cache/types.d.cts.map +0 -1
  84. package/dist/cache/types.d.mts +0 -17
  85. package/dist/cache/types.d.mts.map +0 -1
  86. package/dist/cron/builder/index.cjs +0 -166
  87. package/dist/cron/builder/index.d.cts +0 -28
  88. package/dist/cron/builder/index.d.cts.map +0 -1
  89. package/dist/cron/builder/index.d.mts +0 -28
  90. package/dist/cron/builder/index.d.mts.map +0 -1
  91. package/dist/cron/builder/index.mjs +0 -163
  92. package/dist/cron/builder/index.mjs.map +0 -1
  93. package/dist/cron/builder/types.cjs +0 -27
  94. package/dist/cron/builder/types.d.cts +0 -79
  95. package/dist/cron/builder/types.d.cts.map +0 -1
  96. package/dist/cron/builder/types.d.mts +0 -79
  97. package/dist/cron/builder/types.d.mts.map +0 -1
  98. package/dist/cron/builder/types.mjs +0 -28
  99. package/dist/cron/builder/types.mjs.map +0 -1
  100. package/dist/cron/core/index.cjs +0 -308
  101. package/dist/cron/core/index.d.cts +0 -39
  102. package/dist/cron/core/index.d.cts.map +0 -1
  103. package/dist/cron/core/index.d.mts +0 -39
  104. package/dist/cron/core/index.d.mts.map +0 -1
  105. package/dist/cron/core/index.mjs +0 -310
  106. package/dist/cron/core/index.mjs.map +0 -1
  107. package/dist/cron/core/scanner.cjs +0 -237
  108. package/dist/cron/core/scanner.mjs +0 -238
  109. package/dist/cron/core/scanner.mjs.map +0 -1
  110. package/dist/cron/core/types.d.cts +0 -11
  111. package/dist/cron/core/types.d.cts.map +0 -1
  112. package/dist/cron/core/types.d.mts +0 -11
  113. package/dist/cron/core/types.d.mts.map +0 -1
  114. package/dist/errors/types.d.cts +0 -5
  115. package/dist/errors/types.d.cts.map +0 -1
  116. package/dist/errors/types.d.mts +0 -5
  117. package/dist/errors/types.d.mts.map +0 -1
  118. package/dist/i18n/types.d.cts +0 -13
  119. package/dist/i18n/types.d.cts.map +0 -1
  120. package/dist/i18n/types.d.mts +0 -13
  121. package/dist/i18n/types.d.mts.map +0 -1
  122. package/dist/lib/cache/index.d.cts.map +0 -1
  123. package/dist/lib/cache/index.d.mts.map +0 -1
  124. package/dist/lib/cache/index.mjs.map +0 -1
  125. package/dist/lib/errors/index.d.cts.map +0 -1
  126. package/dist/lib/errors/index.d.mts.map +0 -1
  127. package/dist/lib/errors/index.mjs.map +0 -1
  128. package/dist/lib/i18n/index.d.cts.map +0 -1
  129. package/dist/lib/i18n/index.d.mts.map +0 -1
  130. package/dist/lib/i18n/index.mjs.map +0 -1
  131. package/dist/lib/policy/index.d.cts.map +0 -1
  132. package/dist/lib/policy/index.d.mts.map +0 -1
  133. package/dist/lib/policy/index.mjs.map +0 -1
  134. package/dist/lib/prompts/index.d.cts.map +0 -1
  135. package/dist/lib/prompts/index.d.mts.map +0 -1
  136. package/dist/lib/prompts/index.mjs.map +0 -1
  137. package/dist/lib/pubsub/index.d.cts.map +0 -1
  138. package/dist/lib/pubsub/index.d.mts.map +0 -1
  139. package/dist/lib/pubsub/index.mjs.map +0 -1
  140. package/dist/lib/queue/index.d.cts.map +0 -1
  141. package/dist/lib/queue/index.d.mts.map +0 -1
  142. package/dist/lib/queue/index.mjs.map +0 -1
  143. package/dist/lib/workflow/index.d.cts.map +0 -1
  144. package/dist/lib/workflow/index.d.mts.map +0 -1
  145. package/dist/lib/workflow/index.mjs.map +0 -1
  146. package/dist/logging/core/index.cjs +0 -99
  147. package/dist/logging/core/index.d.cts +0 -26
  148. package/dist/logging/core/index.d.cts.map +0 -1
  149. package/dist/logging/core/index.d.mts +0 -26
  150. package/dist/logging/core/index.d.mts.map +0 -1
  151. package/dist/logging/core/index.mjs +0 -99
  152. package/dist/logging/core/index.mjs.map +0 -1
  153. package/dist/logging/core/types.cjs +0 -10
  154. package/dist/logging/core/types.d.cts +0 -22
  155. package/dist/logging/core/types.d.cts.map +0 -1
  156. package/dist/logging/core/types.d.mts +0 -22
  157. package/dist/logging/core/types.d.mts.map +0 -1
  158. package/dist/logging/core/types.mjs +0 -12
  159. package/dist/logging/core/types.mjs.map +0 -1
  160. package/dist/logging/formatter/index.cjs +0 -119
  161. package/dist/logging/formatter/index.d.cts +0 -27
  162. package/dist/logging/formatter/index.d.cts.map +0 -1
  163. package/dist/logging/formatter/index.d.mts +0 -27
  164. package/dist/logging/formatter/index.d.mts.map +0 -1
  165. package/dist/logging/formatter/index.mjs +0 -115
  166. package/dist/logging/formatter/index.mjs.map +0 -1
  167. package/dist/logging/formatter/types.d.cts +0 -5
  168. package/dist/logging/formatter/types.d.cts.map +0 -1
  169. package/dist/logging/formatter/types.d.mts +0 -5
  170. package/dist/logging/formatter/types.d.mts.map +0 -1
  171. package/dist/logging/provider/index.cjs +0 -165
  172. package/dist/logging/provider/index.d.cts +0 -28
  173. package/dist/logging/provider/index.d.cts.map +0 -1
  174. package/dist/logging/provider/index.d.mts +0 -28
  175. package/dist/logging/provider/index.d.mts.map +0 -1
  176. package/dist/logging/provider/index.mjs +0 -165
  177. package/dist/logging/provider/index.mjs.map +0 -1
  178. package/dist/logging/provider/types.d.cts +0 -23
  179. package/dist/logging/provider/types.d.cts.map +0 -1
  180. package/dist/logging/provider/types.d.mts +0 -23
  181. package/dist/logging/provider/types.d.mts.map +0 -1
  182. package/dist/node_modules/@standard-schema/spec/dist/index.d.cts +0 -80
  183. package/dist/node_modules/@standard-schema/spec/dist/index.d.cts.map +0 -1
  184. package/dist/node_modules/@standard-schema/spec/dist/index.d.mts +0 -80
  185. package/dist/node_modules/@standard-schema/spec/dist/index.d.mts.map +0 -1
  186. package/dist/orm/column.cjs +0 -137
  187. package/dist/orm/column.d.cts +0 -121
  188. package/dist/orm/column.d.cts.map +0 -1
  189. package/dist/orm/column.d.mts +0 -121
  190. package/dist/orm/column.d.mts.map +0 -1
  191. package/dist/orm/column.mjs +0 -132
  192. package/dist/orm/column.mjs.map +0 -1
  193. package/dist/orm/dialect/index.cjs +0 -14
  194. package/dist/orm/dialect/index.mjs +0 -16
  195. package/dist/orm/dialect/index.mjs.map +0 -1
  196. package/dist/orm/dialect/mysql.cjs +0 -31
  197. package/dist/orm/dialect/mysql.mjs +0 -33
  198. package/dist/orm/dialect/mysql.mjs.map +0 -1
  199. package/dist/orm/dialect/postgres.cjs +0 -23
  200. package/dist/orm/dialect/postgres.mjs +0 -25
  201. package/dist/orm/dialect/postgres.mjs.map +0 -1
  202. package/dist/orm/dialect/sqlite.cjs +0 -31
  203. package/dist/orm/dialect/sqlite.mjs +0 -33
  204. package/dist/orm/dialect/sqlite.mjs.map +0 -1
  205. package/dist/orm/dialect/utils.cjs +0 -8
  206. package/dist/orm/dialect/utils.mjs +0 -10
  207. package/dist/orm/dialect/utils.mjs.map +0 -1
  208. package/dist/orm/internal/table-columns.cjs +0 -31
  209. package/dist/orm/internal/table-columns.mjs +0 -32
  210. package/dist/orm/internal/table-columns.mjs.map +0 -1
  211. package/dist/orm/internal/table-lookup.cjs +0 -35
  212. package/dist/orm/internal/table-lookup.mjs +0 -35
  213. package/dist/orm/internal/table-lookup.mjs.map +0 -1
  214. package/dist/orm/internal/table-relations.cjs +0 -28
  215. package/dist/orm/internal/table-relations.mjs +0 -29
  216. package/dist/orm/internal/table-relations.mjs.map +0 -1
  217. package/dist/orm/migration/config.cjs +0 -7
  218. package/dist/orm/migration/config.d.cts +0 -7
  219. package/dist/orm/migration/config.d.cts.map +0 -1
  220. package/dist/orm/migration/config.d.mts +0 -7
  221. package/dist/orm/migration/config.d.mts.map +0 -1
  222. package/dist/orm/migration/config.mjs +0 -8
  223. package/dist/orm/migration/config.mjs.map +0 -1
  224. package/dist/orm/migration/types.d.cts +0 -20
  225. package/dist/orm/migration/types.d.cts.map +0 -1
  226. package/dist/orm/migration/types.d.mts +0 -20
  227. package/dist/orm/migration/types.d.mts.map +0 -1
  228. package/dist/orm/orm.cjs +0 -41
  229. package/dist/orm/orm.d.cts +0 -18
  230. package/dist/orm/orm.d.cts.map +0 -1
  231. package/dist/orm/orm.d.mts +0 -18
  232. package/dist/orm/orm.d.mts.map +0 -1
  233. package/dist/orm/orm.mjs +0 -43
  234. package/dist/orm/orm.mjs.map +0 -1
  235. package/dist/orm/relation.cjs +0 -18
  236. package/dist/orm/relation.d.cts +0 -8
  237. package/dist/orm/relation.d.cts.map +0 -1
  238. package/dist/orm/relation.d.mts +0 -8
  239. package/dist/orm/relation.d.mts.map +0 -1
  240. package/dist/orm/relation.mjs +0 -19
  241. package/dist/orm/relation.mjs.map +0 -1
  242. package/dist/orm/runtime/builders/mutations.cjs +0 -29
  243. package/dist/orm/runtime/builders/mutations.mjs +0 -28
  244. package/dist/orm/runtime/builders/mutations.mjs.map +0 -1
  245. package/dist/orm/runtime/builders/select.cjs +0 -18
  246. package/dist/orm/runtime/builders/select.mjs +0 -19
  247. package/dist/orm/runtime/builders/select.mjs.map +0 -1
  248. package/dist/orm/runtime/client.cjs +0 -90
  249. package/dist/orm/runtime/client.mjs +0 -92
  250. package/dist/orm/runtime/client.mjs.map +0 -1
  251. package/dist/orm/runtime/context.cjs +0 -49
  252. package/dist/orm/runtime/context.mjs +0 -51
  253. package/dist/orm/runtime/context.mjs.map +0 -1
  254. package/dist/orm/runtime/dialect/index.cjs +0 -11
  255. package/dist/orm/runtime/dialect/index.mjs +0 -13
  256. package/dist/orm/runtime/dialect/index.mjs.map +0 -1
  257. package/dist/orm/runtime/dialect/mysql.cjs +0 -95
  258. package/dist/orm/runtime/dialect/mysql.mjs +0 -97
  259. package/dist/orm/runtime/dialect/mysql.mjs.map +0 -1
  260. package/dist/orm/runtime/dialect/postgres.cjs +0 -51
  261. package/dist/orm/runtime/dialect/postgres.mjs +0 -53
  262. package/dist/orm/runtime/dialect/postgres.mjs.map +0 -1
  263. package/dist/orm/runtime/dialect/sqlite.cjs +0 -4
  264. package/dist/orm/runtime/dialect/sqlite.mjs +0 -7
  265. package/dist/orm/runtime/dialect/sqlite.mjs.map +0 -1
  266. package/dist/orm/runtime/errors.cjs +0 -19
  267. package/dist/orm/runtime/errors.mjs +0 -21
  268. package/dist/orm/runtime/errors.mjs.map +0 -1
  269. package/dist/orm/runtime/hydrate/many.cjs +0 -46
  270. package/dist/orm/runtime/hydrate/many.mjs +0 -48
  271. package/dist/orm/runtime/hydrate/many.mjs.map +0 -1
  272. package/dist/orm/runtime/hydrate/one.cjs +0 -38
  273. package/dist/orm/runtime/hydrate/one.mjs +0 -40
  274. package/dist/orm/runtime/hydrate/one.mjs.map +0 -1
  275. package/dist/orm/runtime/hydrate.cjs +0 -49
  276. package/dist/orm/runtime/hydrate.mjs +0 -51
  277. package/dist/orm/runtime/hydrate.mjs.map +0 -1
  278. package/dist/orm/runtime/rows.cjs +0 -30
  279. package/dist/orm/runtime/rows.mjs +0 -31
  280. package/dist/orm/runtime/rows.mjs.map +0 -1
  281. package/dist/orm/runtime/utils.cjs +0 -27
  282. package/dist/orm/runtime/utils.mjs +0 -27
  283. package/dist/orm/runtime/utils.mjs.map +0 -1
  284. package/dist/orm/sql/parse-array.cjs +0 -64
  285. package/dist/orm/sql/parse-array.mjs +0 -66
  286. package/dist/orm/sql/parse-array.mjs.map +0 -1
  287. package/dist/orm/sql/plan/select.cjs +0 -36
  288. package/dist/orm/sql/plan/select.mjs +0 -38
  289. package/dist/orm/sql/plan/select.mjs.map +0 -1
  290. package/dist/orm/sql/plan/where/operators.cjs +0 -95
  291. package/dist/orm/sql/plan/where/operators.mjs +0 -97
  292. package/dist/orm/sql/plan/where/operators.mjs.map +0 -1
  293. package/dist/orm/sql/plan/where.cjs +0 -59
  294. package/dist/orm/sql/plan/where.mjs +0 -61
  295. package/dist/orm/sql/plan/where.mjs.map +0 -1
  296. package/dist/orm/sql/serialize/clauses.cjs +0 -36
  297. package/dist/orm/sql/serialize/clauses.mjs +0 -37
  298. package/dist/orm/sql/serialize/clauses.mjs.map +0 -1
  299. package/dist/orm/sql/serialize/joins.cjs +0 -31
  300. package/dist/orm/sql/serialize/joins.mjs +0 -33
  301. package/dist/orm/sql/serialize/joins.mjs.map +0 -1
  302. package/dist/orm/sql/serialize/values.cjs +0 -30
  303. package/dist/orm/sql/serialize/values.mjs +0 -32
  304. package/dist/orm/sql/serialize/values.mjs.map +0 -1
  305. package/dist/orm/sql/serialize/where/predicate.cjs +0 -73
  306. package/dist/orm/sql/serialize/where/predicate.mjs +0 -75
  307. package/dist/orm/sql/serialize/where/predicate.mjs.map +0 -1
  308. package/dist/orm/sql/serialize/where/tree.cjs +0 -26
  309. package/dist/orm/sql/serialize/where/tree.mjs +0 -28
  310. package/dist/orm/sql/serialize/where/tree.mjs.map +0 -1
  311. package/dist/orm/sql/serialize/where.cjs +0 -10
  312. package/dist/orm/sql/serialize/where.mjs +0 -12
  313. package/dist/orm/sql/serialize/where.mjs.map +0 -1
  314. package/dist/orm/sql/serialize.cjs +0 -24
  315. package/dist/orm/sql/serialize.mjs +0 -25
  316. package/dist/orm/sql/serialize.mjs.map +0 -1
  317. package/dist/orm/table.cjs +0 -12
  318. package/dist/orm/table.d.cts +0 -12
  319. package/dist/orm/table.d.cts.map +0 -1
  320. package/dist/orm/table.d.mts +0 -12
  321. package/dist/orm/table.d.mts.map +0 -1
  322. package/dist/orm/table.mjs +0 -14
  323. package/dist/orm/table.mjs.map +0 -1
  324. package/dist/orm/types.d.cts +0 -183
  325. package/dist/orm/types.d.cts.map +0 -1
  326. package/dist/orm/types.d.mts +0 -183
  327. package/dist/orm/types.d.mts.map +0 -1
  328. package/dist/policy/helpers.cjs +0 -206
  329. package/dist/policy/helpers.d.cts +0 -50
  330. package/dist/policy/helpers.d.cts.map +0 -1
  331. package/dist/policy/helpers.d.mts +0 -50
  332. package/dist/policy/helpers.d.mts.map +0 -1
  333. package/dist/policy/helpers.mjs +0 -190
  334. package/dist/policy/helpers.mjs.map +0 -1
  335. package/dist/policy/types.d.cts +0 -16
  336. package/dist/policy/types.d.cts.map +0 -1
  337. package/dist/policy/types.d.mts +0 -16
  338. package/dist/policy/types.d.mts.map +0 -1
  339. package/dist/prompts/core/keys.cjs +0 -165
  340. package/dist/prompts/core/keys.mjs +0 -167
  341. package/dist/prompts/core/keys.mjs.map +0 -1
  342. package/dist/prompts/core/runtime.cjs +0 -104
  343. package/dist/prompts/core/runtime.mjs +0 -106
  344. package/dist/prompts/core/runtime.mjs.map +0 -1
  345. package/dist/prompts/core/session.cjs +0 -98
  346. package/dist/prompts/core/session.mjs +0 -100
  347. package/dist/prompts/core/session.mjs.map +0 -1
  348. package/dist/prompts/core/types.d.cts +0 -21
  349. package/dist/prompts/core/types.d.cts.map +0 -1
  350. package/dist/prompts/core/types.d.mts +0 -21
  351. package/dist/prompts/core/types.d.mts.map +0 -1
  352. package/dist/prompts/types.d.cts +0 -52
  353. package/dist/prompts/types.d.cts.map +0 -1
  354. package/dist/prompts/types.d.mts +0 -52
  355. package/dist/prompts/types.d.mts.map +0 -1
  356. package/dist/pubsub/types.d.cts +0 -10
  357. package/dist/pubsub/types.d.cts.map +0 -1
  358. package/dist/pubsub/types.d.mts +0 -10
  359. package/dist/pubsub/types.d.mts.map +0 -1
  360. package/dist/queue/types.d.cts +0 -47
  361. package/dist/queue/types.d.cts.map +0 -1
  362. package/dist/queue/types.d.mts +0 -47
  363. package/dist/queue/types.d.mts.map +0 -1
  364. package/dist/workflow/types.d.cts +0 -83
  365. package/dist/workflow/types.d.cts.map +0 -1
  366. package/dist/workflow/types.d.mts +0 -83
  367. package/dist/workflow/types.d.mts.map +0 -1
@@ -1,6 +1,365 @@
1
- import { createNodePromptRuntime } from "../../prompts/core/runtime.mjs";
2
- import { runPromptSession } from "../../prompts/core/session.mjs";
1
+ import { mightThrow, mightThrowSync } from "../errors/index.mjs";
3
2
  import { styleText } from "node:util";
3
+ //#region src/lib/prompts/errors.ts
4
+ var PromptIOError = class extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ this.name = "PromptIOError";
8
+ }
9
+ };
10
+ var PromptEnvironmentError = class extends Error {
11
+ constructor(message) {
12
+ super(message);
13
+ this.name = "PromptEnvironmentError";
14
+ }
15
+ };
16
+ var PromptCancelledError = class extends Error {
17
+ constructor(message) {
18
+ super(message);
19
+ this.name = "PromptCancelledError";
20
+ }
21
+ };
22
+ //#endregion
23
+ //#region src/lib/prompts/core/keys.ts
24
+ const ESC = "\x1B";
25
+ const CSI = "\x1B[";
26
+ const ESC_BACKSPACE = `${ESC}\u007F`;
27
+ const CHAR_KEY_MAP = new Map(Object.values({
28
+ enterCr: {
29
+ value: "\r",
30
+ name: "enter"
31
+ },
32
+ enterLf: {
33
+ value: "\n",
34
+ name: "enter"
35
+ },
36
+ ctrlA: {
37
+ value: "",
38
+ name: "ctrl_a"
39
+ },
40
+ ctrlC: {
41
+ value: "",
42
+ name: "ctrl_c"
43
+ },
44
+ ctrlBackspace: {
45
+ value: "",
46
+ name: "ctrl_backspace"
47
+ },
48
+ backspace: {
49
+ value: "",
50
+ name: "backspace"
51
+ },
52
+ tab: {
53
+ value: " ",
54
+ name: "tab"
55
+ },
56
+ space: {
57
+ value: " ",
58
+ name: "space"
59
+ }
60
+ }).map((entry) => [entry.value, { name: entry.name }]));
61
+ const KNOWN_SEQUENCES = [
62
+ {
63
+ sequence: "\x1B[1;2D",
64
+ key: { name: "shift_left" }
65
+ },
66
+ {
67
+ sequence: "\x1B[1;2C",
68
+ key: { name: "shift_right" }
69
+ },
70
+ {
71
+ sequence: "\x1B[1;5D",
72
+ key: { name: "ctrl_left" }
73
+ },
74
+ {
75
+ sequence: "\x1B[1;5C",
76
+ key: { name: "ctrl_right" }
77
+ },
78
+ {
79
+ sequence: "\x1B[1;6D",
80
+ key: { name: "shift_ctrl_left" }
81
+ },
82
+ {
83
+ sequence: "\x1B[1;6C",
84
+ key: { name: "shift_ctrl_right" }
85
+ },
86
+ {
87
+ sequence: "\x1B[3~",
88
+ key: { name: "delete" }
89
+ },
90
+ {
91
+ sequence: "\x1B[H",
92
+ key: { name: "home" }
93
+ },
94
+ {
95
+ sequence: "\x1B[F",
96
+ key: { name: "end" }
97
+ },
98
+ {
99
+ sequence: "\x1B[A",
100
+ key: { name: "up" }
101
+ },
102
+ {
103
+ sequence: "\x1B[B",
104
+ key: { name: "down" }
105
+ },
106
+ {
107
+ sequence: "\x1B[C",
108
+ key: { name: "right" }
109
+ },
110
+ {
111
+ sequence: "\x1B[D",
112
+ key: { name: "left" }
113
+ }
114
+ ];
115
+ const isControlChar = (char) => {
116
+ return char <= "" || char === "";
117
+ };
118
+ const isCsiFinalByte = (char) => {
119
+ if (!char) return false;
120
+ if (char >= "A" && char <= "Z") return true;
121
+ if (char >= "a" && char <= "z") return true;
122
+ if (char === "~") return true;
123
+ return false;
124
+ };
125
+ const readCsiLength = (remaining) => {
126
+ if (!remaining.startsWith(CSI)) return null;
127
+ let index = 2;
128
+ while (index < remaining.length) {
129
+ if (isCsiFinalByte(remaining[index] ?? "")) return {
130
+ length: index + 1,
131
+ incomplete: false
132
+ };
133
+ index += 1;
134
+ }
135
+ return {
136
+ length: 0,
137
+ incomplete: true
138
+ };
139
+ };
140
+ const parseKeys = (chunk) => {
141
+ const keys = [];
142
+ let cursor = 0;
143
+ while (cursor < chunk.length) {
144
+ const remaining = chunk.slice(cursor);
145
+ if (remaining.startsWith(ESC_BACKSPACE)) {
146
+ keys.push({ name: "ctrl_backspace" });
147
+ cursor += 2;
148
+ continue;
149
+ }
150
+ const knownSequence = KNOWN_SEQUENCES.find((entry) => remaining.startsWith(entry.sequence));
151
+ if (knownSequence) {
152
+ keys.push(knownSequence.key);
153
+ cursor += knownSequence.sequence.length;
154
+ continue;
155
+ }
156
+ const csiLength = readCsiLength(remaining);
157
+ if (csiLength) {
158
+ if (csiLength.incomplete) return {
159
+ keys,
160
+ remaining: chunk.slice(cursor)
161
+ };
162
+ cursor += csiLength.length;
163
+ continue;
164
+ }
165
+ const char = chunk[cursor] ?? "";
166
+ switch (char) {
167
+ case ESC:
168
+ if (cursor === chunk.length - 1) keys.push({ name: "escape" });
169
+ break;
170
+ default: {
171
+ const key = CHAR_KEY_MAP.get(char);
172
+ if (key) keys.push(key);
173
+ else if (!isControlChar(char)) keys.push({
174
+ name: "character",
175
+ value: char
176
+ });
177
+ }
178
+ }
179
+ cursor += 1;
180
+ }
181
+ return {
182
+ keys,
183
+ remaining: ""
184
+ };
185
+ };
186
+ //#endregion
187
+ //#region src/lib/prompts/core/runtime.ts
188
+ const HIDE_CURSOR = "\x1B[?25l";
189
+ const SHOW_CURSOR = "\x1B[?25h";
190
+ const countLines = (text) => {
191
+ let count = 1;
192
+ for (let i = 0; i < text.length; i++) if (text[i] === "\n") count += 1;
193
+ return count;
194
+ };
195
+ var NodePromptRuntime = class {
196
+ stdin;
197
+ stdout;
198
+ queue = [];
199
+ waiters = [];
200
+ initialized = false;
201
+ previousLines = 0;
202
+ buffer = "";
203
+ constructor(stdin = process.stdin, stdout = process.stdout) {
204
+ this.stdin = stdin;
205
+ this.stdout = stdout;
206
+ }
207
+ isInteractive() {
208
+ return Boolean(this.stdin.isTTY && this.stdout.isTTY && typeof this.stdin.setRawMode === "function");
209
+ }
210
+ init() {
211
+ if (!this.isInteractive()) throw new PromptEnvironmentError("Interactive prompts require a TTY with raw mode support");
212
+ if (this.initialized) return;
213
+ const [initError] = mightThrowSync(() => {
214
+ this.stdin.setRawMode(true);
215
+ this.stdin.setEncoding("utf8");
216
+ this.stdin.resume();
217
+ this.stdin.on("data", this.onData);
218
+ this.stdout.write(HIDE_CURSOR);
219
+ });
220
+ if (initError) throw new PromptIOError("Unable to initialize prompt runtime");
221
+ this.initialized = true;
222
+ }
223
+ readKey() {
224
+ const queued = this.queue.shift();
225
+ if (queued) return Promise.resolve(queued);
226
+ return new Promise((resolve, reject) => {
227
+ this.waiters.push({
228
+ resolve,
229
+ reject
230
+ });
231
+ });
232
+ }
233
+ render(frame) {
234
+ const [renderError] = mightThrowSync(() => {
235
+ if (this.previousLines > 1) this.stdout.write(`\u001B[${this.previousLines - 1}A`);
236
+ this.stdout.write("\r\x1B[J");
237
+ this.stdout.write(frame);
238
+ this.previousLines = countLines(frame);
239
+ });
240
+ if (renderError) throw new PromptIOError("Unable to render prompt frame");
241
+ }
242
+ done(frame) {
243
+ const [doneError] = mightThrowSync(() => {
244
+ if (this.previousLines > 1) this.stdout.write(`\u001B[${this.previousLines - 1}A`);
245
+ this.stdout.write("\r\x1B[J");
246
+ this.stdout.write(`${frame}\n`);
247
+ this.previousLines = 0;
248
+ });
249
+ if (doneError) throw new PromptIOError("Unable to finalize prompt frame");
250
+ }
251
+ close() {
252
+ if (!this.initialized) return;
253
+ this.initialized = false;
254
+ const [closeError] = mightThrowSync(() => {
255
+ this.stdin.off("data", this.onData);
256
+ this.stdin.setRawMode(false);
257
+ this.stdin.pause?.();
258
+ this.stdout.write(SHOW_CURSOR);
259
+ });
260
+ if (closeError) throw new PromptIOError("Unable to close prompt runtime");
261
+ }
262
+ interrupt() {
263
+ this.close();
264
+ process.exit(0);
265
+ }
266
+ onData = (chunk) => {
267
+ const value = typeof chunk === "string" ? chunk : chunk.toString("utf8");
268
+ const combined = `${this.buffer}${value}`;
269
+ this.buffer = "";
270
+ const [parseError, result] = mightThrowSync(() => parseKeys(combined));
271
+ if (parseError || !result) {
272
+ for (const waiter of this.waiters.splice(0)) waiter.reject(new PromptIOError("Failed to parse input"));
273
+ return;
274
+ }
275
+ this.buffer = result.remaining;
276
+ for (const key of result.keys) {
277
+ const waiter = this.waiters.shift();
278
+ if (waiter) waiter.resolve(key);
279
+ else this.queue.push(key);
280
+ }
281
+ };
282
+ };
283
+ const createNodePromptRuntime = () => {
284
+ return new NodePromptRuntime();
285
+ };
286
+ //#endregion
287
+ //#region src/lib/prompts/core/session.ts
288
+ const CANCEL_MESSAGE = "Interrupted, bye!";
289
+ const resolveOutput = async (options, value) => {
290
+ if (!options.transform) return value;
291
+ const [transformError, transformed] = await mightThrow(Promise.resolve().then(() => options.transform?.(value)));
292
+ if (transformError || transformed === null || transformed === void 0) throw new PromptIOError("Prompt transform callback failed unexpectedly");
293
+ return transformed;
294
+ };
295
+ const runValidation = async (options, value) => {
296
+ if (!options.validate) return null;
297
+ const [validationError, validationMessage] = await mightThrow(Promise.resolve().then(() => options.validate?.(value)));
298
+ if (validationError) throw new PromptIOError("Prompt validate callback failed unexpectedly");
299
+ if (typeof validationMessage === "string" && validationMessage.length > 0) return validationMessage;
300
+ return null;
301
+ };
302
+ const isCancelKey = (key) => {
303
+ if (key.name === "ctrl_c") return true;
304
+ if (key.name === "escape") return true;
305
+ return false;
306
+ };
307
+ const runPromptSession = async (params) => {
308
+ params.runtime.init();
309
+ let state = params.initialState;
310
+ let errorMessage = null;
311
+ const closeAndDone = (message) => {
312
+ params.runtime.close();
313
+ params.runtime.done(message);
314
+ };
315
+ const [sessionError, finalValue] = await mightThrow((async () => {
316
+ while (true) {
317
+ params.runtime.render(params.render({
318
+ options: params.options,
319
+ state,
320
+ errorMessage
321
+ }));
322
+ const key = await params.runtime.readKey();
323
+ if (!key) throw new PromptIOError("Unable to read prompt input");
324
+ if (isCancelKey(key)) {
325
+ params.runtime.close();
326
+ params.runtime.done(`✖ ${CANCEL_MESSAGE}`);
327
+ if (params.runtime.interrupt) params.runtime.interrupt(CANCEL_MESSAGE);
328
+ throw new PromptCancelledError(CANCEL_MESSAGE);
329
+ }
330
+ if (key.name !== "enter") {
331
+ state = params.onKey(state, key);
332
+ errorMessage = null;
333
+ continue;
334
+ }
335
+ const submitResult = params.onSubmit(state);
336
+ if ("errorMessage" in submitResult) {
337
+ errorMessage = submitResult.errorMessage;
338
+ continue;
339
+ }
340
+ const rawValue = submitResult.value;
341
+ const validationErrorMessage = await runValidation(params.options, rawValue);
342
+ if (validationErrorMessage) {
343
+ errorMessage = validationErrorMessage;
344
+ continue;
345
+ }
346
+ const outputValue = await resolveOutput(params.options, rawValue);
347
+ if (outputValue === null) throw new PromptIOError("Unable to transform prompt value");
348
+ closeAndDone(params.complete({
349
+ options: params.options,
350
+ state,
351
+ value: outputValue
352
+ }));
353
+ return outputValue;
354
+ }
355
+ })());
356
+ if (sessionError) {
357
+ params.runtime.close();
358
+ throw sessionError;
359
+ }
360
+ return finalValue;
361
+ };
362
+ //#endregion
4
363
  //#region src/lib/prompts/index.ts
5
364
  const pointer = (active) => {
6
365
  return active ? paint("cyan", "❯") : " ";
@@ -401,5 +760,3 @@ const multiselect = async (options, runtime) => {
401
760
  };
402
761
  //#endregion
403
762
  export { confirm, input, multiselect, number, password, select };
404
-
405
- //# sourceMappingURL=index.mjs.map
@@ -1,5 +1,31 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_lib_errors_index = require("../errors/index.cjs");
3
+ //#region src/lib/pubsub/errors.ts
4
+ var UnsubscribeError = class extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ this.name = "UnsubscribeError";
8
+ }
9
+ };
10
+ var SerializationError = class extends Error {
11
+ constructor(message) {
12
+ super(message);
13
+ this.name = "SerializationError";
14
+ }
15
+ };
16
+ var PublishError = class extends Error {
17
+ constructor(message) {
18
+ super(message);
19
+ this.name = "PublishError";
20
+ }
21
+ };
22
+ var SubscribeError = class extends Error {
23
+ constructor(message) {
24
+ super(message);
25
+ this.name = "SubscribeError";
26
+ }
27
+ };
28
+ //#endregion
3
29
  //#region src/lib/pubsub/index.ts
4
30
  var PubSub = class {
5
31
  options;
@@ -22,33 +48,32 @@ var PubSub = class {
22
48
  const inFlightUnsubscribe = this.unsubscribeInFlight;
23
49
  if (inFlightUnsubscribe) await inFlightUnsubscribe;
24
50
  const handler = this.handlers.get(handlerId);
25
- if (!handler) return require_lib_errors_index.err("UnsubscribeError", "Not subscribed");
51
+ if (!handler) throw new UnsubscribeError("Not subscribed");
26
52
  this.handlers.delete(handlerId);
27
- if (this.handlers.size > 0) return require_lib_errors_index.ok(true);
53
+ if (this.handlers.size > 0) return;
28
54
  this.isSubscribed = false;
29
55
  this.unsubscribeInFlight = require_lib_errors_index.mightThrow(this.options.subscriber.unsubscribe(this.options.channel));
30
56
  const unsubscribeInFlight = this.unsubscribeInFlight;
31
57
  if (!unsubscribeInFlight) {
32
58
  this.handlers.set(handlerId, handler);
33
59
  this.isSubscribed = true;
34
- return require_lib_errors_index.err("UnsubscribeError", `Unable to unsubscribe from ${this.options.channel}`);
60
+ throw new UnsubscribeError(`Unable to unsubscribe from ${this.options.channel}`);
35
61
  }
36
62
  const [unsubscribeError] = await unsubscribeInFlight;
37
63
  if (unsubscribeError) {
38
64
  this.handlers.set(handlerId, handler);
39
65
  this.isSubscribed = true;
40
66
  this.unsubscribeInFlight = null;
41
- return require_lib_errors_index.err("UnsubscribeError", `Unable to unsubscribe from ${this.options.channel}`);
67
+ throw new UnsubscribeError(`Unable to unsubscribe from ${this.options.channel}`);
42
68
  }
43
69
  this.unsubscribeInFlight = null;
44
- return require_lib_errors_index.ok(true);
45
70
  }
46
71
  async publish(message) {
47
72
  const [stringifyError, stringified] = require_lib_errors_index.mightThrowSync(() => JSON.stringify(message));
48
- if (stringifyError || !stringified) return require_lib_errors_index.err("SerializationError", "Unable to serialize message");
73
+ if (stringifyError || !stringified) throw new SerializationError("Unable to serialize message");
49
74
  const [publishError, count] = await require_lib_errors_index.mightThrow(this.options.publisher.publish(this.options.channel, stringified));
50
- if (publishError) return require_lib_errors_index.err("PublishError", `Unable to publish to ${this.options.channel}`);
51
- return require_lib_errors_index.ok(count);
75
+ if (publishError) throw new PublishError(`Unable to publish to ${this.options.channel}`);
76
+ return count;
52
77
  }
53
78
  async subscribe(handler) {
54
79
  const inFlightUnsubscribe = this.unsubscribeInFlight;
@@ -56,39 +81,39 @@ var PubSub = class {
56
81
  const handlerId = this.nextHandlerId;
57
82
  this.nextHandlerId += 1;
58
83
  this.handlers.set(handlerId, handler);
59
- if (this.isActive()) return require_lib_errors_index.ok(() => this.unsubscribeHandler(handlerId));
84
+ if (this.isActive()) return () => this.unsubscribeHandler(handlerId);
60
85
  const inFlightSubscribe = this.subscribeInFlight;
61
86
  if (inFlightSubscribe) {
62
87
  const [inFlightError] = await inFlightSubscribe;
63
88
  if (inFlightError || !this.isSubscribed) {
64
89
  this.handlers.delete(handlerId);
65
- return require_lib_errors_index.err("SubscribeError", `Unable to subscribe to ${this.options.channel}`);
90
+ throw new SubscribeError(`Unable to subscribe to ${this.options.channel}`);
66
91
  }
67
- return require_lib_errors_index.ok(() => this.unsubscribeHandler(handlerId));
92
+ return () => this.unsubscribeHandler(handlerId);
68
93
  }
69
94
  this.subscribeInFlight = require_lib_errors_index.mightThrow(this.options.subscriber.subscribe(this.options.channel, async (message, channel) => this.onMessage(message, channel)));
70
95
  const subscribeInFlight = this.subscribeInFlight;
71
96
  if (!subscribeInFlight) {
72
97
  this.handlers.delete(handlerId);
73
- return require_lib_errors_index.err("SubscribeError", `Unable to subscribe to ${this.options.channel}`);
98
+ throw new SubscribeError(`Unable to subscribe to ${this.options.channel}`);
74
99
  }
75
100
  const [subscribeError, count] = await subscribeInFlight;
76
101
  this.subscribeInFlight = null;
77
102
  if (subscribeError) {
78
103
  this.handlers.delete(handlerId);
79
- return require_lib_errors_index.err("SubscribeError", `Unable to subscribe to ${this.options.channel}`);
104
+ throw new SubscribeError(`Unable to subscribe to ${this.options.channel}`);
80
105
  }
81
106
  if (!count) {
82
107
  this.handlers.delete(handlerId);
83
- return require_lib_errors_index.err("SubscribeError", `Unable to subscribe to ${this.options.channel}`);
108
+ throw new SubscribeError(`Unable to subscribe to ${this.options.channel}`);
84
109
  }
85
110
  this.isSubscribed = true;
86
- return require_lib_errors_index.ok(() => this.unsubscribeHandler(handlerId));
111
+ return () => this.unsubscribeHandler(handlerId);
87
112
  }
88
113
  async unsubscribe() {
89
114
  const inFlightUnsubscribe = this.unsubscribeInFlight;
90
115
  if (inFlightUnsubscribe) await inFlightUnsubscribe;
91
- if (!this.isActive()) return require_lib_errors_index.err("UnsubscribeError", "Not subscribed");
116
+ if (!this.isActive()) throw new UnsubscribeError("Not subscribed");
92
117
  const handlers = new Map(this.handlers);
93
118
  this.handlers.clear();
94
119
  this.isSubscribed = false;
@@ -97,17 +122,16 @@ var PubSub = class {
97
122
  if (!unsubscribeInFlight) {
98
123
  this.handlers = handlers;
99
124
  this.isSubscribed = true;
100
- return require_lib_errors_index.err("UnsubscribeError", `Unable to unsubscribe from ${this.options.channel}`);
125
+ throw new UnsubscribeError(`Unable to unsubscribe from ${this.options.channel}`);
101
126
  }
102
127
  const [unsubscribeError] = await unsubscribeInFlight;
103
128
  if (unsubscribeError) {
104
129
  this.handlers = handlers;
105
130
  this.isSubscribed = true;
106
131
  this.unsubscribeInFlight = null;
107
- return require_lib_errors_index.err("UnsubscribeError", `Unable to unsubscribe from ${this.options.channel}`);
132
+ throw new UnsubscribeError(`Unable to unsubscribe from ${this.options.channel}`);
108
133
  }
109
134
  this.unsubscribeInFlight = null;
110
- return require_lib_errors_index.ok(true);
111
135
  }
112
136
  isActive() {
113
137
  return this.handlers.size > 0 && this.isSubscribed;
@@ -1,5 +1,11 @@
1
- import { MessageHandler, PubSubOptions } from "../../pubsub/types.cjs";
2
-
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
3
9
  //#region src/lib/pubsub/index.d.ts
4
10
  declare class PubSub<T extends Record<string, unknown>> {
5
11
  private options;
@@ -11,26 +17,10 @@ declare class PubSub<T extends Record<string, unknown>> {
11
17
  constructor(options: PubSubOptions);
12
18
  private onMessage;
13
19
  private unsubscribeHandler;
14
- publish(message: T): Promise<readonly [{
15
- readonly type: "SerializationError";
16
- readonly message: string;
17
- }, null] | readonly [{
18
- readonly type: "PublishError";
19
- readonly message: string;
20
- }, null] | readonly [null, number]>;
21
- subscribe(handler: MessageHandler<T>): Promise<readonly [null, () => Promise<readonly [{
22
- readonly type: "UnsubscribeError";
23
- readonly message: string;
24
- }, null] | readonly [null, boolean]>] | readonly [{
25
- readonly type: "SubscribeError";
26
- readonly message: string;
27
- }, null]>;
28
- unsubscribe(): Promise<readonly [{
29
- readonly type: "UnsubscribeError";
30
- readonly message: string;
31
- }, null] | readonly [null, boolean]>;
20
+ publish(message: T): Promise<number>;
21
+ subscribe(handler: MessageHandler<T>): Promise<() => Promise<void>>;
22
+ unsubscribe(): Promise<void>;
32
23
  isActive(): boolean;
33
24
  }
34
25
  //#endregion
35
- export { PubSub };
36
- //# sourceMappingURL=index.d.cts.map
26
+ export { PubSub };
@@ -1,5 +1,11 @@
1
- import { MessageHandler, PubSubOptions } from "../../pubsub/types.mjs";
2
-
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
3
9
  //#region src/lib/pubsub/index.d.ts
4
10
  declare class PubSub<T extends Record<string, unknown>> {
5
11
  private options;
@@ -11,26 +17,10 @@ declare class PubSub<T extends Record<string, unknown>> {
11
17
  constructor(options: PubSubOptions);
12
18
  private onMessage;
13
19
  private unsubscribeHandler;
14
- publish(message: T): Promise<readonly [{
15
- readonly type: "SerializationError";
16
- readonly message: string;
17
- }, null] | readonly [{
18
- readonly type: "PublishError";
19
- readonly message: string;
20
- }, null] | readonly [null, number]>;
21
- subscribe(handler: MessageHandler<T>): Promise<readonly [null, () => Promise<readonly [{
22
- readonly type: "UnsubscribeError";
23
- readonly message: string;
24
- }, null] | readonly [null, boolean]>] | readonly [{
25
- readonly type: "SubscribeError";
26
- readonly message: string;
27
- }, null]>;
28
- unsubscribe(): Promise<readonly [{
29
- readonly type: "UnsubscribeError";
30
- readonly message: string;
31
- }, null] | readonly [null, boolean]>;
20
+ publish(message: T): Promise<number>;
21
+ subscribe(handler: MessageHandler<T>): Promise<() => Promise<void>>;
22
+ unsubscribe(): Promise<void>;
32
23
  isActive(): boolean;
33
24
  }
34
25
  //#endregion
35
- export { PubSub };
36
- //# sourceMappingURL=index.d.mts.map
26
+ export { PubSub };