semola 0.5.3 → 0.5.4

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