codex-multi-auth 2.1.13-beta.2 → 2.2.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.
- package/.codex-plugin/plugin.json +9 -0
- package/README.md +5 -4
- package/dist/lib/accounts.d.ts.map +1 -1
- package/dist/lib/accounts.js +30 -1
- package/dist/lib/accounts.js.map +1 -1
- package/dist/lib/auth/device-auth.d.ts.map +1 -1
- package/dist/lib/auth/device-auth.js +15 -0
- package/dist/lib/auth/device-auth.js.map +1 -1
- package/dist/lib/auth/org-override.d.ts +19 -0
- package/dist/lib/auth/org-override.d.ts.map +1 -0
- package/dist/lib/auth/org-override.js +23 -0
- package/dist/lib/auth/org-override.js.map +1 -0
- package/dist/lib/auth/server.d.ts.map +1 -1
- package/dist/lib/auth/server.js +12 -7
- package/dist/lib/auth/server.js.map +1 -1
- package/dist/lib/capability-policy.d.ts.map +1 -1
- package/dist/lib/capability-policy.js +5 -0
- package/dist/lib/capability-policy.js.map +1 -1
- package/dist/lib/circuit-breaker.d.ts +6 -0
- package/dist/lib/circuit-breaker.d.ts.map +1 -1
- package/dist/lib/circuit-breaker.js +8 -0
- package/dist/lib/circuit-breaker.js.map +1 -1
- package/dist/lib/codex-cli/state.d.ts.map +1 -1
- package/dist/lib/codex-cli/state.js +28 -7
- package/dist/lib/codex-cli/state.js.map +1 -1
- package/dist/lib/codex-manager/account-manager-commands.d.ts +14 -0
- package/dist/lib/codex-manager/account-manager-commands.d.ts.map +1 -0
- package/dist/lib/codex-manager/account-manager-commands.js +43 -0
- package/dist/lib/codex-manager/account-manager-commands.js.map +1 -0
- package/dist/lib/codex-manager/commands/best.d.ts +1 -1
- package/dist/lib/codex-manager/commands/best.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/best.js +4 -3
- package/dist/lib/codex-manager/commands/best.js.map +1 -1
- package/dist/lib/codex-manager/commands/budget.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/budget.js +6 -0
- package/dist/lib/codex-manager/commands/budget.js.map +1 -1
- package/dist/lib/codex-manager/commands/debug-bundle.d.ts +16 -0
- package/dist/lib/codex-manager/commands/debug-bundle.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/debug-bundle.js +80 -5
- package/dist/lib/codex-manager/commands/debug-bundle.js.map +1 -1
- package/dist/lib/codex-manager/commands/forecast.d.ts +1 -1
- package/dist/lib/codex-manager/commands/forecast.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/forecast.js +11 -8
- package/dist/lib/codex-manager/commands/forecast.js.map +1 -1
- package/dist/lib/codex-manager/commands/integrations.js +2 -2
- package/dist/lib/codex-manager/commands/integrations.js.map +1 -1
- package/dist/lib/codex-manager/commands/models.js +3 -3
- package/dist/lib/codex-manager/commands/models.js.map +1 -1
- package/dist/lib/codex-manager/commands/report.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/report.js +11 -9
- package/dist/lib/codex-manager/commands/report.js.map +1 -1
- package/dist/lib/codex-manager/commands/status.d.ts +2 -0
- package/dist/lib/codex-manager/commands/status.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/status.js +84 -25
- package/dist/lib/codex-manager/commands/status.js.map +1 -1
- package/dist/lib/codex-manager/commands/switch.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/switch.js +7 -0
- package/dist/lib/codex-manager/commands/switch.js.map +1 -1
- package/dist/lib/codex-manager/commands/workspace.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/workspace.js +12 -1
- package/dist/lib/codex-manager/commands/workspace.js.map +1 -1
- package/dist/lib/codex-manager/experimental-settings-prompt.d.ts.map +1 -1
- package/dist/lib/codex-manager/experimental-settings-prompt.js +13 -3
- package/dist/lib/codex-manager/experimental-settings-prompt.js.map +1 -1
- package/dist/lib/codex-manager/forecast-report-commands.d.ts.map +1 -1
- package/dist/lib/codex-manager/forecast-report-commands.js +14 -13
- package/dist/lib/codex-manager/forecast-report-commands.js.map +1 -1
- package/dist/lib/codex-manager/help.d.ts.map +1 -1
- package/dist/lib/codex-manager/help.js +7 -5
- package/dist/lib/codex-manager/help.js.map +1 -1
- package/dist/lib/codex-manager/repair-commands.d.ts.map +1 -1
- package/dist/lib/codex-manager/repair-commands.js +18 -8
- package/dist/lib/codex-manager/repair-commands.js.map +1 -1
- package/dist/lib/codex-manager/settings-hub/experimental.d.ts.map +1 -1
- package/dist/lib/codex-manager/settings-hub/experimental.js +8 -0
- package/dist/lib/codex-manager/settings-hub/experimental.js.map +1 -1
- package/dist/lib/codex-manager.d.ts +3 -0
- package/dist/lib/codex-manager.d.ts.map +1 -1
- package/dist/lib/codex-manager.js +121 -93
- package/dist/lib/codex-manager.js.map +1 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +327 -18
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/context-overflow.d.ts +7 -2
- package/dist/lib/context-overflow.d.ts.map +1 -1
- package/dist/lib/context-overflow.js +55 -37
- package/dist/lib/context-overflow.js.map +1 -1
- package/dist/lib/errors.d.ts +16 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +23 -0
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/forecast.d.ts +1 -0
- package/dist/lib/forecast.d.ts.map +1 -1
- package/dist/lib/forecast.js +25 -2
- package/dist/lib/forecast.js.map +1 -1
- package/dist/lib/integration-generators.d.ts.map +1 -1
- package/dist/lib/integration-generators.js +1 -1
- package/dist/lib/integration-generators.js.map +1 -1
- package/dist/lib/local-bridge.d.ts +8 -0
- package/dist/lib/local-bridge.d.ts.map +1 -1
- package/dist/lib/local-bridge.js +81 -7
- package/dist/lib/local-bridge.js.map +1 -1
- package/dist/lib/local-client-tokens.d.ts.map +1 -1
- package/dist/lib/local-client-tokens.js +117 -64
- package/dist/lib/local-client-tokens.js.map +1 -1
- package/dist/lib/logger.d.ts +9 -1
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +104 -19
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/model-capability-matrix.d.ts.map +1 -1
- package/dist/lib/model-capability-matrix.js +13 -10
- package/dist/lib/model-capability-matrix.js.map +1 -1
- package/dist/lib/oc-chatgpt-orchestrator.d.ts +7 -1
- package/dist/lib/oc-chatgpt-orchestrator.d.ts.map +1 -1
- package/dist/lib/oc-chatgpt-orchestrator.js +68 -9
- package/dist/lib/oc-chatgpt-orchestrator.js.map +1 -1
- package/dist/lib/policy/runtime-policy.d.ts.map +1 -1
- package/dist/lib/policy/runtime-policy.js +23 -1
- package/dist/lib/policy/runtime-policy.js.map +1 -1
- package/dist/lib/prompts/codex.d.ts +1 -1
- package/dist/lib/prompts/codex.d.ts.map +1 -1
- package/dist/lib/prompts/codex.js +128 -33
- package/dist/lib/prompts/codex.js.map +1 -1
- package/dist/lib/prompts/fetch-utils.d.ts +72 -0
- package/dist/lib/prompts/fetch-utils.d.ts.map +1 -0
- package/dist/lib/prompts/fetch-utils.js +165 -0
- package/dist/lib/prompts/fetch-utils.js.map +1 -0
- package/dist/lib/prompts/host-codex-prompt.d.ts.map +1 -1
- package/dist/lib/prompts/host-codex-prompt.js +24 -10
- package/dist/lib/prompts/host-codex-prompt.js.map +1 -1
- package/dist/lib/quota-cache.d.ts.map +1 -1
- package/dist/lib/quota-cache.js +26 -2
- package/dist/lib/quota-cache.js.map +1 -1
- package/dist/lib/quota-probe.d.ts +21 -0
- package/dist/lib/quota-probe.d.ts.map +1 -1
- package/dist/lib/quota-probe.js +41 -1
- package/dist/lib/quota-probe.js.map +1 -1
- package/dist/lib/quota-readiness.d.ts +3 -1
- package/dist/lib/quota-readiness.d.ts.map +1 -1
- package/dist/lib/quota-readiness.js +16 -3
- package/dist/lib/quota-readiness.js.map +1 -1
- package/dist/lib/recovery/storage.d.ts +7 -0
- package/dist/lib/recovery/storage.d.ts.map +1 -1
- package/dist/lib/recovery/storage.js +178 -10
- package/dist/lib/recovery/storage.js.map +1 -1
- package/dist/lib/refresh-lease.d.ts +1 -1
- package/dist/lib/refresh-lease.d.ts.map +1 -1
- package/dist/lib/refresh-lease.js +25 -3
- package/dist/lib/refresh-lease.js.map +1 -1
- package/dist/lib/refresh-queue.d.ts.map +1 -1
- package/dist/lib/refresh-queue.js +31 -17
- package/dist/lib/refresh-queue.js.map +1 -1
- package/dist/lib/request/fetch-helpers.d.ts +0 -5
- package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
- package/dist/lib/request/fetch-helpers.js +39 -7
- package/dist/lib/request/fetch-helpers.js.map +1 -1
- package/dist/lib/request/helpers/model-map.d.ts +1 -0
- package/dist/lib/request/helpers/model-map.d.ts.map +1 -1
- package/dist/lib/request/helpers/model-map.js +10 -0
- package/dist/lib/request/helpers/model-map.js.map +1 -1
- package/dist/lib/rotation.d.ts +12 -0
- package/dist/lib/rotation.d.ts.map +1 -1
- package/dist/lib/rotation.js +36 -0
- package/dist/lib/rotation.js.map +1 -1
- package/dist/lib/routing-mutex.d.ts +12 -0
- package/dist/lib/routing-mutex.d.ts.map +1 -1
- package/dist/lib/routing-mutex.js +38 -1
- package/dist/lib/routing-mutex.js.map +1 -1
- package/dist/lib/runtime/account-check-types.d.ts +1 -0
- package/dist/lib/runtime/account-check-types.d.ts.map +1 -1
- package/dist/lib/runtime/account-check-types.js +1 -0
- package/dist/lib/runtime/account-check-types.js.map +1 -1
- package/dist/lib/runtime/account-check.d.ts.map +1 -1
- package/dist/lib/runtime/account-check.js +15 -4
- package/dist/lib/runtime/account-check.js.map +1 -1
- package/dist/lib/runtime/quota-probe.d.ts.map +1 -1
- package/dist/lib/runtime/quota-probe.js +2 -5
- package/dist/lib/runtime/quota-probe.js.map +1 -1
- package/dist/lib/runtime/runtime-observability.d.ts.map +1 -1
- package/dist/lib/runtime/runtime-observability.js +24 -2
- package/dist/lib/runtime/runtime-observability.js.map +1 -1
- package/dist/lib/runtime-rotation-proxy.d.ts +24 -1
- package/dist/lib/runtime-rotation-proxy.d.ts.map +1 -1
- package/dist/lib/runtime-rotation-proxy.js +289 -26
- package/dist/lib/runtime-rotation-proxy.js.map +1 -1
- package/dist/lib/storage/account-clear.d.ts.map +1 -1
- package/dist/lib/storage/account-clear.js +4 -2
- package/dist/lib/storage/account-clear.js.map +1 -1
- package/dist/lib/storage/account-persistence.d.ts.map +1 -1
- package/dist/lib/storage/account-persistence.js +11 -1
- package/dist/lib/storage/account-persistence.js.map +1 -1
- package/dist/lib/storage/flagged-storage-io.d.ts.map +1 -1
- package/dist/lib/storage/flagged-storage-io.js +4 -1
- package/dist/lib/storage/flagged-storage-io.js.map +1 -1
- package/dist/lib/storage/import-export.d.ts.map +1 -1
- package/dist/lib/storage/import-export.js +29 -9
- package/dist/lib/storage/import-export.js.map +1 -1
- package/dist/lib/storage/paths.d.ts.map +1 -1
- package/dist/lib/storage/paths.js +93 -0
- package/dist/lib/storage/paths.js.map +1 -1
- package/dist/lib/storage/record-utils.d.ts.map +1 -1
- package/dist/lib/storage/record-utils.js +6 -1
- package/dist/lib/storage/record-utils.js.map +1 -1
- package/dist/lib/storage/storage-parser.d.ts.map +1 -1
- package/dist/lib/storage/storage-parser.js +7 -1
- package/dist/lib/storage/storage-parser.js.map +1 -1
- package/dist/lib/storage/transactions.d.ts +8 -0
- package/dist/lib/storage/transactions.d.ts.map +1 -1
- package/dist/lib/storage/transactions.js +14 -1
- package/dist/lib/storage/transactions.js.map +1 -1
- package/dist/lib/storage.d.ts.map +1 -1
- package/dist/lib/storage.js +59 -18
- package/dist/lib/storage.js.map +1 -1
- package/dist/lib/table-formatter.d.ts.map +1 -1
- package/dist/lib/table-formatter.js +20 -2
- package/dist/lib/table-formatter.js.map +1 -1
- package/dist/lib/types.d.ts +7 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/ui/auth-menu.d.ts.map +1 -1
- package/dist/lib/ui/auth-menu.js +8 -2
- package/dist/lib/ui/auth-menu.js.map +1 -1
- package/dist/lib/ui/display-width.d.ts +27 -0
- package/dist/lib/ui/display-width.d.ts.map +1 -0
- package/dist/lib/ui/display-width.js +194 -0
- package/dist/lib/ui/display-width.js.map +1 -0
- package/dist/lib/ui/select.d.ts +23 -0
- package/dist/lib/ui/select.d.ts.map +1 -1
- package/dist/lib/ui/select.js +64 -16
- package/dist/lib/ui/select.js.map +1 -1
- package/dist/lib/ui/theme.d.ts +13 -0
- package/dist/lib/ui/theme.d.ts.map +1 -1
- package/dist/lib/ui/theme.js +34 -1
- package/dist/lib/ui/theme.js.map +1 -1
- package/node_modules/@codex-ai/sdk/dist/index.d.ts +4 -0
- package/node_modules/@codex-ai/sdk/dist/index.js +2 -0
- package/node_modules/@codex-ai/sdk/package.json +8 -0
- package/package.json +10 -6
- package/scripts/codex-bin-resolver.js +28 -1
- package/scripts/codex-routing.js +3 -0
- package/scripts/codex.js +508 -1
- package/scripts/mcodex.js +367 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Display-width helpers for terminal layout (ui-02).
|
|
3
|
+
*
|
|
4
|
+
* Terminal alignment math must count *display columns*, not UTF-16 code units.
|
|
5
|
+
* `"漢".length` is 1 but it occupies 2 columns; an emoji like "😀" is 2 columns
|
|
6
|
+
* but length 2 (surrogate pair) — coincidentally right — while a combining mark
|
|
7
|
+
* occupies 0 columns. Using `.length` for padding/truncation therefore misaligns
|
|
8
|
+
* CJK/emoji content.
|
|
9
|
+
*
|
|
10
|
+
* This is a focused, dependency-free implementation covering the common cases:
|
|
11
|
+
* wide East-Asian ranges, zero-width combining marks across Latin/Cyrillic/
|
|
12
|
+
* Hebrew/Arabic/Syriac/Thai/Lao scripts, variation selectors, and grapheme
|
|
13
|
+
* clustering for ZWJ emoji sequences, emoji skin-tone modifiers, and
|
|
14
|
+
* regional-indicator flag pairs. It is not a full ICU east-asian-width table.
|
|
15
|
+
*/
|
|
16
|
+
/** Zero-width: combining marks, joiners, variation selectors across scripts. */
|
|
17
|
+
function isZeroWidthCodePoint(cp) {
|
|
18
|
+
return (cp === 0x200b || // zero-width space
|
|
19
|
+
cp === 0x200c || // zero-width non-joiner
|
|
20
|
+
cp === 0x200d || // zero-width joiner
|
|
21
|
+
cp === 0xfeff || // zero-width no-break space (BOM)
|
|
22
|
+
(cp >= 0x0300 && cp <= 0x036f) || // combining diacritical marks
|
|
23
|
+
(cp >= 0x0483 && cp <= 0x0489) || // Cyrillic combining
|
|
24
|
+
(cp >= 0x0591 && cp <= 0x05bd) || // Hebrew points
|
|
25
|
+
cp === 0x05bf ||
|
|
26
|
+
cp === 0x05c1 ||
|
|
27
|
+
cp === 0x05c2 ||
|
|
28
|
+
cp === 0x05c4 ||
|
|
29
|
+
cp === 0x05c5 ||
|
|
30
|
+
cp === 0x05c7 ||
|
|
31
|
+
(cp >= 0x0610 && cp <= 0x061a) || // Arabic
|
|
32
|
+
(cp >= 0x064b && cp <= 0x065f) ||
|
|
33
|
+
cp === 0x0670 ||
|
|
34
|
+
(cp >= 0x06d6 && cp <= 0x06dc) ||
|
|
35
|
+
(cp >= 0x06df && cp <= 0x06e4) ||
|
|
36
|
+
(cp >= 0x06e7 && cp <= 0x06e8) ||
|
|
37
|
+
(cp >= 0x06ea && cp <= 0x06ed) ||
|
|
38
|
+
cp === 0x0711 || // Syriac
|
|
39
|
+
(cp >= 0x0730 && cp <= 0x074a) ||
|
|
40
|
+
cp === 0x0e31 || // Thai
|
|
41
|
+
(cp >= 0x0e34 && cp <= 0x0e3a) ||
|
|
42
|
+
(cp >= 0x0e47 && cp <= 0x0e4e) ||
|
|
43
|
+
(cp >= 0x0eb1 && cp <= 0x0ebc) || // Lao (subset)
|
|
44
|
+
(cp >= 0x1ab0 && cp <= 0x1aff) || // combining diacritical marks extended
|
|
45
|
+
(cp >= 0x1dc0 && cp <= 0x1dff) || // combining diacritical marks supplement
|
|
46
|
+
(cp >= 0x20d0 && cp <= 0x20ff) || // combining marks for symbols
|
|
47
|
+
(cp >= 0xfe00 && cp <= 0xfe0f) || // variation selectors
|
|
48
|
+
(cp >= 0xfe20 && cp <= 0xfe2f) || // combining half marks
|
|
49
|
+
(cp >= 0xe0100 && cp <= 0xe01ef) // variation selectors supplement
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
/** Emoji skin-tone modifiers attach to the preceding base emoji (zero added width). */
|
|
53
|
+
function isEmojiModifier(cp) {
|
|
54
|
+
return cp >= 0x1f3fb && cp <= 0x1f3ff;
|
|
55
|
+
}
|
|
56
|
+
/** Regional indicator symbols (U+1F1E6–U+1F1FF) pair into a single 2-wide flag. */
|
|
57
|
+
function isRegionalIndicator(cp) {
|
|
58
|
+
return cp >= 0x1f1e6 && cp <= 0x1f1ff;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Emoji / pictographic code points that participate in ZWJ sequences. This is
|
|
62
|
+
* deliberately the emoji blocks only (NOT every 2-wide code point): a ZWJ
|
|
63
|
+
* between wide CJK text (e.g. 漢字) must NOT collapse — those are two
|
|
64
|
+
* separate 2-wide glyphs, so gating on emoji-ness keeps that width at 4.
|
|
65
|
+
*/
|
|
66
|
+
function isEmojiBase(cp) {
|
|
67
|
+
return ((cp >= 0x1f300 && cp <= 0x1faff) || // misc pictographs, emoji, symbols & pictographs ext
|
|
68
|
+
(cp >= 0x2600 && cp <= 0x27bf) || // misc symbols + dingbats
|
|
69
|
+
(cp >= 0x1f000 && cp <= 0x1f0ff) || // mahjong/domino/playing cards
|
|
70
|
+
cp === 0x2764 // heavy black heart (common ZWJ component)
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
/** Returns the number of terminal columns a single code point occupies (0, 1, or 2). */
|
|
74
|
+
function codePointWidth(cp) {
|
|
75
|
+
if (isZeroWidthCodePoint(cp)) {
|
|
76
|
+
return 0;
|
|
77
|
+
}
|
|
78
|
+
// Wide (2-column) ranges: the common CJK + fullwidth + emoji blocks.
|
|
79
|
+
if ((cp >= 0x1100 && cp <= 0x115f) || // Hangul Jamo
|
|
80
|
+
(cp >= 0x2e80 && cp <= 0x303e) || // CJK radicals, Kangxi
|
|
81
|
+
(cp >= 0x3041 && cp <= 0x33ff) || // Hiragana, Katakana, CJK symbols
|
|
82
|
+
(cp >= 0x3400 && cp <= 0x4dbf) || // CJK Ext A
|
|
83
|
+
(cp >= 0x4e00 && cp <= 0x9fff) || // CJK Unified Ideographs
|
|
84
|
+
(cp >= 0xa000 && cp <= 0xa4cf) || // Yi
|
|
85
|
+
(cp >= 0xac00 && cp <= 0xd7a3) || // Hangul syllables
|
|
86
|
+
(cp >= 0xf900 && cp <= 0xfaff) || // CJK compatibility ideographs
|
|
87
|
+
(cp >= 0xfe30 && cp <= 0xfe4f) || // CJK compatibility forms
|
|
88
|
+
(cp >= 0xff00 && cp <= 0xff60) || // Fullwidth forms
|
|
89
|
+
(cp >= 0xffe0 && cp <= 0xffe6) || // Fullwidth signs
|
|
90
|
+
(cp >= 0x1f300 && cp <= 0x1faff) || // emoji & pictographs
|
|
91
|
+
(cp >= 0x20000 && cp <= 0x3fffd) // CJK Ext B+
|
|
92
|
+
) {
|
|
93
|
+
return 2;
|
|
94
|
+
}
|
|
95
|
+
return 1;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Advance through a grapheme cluster starting at code-point index `i` in `cps`,
|
|
99
|
+
* returning [clusterWidth, nextIndex]. This collapses the three cluster shapes
|
|
100
|
+
* that a naive per-code-point sum overcounts:
|
|
101
|
+
* - ZWJ sequences (e.g. 👨👩👧): the whole join is one 2-wide glyph.
|
|
102
|
+
* - emoji + skin-tone modifier / variation selector: the modifier adds 0.
|
|
103
|
+
* - regional-indicator pairs (flags): two RIs render as one 2-wide glyph.
|
|
104
|
+
*/
|
|
105
|
+
function clusterWidthAt(cps, i) {
|
|
106
|
+
const cp = cps[i];
|
|
107
|
+
if (cp === undefined)
|
|
108
|
+
return [0, i + 1];
|
|
109
|
+
// Regional-indicator flag: consume a pair as a single width-2 glyph.
|
|
110
|
+
if (isRegionalIndicator(cp)) {
|
|
111
|
+
const next = cps[i + 1];
|
|
112
|
+
if (next !== undefined && isRegionalIndicator(next)) {
|
|
113
|
+
return [2, i + 2];
|
|
114
|
+
}
|
|
115
|
+
return [2, i + 1];
|
|
116
|
+
}
|
|
117
|
+
let width = codePointWidth(cp);
|
|
118
|
+
let j = i + 1;
|
|
119
|
+
// Absorb trailing modifiers / combining marks / ZWJ-joined code points so the
|
|
120
|
+
// whole cluster counts as the width of its leading glyph.
|
|
121
|
+
for (; j < cps.length; j += 1) {
|
|
122
|
+
const nxt = cps[j];
|
|
123
|
+
if (nxt === undefined)
|
|
124
|
+
break;
|
|
125
|
+
if (nxt === 0x200d) {
|
|
126
|
+
// ZWJ only forms a single rendered glyph when it joins emoji (e.g.
|
|
127
|
+
// 👨👩👧). For a ZWJ between non-emoji it is just a zero-width control and
|
|
128
|
+
// the following code point is its own cluster, so only absorb the joined
|
|
129
|
+
// code point when BOTH the leading glyph and the joined one are wide
|
|
130
|
+
// (emoji/pictographic). Otherwise stop and let the joiner count as 0 and
|
|
131
|
+
// the next char count on its own.
|
|
132
|
+
const joined = cps[j + 1];
|
|
133
|
+
if (isEmojiBase(cp) && joined !== undefined && isEmojiBase(joined)) {
|
|
134
|
+
j += 1; // consume the ZWJ and the joined emoji (adds no extra width)
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
// U+FE0F (variation selector-16) requests EMOJI presentation, which renders
|
|
140
|
+
// at full width 2 even for bases that are otherwise text-width 1 (e.g. ☀️
|
|
141
|
+
// U+2600, ❤️ U+2764). U+20E3 (combining enclosing keycap) forms keycap
|
|
142
|
+
// emoji like 1️⃣ / #️⃣, also width 2. Promote the cluster accordingly.
|
|
143
|
+
if (nxt === 0xfe0f || nxt === 0x20e3) {
|
|
144
|
+
width = 2;
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
if (isZeroWidthCodePoint(nxt) || isEmojiModifier(nxt)) {
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
return [width, j];
|
|
153
|
+
}
|
|
154
|
+
/** Display width of a string in terminal columns (ignores ANSI; pass stripped text). */
|
|
155
|
+
export function displayWidth(text) {
|
|
156
|
+
const cps = [];
|
|
157
|
+
for (const ch of text) {
|
|
158
|
+
const cp = ch.codePointAt(0);
|
|
159
|
+
if (cp !== undefined)
|
|
160
|
+
cps.push(cp);
|
|
161
|
+
}
|
|
162
|
+
let width = 0;
|
|
163
|
+
let i = 0;
|
|
164
|
+
while (i < cps.length) {
|
|
165
|
+
const [w, next] = clusterWidthAt(cps, i);
|
|
166
|
+
width += w;
|
|
167
|
+
i = next;
|
|
168
|
+
}
|
|
169
|
+
return width;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Truncate `text` so its display width does not exceed `maxWidth`, returning the
|
|
173
|
+
* kept prefix and its actual display width. Never splits a wide glyph or a
|
|
174
|
+
* grapheme cluster (ZWJ sequence / flag / emoji+modifier) across the boundary.
|
|
175
|
+
*/
|
|
176
|
+
export function truncateToWidth(text, maxWidth) {
|
|
177
|
+
if (maxWidth <= 0)
|
|
178
|
+
return { text: "", width: 0 };
|
|
179
|
+
const chars = [...text];
|
|
180
|
+
const cps = chars.map((ch) => ch.codePointAt(0) ?? 0);
|
|
181
|
+
let width = 0;
|
|
182
|
+
let out = "";
|
|
183
|
+
let i = 0;
|
|
184
|
+
while (i < cps.length) {
|
|
185
|
+
const [w, next] = clusterWidthAt(cps, i);
|
|
186
|
+
if (width + w > maxWidth)
|
|
187
|
+
break;
|
|
188
|
+
out += chars.slice(i, next).join("");
|
|
189
|
+
width += w;
|
|
190
|
+
i = next;
|
|
191
|
+
}
|
|
192
|
+
return { text: out, width };
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=display-width.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-width.js","sourceRoot":"","sources":["../../../lib/ui/display-width.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/ui/select.d.ts
CHANGED
|
@@ -34,6 +34,29 @@ export interface SelectOptions<T = string> {
|
|
|
34
34
|
requestRerender: () => void;
|
|
35
35
|
}) => T | null | undefined;
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Truncates a string to at most a given number of visible characters while preserving ANSI SGR sequences.
|
|
39
|
+
*
|
|
40
|
+
* Preserves ANSI color/formatting codes in the returned string and appends "..." (or "." / shorter sequences)
|
|
41
|
+
* as a visible truncation suffix when the visible length exceeds `maxVisibleChars`.
|
|
42
|
+
*
|
|
43
|
+
* Concurrency: function is pure and safe for concurrent use. Filesystem: behavior is independent of OS (including Windows).
|
|
44
|
+
* Token handling: this function does not redact or interpret token semantics; it only preserves ANSI escape sequences.
|
|
45
|
+
*
|
|
46
|
+
* @param input - The input string which may contain ANSI SGR escape sequences.
|
|
47
|
+
* @param maxVisibleChars - Maximum number of visible terminal columns to keep
|
|
48
|
+
* (CJK/emoji count as 2, combining marks as 0); values <= 0 yield an empty
|
|
49
|
+
* string. Measured by display width, not UTF-16 code units, so a wide-glyph
|
|
50
|
+
* label cannot overflow the column budget and wrap to an extra physical row
|
|
51
|
+
* (which would desync the render's up-cursor line accounting).
|
|
52
|
+
* @returns The input string truncated so its visible display width does not
|
|
53
|
+
* exceed `maxVisibleChars`, with ANSI codes preserved and a truncation suffix
|
|
54
|
+
* appended when truncation occurred.
|
|
55
|
+
*
|
|
56
|
+
* @internal Exported for unit testing of ANSI reset placement (ui-01); not part
|
|
57
|
+
* of the public UI surface.
|
|
58
|
+
*/
|
|
59
|
+
export declare function truncateAnsi(input: string, maxVisibleChars: number): string;
|
|
37
60
|
/**
|
|
38
61
|
* Present an interactive TTY menu, let the user navigate and choose an item.
|
|
39
62
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../lib/ui/select.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../lib/ui/select.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,MAAM;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC5C;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,MAAM;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,UAAU,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IACnC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,CAChB,OAAO,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,eAAe,EAAE,MAAM,IAAI,CAAC;KAC5B,KACG,IAAI,CAAC;IACV,OAAO,CAAC,EAAE,CACT,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,eAAe,EAAE,MAAM,IAAI,CAAC;KAC5B,KACG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CAC1B;AAUD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAsC3E;AAgED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CA2YlG"}
|
package/dist/lib/ui/select.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ANSI, isTTY, parseKey } from "./ansi.js";
|
|
2
|
+
import { displayWidth } from "./display-width.js";
|
|
2
3
|
const ESCAPE_TIMEOUT_MS = 50;
|
|
3
4
|
const ANSI_REGEX = /\x1b\[[0-9;]*m/g;
|
|
4
5
|
const ANSI_LEADING_REGEX = /^\x1b\[[0-9;]*m/;
|
|
@@ -15,21 +16,31 @@ function stripAnsi(input) {
|
|
|
15
16
|
* Token handling: this function does not redact or interpret token semantics; it only preserves ANSI escape sequences.
|
|
16
17
|
*
|
|
17
18
|
* @param input - The input string which may contain ANSI SGR escape sequences.
|
|
18
|
-
* @param maxVisibleChars - Maximum number of visible
|
|
19
|
-
*
|
|
19
|
+
* @param maxVisibleChars - Maximum number of visible terminal columns to keep
|
|
20
|
+
* (CJK/emoji count as 2, combining marks as 0); values <= 0 yield an empty
|
|
21
|
+
* string. Measured by display width, not UTF-16 code units, so a wide-glyph
|
|
22
|
+
* label cannot overflow the column budget and wrap to an extra physical row
|
|
23
|
+
* (which would desync the render's up-cursor line accounting).
|
|
24
|
+
* @returns The input string truncated so its visible display width does not
|
|
25
|
+
* exceed `maxVisibleChars`, with ANSI codes preserved and a truncation suffix
|
|
26
|
+
* appended when truncation occurred.
|
|
27
|
+
*
|
|
28
|
+
* @internal Exported for unit testing of ANSI reset placement (ui-01); not part
|
|
29
|
+
* of the public UI surface.
|
|
20
30
|
*/
|
|
21
|
-
function truncateAnsi(input, maxVisibleChars) {
|
|
31
|
+
export function truncateAnsi(input, maxVisibleChars) {
|
|
22
32
|
if (maxVisibleChars <= 0)
|
|
23
33
|
return "";
|
|
24
34
|
const visible = stripAnsi(input);
|
|
25
|
-
if (visible
|
|
35
|
+
if (displayWidth(visible) <= maxVisibleChars)
|
|
26
36
|
return input;
|
|
37
|
+
// Reserve room for the suffix in display columns ("..." is 3 columns).
|
|
27
38
|
const suffix = maxVisibleChars >= 3 ? "..." : ".".repeat(maxVisibleChars);
|
|
28
|
-
const keep = Math.max(0, maxVisibleChars - suffix
|
|
29
|
-
let
|
|
39
|
+
const keep = Math.max(0, maxVisibleChars - displayWidth(suffix));
|
|
40
|
+
let keptWidth = 0;
|
|
30
41
|
let index = 0;
|
|
31
42
|
let output = "";
|
|
32
|
-
while (index < input.length &&
|
|
43
|
+
while (index < input.length && keptWidth < keep) {
|
|
33
44
|
if (input[index] === "\x1b") {
|
|
34
45
|
const match = input.slice(index).match(ANSI_LEADING_REGEX);
|
|
35
46
|
if (match) {
|
|
@@ -38,11 +49,24 @@ function truncateAnsi(input, maxVisibleChars) {
|
|
|
38
49
|
continue;
|
|
39
50
|
}
|
|
40
51
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
52
|
+
// Advance one full code point (surrogate-pair aware) and budget by its
|
|
53
|
+
// display width so a 2-column glyph is never split or allowed to overflow.
|
|
54
|
+
const cp = input.codePointAt(index);
|
|
55
|
+
const ch = cp !== undefined ? String.fromCodePoint(cp) : (input[index] ?? "");
|
|
56
|
+
if (ch === "")
|
|
57
|
+
break;
|
|
58
|
+
const w = displayWidth(ch);
|
|
59
|
+
if (keptWidth + w > keep)
|
|
60
|
+
break;
|
|
61
|
+
output += ch;
|
|
62
|
+
index += ch.length;
|
|
63
|
+
keptWidth += w;
|
|
44
64
|
}
|
|
45
|
-
|
|
65
|
+
// ui-01: if the kept portion contains any ANSI escape (e.g. a color that the
|
|
66
|
+
// truncated tail would have closed), append a reset so the color does not bleed
|
|
67
|
+
// past the truncation point into the rest of the terminal line.
|
|
68
|
+
const reset = output.includes("\x1b") ? "\x1b[0m" : "";
|
|
69
|
+
return output + suffix + reset;
|
|
46
70
|
}
|
|
47
71
|
/**
|
|
48
72
|
* Map a MenuItem color to its ANSI SGR color code.
|
|
@@ -334,18 +358,42 @@ export async function select(items, options) {
|
|
|
334
358
|
clearTimeout(escapeTimeout);
|
|
335
359
|
escapeTimeout = null;
|
|
336
360
|
}
|
|
361
|
+
// Tear down the render interval and data listener BEFORE the fragile
|
|
362
|
+
// setRawMode call. setRawMode can throw depending on stream/terminal
|
|
363
|
+
// state; if it did, the old ordering jumped to the empty catch and left
|
|
364
|
+
// the setInterval firing forever — corrupting the terminal and keeping
|
|
365
|
+
// the process alive so the CLI never exits.
|
|
366
|
+
if (refreshTimer) {
|
|
367
|
+
clearInterval(refreshTimer);
|
|
368
|
+
refreshTimer = null;
|
|
369
|
+
}
|
|
337
370
|
try {
|
|
338
371
|
stdin.removeListener("data", onKey);
|
|
372
|
+
}
|
|
373
|
+
catch {
|
|
374
|
+
// best effort
|
|
375
|
+
}
|
|
376
|
+
// Each teardown step runs in its own try so a throw in one (setRawMode is
|
|
377
|
+
// notoriously fragile) cannot skip the others. Cursor restoration in
|
|
378
|
+
// particular must always run, or a thrown setRawMode would leave the
|
|
379
|
+
// terminal cursor hidden after the prompt exits.
|
|
380
|
+
try {
|
|
339
381
|
stdin.setRawMode(wasRaw);
|
|
382
|
+
}
|
|
383
|
+
catch {
|
|
384
|
+
// best effort
|
|
385
|
+
}
|
|
386
|
+
try {
|
|
340
387
|
stdin.pause();
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
388
|
+
}
|
|
389
|
+
catch {
|
|
390
|
+
// best effort
|
|
391
|
+
}
|
|
392
|
+
try {
|
|
345
393
|
stdout.write(ANSI.show);
|
|
346
394
|
}
|
|
347
395
|
catch {
|
|
348
|
-
// best effort
|
|
396
|
+
// best effort
|
|
349
397
|
}
|
|
350
398
|
process.removeListener("SIGINT", onSignal);
|
|
351
399
|
process.removeListener("SIGTERM", onSignal);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../lib/ui/select.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../lib/ui/select.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/ui/theme.d.ts
CHANGED
|
@@ -32,6 +32,17 @@ export interface UiTheme {
|
|
|
32
32
|
glyphs: UiGlyphSet;
|
|
33
33
|
colors: UiThemeColors;
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Decide whether ANSI color output should be suppressed (ui-04).
|
|
37
|
+
*
|
|
38
|
+
* Honors the de-facto conventions:
|
|
39
|
+
* - NO_COLOR set (to anything) disables color (https://no-color.org)
|
|
40
|
+
* - FORCE_COLOR overrides: "0"/"false" forces off, any other value forces on
|
|
41
|
+
* - otherwise, color is off when stdout is not a TTY (piped/redirected)
|
|
42
|
+
*
|
|
43
|
+
* Injectable env/isTTY keep this unit-testable.
|
|
44
|
+
*/
|
|
45
|
+
export declare function shouldDisableColor(env?: NodeJS.ProcessEnv, isTTY?: boolean): boolean;
|
|
35
46
|
/**
|
|
36
47
|
* Create a UI theme object for terminal rendering.
|
|
37
48
|
*
|
|
@@ -40,6 +51,7 @@ export interface UiTheme {
|
|
|
40
51
|
* - glyphMode: glyph rendering mode; defaults to `"ascii"`.
|
|
41
52
|
* - palette: overall palette variant; defaults to `"green"`.
|
|
42
53
|
* - accent: accent color selection; defaults to `"green"`.
|
|
54
|
+
* - disableColor: force the color-stripped theme regardless of env/TTY.
|
|
43
55
|
* @returns The constructed UiTheme object containing `profile`, `glyphMode`, `glyphs`, and `colors`.
|
|
44
56
|
*
|
|
45
57
|
* @remarks
|
|
@@ -52,5 +64,6 @@ export declare function createUiTheme(options?: {
|
|
|
52
64
|
glyphMode?: UiGlyphMode;
|
|
53
65
|
palette?: UiPalette;
|
|
54
66
|
accent?: UiAccent;
|
|
67
|
+
disableColor?: boolean;
|
|
55
68
|
}): UiTheme;
|
|
56
69
|
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../lib/ui/theme.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAChE,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AACvD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AACzC,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE5D,MAAM,WAAW,UAAU;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACvB,OAAO,EAAE,cAAc,CAAC;IACxB,SAAS,EAAE,WAAW,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;CACtB;AAiKD
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../lib/ui/theme.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAChE,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AACvD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AACzC,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE5D,MAAM,WAAW,UAAU;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACvB,OAAO,EAAE,cAAc,CAAC;IACxB,SAAS,EAAE,WAAW,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;CACtB;AAiKD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CACjC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,KAAK,GAAE,OAAwC,GAC7C,OAAO,CAMT;AAWD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE;IACvC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,OAAO,CAgBV"}
|
package/dist/lib/ui/theme.js
CHANGED
|
@@ -155,6 +155,34 @@ function getColors(profile, palette, accent) {
|
|
|
155
155
|
};
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Decide whether ANSI color output should be suppressed (ui-04).
|
|
160
|
+
*
|
|
161
|
+
* Honors the de-facto conventions:
|
|
162
|
+
* - NO_COLOR set (to anything) disables color (https://no-color.org)
|
|
163
|
+
* - FORCE_COLOR overrides: "0"/"false" forces off, any other value forces on
|
|
164
|
+
* - otherwise, color is off when stdout is not a TTY (piped/redirected)
|
|
165
|
+
*
|
|
166
|
+
* Injectable env/isTTY keep this unit-testable.
|
|
167
|
+
*/
|
|
168
|
+
export function shouldDisableColor(env = process.env, isTTY = Boolean(process.stdout?.isTTY)) {
|
|
169
|
+
const force = (env.FORCE_COLOR ?? "").trim().toLowerCase();
|
|
170
|
+
if (force === "0" || force === "false")
|
|
171
|
+
return true;
|
|
172
|
+
if (force.length > 0)
|
|
173
|
+
return false; // explicit force-on wins over TTY/NO_COLOR
|
|
174
|
+
if (typeof env.NO_COLOR === "string")
|
|
175
|
+
return true;
|
|
176
|
+
return !isTTY;
|
|
177
|
+
}
|
|
178
|
+
/** Replace every color token with an empty string (color-disabled theme). */
|
|
179
|
+
function stripColors(colors) {
|
|
180
|
+
const blanked = {};
|
|
181
|
+
for (const key of Object.keys(colors)) {
|
|
182
|
+
blanked[key] = "";
|
|
183
|
+
}
|
|
184
|
+
return blanked;
|
|
185
|
+
}
|
|
158
186
|
/**
|
|
159
187
|
* Create a UI theme object for terminal rendering.
|
|
160
188
|
*
|
|
@@ -163,6 +191,7 @@ function getColors(profile, palette, accent) {
|
|
|
163
191
|
* - glyphMode: glyph rendering mode; defaults to `"ascii"`.
|
|
164
192
|
* - palette: overall palette variant; defaults to `"green"`.
|
|
165
193
|
* - accent: accent color selection; defaults to `"green"`.
|
|
194
|
+
* - disableColor: force the color-stripped theme regardless of env/TTY.
|
|
166
195
|
* @returns The constructed UiTheme object containing `profile`, `glyphMode`, `glyphs`, and `colors`.
|
|
167
196
|
*
|
|
168
197
|
* @remarks
|
|
@@ -176,11 +205,15 @@ export function createUiTheme(options) {
|
|
|
176
205
|
const palette = options?.palette ?? "green";
|
|
177
206
|
const accent = options?.accent ?? "green";
|
|
178
207
|
const resolvedGlyphMode = resolveGlyphMode(glyphMode);
|
|
208
|
+
const colors = getColors(profile, palette, accent);
|
|
209
|
+
// ui-04: honor NO_COLOR / FORCE_COLOR / non-TTY by blanking color tokens. The
|
|
210
|
+
// caller may also force this explicitly (e.g. for snapshot-stable output).
|
|
211
|
+
const disableColor = options?.disableColor ?? shouldDisableColor();
|
|
179
212
|
return {
|
|
180
213
|
profile,
|
|
181
214
|
glyphMode,
|
|
182
215
|
glyphs: getGlyphs(resolvedGlyphMode),
|
|
183
|
-
colors:
|
|
216
|
+
colors: disableColor ? stripColors(colors) : colors,
|
|
184
217
|
};
|
|
185
218
|
}
|
|
186
219
|
//# sourceMappingURL=theme.js.map
|
package/dist/lib/ui/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../lib/ui/theme.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../lib/ui/theme.ts"],"names":[],"mappings":"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"}
|