mepcli 1.3.2 → 2.0.0-beta.1

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 (291) hide show
  1. package/README.md +11 -2
  2. package/dist/{ansi.js → src/ansi.js} +17 -9
  3. package/dist/src/ansi.js.map +1 -0
  4. package/dist/{base.js → src/base.js} +82 -70
  5. package/dist/src/base.js.map +1 -0
  6. package/dist/{core.js → src/core.js} +266 -320
  7. package/dist/src/core.js.map +1 -0
  8. package/dist/src/data/countries.js +569 -0
  9. package/dist/src/data/countries.js.map +1 -0
  10. package/dist/src/data/licenses.js +480 -0
  11. package/dist/src/data/licenses.js.map +1 -0
  12. package/dist/{highlight.js → src/highlight.js} +77 -69
  13. package/dist/src/highlight.js.map +1 -0
  14. package/dist/src/index.js +66 -0
  15. package/dist/src/index.js.map +1 -0
  16. package/dist/{input.js → src/input.js} +47 -41
  17. package/dist/src/input.js.map +1 -0
  18. package/dist/src/pipeline.js +273 -0
  19. package/dist/src/pipeline.js.map +1 -0
  20. package/dist/{prompts → src/prompts}/autocomplete.js +58 -57
  21. package/dist/src/prompts/autocomplete.js.map +1 -0
  22. package/dist/{prompts → src/prompts}/box.js +86 -53
  23. package/dist/src/prompts/box.js.map +1 -0
  24. package/dist/{prompts → src/prompts}/breadcrumb-search.js +110 -98
  25. package/dist/src/prompts/breadcrumb-search.js.map +1 -0
  26. package/dist/{prompts → src/prompts}/breadcrumb.js +126 -121
  27. package/dist/src/prompts/breadcrumb.js.map +1 -0
  28. package/dist/{prompts → src/prompts}/byte.js +69 -52
  29. package/dist/src/prompts/byte.js.map +1 -0
  30. package/dist/{prompts → src/prompts}/calculator.js +79 -56
  31. package/dist/src/prompts/calculator.js.map +1 -0
  32. package/dist/{prompts → src/prompts}/calendar.js +167 -127
  33. package/dist/src/prompts/calendar.js.map +1 -0
  34. package/dist/{prompts → src/prompts}/checkbox.js +53 -49
  35. package/dist/src/prompts/checkbox.js.map +1 -0
  36. package/dist/{prompts → src/prompts}/code.js +88 -76
  37. package/dist/src/prompts/code.js.map +1 -0
  38. package/dist/{prompts → src/prompts}/color.js +68 -50
  39. package/dist/src/prompts/color.js.map +1 -0
  40. package/dist/{prompts → src/prompts}/confirm.js +22 -15
  41. package/dist/src/prompts/confirm.js.map +1 -0
  42. package/dist/{prompts → src/prompts}/connection-string.js +59 -36
  43. package/dist/src/prompts/connection-string.js.map +1 -0
  44. package/dist/{prompts → src/prompts}/cron.js +90 -59
  45. package/dist/src/prompts/cron.js.map +1 -0
  46. package/dist/src/prompts/curl-utils.js +71 -0
  47. package/dist/src/prompts/curl-utils.js.map +1 -0
  48. package/dist/{prompts → src/prompts}/curl.js +153 -132
  49. package/dist/src/prompts/curl.js.map +1 -0
  50. package/dist/{prompts → src/prompts}/data-inspector.js +96 -91
  51. package/dist/src/prompts/data-inspector.js.map +1 -0
  52. package/dist/{prompts → src/prompts}/date.js +64 -57
  53. package/dist/src/prompts/date.js.map +1 -0
  54. package/dist/{prompts → src/prompts}/dependency.js +84 -80
  55. package/dist/src/prompts/dependency.js.map +1 -0
  56. package/dist/{prompts → src/prompts}/dial.js +49 -35
  57. package/dist/src/prompts/dial.js.map +1 -0
  58. package/dist/src/prompts/diff.js +118 -0
  59. package/dist/src/prompts/diff.js.map +1 -0
  60. package/dist/{prompts → src/prompts}/draw.js +83 -80
  61. package/dist/src/prompts/draw.js.map +1 -0
  62. package/dist/src/prompts/editor.js +234 -0
  63. package/dist/src/prompts/editor.js.map +1 -0
  64. package/dist/{prompts → src/prompts}/emoji.js +80 -82
  65. package/dist/src/prompts/emoji.js.map +1 -0
  66. package/dist/{prompts → src/prompts}/exec.js +60 -46
  67. package/dist/src/prompts/exec.js.map +1 -0
  68. package/dist/src/prompts/file.js +217 -0
  69. package/dist/src/prompts/file.js.map +1 -0
  70. package/dist/{prompts → src/prompts}/form.js +63 -54
  71. package/dist/src/prompts/form.js.map +1 -0
  72. package/dist/{prompts → src/prompts}/fuzzy-multi-column.js +65 -53
  73. package/dist/src/prompts/fuzzy-multi-column.js.map +1 -0
  74. package/dist/{prompts → src/prompts}/fuzzy.js +66 -55
  75. package/dist/src/prompts/fuzzy.js.map +1 -0
  76. package/dist/src/prompts/gauge.js +137 -0
  77. package/dist/src/prompts/gauge.js.map +1 -0
  78. package/dist/{prompts → src/prompts}/grid.js +70 -57
  79. package/dist/src/prompts/grid.js.map +1 -0
  80. package/dist/{prompts → src/prompts}/heatmap.js +70 -64
  81. package/dist/src/prompts/heatmap.js.map +1 -0
  82. package/dist/{prompts → src/prompts}/ip.js +56 -36
  83. package/dist/src/prompts/ip.js.map +1 -0
  84. package/dist/{prompts → src/prompts}/kanban.js +63 -58
  85. package/dist/src/prompts/kanban.js.map +1 -0
  86. package/dist/src/prompts/keypress.js +54 -0
  87. package/dist/src/prompts/keypress.js.map +1 -0
  88. package/dist/src/prompts/license.js +144 -0
  89. package/dist/src/prompts/license.js.map +1 -0
  90. package/dist/{prompts → src/prompts}/list.js +46 -31
  91. package/dist/src/prompts/list.js.map +1 -0
  92. package/dist/{prompts → src/prompts}/map.js +93 -77
  93. package/dist/src/prompts/map.js.map +1 -0
  94. package/dist/{prompts → src/prompts}/match.js +91 -95
  95. package/dist/src/prompts/match.js.map +1 -0
  96. package/dist/{prompts → src/prompts}/miller.js +74 -67
  97. package/dist/src/prompts/miller.js.map +1 -0
  98. package/dist/{prompts → src/prompts}/multi-column-select.js +54 -44
  99. package/dist/src/prompts/multi-column-select.js.map +1 -0
  100. package/dist/{prompts → src/prompts}/multi-range.js +70 -52
  101. package/dist/src/prompts/multi-range.js.map +1 -0
  102. package/dist/{prompts → src/prompts}/multi-select.js +67 -58
  103. package/dist/src/prompts/multi-select.js.map +1 -0
  104. package/dist/{prompts → src/prompts}/number.js +51 -39
  105. package/dist/src/prompts/number.js.map +1 -0
  106. package/dist/{prompts → src/prompts}/otp.js +43 -27
  107. package/dist/src/prompts/otp.js.map +1 -0
  108. package/dist/{prompts → src/prompts}/pattern.js +74 -71
  109. package/dist/src/prompts/pattern.js.map +1 -0
  110. package/dist/{prompts → src/prompts}/phone.js +107 -118
  111. package/dist/src/prompts/phone.js.map +1 -0
  112. package/dist/src/prompts/quiz-select.js +114 -0
  113. package/dist/src/prompts/quiz-select.js.map +1 -0
  114. package/dist/src/prompts/quiz-text.js +98 -0
  115. package/dist/src/prompts/quiz-text.js.map +1 -0
  116. package/dist/{prompts → src/prompts}/range.js +85 -61
  117. package/dist/src/prompts/range.js.map +1 -0
  118. package/dist/{prompts → src/prompts}/rating.js +29 -24
  119. package/dist/src/prompts/rating.js.map +1 -0
  120. package/dist/{prompts → src/prompts}/regex.js +50 -36
  121. package/dist/src/prompts/regex.js.map +1 -0
  122. package/dist/{prompts → src/prompts}/region.js +62 -56
  123. package/dist/src/prompts/region.js.map +1 -0
  124. package/dist/{prompts → src/prompts}/schedule.js +82 -75
  125. package/dist/src/prompts/schedule.js.map +1 -0
  126. package/dist/{prompts → src/prompts}/scroll.js +61 -58
  127. package/dist/src/prompts/scroll.js.map +1 -0
  128. package/dist/src/prompts/seat.js +164 -0
  129. package/dist/src/prompts/seat.js.map +1 -0
  130. package/dist/{prompts → src/prompts}/select-range.js +58 -46
  131. package/dist/src/prompts/select-range.js.map +1 -0
  132. package/dist/{prompts → src/prompts}/select.js +65 -66
  133. package/dist/src/prompts/select.js.map +1 -0
  134. package/dist/{prompts → src/prompts}/semver.js +24 -13
  135. package/dist/src/prompts/semver.js.map +1 -0
  136. package/dist/src/prompts/shortcut.js +133 -0
  137. package/dist/src/prompts/shortcut.js.map +1 -0
  138. package/dist/{prompts → src/prompts}/slider.js +28 -23
  139. package/dist/src/prompts/slider.js.map +1 -0
  140. package/dist/src/prompts/slot.js +117 -0
  141. package/dist/src/prompts/slot.js.map +1 -0
  142. package/dist/{prompts → src/prompts}/snippet.js +82 -61
  143. package/dist/src/prompts/snippet.js.map +1 -0
  144. package/dist/{prompts → src/prompts}/sort-grid.js +64 -59
  145. package/dist/src/prompts/sort-grid.js.map +1 -0
  146. package/dist/{prompts → src/prompts}/sort.js +59 -49
  147. package/dist/src/prompts/sort.js.map +1 -0
  148. package/dist/src/prompts/spam.js +80 -0
  149. package/dist/src/prompts/spam.js.map +1 -0
  150. package/dist/{prompts → src/prompts}/spreadsheet.js +71 -70
  151. package/dist/src/prompts/spreadsheet.js.map +1 -0
  152. package/dist/{prompts → src/prompts}/table.js +52 -38
  153. package/dist/src/prompts/table.js.map +1 -0
  154. package/dist/{prompts → src/prompts}/text.js +74 -70
  155. package/dist/src/prompts/text.js.map +1 -0
  156. package/dist/{prompts → src/prompts}/time.js +105 -96
  157. package/dist/src/prompts/time.js.map +1 -0
  158. package/dist/src/prompts/toggle.js +53 -0
  159. package/dist/src/prompts/toggle.js.map +1 -0
  160. package/dist/{prompts → src/prompts}/transfer.js +71 -67
  161. package/dist/src/prompts/transfer.js.map +1 -0
  162. package/dist/{prompts → src/prompts}/tree-select.js +83 -86
  163. package/dist/src/prompts/tree-select.js.map +1 -0
  164. package/dist/{prompts → src/prompts}/tree.js +69 -67
  165. package/dist/src/prompts/tree.js.map +1 -0
  166. package/dist/src/prompts/wait.js +79 -0
  167. package/dist/src/prompts/wait.js.map +1 -0
  168. package/dist/src/spinner.js +105 -0
  169. package/dist/src/spinner.js.map +1 -0
  170. package/dist/{symbols.js → src/symbols.js} +32 -7
  171. package/dist/src/symbols.js.map +1 -0
  172. package/dist/{tasks.js → src/tasks.js} +104 -79
  173. package/dist/src/tasks.js.map +1 -0
  174. package/dist/src/theme.js +29 -0
  175. package/dist/src/theme.js.map +1 -0
  176. package/dist/src/types.js +8 -0
  177. package/dist/src/types.js.map +1 -0
  178. package/dist/{utils.js → src/utils.js} +196 -152
  179. package/dist/src/utils.js.map +1 -0
  180. package/package.json +16 -13
  181. package/dist/ansi.d.ts +0 -36
  182. package/dist/base.d.ts +0 -60
  183. package/dist/core.d.ts +0 -1072
  184. package/dist/data/countries.d.ts +0 -2
  185. package/dist/data/countries.js +0 -105
  186. package/dist/data/licenses.d.ts +0 -2
  187. package/dist/data/licenses.js +0 -109
  188. package/dist/highlight.d.ts +0 -7
  189. package/dist/index.d.ts +0 -48
  190. package/dist/index.js +0 -64
  191. package/dist/input.d.ts +0 -14
  192. package/dist/pipeline.d.ts +0 -39
  193. package/dist/pipeline.js +0 -54
  194. package/dist/prompts/autocomplete.d.ts +0 -22
  195. package/dist/prompts/box.d.ts +0 -21
  196. package/dist/prompts/breadcrumb-search.d.ts +0 -14
  197. package/dist/prompts/breadcrumb.d.ts +0 -32
  198. package/dist/prompts/byte.d.ts +0 -13
  199. package/dist/prompts/calculator.d.ts +0 -17
  200. package/dist/prompts/calendar.d.ts +0 -33
  201. package/dist/prompts/checkbox.d.ts +0 -13
  202. package/dist/prompts/code.d.ts +0 -19
  203. package/dist/prompts/color.d.ts +0 -14
  204. package/dist/prompts/confirm.d.ts +0 -8
  205. package/dist/prompts/connection-string.d.ts +0 -18
  206. package/dist/prompts/cron.d.ts +0 -13
  207. package/dist/prompts/curl-utils.d.ts +0 -25
  208. package/dist/prompts/curl-utils.js +0 -41
  209. package/dist/prompts/curl.d.ts +0 -41
  210. package/dist/prompts/data-inspector.d.ts +0 -22
  211. package/dist/prompts/date.d.ts +0 -12
  212. package/dist/prompts/dependency.d.ts +0 -16
  213. package/dist/prompts/dial.d.ts +0 -10
  214. package/dist/prompts/diff.d.ts +0 -10
  215. package/dist/prompts/diff.js +0 -101
  216. package/dist/prompts/draw.d.ts +0 -20
  217. package/dist/prompts/editor.d.ts +0 -14
  218. package/dist/prompts/editor.js +0 -203
  219. package/dist/prompts/emoji.d.ts +0 -18
  220. package/dist/prompts/exec.d.ts +0 -17
  221. package/dist/prompts/file.d.ts +0 -21
  222. package/dist/prompts/file.js +0 -210
  223. package/dist/prompts/form.d.ts +0 -18
  224. package/dist/prompts/fuzzy-multi-column.d.ts +0 -12
  225. package/dist/prompts/fuzzy.d.ts +0 -12
  226. package/dist/prompts/gauge.d.ts +0 -21
  227. package/dist/prompts/gauge.js +0 -130
  228. package/dist/prompts/grid.d.ts +0 -14
  229. package/dist/prompts/heatmap.d.ts +0 -13
  230. package/dist/prompts/ip.d.ts +0 -11
  231. package/dist/prompts/kanban.d.ts +0 -17
  232. package/dist/prompts/keypress.d.ts +0 -7
  233. package/dist/prompts/keypress.js +0 -55
  234. package/dist/prompts/license.d.ts +0 -9
  235. package/dist/prompts/license.js +0 -105
  236. package/dist/prompts/list.d.ts +0 -9
  237. package/dist/prompts/map.d.ts +0 -17
  238. package/dist/prompts/match.d.ts +0 -19
  239. package/dist/prompts/miller.d.ts +0 -15
  240. package/dist/prompts/multi-column-select.d.ts +0 -10
  241. package/dist/prompts/multi-range.d.ts +0 -9
  242. package/dist/prompts/multi-select.d.ts +0 -15
  243. package/dist/prompts/number.d.ts +0 -11
  244. package/dist/prompts/otp.d.ts +0 -10
  245. package/dist/prompts/pattern.d.ts +0 -22
  246. package/dist/prompts/phone.d.ts +0 -41
  247. package/dist/prompts/quiz-select.d.ts +0 -10
  248. package/dist/prompts/quiz-select.js +0 -104
  249. package/dist/prompts/quiz-text.d.ts +0 -11
  250. package/dist/prompts/quiz-text.js +0 -82
  251. package/dist/prompts/range.d.ts +0 -9
  252. package/dist/prompts/rating.d.ts +0 -8
  253. package/dist/prompts/regex.d.ts +0 -13
  254. package/dist/prompts/region.d.ts +0 -11
  255. package/dist/prompts/schedule.d.ts +0 -20
  256. package/dist/prompts/scroll.d.ts +0 -13
  257. package/dist/prompts/seat.d.ts +0 -17
  258. package/dist/prompts/seat.js +0 -165
  259. package/dist/prompts/select-range.d.ts +0 -8
  260. package/dist/prompts/select.d.ts +0 -15
  261. package/dist/prompts/semver.d.ts +0 -6
  262. package/dist/prompts/shortcut.d.ts +0 -9
  263. package/dist/prompts/shortcut.js +0 -135
  264. package/dist/prompts/slider.d.ts +0 -8
  265. package/dist/prompts/slot.d.ts +0 -16
  266. package/dist/prompts/slot.js +0 -107
  267. package/dist/prompts/snippet.d.ts +0 -19
  268. package/dist/prompts/sort-grid.d.ts +0 -16
  269. package/dist/prompts/sort.d.ts +0 -14
  270. package/dist/prompts/spam.d.ts +0 -17
  271. package/dist/prompts/spam.js +0 -62
  272. package/dist/prompts/spreadsheet.d.ts +0 -21
  273. package/dist/prompts/table.d.ts +0 -14
  274. package/dist/prompts/text.d.ts +0 -17
  275. package/dist/prompts/time.d.ts +0 -12
  276. package/dist/prompts/toggle.d.ts +0 -8
  277. package/dist/prompts/toggle.js +0 -47
  278. package/dist/prompts/transfer.d.ts +0 -18
  279. package/dist/prompts/tree-select.d.ts +0 -31
  280. package/dist/prompts/tree.d.ts +0 -20
  281. package/dist/prompts/wait.d.ts +0 -18
  282. package/dist/prompts/wait.js +0 -62
  283. package/dist/spinner.d.ts +0 -33
  284. package/dist/spinner.js +0 -89
  285. package/dist/symbols.d.ts +0 -33
  286. package/dist/tasks.d.ts +0 -57
  287. package/dist/theme.d.ts +0 -2
  288. package/dist/theme.js +0 -20
  289. package/dist/types.d.ts +0 -503
  290. package/dist/types.js +0 -5
  291. package/dist/utils.d.ts +0 -81
package/dist/types.d.ts DELETED
@@ -1,503 +0,0 @@
1
- /**
2
- * Type definitions for Mep CLI interactions.
3
- */
4
- export interface ThemeConfig {
5
- main: string;
6
- success: string;
7
- error: string;
8
- muted: string;
9
- title: string;
10
- syntax: {
11
- key: string;
12
- string: string;
13
- number: string;
14
- boolean: string;
15
- null: string;
16
- punctuation: string;
17
- };
18
- }
19
- export interface BaseOptions {
20
- message: string;
21
- mouse?: boolean;
22
- }
23
- export interface MouseEvent {
24
- name: 'mouse';
25
- x: number;
26
- y: number;
27
- button: number;
28
- action: 'press' | 'release' | 'move' | 'scroll';
29
- scroll?: 'up' | 'down';
30
- shift?: boolean;
31
- ctrl?: boolean;
32
- meta?: boolean;
33
- }
34
- export interface TextOptions extends BaseOptions {
35
- placeholder?: string;
36
- initial?: string;
37
- validate?: (value: string) => string | boolean | Promise<string | boolean>;
38
- isPassword?: boolean;
39
- multiline?: boolean;
40
- mask?: string;
41
- suggest?: (input: string) => string | Promise<string>;
42
- }
43
- export interface Separator {
44
- separator: true;
45
- text?: string;
46
- }
47
- export interface SelectChoice<V> {
48
- title: string;
49
- value: V;
50
- description?: string;
51
- }
52
- export interface SelectOptions<V> extends BaseOptions {
53
- choices: (SelectChoice<V> | Separator)[];
54
- }
55
- export interface TransferOptions<V> extends BaseOptions {
56
- source: (string | SelectChoice<V>)[];
57
- target?: (string | SelectChoice<V>)[];
58
- }
59
- export interface CronOptions extends BaseOptions {
60
- initial?: string;
61
- placeholder?: string;
62
- }
63
- export interface CheckboxChoice<V> extends SelectChoice<V> {
64
- selected?: boolean;
65
- }
66
- export interface CheckboxOptions<V> extends BaseOptions {
67
- choices: CheckboxChoice<V>[];
68
- min?: number;
69
- max?: number;
70
- }
71
- export interface ConfirmOptions extends BaseOptions {
72
- initial?: boolean;
73
- }
74
- export interface NumberOptions extends BaseOptions {
75
- initial?: number;
76
- min?: number;
77
- max?: number;
78
- step?: number;
79
- placeholder?: string;
80
- }
81
- export interface ToggleOptions extends BaseOptions {
82
- initial?: boolean;
83
- activeText?: string;
84
- inactiveText?: string;
85
- }
86
- export interface ListOptions extends BaseOptions {
87
- placeholder?: string;
88
- initial?: string[];
89
- validate?: (value: string[]) => string | boolean | Promise<string | boolean>;
90
- }
91
- export interface SliderOptions extends BaseOptions {
92
- min: number;
93
- max: number;
94
- initial?: number;
95
- step?: number;
96
- unit?: string;
97
- }
98
- export interface RangeOptions extends BaseOptions {
99
- min: number;
100
- max: number;
101
- initial?: [number, number];
102
- step?: number;
103
- unit?: string;
104
- }
105
- export interface SelectRangeOptions<V> extends Omit<SelectOptions<V>, 'initial'> {
106
- initial?: [number, number];
107
- }
108
- export interface RatingOptions extends BaseOptions {
109
- min?: number;
110
- max?: number;
111
- initial?: number;
112
- }
113
- export interface DateOptions extends BaseOptions {
114
- initial?: Date;
115
- min?: Date;
116
- max?: Date;
117
- }
118
- export interface FileOptions extends BaseOptions {
119
- basePath?: string;
120
- extensions?: string[];
121
- onlyDirectories?: boolean;
122
- }
123
- export interface MultiSelectOptions<V> extends CheckboxOptions<V> {
124
- }
125
- export interface AutocompleteOptions<V> extends BaseOptions {
126
- suggest: (input: string) => Promise<SelectChoice<V>[]>;
127
- limit?: number;
128
- fallback?: string;
129
- initial?: string;
130
- }
131
- export interface SortOptions extends BaseOptions {
132
- items: string[];
133
- }
134
- export interface EditorOptions extends BaseOptions {
135
- initial?: string;
136
- extension?: string;
137
- waitUserInput?: boolean;
138
- }
139
- export interface TableRow<V> {
140
- value: V;
141
- row: string[];
142
- }
143
- export interface TableOptions<V> extends BaseOptions {
144
- columns: string[];
145
- data: TableRow<V>[];
146
- rows?: number;
147
- }
148
- export interface TreeNode<V> {
149
- title: string;
150
- value: V;
151
- children?: TreeNode<V>[];
152
- expanded?: boolean;
153
- disabled?: boolean;
154
- selected?: boolean | 'indeterminate';
155
- }
156
- export interface TreeOptions<V> extends BaseOptions {
157
- data: TreeNode<V>[];
158
- initial?: V;
159
- indent?: number;
160
- }
161
- export interface KeypressOptions extends BaseOptions {
162
- keys?: string[];
163
- showInvisible?: boolean;
164
- }
165
- export interface FormField {
166
- name: string;
167
- message: string;
168
- initial?: string;
169
- validate?: (value: string) => string | boolean | Promise<string | boolean>;
170
- }
171
- export interface FormOptions extends BaseOptions {
172
- fields: FormField[];
173
- }
174
- export interface SnippetOptions extends BaseOptions {
175
- template: string;
176
- values?: Record<string, string>;
177
- fields?: Record<string, {
178
- message?: string;
179
- validate?: (value: string) => string | boolean;
180
- }>;
181
- }
182
- export interface SpamOptions extends BaseOptions {
183
- threshold: number;
184
- spamKey?: string;
185
- decay?: boolean;
186
- }
187
- export interface WaitOptions extends BaseOptions {
188
- seconds: number;
189
- autoSubmit?: boolean;
190
- }
191
- export interface CodeOptions extends BaseOptions {
192
- template: string;
193
- language?: 'json' | 'env' | 'toml' | 'csv' | 'sh' | 'bash' | 'zsh' | 'properties' | 'props' | 'conf';
194
- /**
195
- * Enable syntax highlighting (Experimental).
196
- * @default true
197
- */
198
- highlight?: boolean;
199
- /**
200
- * Initial values for variables in the template.
201
- */
202
- values?: Record<string, string>;
203
- }
204
- export interface TreeSelectNode<V> {
205
- title: string;
206
- value: V;
207
- children?: TreeSelectNode<V>[];
208
- expanded?: boolean;
209
- disabled?: boolean;
210
- selected?: boolean | 'indeterminate';
211
- }
212
- export interface TreeSelectOptions<V> extends BaseOptions {
213
- data: TreeSelectNode<V>[];
214
- initial?: V[];
215
- indent?: number;
216
- }
217
- export interface ColorOptions extends BaseOptions {
218
- initial?: string;
219
- format?: 'hex' | 'rgb' | 'hsl';
220
- }
221
- export interface GridOptions extends BaseOptions {
222
- rows: string[];
223
- columns: string[];
224
- initial?: boolean[][];
225
- }
226
- export interface SortGridOptions extends BaseOptions {
227
- data: string[][];
228
- }
229
- export interface CalendarOptions extends BaseOptions {
230
- mode?: 'single' | 'range';
231
- multiple?: boolean;
232
- initial?: Date | [Date, Date];
233
- min?: Date;
234
- max?: Date;
235
- weekStart?: 0 | 1;
236
- }
237
- export interface MapOptions extends BaseOptions {
238
- initial?: Record<string, string>;
239
- suggestions?: string[];
240
- }
241
- export interface SemVerOptions extends BaseOptions {
242
- currentVersion: string;
243
- }
244
- export interface IPOptions extends BaseOptions {
245
- initial?: string;
246
- }
247
- export interface OTPOptions extends BaseOptions {
248
- length?: number;
249
- mask?: string;
250
- secure?: boolean;
251
- placeholder?: string;
252
- }
253
- export interface QuizSelectOptions<V> extends SelectOptions<V> {
254
- correctValue: V;
255
- explanation?: string;
256
- }
257
- export interface QuizTextOptions extends TextOptions {
258
- verify?: (value: string) => boolean | Promise<boolean>;
259
- correctAnswer: string;
260
- explanation?: string;
261
- }
262
- export interface KanbanItem {
263
- id: string;
264
- title: string;
265
- [key: string]: any;
266
- }
267
- export interface KanbanColumn<V extends KanbanItem> {
268
- id: string;
269
- title: string;
270
- items: V[];
271
- }
272
- export interface KanbanOptions<V extends KanbanItem> extends BaseOptions {
273
- columns: KanbanColumn<V>[];
274
- }
275
- export interface TimeOptions extends BaseOptions {
276
- format?: '12h' | '24h';
277
- step?: number;
278
- initial?: Date | string;
279
- }
280
- export interface HeatmapLegend {
281
- value: number;
282
- char: string;
283
- color: (str: string) => string;
284
- }
285
- export interface HeatmapOptions extends BaseOptions {
286
- rows: string[];
287
- columns: string[];
288
- legend: HeatmapLegend[];
289
- initial?: number[][];
290
- }
291
- export interface ByteOptions extends BaseOptions {
292
- initial?: number;
293
- min?: number;
294
- max?: number;
295
- }
296
- export interface SlotOptions extends BaseOptions {
297
- choices: string[];
298
- rows?: number;
299
- initial?: number;
300
- }
301
- export interface GaugeOptions extends BaseOptions {
302
- theme?: Partial<ThemeConfig>;
303
- width?: number;
304
- /** Safe zone width as a percentage (0-1) or absolute character count (>1). Default: 0.2 (20%) */
305
- safeZone?: number;
306
- }
307
- export interface CalculatorOptions extends BaseOptions {
308
- initial?: string;
309
- variables?: Record<string, number>;
310
- precision?: number;
311
- placeholder?: string;
312
- }
313
- export interface EmojiItem {
314
- char: string;
315
- name: string;
316
- description?: string;
317
- }
318
- export interface EmojiOptions extends BaseOptions {
319
- emojis: EmojiItem[];
320
- recent?: string[];
321
- cols?: number;
322
- }
323
- export interface MatchItem {
324
- id: string;
325
- label: string;
326
- value?: any;
327
- }
328
- export interface MatchOptions extends BaseOptions {
329
- source: (string | MatchItem)[];
330
- target: (string | MatchItem)[];
331
- constraints?: {
332
- required?: boolean;
333
- oneToMany?: boolean;
334
- };
335
- }
336
- export interface DiffOptions extends BaseOptions {
337
- original: string;
338
- modified: string;
339
- context?: number;
340
- mode?: 'inline' | 'split';
341
- }
342
- export interface DialOptions extends BaseOptions {
343
- min: number;
344
- max: number;
345
- step?: number;
346
- radius?: number;
347
- pointerSymbol?: string;
348
- initial?: number;
349
- }
350
- export interface DrawOptions extends BaseOptions {
351
- width: number;
352
- height: number;
353
- exportType?: 'matrix' | 'text';
354
- initial?: boolean[][];
355
- }
356
- export interface MultiColumnSelectOptions<V> extends SelectOptions<V> {
357
- cols?: number | 'auto';
358
- }
359
- export interface FuzzySelectOptions<V> extends SelectOptions<V> {
360
- }
361
- export interface MillerOptions<V> extends BaseOptions {
362
- data: TreeNode<V>[];
363
- initial?: V[];
364
- separator?: string;
365
- }
366
- export interface PatternOptions extends BaseOptions {
367
- rows?: number;
368
- cols?: number;
369
- nodeChar?: string;
370
- lineChar?: string;
371
- }
372
- export interface MapRegion {
373
- id: string;
374
- label: string;
375
- x: number;
376
- y: number;
377
- description?: string;
378
- }
379
- export interface RegionOptions extends BaseOptions {
380
- mapArt: string;
381
- regions: MapRegion[];
382
- initial?: string;
383
- }
384
- export interface SpreadsheetColumn {
385
- name: string;
386
- key: string;
387
- width?: number;
388
- editable?: boolean;
389
- }
390
- export interface SpreadsheetOptions extends BaseOptions {
391
- columns: SpreadsheetColumn[];
392
- data: Record<string, any>[];
393
- rows?: number;
394
- keyBindings?: {
395
- save?: string[];
396
- cancel?: string[];
397
- };
398
- }
399
- export interface ScrollOptions extends BaseOptions {
400
- content: string;
401
- height?: number;
402
- requireScrollToBottom?: boolean;
403
- }
404
- export interface BreadcrumbOptions extends BaseOptions {
405
- root?: string;
406
- separator?: string;
407
- showHidden?: boolean;
408
- }
409
- export interface ScheduleTask {
410
- name: string;
411
- start: Date;
412
- end: Date;
413
- metadata?: any;
414
- }
415
- export interface ScheduleOptions extends BaseOptions {
416
- data: ScheduleTask[];
417
- }
418
- export interface DataInspectorOptions extends BaseOptions {
419
- data: any;
420
- maxDepth?: number;
421
- }
422
- export interface ExecOptions extends BaseOptions {
423
- command: string;
424
- timeout?: number;
425
- cwd?: string;
426
- streamOutput?: boolean;
427
- }
428
- export interface ShortcutResult {
429
- name: string;
430
- ctrl: boolean;
431
- shift: boolean;
432
- meta: boolean;
433
- sequence: string;
434
- }
435
- export interface ShortcutOptions extends BaseOptions {
436
- initial?: ShortcutResult;
437
- }
438
- export interface SeatOptions extends BaseOptions {
439
- layout: string[];
440
- rows?: string[];
441
- cols?: string[];
442
- initial?: string[];
443
- multiple?: boolean;
444
- }
445
- export interface DependencyItem<V> extends CheckboxChoice<V> {
446
- dependsOn?: V[];
447
- triggers?: V[];
448
- conflictsWith?: V[];
449
- }
450
- export interface DependencyOptions<V> extends BaseOptions {
451
- choices: DependencyItem<V>[];
452
- min?: number;
453
- max?: number;
454
- autoResolve?: boolean;
455
- }
456
- export interface License {
457
- id: string;
458
- name: string;
459
- description: string;
460
- permissions: string[];
461
- conditions: string[];
462
- limitations: string[];
463
- }
464
- export interface LicenseOptions extends BaseOptions {
465
- defaultLicense?: string;
466
- }
467
- export interface RegexOptions extends BaseOptions {
468
- tests: string[];
469
- flags?: string;
470
- }
471
- export interface BoxOptions extends BaseOptions {
472
- initial?: number | {
473
- top: number;
474
- right: number;
475
- bottom: number;
476
- left: number;
477
- };
478
- min?: number;
479
- max?: number;
480
- step?: number;
481
- }
482
- export interface PhoneOptions extends BaseOptions {
483
- defaultCountry?: string;
484
- placeholder?: string;
485
- strict?: boolean;
486
- validate?: (value: string) => string | boolean | Promise<string | boolean>;
487
- }
488
- export type TaskStatus = 'pending' | 'loading' | 'success' | 'error' | 'warning';
489
- export interface TaskConfig {
490
- id: string;
491
- title: string;
492
- type?: 'spinner' | 'progress';
493
- total?: number;
494
- }
495
- export interface TaskState extends TaskConfig {
496
- status: TaskStatus;
497
- current: number;
498
- message?: string;
499
- }
500
- export interface TaskGroupOptions {
501
- concurrency?: number;
502
- renderer?: 'default' | 'minimal';
503
- }
package/dist/types.js DELETED
@@ -1,5 +0,0 @@
1
- "use strict";
2
- /**
3
- * Type definitions for Mep CLI interactions.
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
package/dist/utils.d.ts DELETED
@@ -1,81 +0,0 @@
1
- /**
2
- * Detects terminal capabilities.
3
- */
4
- export declare function detectCapabilities(): {
5
- isCI: boolean;
6
- hasTrueColor: boolean;
7
- hasUnicode: boolean | "";
8
- hasMouse: boolean;
9
- };
10
- /**
11
- * Strips ANSI escape codes from a string.
12
- */
13
- export declare function stripAnsi(str: string): string;
14
- /**
15
- * Calculates the visual width of a string.
16
- * Uses binary search for wide characters.
17
- * Handles ANSI codes (zero width).
18
- */
19
- export declare function stringWidth(str: string): number;
20
- /**
21
- * Safely splits a string into an array of grapheme clusters.
22
- * Uses Intl.Segmenter (Node 16+).
23
- */
24
- export declare function safeSplit(str: string): string[];
25
- /**
26
- * Fuzzy match algorithm (Subsequence matching).
27
- * Returns score and matched indices, or null if no match.
28
- */
29
- export declare function fuzzyMatch(query: string, target: string): {
30
- score: number;
31
- indices: number[];
32
- } | null;
33
- /**
34
- * Layout utilities for advanced rendering (Split View, etc.)
35
- */
36
- export declare const Layout: {
37
- /**
38
- * Truncates a string to a specific visual width, respecting ANSI codes.
39
- */
40
- truncate(str: string, width: number): string;
41
- /**
42
- * Pads a string to a specific visual length.
43
- * Respects ANSI codes (does not count them towards length).
44
- */
45
- pad(text: string, length: number, align?: "left" | "right" | "center"): string;
46
- /**
47
- * Splits two multi-line strings side-by-side.
48
- * @param left Content for left column
49
- * @param right Content for right column
50
- * @param width Total available width
51
- * @param options Configuration for ratio and gap
52
- */
53
- split(left: string, right: string, width: number, options?: {
54
- ratio?: number;
55
- gap?: number;
56
- }): string;
57
- /**
58
- * Wraps a string to a specific visual width.
59
- * Respects word boundaries where possible.
60
- */
61
- wrap(str: string, width: number): string;
62
- };
63
- /**
64
- * Graph utilities for dependency management
65
- */
66
- export declare const Graph: {
67
- /**
68
- * Returns all dependencies (transitive) for an item.
69
- */
70
- getDependencies<T>(item: T, getDeps: (i: T) => T[]): T[];
71
- /**
72
- * Topologically sorts items based on dependencies.
73
- * Returns items in order (dependencies first).
74
- * Throws error if cycle detected.
75
- */
76
- topologicalSort<T>(items: T[], getDeps: (i: T) => T[]): T[];
77
- };
78
- /**
79
- * Generates a progress bar string.
80
- */
81
- export declare function generateProgressBar(current: number, total: number, width?: number): string;