@task-mcp/shared 1.0.13 → 1.0.14
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.
- package/dist/algorithms/critical-path.d.ts.map +1 -1
- package/dist/algorithms/critical-path.js +2 -14
- package/dist/algorithms/critical-path.js.map +1 -1
- package/dist/algorithms/dependency-integrity.d.ts +8 -0
- package/dist/algorithms/dependency-integrity.d.ts.map +1 -1
- package/dist/algorithms/dependency-integrity.js +42 -24
- package/dist/algorithms/dependency-integrity.js.map +1 -1
- package/dist/algorithms/dependency-integrity.test.d.ts +2 -0
- package/dist/algorithms/dependency-integrity.test.d.ts.map +1 -0
- package/dist/algorithms/dependency-integrity.test.js +309 -0
- package/dist/algorithms/dependency-integrity.test.js.map +1 -0
- package/dist/algorithms/tech-analysis.d.ts +5 -5
- package/dist/algorithms/tech-analysis.d.ts.map +1 -1
- package/dist/algorithms/tech-analysis.js +65 -17
- package/dist/algorithms/tech-analysis.js.map +1 -1
- package/dist/algorithms/topological-sort.d.ts.map +1 -1
- package/dist/algorithms/topological-sort.js +1 -56
- package/dist/algorithms/topological-sort.js.map +1 -1
- package/dist/schemas/index.d.ts +1 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +2 -0
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/project.d.ts +6 -6
- package/dist/schemas/state.d.ts +17 -0
- package/dist/schemas/state.d.ts.map +1 -0
- package/dist/schemas/state.js +17 -0
- package/dist/schemas/state.js.map +1 -0
- package/dist/schemas/task.d.ts +13 -4
- package/dist/schemas/task.d.ts.map +1 -1
- package/dist/schemas/task.js +3 -0
- package/dist/schemas/task.js.map +1 -1
- package/dist/schemas/view.d.ts +4 -4
- package/dist/utils/dashboard-renderer.d.ts +3 -0
- package/dist/utils/dashboard-renderer.d.ts.map +1 -1
- package/dist/utils/dashboard-renderer.js +12 -13
- package/dist/utils/dashboard-renderer.js.map +1 -1
- package/dist/utils/dashboard-renderer.test.d.ts +2 -0
- package/dist/utils/dashboard-renderer.test.d.ts.map +1 -0
- package/dist/utils/dashboard-renderer.test.js +777 -0
- package/dist/utils/dashboard-renderer.test.js.map +1 -0
- package/dist/utils/date.d.ts +49 -0
- package/dist/utils/date.d.ts.map +1 -1
- package/dist/utils/date.js +174 -19
- package/dist/utils/date.js.map +1 -1
- package/dist/utils/date.test.js +139 -1
- package/dist/utils/date.test.js.map +1 -1
- package/dist/utils/hierarchy.d.ts +1 -1
- package/dist/utils/hierarchy.d.ts.map +1 -1
- package/dist/utils/hierarchy.js +15 -5
- package/dist/utils/hierarchy.js.map +1 -1
- package/dist/utils/hierarchy.test.d.ts +2 -0
- package/dist/utils/hierarchy.test.d.ts.map +1 -0
- package/dist/utils/hierarchy.test.js +351 -0
- package/dist/utils/hierarchy.test.js.map +1 -0
- package/dist/utils/id.js +1 -1
- package/dist/utils/id.js.map +1 -1
- package/dist/utils/index.d.ts +3 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -2
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/natural-language.d.ts.map +1 -1
- package/dist/utils/natural-language.js +7 -0
- package/dist/utils/natural-language.js.map +1 -1
- package/dist/utils/natural-language.test.js +24 -0
- package/dist/utils/natural-language.test.js.map +1 -1
- package/dist/utils/priority-queue.d.ts +17 -0
- package/dist/utils/priority-queue.d.ts.map +1 -0
- package/dist/utils/priority-queue.js +62 -0
- package/dist/utils/priority-queue.js.map +1 -0
- package/dist/utils/projection.d.ts +9 -0
- package/dist/utils/projection.d.ts.map +1 -1
- package/dist/utils/projection.js +37 -0
- package/dist/utils/projection.js.map +1 -1
- package/dist/utils/terminal-ui.d.ts +5 -0
- package/dist/utils/terminal-ui.d.ts.map +1 -1
- package/dist/utils/terminal-ui.js +88 -11
- package/dist/utils/terminal-ui.js.map +1 -1
- package/dist/utils/terminal-ui.test.d.ts +2 -0
- package/dist/utils/terminal-ui.test.d.ts.map +1 -0
- package/dist/utils/terminal-ui.test.js +683 -0
- package/dist/utils/terminal-ui.test.js.map +1 -0
- package/package.json +1 -1
- package/src/algorithms/critical-path.ts +6 -14
- package/src/algorithms/dependency-integrity.test.ts +348 -0
- package/src/algorithms/dependency-integrity.ts +41 -26
- package/src/algorithms/tech-analysis.ts +86 -18
- package/src/algorithms/topological-sort.ts +1 -62
- package/src/schemas/index.ts +3 -0
- package/src/schemas/state.ts +23 -0
- package/src/schemas/task.ts +3 -0
- package/src/utils/dashboard-renderer.test.ts +981 -0
- package/src/utils/dashboard-renderer.ts +14 -15
- package/src/utils/date.test.ts +170 -1
- package/src/utils/date.ts +214 -19
- package/src/utils/hierarchy.test.ts +411 -0
- package/src/utils/hierarchy.ts +22 -5
- package/src/utils/id.ts +1 -1
- package/src/utils/index.ts +17 -1
- package/src/utils/natural-language.test.ts +28 -0
- package/src/utils/natural-language.ts +8 -0
- package/src/utils/priority-queue.ts +68 -0
- package/src/utils/projection.ts +46 -2
- package/src/utils/terminal-ui.test.ts +831 -0
- package/src/utils/terminal-ui.ts +90 -10
package/src/utils/terminal-ui.ts
CHANGED
|
@@ -149,34 +149,114 @@ export const BOX = {
|
|
|
149
149
|
// String Utilities
|
|
150
150
|
// =============================================================================
|
|
151
151
|
|
|
152
|
+
/**
|
|
153
|
+
* Pre-compiled regex for stripping ANSI escape codes (compiled once for performance)
|
|
154
|
+
* Matches all ANSI escape sequences including:
|
|
155
|
+
* - SGR (Select Graphic Rendition) codes: ESC[...m (colors, styles)
|
|
156
|
+
* - CSI (Control Sequence Introducer) codes: ESC[...X where X is any letter
|
|
157
|
+
* - OSC (Operating System Command) codes: ESC]...BEL or ESC]...ESC\
|
|
158
|
+
*/
|
|
159
|
+
const ANSI_REGEX = /\x1b(?:\[[0-9;]*[A-Za-z]|\].*?(?:\x07|\x1b\\))/g;
|
|
160
|
+
|
|
152
161
|
/**
|
|
153
162
|
* Strip all ANSI escape codes from string
|
|
154
163
|
*/
|
|
155
164
|
export function stripAnsi(str: string): string {
|
|
156
|
-
return str.replace(
|
|
165
|
+
return str.replace(ANSI_REGEX, "");
|
|
157
166
|
}
|
|
158
167
|
|
|
159
168
|
/**
|
|
160
169
|
* Check if a character is full-width (CJK, Korean, emoji, etc.)
|
|
161
170
|
* Full-width characters take 2 columns in terminal
|
|
162
171
|
*/
|
|
163
|
-
function isFullWidth(char: string): boolean {
|
|
172
|
+
export function isFullWidth(char: string): boolean {
|
|
164
173
|
const code = char.codePointAt(0);
|
|
165
174
|
if (code === undefined) return false;
|
|
166
175
|
|
|
167
176
|
return (
|
|
177
|
+
// CJK and Korean
|
|
168
178
|
(code >= 0x1100 && code <= 0x115f) || // Hangul Jamo
|
|
169
|
-
(code >= 0x2e80 && code <= 0x9fff) || // CJK
|
|
179
|
+
(code >= 0x2e80 && code <= 0x9fff) || // CJK Radicals, Kangxi, Ideographs
|
|
170
180
|
(code >= 0xac00 && code <= 0xd7af) || // Hangul Syllables
|
|
171
|
-
(code >= 0xf900 && code <= 0xfaff) || // CJK Compatibility
|
|
172
|
-
(code >= 0xfe10 && code <= 0xfe1f) || // Vertical
|
|
181
|
+
(code >= 0xf900 && code <= 0xfaff) || // CJK Compatibility Ideographs
|
|
182
|
+
(code >= 0xfe10 && code <= 0xfe1f) || // Vertical Forms
|
|
173
183
|
(code >= 0xfe30 && code <= 0xfe6f) || // CJK Compatibility Forms
|
|
174
|
-
(code >= 0xff00 && code <= 0xff60) || // Fullwidth
|
|
175
|
-
(code >= 0xffe0 && code <= 0xffe6) || // Fullwidth
|
|
176
|
-
(code >=
|
|
177
|
-
(code >=
|
|
184
|
+
(code >= 0xff00 && code <= 0xff60) || // Fullwidth ASCII
|
|
185
|
+
(code >= 0xffe0 && code <= 0xffe6) || // Fullwidth Symbols
|
|
186
|
+
(code >= 0x20000 && code <= 0x2ffff) || // CJK Extension B, C, D, E, F
|
|
187
|
+
(code >= 0x30000 && code <= 0x3ffff) || // CJK Extension G, H, I
|
|
188
|
+
|
|
189
|
+
// Symbols (typically wide in terminals)
|
|
190
|
+
(code >= 0x2600 && code <= 0x26ff) || // Misc Symbols (sun, moon, stars, etc.)
|
|
178
191
|
(code >= 0x2700 && code <= 0x27bf) || // Dingbats
|
|
179
|
-
|
|
192
|
+
|
|
193
|
+
// Emoji ranges (comprehensive coverage)
|
|
194
|
+
(code >= 0x1f1e0 && code <= 0x1f1ff) || // Regional Indicator Symbols (flags)
|
|
195
|
+
(code >= 0x1f300 && code <= 0x1f5ff) || // Misc Symbols & Pictographs
|
|
196
|
+
(code >= 0x1f600 && code <= 0x1f64f) || // Emoticons (faces)
|
|
197
|
+
(code >= 0x1f680 && code <= 0x1f6ff) || // Transport & Map Symbols
|
|
198
|
+
(code >= 0x1f700 && code <= 0x1f77f) || // Alchemical Symbols
|
|
199
|
+
(code >= 0x1f780 && code <= 0x1f7ff) || // Geometric Shapes Extended
|
|
200
|
+
(code >= 0x1f800 && code <= 0x1f8ff) || // Supplemental Arrows-C
|
|
201
|
+
(code >= 0x1f900 && code <= 0x1f9ff) || // Supplemental Symbols & Pictographs
|
|
202
|
+
(code >= 0x1fa00 && code <= 0x1fa6f) || // Chess Symbols
|
|
203
|
+
(code >= 0x1fa70 && code <= 0x1faff) || // Symbols & Pictographs Extended-A
|
|
204
|
+
(code >= 0x1fb00 && code <= 0x1fbff) || // Symbols for Legacy Computing
|
|
205
|
+
|
|
206
|
+
// Additional emoji-related
|
|
207
|
+
(code >= 0x231a && code <= 0x231b) || // Watch, Hourglass
|
|
208
|
+
(code >= 0x23e9 && code <= 0x23f3) || // Media control symbols
|
|
209
|
+
(code >= 0x23f8 && code <= 0x23fa) || // Media control symbols
|
|
210
|
+
(code >= 0x25aa && code <= 0x25ab) || // Squares
|
|
211
|
+
(code >= 0x25b6 && code === 0x25b6) || // Play button
|
|
212
|
+
(code >= 0x25c0 && code === 0x25c0) || // Reverse button
|
|
213
|
+
(code >= 0x25fb && code <= 0x25fe) || // Squares
|
|
214
|
+
(code >= 0x2614 && code <= 0x2615) || // Umbrella, Hot beverage
|
|
215
|
+
(code >= 0x2648 && code <= 0x2653) || // Zodiac
|
|
216
|
+
(code >= 0x267f && code === 0x267f) || // Wheelchair
|
|
217
|
+
(code >= 0x2693 && code === 0x2693) || // Anchor
|
|
218
|
+
(code >= 0x26a1 && code === 0x26a1) || // High voltage
|
|
219
|
+
(code >= 0x26aa && code <= 0x26ab) || // Circles
|
|
220
|
+
(code >= 0x26bd && code <= 0x26be) || // Sports
|
|
221
|
+
(code >= 0x26c4 && code <= 0x26c5) || // Snowman, Sun
|
|
222
|
+
(code >= 0x26ce && code === 0x26ce) || // Ophiuchus
|
|
223
|
+
(code >= 0x26d4 && code === 0x26d4) || // No entry
|
|
224
|
+
(code >= 0x26ea && code === 0x26ea) || // Church
|
|
225
|
+
(code >= 0x26f2 && code <= 0x26f3) || // Fountain, Golf
|
|
226
|
+
(code >= 0x26f5 && code === 0x26f5) || // Sailboat
|
|
227
|
+
(code >= 0x26fa && code === 0x26fa) || // Tent
|
|
228
|
+
(code >= 0x26fd && code === 0x26fd) || // Fuel pump
|
|
229
|
+
(code >= 0x2702 && code === 0x2702) || // Scissors
|
|
230
|
+
(code >= 0x2705 && code === 0x2705) || // Check mark
|
|
231
|
+
(code >= 0x2708 && code <= 0x270d) || // Airplane to Writing hand
|
|
232
|
+
(code >= 0x270f && code === 0x270f) || // Pencil
|
|
233
|
+
(code >= 0x2712 && code === 0x2712) || // Black nib
|
|
234
|
+
(code >= 0x2714 && code === 0x2714) || // Check mark
|
|
235
|
+
(code >= 0x2716 && code === 0x2716) || // X mark
|
|
236
|
+
(code >= 0x271d && code === 0x271d) || // Latin cross
|
|
237
|
+
(code >= 0x2721 && code === 0x2721) || // Star of David
|
|
238
|
+
(code >= 0x2728 && code === 0x2728) || // Sparkles
|
|
239
|
+
(code >= 0x2733 && code <= 0x2734) || // Eight spoked asterisk
|
|
240
|
+
(code >= 0x2744 && code === 0x2744) || // Snowflake
|
|
241
|
+
(code >= 0x2747 && code === 0x2747) || // Sparkle
|
|
242
|
+
(code >= 0x274c && code === 0x274c) || // Cross mark
|
|
243
|
+
(code >= 0x274e && code === 0x274e) || // Cross mark
|
|
244
|
+
(code >= 0x2753 && code <= 0x2755) || // Question marks
|
|
245
|
+
(code >= 0x2757 && code === 0x2757) || // Exclamation
|
|
246
|
+
(code >= 0x2763 && code <= 0x2764) || // Heart exclamation, Heart
|
|
247
|
+
(code >= 0x2795 && code <= 0x2797) || // Plus, Minus, Division
|
|
248
|
+
(code >= 0x27a1 && code === 0x27a1) || // Right arrow
|
|
249
|
+
(code >= 0x27b0 && code === 0x27b0) || // Curly loop
|
|
250
|
+
(code >= 0x27bf && code === 0x27bf) || // Double curly loop
|
|
251
|
+
(code >= 0x2934 && code <= 0x2935) || // Arrows
|
|
252
|
+
(code >= 0x2b05 && code <= 0x2b07) || // Arrows
|
|
253
|
+
(code >= 0x2b1b && code <= 0x2b1c) || // Squares
|
|
254
|
+
(code >= 0x2b50 && code === 0x2b50) || // Star
|
|
255
|
+
(code >= 0x2b55 && code === 0x2b55) || // Circle
|
|
256
|
+
(code >= 0x3030 && code === 0x3030) || // Wavy dash
|
|
257
|
+
(code >= 0x303d && code === 0x303d) || // Part alternation mark
|
|
258
|
+
(code >= 0x3297 && code === 0x3297) || // Circled Ideograph Congratulation
|
|
259
|
+
(code >= 0x3299 && code === 0x3299) // Circled Ideograph Secret
|
|
180
260
|
);
|
|
181
261
|
}
|
|
182
262
|
|