@towles/tool 0.0.120 → 0.0.121

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 (63) hide show
  1. package/node_modules/@towles/shared/package.json +15 -0
  2. package/node_modules/@towles/shared/src/date-utils.test.ts +97 -0
  3. package/node_modules/@towles/shared/src/date-utils.ts +54 -0
  4. package/node_modules/@towles/shared/src/fs.ts +19 -0
  5. package/node_modules/@towles/shared/src/git/branch-name.test.ts +83 -0
  6. package/node_modules/@towles/shared/src/git/branch-name.ts +10 -0
  7. package/node_modules/@towles/shared/src/git/exec.ts +41 -0
  8. package/node_modules/@towles/shared/src/git/gh-cli-wrapper.test.ts +55 -0
  9. package/node_modules/@towles/shared/src/git/gh-cli-wrapper.ts +74 -0
  10. package/node_modules/@towles/shared/src/index.ts +8 -0
  11. package/node_modules/@towles/shared/src/render.test.ts +71 -0
  12. package/node_modules/@towles/shared/src/render.ts +36 -0
  13. package/package.json +4 -1
  14. package/packages/agentboard/apps/tui/src/components/DetailPanel.tsx +62 -1
  15. package/packages/agentboard/packages/runtime/package.json +1 -0
  16. package/packages/agentboard/packages/runtime/src/agents/watchers/claude-code.test.ts +38 -1
  17. package/packages/agentboard/packages/runtime/src/agents/watchers/claude-code.ts +106 -31
  18. package/packages/agentboard/packages/runtime/src/agents/watchers/claude-pid.test.ts +74 -0
  19. package/packages/agentboard/packages/runtime/src/agents/watchers/claude-pid.ts +57 -0
  20. package/packages/agentboard/packages/runtime/src/agents/watchers/claude-usage.test.ts +148 -0
  21. package/packages/agentboard/packages/runtime/src/agents/watchers/claude-usage.ts +78 -0
  22. package/packages/agentboard/packages/runtime/src/contracts/agent.ts +17 -0
  23. package/packages/agentboard/packages/runtime/src/server/pane-scanner.ts +10 -4
  24. package/packages/shared/node_modules/consola/LICENSE +47 -0
  25. package/packages/shared/node_modules/consola/README.md +352 -0
  26. package/packages/shared/node_modules/consola/basic.d.ts +1 -0
  27. package/packages/shared/node_modules/consola/browser.d.ts +1 -0
  28. package/packages/shared/node_modules/consola/core.d.ts +1 -0
  29. package/packages/shared/node_modules/consola/dist/basic.cjs +32 -0
  30. package/packages/shared/node_modules/consola/dist/basic.d.cts +23 -0
  31. package/packages/shared/node_modules/consola/dist/basic.d.mts +21 -0
  32. package/packages/shared/node_modules/consola/dist/basic.d.ts +23 -0
  33. package/packages/shared/node_modules/consola/dist/basic.mjs +24 -0
  34. package/packages/shared/node_modules/consola/dist/browser.cjs +84 -0
  35. package/packages/shared/node_modules/consola/dist/browser.d.cts +23 -0
  36. package/packages/shared/node_modules/consola/dist/browser.d.mts +21 -0
  37. package/packages/shared/node_modules/consola/dist/browser.d.ts +23 -0
  38. package/packages/shared/node_modules/consola/dist/browser.mjs +76 -0
  39. package/packages/shared/node_modules/consola/dist/chunks/prompt.cjs +288 -0
  40. package/packages/shared/node_modules/consola/dist/chunks/prompt.mjs +280 -0
  41. package/packages/shared/node_modules/consola/dist/core.cjs +517 -0
  42. package/packages/shared/node_modules/consola/dist/core.d.cts +459 -0
  43. package/packages/shared/node_modules/consola/dist/core.d.mts +459 -0
  44. package/packages/shared/node_modules/consola/dist/core.d.ts +459 -0
  45. package/packages/shared/node_modules/consola/dist/core.mjs +512 -0
  46. package/packages/shared/node_modules/consola/dist/index.cjs +663 -0
  47. package/packages/shared/node_modules/consola/dist/index.d.cts +24 -0
  48. package/packages/shared/node_modules/consola/dist/index.d.mts +22 -0
  49. package/packages/shared/node_modules/consola/dist/index.d.ts +24 -0
  50. package/packages/shared/node_modules/consola/dist/index.mjs +651 -0
  51. package/packages/shared/node_modules/consola/dist/shared/consola.DCGIlDNP.cjs +75 -0
  52. package/packages/shared/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +72 -0
  53. package/packages/shared/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +288 -0
  54. package/packages/shared/node_modules/consola/dist/shared/consola.DwRq1yyg.cjs +312 -0
  55. package/packages/shared/node_modules/consola/dist/utils.cjs +64 -0
  56. package/packages/shared/node_modules/consola/dist/utils.d.cts +286 -0
  57. package/packages/shared/node_modules/consola/dist/utils.d.mts +286 -0
  58. package/packages/shared/node_modules/consola/dist/utils.d.ts +286 -0
  59. package/packages/shared/node_modules/consola/dist/utils.mjs +54 -0
  60. package/packages/shared/node_modules/consola/lib/index.cjs +10 -0
  61. package/packages/shared/node_modules/consola/package.json +136 -0
  62. package/packages/shared/node_modules/consola/utils.d.ts +1 -0
  63. package/packages/shared/tsconfig.json +0 -16
@@ -0,0 +1,663 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const core = require('./core.cjs');
6
+ const basic = require('./shared/consola.DCGIlDNP.cjs');
7
+ const g$1 = require('node:process');
8
+ const box = require('./shared/consola.DwRq1yyg.cjs');
9
+ require('node:util');
10
+ require('node:path');
11
+ require('node:tty');
12
+
13
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
14
+
15
+ const g__default = /*#__PURE__*/_interopDefaultCompat(g$1);
16
+
17
+ const r=Object.create(null),i=e=>globalThis.process?.env||undefined||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?r:globalThis),o=new Proxy(r,{get(e,s){return i()[s]??r[s]},has(e,s){const E=i();return s in E||s in r},set(e,s,E){const B=i(true);return B[s]=E,true},deleteProperty(e,s){if(!s)return false;const E=i(true);return delete E[s],true},ownKeys(){const e=i(true);return Object.keys(e)}}),t=typeof process<"u"&&process.env&&process.env.NODE_ENV||"",f=[["APPVEYOR"],["AWS_AMPLIFY","AWS_APP_ID",{ci:true}],["AZURE_PIPELINES","SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"],["AZURE_STATIC","INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN"],["APPCIRCLE","AC_APPCIRCLE"],["BAMBOO","bamboo_planKey"],["BITBUCKET","BITBUCKET_COMMIT"],["BITRISE","BITRISE_IO"],["BUDDY","BUDDY_WORKSPACE_ID"],["BUILDKITE"],["CIRCLE","CIRCLECI"],["CIRRUS","CIRRUS_CI"],["CLOUDFLARE_PAGES","CF_PAGES",{ci:true}],["CODEBUILD","CODEBUILD_BUILD_ARN"],["CODEFRESH","CF_BUILD_ID"],["DRONE"],["DRONE","DRONE_BUILD_EVENT"],["DSARI"],["GITHUB_ACTIONS"],["GITLAB","GITLAB_CI"],["GITLAB","CI_MERGE_REQUEST_ID"],["GOCD","GO_PIPELINE_LABEL"],["LAYERCI"],["HUDSON","HUDSON_URL"],["JENKINS","JENKINS_URL"],["MAGNUM"],["NETLIFY"],["NETLIFY","NETLIFY_LOCAL",{ci:false}],["NEVERCODE"],["RENDER"],["SAIL","SAILCI"],["SEMAPHORE"],["SCREWDRIVER"],["SHIPPABLE"],["SOLANO","TDDIUM"],["STRIDER"],["TEAMCITY","TEAMCITY_VERSION"],["TRAVIS"],["VERCEL","NOW_BUILDER"],["VERCEL","VERCEL",{ci:false}],["VERCEL","VERCEL_ENV",{ci:false}],["APPCENTER","APPCENTER_BUILD_ID"],["CODESANDBOX","CODESANDBOX_SSE",{ci:false}],["CODESANDBOX","CODESANDBOX_HOST",{ci:false}],["STACKBLITZ"],["STORMKIT"],["CLEAVR"],["ZEABUR"],["CODESPHERE","CODESPHERE_APP_ID",{ci:true}],["RAILWAY","RAILWAY_PROJECT_ID"],["RAILWAY","RAILWAY_SERVICE_ID"],["DENO-DEPLOY","DENO_DEPLOYMENT_ID"],["FIREBASE_APP_HOSTING","FIREBASE_APP_HOSTING",{ci:true}]];function b(){if(globalThis.process?.env)for(const e of f){const s=e[1]||e[0];if(globalThis.process?.env[s])return {name:e[0].toLowerCase(),...e[2]}}return globalThis.process?.env?.SHELL==="/bin/jsh"&&globalThis.process?.versions?.webcontainer?{name:"stackblitz",ci:false}:{name:"",ci:false}}const l=b();l.name;function n(e){return e?e!=="false":false}const I=globalThis.process?.platform||"",T=n(o.CI)||l.ci!==false,a=n(globalThis.process?.stdout&&globalThis.process?.stdout.isTTY),g=n(o.DEBUG),R=t==="test"||n(o.TEST);n(o.MINIMAL)||T||R||!a;const A=/^win/i.test(I);!n(o.NO_COLOR)&&(n(o.FORCE_COLOR)||(a||A)&&o.TERM!=="dumb"||T);const C=(globalThis.process?.versions?.node||"").replace(/^v/,"")||null;Number(C?.split(".")[0])||null;const y=globalThis.process||Object.create(null),_={versions:{}};new Proxy(y,{get(e,s){if(s==="env")return o;if(s in e)return e[s];if(s in _)return _[s]}});const c=globalThis.process?.release?.name==="node",O=!!globalThis.Bun||!!globalThis.process?.versions?.bun,D=!!globalThis.Deno,L=!!globalThis.fastly,S=!!globalThis.Netlify,u=!!globalThis.EdgeRuntime,N=globalThis.navigator?.userAgent==="Cloudflare-Workers",F=[[S,"netlify"],[u,"edge-light"],[N,"workerd"],[L,"fastly"],[D,"deno"],[O,"bun"],[c,"node"]];function G(){const e=F.find(s=>s[0]);if(e)return {name:e[1]}}const P=G();P?.name||"";
18
+
19
+ function ansiRegex({onlyFirst = false} = {}) {
20
+ // Valid string terminator sequences are BEL, ESC\, and 0x9c
21
+ const ST = '(?:\\u0007|\\u001B\\u005C|\\u009C)';
22
+ const pattern = [
23
+ `[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,
24
+ '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))',
25
+ ].join('|');
26
+
27
+ return new RegExp(pattern, onlyFirst ? undefined : 'g');
28
+ }
29
+
30
+ const regex = ansiRegex();
31
+
32
+ function stripAnsi(string) {
33
+ if (typeof string !== 'string') {
34
+ throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
35
+ }
36
+
37
+ // Even though the regex is global, we don't need to reset the `.lastIndex`
38
+ // because unlike `.exec()` and `.test()`, `.replace()` does it automatically
39
+ // and doing it manually has a performance penalty.
40
+ return string.replace(regex, '');
41
+ }
42
+
43
+ // Generated code.
44
+
45
+ function isAmbiguous(x) {
46
+ return x === 0xA1
47
+ || x === 0xA4
48
+ || x === 0xA7
49
+ || x === 0xA8
50
+ || x === 0xAA
51
+ || x === 0xAD
52
+ || x === 0xAE
53
+ || x >= 0xB0 && x <= 0xB4
54
+ || x >= 0xB6 && x <= 0xBA
55
+ || x >= 0xBC && x <= 0xBF
56
+ || x === 0xC6
57
+ || x === 0xD0
58
+ || x === 0xD7
59
+ || x === 0xD8
60
+ || x >= 0xDE && x <= 0xE1
61
+ || x === 0xE6
62
+ || x >= 0xE8 && x <= 0xEA
63
+ || x === 0xEC
64
+ || x === 0xED
65
+ || x === 0xF0
66
+ || x === 0xF2
67
+ || x === 0xF3
68
+ || x >= 0xF7 && x <= 0xFA
69
+ || x === 0xFC
70
+ || x === 0xFE
71
+ || x === 0x101
72
+ || x === 0x111
73
+ || x === 0x113
74
+ || x === 0x11B
75
+ || x === 0x126
76
+ || x === 0x127
77
+ || x === 0x12B
78
+ || x >= 0x131 && x <= 0x133
79
+ || x === 0x138
80
+ || x >= 0x13F && x <= 0x142
81
+ || x === 0x144
82
+ || x >= 0x148 && x <= 0x14B
83
+ || x === 0x14D
84
+ || x === 0x152
85
+ || x === 0x153
86
+ || x === 0x166
87
+ || x === 0x167
88
+ || x === 0x16B
89
+ || x === 0x1CE
90
+ || x === 0x1D0
91
+ || x === 0x1D2
92
+ || x === 0x1D4
93
+ || x === 0x1D6
94
+ || x === 0x1D8
95
+ || x === 0x1DA
96
+ || x === 0x1DC
97
+ || x === 0x251
98
+ || x === 0x261
99
+ || x === 0x2C4
100
+ || x === 0x2C7
101
+ || x >= 0x2C9 && x <= 0x2CB
102
+ || x === 0x2CD
103
+ || x === 0x2D0
104
+ || x >= 0x2D8 && x <= 0x2DB
105
+ || x === 0x2DD
106
+ || x === 0x2DF
107
+ || x >= 0x300 && x <= 0x36F
108
+ || x >= 0x391 && x <= 0x3A1
109
+ || x >= 0x3A3 && x <= 0x3A9
110
+ || x >= 0x3B1 && x <= 0x3C1
111
+ || x >= 0x3C3 && x <= 0x3C9
112
+ || x === 0x401
113
+ || x >= 0x410 && x <= 0x44F
114
+ || x === 0x451
115
+ || x === 0x2010
116
+ || x >= 0x2013 && x <= 0x2016
117
+ || x === 0x2018
118
+ || x === 0x2019
119
+ || x === 0x201C
120
+ || x === 0x201D
121
+ || x >= 0x2020 && x <= 0x2022
122
+ || x >= 0x2024 && x <= 0x2027
123
+ || x === 0x2030
124
+ || x === 0x2032
125
+ || x === 0x2033
126
+ || x === 0x2035
127
+ || x === 0x203B
128
+ || x === 0x203E
129
+ || x === 0x2074
130
+ || x === 0x207F
131
+ || x >= 0x2081 && x <= 0x2084
132
+ || x === 0x20AC
133
+ || x === 0x2103
134
+ || x === 0x2105
135
+ || x === 0x2109
136
+ || x === 0x2113
137
+ || x === 0x2116
138
+ || x === 0x2121
139
+ || x === 0x2122
140
+ || x === 0x2126
141
+ || x === 0x212B
142
+ || x === 0x2153
143
+ || x === 0x2154
144
+ || x >= 0x215B && x <= 0x215E
145
+ || x >= 0x2160 && x <= 0x216B
146
+ || x >= 0x2170 && x <= 0x2179
147
+ || x === 0x2189
148
+ || x >= 0x2190 && x <= 0x2199
149
+ || x === 0x21B8
150
+ || x === 0x21B9
151
+ || x === 0x21D2
152
+ || x === 0x21D4
153
+ || x === 0x21E7
154
+ || x === 0x2200
155
+ || x === 0x2202
156
+ || x === 0x2203
157
+ || x === 0x2207
158
+ || x === 0x2208
159
+ || x === 0x220B
160
+ || x === 0x220F
161
+ || x === 0x2211
162
+ || x === 0x2215
163
+ || x === 0x221A
164
+ || x >= 0x221D && x <= 0x2220
165
+ || x === 0x2223
166
+ || x === 0x2225
167
+ || x >= 0x2227 && x <= 0x222C
168
+ || x === 0x222E
169
+ || x >= 0x2234 && x <= 0x2237
170
+ || x === 0x223C
171
+ || x === 0x223D
172
+ || x === 0x2248
173
+ || x === 0x224C
174
+ || x === 0x2252
175
+ || x === 0x2260
176
+ || x === 0x2261
177
+ || x >= 0x2264 && x <= 0x2267
178
+ || x === 0x226A
179
+ || x === 0x226B
180
+ || x === 0x226E
181
+ || x === 0x226F
182
+ || x === 0x2282
183
+ || x === 0x2283
184
+ || x === 0x2286
185
+ || x === 0x2287
186
+ || x === 0x2295
187
+ || x === 0x2299
188
+ || x === 0x22A5
189
+ || x === 0x22BF
190
+ || x === 0x2312
191
+ || x >= 0x2460 && x <= 0x24E9
192
+ || x >= 0x24EB && x <= 0x254B
193
+ || x >= 0x2550 && x <= 0x2573
194
+ || x >= 0x2580 && x <= 0x258F
195
+ || x >= 0x2592 && x <= 0x2595
196
+ || x === 0x25A0
197
+ || x === 0x25A1
198
+ || x >= 0x25A3 && x <= 0x25A9
199
+ || x === 0x25B2
200
+ || x === 0x25B3
201
+ || x === 0x25B6
202
+ || x === 0x25B7
203
+ || x === 0x25BC
204
+ || x === 0x25BD
205
+ || x === 0x25C0
206
+ || x === 0x25C1
207
+ || x >= 0x25C6 && x <= 0x25C8
208
+ || x === 0x25CB
209
+ || x >= 0x25CE && x <= 0x25D1
210
+ || x >= 0x25E2 && x <= 0x25E5
211
+ || x === 0x25EF
212
+ || x === 0x2605
213
+ || x === 0x2606
214
+ || x === 0x2609
215
+ || x === 0x260E
216
+ || x === 0x260F
217
+ || x === 0x261C
218
+ || x === 0x261E
219
+ || x === 0x2640
220
+ || x === 0x2642
221
+ || x === 0x2660
222
+ || x === 0x2661
223
+ || x >= 0x2663 && x <= 0x2665
224
+ || x >= 0x2667 && x <= 0x266A
225
+ || x === 0x266C
226
+ || x === 0x266D
227
+ || x === 0x266F
228
+ || x === 0x269E
229
+ || x === 0x269F
230
+ || x === 0x26BF
231
+ || x >= 0x26C6 && x <= 0x26CD
232
+ || x >= 0x26CF && x <= 0x26D3
233
+ || x >= 0x26D5 && x <= 0x26E1
234
+ || x === 0x26E3
235
+ || x === 0x26E8
236
+ || x === 0x26E9
237
+ || x >= 0x26EB && x <= 0x26F1
238
+ || x === 0x26F4
239
+ || x >= 0x26F6 && x <= 0x26F9
240
+ || x === 0x26FB
241
+ || x === 0x26FC
242
+ || x === 0x26FE
243
+ || x === 0x26FF
244
+ || x === 0x273D
245
+ || x >= 0x2776 && x <= 0x277F
246
+ || x >= 0x2B56 && x <= 0x2B59
247
+ || x >= 0x3248 && x <= 0x324F
248
+ || x >= 0xE000 && x <= 0xF8FF
249
+ || x >= 0xFE00 && x <= 0xFE0F
250
+ || x === 0xFFFD
251
+ || x >= 0x1F100 && x <= 0x1F10A
252
+ || x >= 0x1F110 && x <= 0x1F12D
253
+ || x >= 0x1F130 && x <= 0x1F169
254
+ || x >= 0x1F170 && x <= 0x1F18D
255
+ || x === 0x1F18F
256
+ || x === 0x1F190
257
+ || x >= 0x1F19B && x <= 0x1F1AC
258
+ || x >= 0xE0100 && x <= 0xE01EF
259
+ || x >= 0xF0000 && x <= 0xFFFFD
260
+ || x >= 0x100000 && x <= 0x10FFFD;
261
+ }
262
+
263
+ function isFullWidth(x) {
264
+ return x === 0x3000
265
+ || x >= 0xFF01 && x <= 0xFF60
266
+ || x >= 0xFFE0 && x <= 0xFFE6;
267
+ }
268
+
269
+ function isWide(x) {
270
+ return x >= 0x1100 && x <= 0x115F
271
+ || x === 0x231A
272
+ || x === 0x231B
273
+ || x === 0x2329
274
+ || x === 0x232A
275
+ || x >= 0x23E9 && x <= 0x23EC
276
+ || x === 0x23F0
277
+ || x === 0x23F3
278
+ || x === 0x25FD
279
+ || x === 0x25FE
280
+ || x === 0x2614
281
+ || x === 0x2615
282
+ || x >= 0x2630 && x <= 0x2637
283
+ || x >= 0x2648 && x <= 0x2653
284
+ || x === 0x267F
285
+ || x >= 0x268A && x <= 0x268F
286
+ || x === 0x2693
287
+ || x === 0x26A1
288
+ || x === 0x26AA
289
+ || x === 0x26AB
290
+ || x === 0x26BD
291
+ || x === 0x26BE
292
+ || x === 0x26C4
293
+ || x === 0x26C5
294
+ || x === 0x26CE
295
+ || x === 0x26D4
296
+ || x === 0x26EA
297
+ || x === 0x26F2
298
+ || x === 0x26F3
299
+ || x === 0x26F5
300
+ || x === 0x26FA
301
+ || x === 0x26FD
302
+ || x === 0x2705
303
+ || x === 0x270A
304
+ || x === 0x270B
305
+ || x === 0x2728
306
+ || x === 0x274C
307
+ || x === 0x274E
308
+ || x >= 0x2753 && x <= 0x2755
309
+ || x === 0x2757
310
+ || x >= 0x2795 && x <= 0x2797
311
+ || x === 0x27B0
312
+ || x === 0x27BF
313
+ || x === 0x2B1B
314
+ || x === 0x2B1C
315
+ || x === 0x2B50
316
+ || x === 0x2B55
317
+ || x >= 0x2E80 && x <= 0x2E99
318
+ || x >= 0x2E9B && x <= 0x2EF3
319
+ || x >= 0x2F00 && x <= 0x2FD5
320
+ || x >= 0x2FF0 && x <= 0x2FFF
321
+ || x >= 0x3001 && x <= 0x303E
322
+ || x >= 0x3041 && x <= 0x3096
323
+ || x >= 0x3099 && x <= 0x30FF
324
+ || x >= 0x3105 && x <= 0x312F
325
+ || x >= 0x3131 && x <= 0x318E
326
+ || x >= 0x3190 && x <= 0x31E5
327
+ || x >= 0x31EF && x <= 0x321E
328
+ || x >= 0x3220 && x <= 0x3247
329
+ || x >= 0x3250 && x <= 0xA48C
330
+ || x >= 0xA490 && x <= 0xA4C6
331
+ || x >= 0xA960 && x <= 0xA97C
332
+ || x >= 0xAC00 && x <= 0xD7A3
333
+ || x >= 0xF900 && x <= 0xFAFF
334
+ || x >= 0xFE10 && x <= 0xFE19
335
+ || x >= 0xFE30 && x <= 0xFE52
336
+ || x >= 0xFE54 && x <= 0xFE66
337
+ || x >= 0xFE68 && x <= 0xFE6B
338
+ || x >= 0x16FE0 && x <= 0x16FE4
339
+ || x === 0x16FF0
340
+ || x === 0x16FF1
341
+ || x >= 0x17000 && x <= 0x187F7
342
+ || x >= 0x18800 && x <= 0x18CD5
343
+ || x >= 0x18CFF && x <= 0x18D08
344
+ || x >= 0x1AFF0 && x <= 0x1AFF3
345
+ || x >= 0x1AFF5 && x <= 0x1AFFB
346
+ || x === 0x1AFFD
347
+ || x === 0x1AFFE
348
+ || x >= 0x1B000 && x <= 0x1B122
349
+ || x === 0x1B132
350
+ || x >= 0x1B150 && x <= 0x1B152
351
+ || x === 0x1B155
352
+ || x >= 0x1B164 && x <= 0x1B167
353
+ || x >= 0x1B170 && x <= 0x1B2FB
354
+ || x >= 0x1D300 && x <= 0x1D356
355
+ || x >= 0x1D360 && x <= 0x1D376
356
+ || x === 0x1F004
357
+ || x === 0x1F0CF
358
+ || x === 0x1F18E
359
+ || x >= 0x1F191 && x <= 0x1F19A
360
+ || x >= 0x1F200 && x <= 0x1F202
361
+ || x >= 0x1F210 && x <= 0x1F23B
362
+ || x >= 0x1F240 && x <= 0x1F248
363
+ || x === 0x1F250
364
+ || x === 0x1F251
365
+ || x >= 0x1F260 && x <= 0x1F265
366
+ || x >= 0x1F300 && x <= 0x1F320
367
+ || x >= 0x1F32D && x <= 0x1F335
368
+ || x >= 0x1F337 && x <= 0x1F37C
369
+ || x >= 0x1F37E && x <= 0x1F393
370
+ || x >= 0x1F3A0 && x <= 0x1F3CA
371
+ || x >= 0x1F3CF && x <= 0x1F3D3
372
+ || x >= 0x1F3E0 && x <= 0x1F3F0
373
+ || x === 0x1F3F4
374
+ || x >= 0x1F3F8 && x <= 0x1F43E
375
+ || x === 0x1F440
376
+ || x >= 0x1F442 && x <= 0x1F4FC
377
+ || x >= 0x1F4FF && x <= 0x1F53D
378
+ || x >= 0x1F54B && x <= 0x1F54E
379
+ || x >= 0x1F550 && x <= 0x1F567
380
+ || x === 0x1F57A
381
+ || x === 0x1F595
382
+ || x === 0x1F596
383
+ || x === 0x1F5A4
384
+ || x >= 0x1F5FB && x <= 0x1F64F
385
+ || x >= 0x1F680 && x <= 0x1F6C5
386
+ || x === 0x1F6CC
387
+ || x >= 0x1F6D0 && x <= 0x1F6D2
388
+ || x >= 0x1F6D5 && x <= 0x1F6D7
389
+ || x >= 0x1F6DC && x <= 0x1F6DF
390
+ || x === 0x1F6EB
391
+ || x === 0x1F6EC
392
+ || x >= 0x1F6F4 && x <= 0x1F6FC
393
+ || x >= 0x1F7E0 && x <= 0x1F7EB
394
+ || x === 0x1F7F0
395
+ || x >= 0x1F90C && x <= 0x1F93A
396
+ || x >= 0x1F93C && x <= 0x1F945
397
+ || x >= 0x1F947 && x <= 0x1F9FF
398
+ || x >= 0x1FA70 && x <= 0x1FA7C
399
+ || x >= 0x1FA80 && x <= 0x1FA89
400
+ || x >= 0x1FA8F && x <= 0x1FAC6
401
+ || x >= 0x1FACE && x <= 0x1FADC
402
+ || x >= 0x1FADF && x <= 0x1FAE9
403
+ || x >= 0x1FAF0 && x <= 0x1FAF8
404
+ || x >= 0x20000 && x <= 0x2FFFD
405
+ || x >= 0x30000 && x <= 0x3FFFD;
406
+ }
407
+
408
+ function validate(codePoint) {
409
+ if (!Number.isSafeInteger(codePoint)) {
410
+ throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
411
+ }
412
+ }
413
+
414
+ function eastAsianWidth(codePoint, {ambiguousAsWide = false} = {}) {
415
+ validate(codePoint);
416
+
417
+ if (
418
+ isFullWidth(codePoint)
419
+ || isWide(codePoint)
420
+ || (ambiguousAsWide && isAmbiguous(codePoint))
421
+ ) {
422
+ return 2;
423
+ }
424
+
425
+ return 1;
426
+ }
427
+
428
+ const emojiRegex = () => {
429
+ // https://mths.be/emoji
430
+ return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
431
+ };
432
+
433
+ const segmenter = globalThis.Intl?.Segmenter ? new Intl.Segmenter() : { segment: (str) => str.split('') };
434
+
435
+ const defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u;
436
+
437
+ function stringWidth$1(string, options = {}) {
438
+ if (typeof string !== 'string' || string.length === 0) {
439
+ return 0;
440
+ }
441
+
442
+ const {
443
+ ambiguousIsNarrow = true,
444
+ countAnsiEscapeCodes = false,
445
+ } = options;
446
+
447
+ if (!countAnsiEscapeCodes) {
448
+ string = stripAnsi(string);
449
+ }
450
+
451
+ if (string.length === 0) {
452
+ return 0;
453
+ }
454
+
455
+ let width = 0;
456
+ const eastAsianWidthOptions = {ambiguousAsWide: !ambiguousIsNarrow};
457
+
458
+ for (const {segment: character} of segmenter.segment(string)) {
459
+ const codePoint = character.codePointAt(0);
460
+
461
+ // Ignore control characters
462
+ if (codePoint <= 0x1F || (codePoint >= 0x7F && codePoint <= 0x9F)) {
463
+ continue;
464
+ }
465
+
466
+ // Ignore zero-width characters
467
+ if (
468
+ (codePoint >= 0x20_0B && codePoint <= 0x20_0F) // Zero-width space, non-joiner, joiner, left-to-right mark, right-to-left mark
469
+ || codePoint === 0xFE_FF // Zero-width no-break space
470
+ ) {
471
+ continue;
472
+ }
473
+
474
+ // Ignore combining characters
475
+ if (
476
+ (codePoint >= 0x3_00 && codePoint <= 0x3_6F) // Combining diacritical marks
477
+ || (codePoint >= 0x1A_B0 && codePoint <= 0x1A_FF) // Combining diacritical marks extended
478
+ || (codePoint >= 0x1D_C0 && codePoint <= 0x1D_FF) // Combining diacritical marks supplement
479
+ || (codePoint >= 0x20_D0 && codePoint <= 0x20_FF) // Combining diacritical marks for symbols
480
+ || (codePoint >= 0xFE_20 && codePoint <= 0xFE_2F) // Combining half marks
481
+ ) {
482
+ continue;
483
+ }
484
+
485
+ // Ignore surrogate pairs
486
+ if (codePoint >= 0xD8_00 && codePoint <= 0xDF_FF) {
487
+ continue;
488
+ }
489
+
490
+ // Ignore variation selectors
491
+ if (codePoint >= 0xFE_00 && codePoint <= 0xFE_0F) {
492
+ continue;
493
+ }
494
+
495
+ // This covers some of the above cases, but we still keep them for performance reasons.
496
+ if (defaultIgnorableCodePointRegex.test(character)) {
497
+ continue;
498
+ }
499
+
500
+ // TODO: Use `/\p{RGI_Emoji}/v` when targeting Node.js 20.
501
+ if (emojiRegex().test(character)) {
502
+ width += 2;
503
+ continue;
504
+ }
505
+
506
+ width += eastAsianWidth(codePoint, eastAsianWidthOptions);
507
+ }
508
+
509
+ return width;
510
+ }
511
+
512
+ function isUnicodeSupported() {
513
+ const {env} = g__default;
514
+ const {TERM, TERM_PROGRAM} = env;
515
+
516
+ if (g__default.platform !== 'win32') {
517
+ return TERM !== 'linux'; // Linux console (kernel)
518
+ }
519
+
520
+ return Boolean(env.WT_SESSION) // Windows Terminal
521
+ || Boolean(env.TERMINUS_SUBLIME) // Terminus (<0.2.27)
522
+ || env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder
523
+ || TERM_PROGRAM === 'Terminus-Sublime'
524
+ || TERM_PROGRAM === 'vscode'
525
+ || TERM === 'xterm-256color'
526
+ || TERM === 'alacritty'
527
+ || TERM === 'rxvt-unicode'
528
+ || TERM === 'rxvt-unicode-256color'
529
+ || env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';
530
+ }
531
+
532
+ const TYPE_COLOR_MAP = {
533
+ info: "cyan",
534
+ fail: "red",
535
+ success: "green",
536
+ ready: "green",
537
+ start: "magenta"
538
+ };
539
+ const LEVEL_COLOR_MAP = {
540
+ 0: "red",
541
+ 1: "yellow"
542
+ };
543
+ const unicode = isUnicodeSupported();
544
+ const s = (c, fallback) => unicode ? c : fallback;
545
+ const TYPE_ICONS = {
546
+ error: s("\u2716", "\xD7"),
547
+ fatal: s("\u2716", "\xD7"),
548
+ ready: s("\u2714", "\u221A"),
549
+ warn: s("\u26A0", "\u203C"),
550
+ info: s("\u2139", "i"),
551
+ success: s("\u2714", "\u221A"),
552
+ debug: s("\u2699", "D"),
553
+ trace: s("\u2192", "\u2192"),
554
+ fail: s("\u2716", "\xD7"),
555
+ start: s("\u25D0", "o"),
556
+ log: ""
557
+ };
558
+ function stringWidth(str) {
559
+ const hasICU = typeof Intl === "object";
560
+ if (!hasICU || !Intl.Segmenter) {
561
+ return box.stripAnsi(str).length;
562
+ }
563
+ return stringWidth$1(str);
564
+ }
565
+ class FancyReporter extends basic.BasicReporter {
566
+ formatStack(stack, message, opts) {
567
+ const indent = " ".repeat((opts?.errorLevel || 0) + 1);
568
+ return `
569
+ ${indent}` + basic.parseStack(stack, message).map(
570
+ (line) => " " + line.replace(/^at +/, (m) => box.colors.gray(m)).replace(/\((.+)\)/, (_, m) => `(${box.colors.cyan(m)})`)
571
+ ).join(`
572
+ ${indent}`);
573
+ }
574
+ formatType(logObj, isBadge, opts) {
575
+ const typeColor = TYPE_COLOR_MAP[logObj.type] || LEVEL_COLOR_MAP[logObj.level] || "gray";
576
+ if (isBadge) {
577
+ return getBgColor(typeColor)(
578
+ box.colors.black(` ${logObj.type.toUpperCase()} `)
579
+ );
580
+ }
581
+ const _type = typeof TYPE_ICONS[logObj.type] === "string" ? TYPE_ICONS[logObj.type] : logObj.icon || logObj.type;
582
+ return _type ? getColor(typeColor)(_type) : "";
583
+ }
584
+ formatLogObj(logObj, opts) {
585
+ const [message, ...additional] = this.formatArgs(logObj.args, opts).split(
586
+ "\n"
587
+ );
588
+ if (logObj.type === "box") {
589
+ return box.box(
590
+ characterFormat(
591
+ message + (additional.length > 0 ? "\n" + additional.join("\n") : "")
592
+ ),
593
+ {
594
+ title: logObj.title ? characterFormat(logObj.title) : void 0,
595
+ style: logObj.style
596
+ }
597
+ );
598
+ }
599
+ const date = this.formatDate(logObj.date, opts);
600
+ const coloredDate = date && box.colors.gray(date);
601
+ const isBadge = logObj.badge ?? logObj.level < 2;
602
+ const type = this.formatType(logObj, isBadge, opts);
603
+ const tag = logObj.tag ? box.colors.gray(logObj.tag) : "";
604
+ let line;
605
+ const left = this.filterAndJoin([type, characterFormat(message)]);
606
+ const right = this.filterAndJoin(opts.columns ? [tag, coloredDate] : [tag]);
607
+ const space = (opts.columns || 0) - stringWidth(left) - stringWidth(right) - 2;
608
+ line = space > 0 && (opts.columns || 0) >= 80 ? left + " ".repeat(space) + right : (right ? `${box.colors.gray(`[${right}]`)} ` : "") + left;
609
+ line += characterFormat(
610
+ additional.length > 0 ? "\n" + additional.join("\n") : ""
611
+ );
612
+ if (logObj.type === "trace") {
613
+ const _err = new Error("Trace: " + logObj.message);
614
+ line += this.formatStack(_err.stack || "", _err.message);
615
+ }
616
+ return isBadge ? "\n" + line + "\n" : line;
617
+ }
618
+ }
619
+ function characterFormat(str) {
620
+ return str.replace(/`([^`]+)`/gm, (_, m) => box.colors.cyan(m)).replace(/\s+_([^_]+)_\s+/gm, (_, m) => ` ${box.colors.underline(m)} `);
621
+ }
622
+ function getColor(color = "white") {
623
+ return box.colors[color] || box.colors.white;
624
+ }
625
+ function getBgColor(color = "bgWhite") {
626
+ return box.colors[`bg${color[0].toUpperCase()}${color.slice(1)}`] || box.colors.bgWhite;
627
+ }
628
+
629
+ function createConsola(options = {}) {
630
+ let level = _getDefaultLogLevel();
631
+ if (process.env.CONSOLA_LEVEL) {
632
+ level = Number.parseInt(process.env.CONSOLA_LEVEL) ?? level;
633
+ }
634
+ const consola2 = core.createConsola({
635
+ level,
636
+ defaults: { level },
637
+ stdout: process.stdout,
638
+ stderr: process.stderr,
639
+ prompt: (...args) => import('./chunks/prompt.cjs').then((m) => m.prompt(...args)),
640
+ reporters: options.reporters || [
641
+ options.fancy ?? !(T || R) ? new FancyReporter() : new basic.BasicReporter()
642
+ ],
643
+ ...options
644
+ });
645
+ return consola2;
646
+ }
647
+ function _getDefaultLogLevel() {
648
+ if (g) {
649
+ return core.LogLevels.debug;
650
+ }
651
+ if (R) {
652
+ return core.LogLevels.warn;
653
+ }
654
+ return core.LogLevels.info;
655
+ }
656
+ const consola = createConsola();
657
+
658
+ exports.Consola = core.Consola;
659
+ exports.LogLevels = core.LogLevels;
660
+ exports.LogTypes = core.LogTypes;
661
+ exports.consola = consola;
662
+ exports.createConsola = createConsola;
663
+ exports.default = consola;