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.
Files changed (241) hide show
  1. package/.codex-plugin/plugin.json +9 -0
  2. package/README.md +5 -4
  3. package/dist/lib/accounts.d.ts.map +1 -1
  4. package/dist/lib/accounts.js +30 -1
  5. package/dist/lib/accounts.js.map +1 -1
  6. package/dist/lib/auth/device-auth.d.ts.map +1 -1
  7. package/dist/lib/auth/device-auth.js +15 -0
  8. package/dist/lib/auth/device-auth.js.map +1 -1
  9. package/dist/lib/auth/org-override.d.ts +19 -0
  10. package/dist/lib/auth/org-override.d.ts.map +1 -0
  11. package/dist/lib/auth/org-override.js +23 -0
  12. package/dist/lib/auth/org-override.js.map +1 -0
  13. package/dist/lib/auth/server.d.ts.map +1 -1
  14. package/dist/lib/auth/server.js +12 -7
  15. package/dist/lib/auth/server.js.map +1 -1
  16. package/dist/lib/capability-policy.d.ts.map +1 -1
  17. package/dist/lib/capability-policy.js +5 -0
  18. package/dist/lib/capability-policy.js.map +1 -1
  19. package/dist/lib/circuit-breaker.d.ts +6 -0
  20. package/dist/lib/circuit-breaker.d.ts.map +1 -1
  21. package/dist/lib/circuit-breaker.js +8 -0
  22. package/dist/lib/circuit-breaker.js.map +1 -1
  23. package/dist/lib/codex-cli/state.d.ts.map +1 -1
  24. package/dist/lib/codex-cli/state.js +28 -7
  25. package/dist/lib/codex-cli/state.js.map +1 -1
  26. package/dist/lib/codex-manager/account-manager-commands.d.ts +14 -0
  27. package/dist/lib/codex-manager/account-manager-commands.d.ts.map +1 -0
  28. package/dist/lib/codex-manager/account-manager-commands.js +43 -0
  29. package/dist/lib/codex-manager/account-manager-commands.js.map +1 -0
  30. package/dist/lib/codex-manager/commands/best.d.ts +1 -1
  31. package/dist/lib/codex-manager/commands/best.d.ts.map +1 -1
  32. package/dist/lib/codex-manager/commands/best.js +4 -3
  33. package/dist/lib/codex-manager/commands/best.js.map +1 -1
  34. package/dist/lib/codex-manager/commands/budget.d.ts.map +1 -1
  35. package/dist/lib/codex-manager/commands/budget.js +6 -0
  36. package/dist/lib/codex-manager/commands/budget.js.map +1 -1
  37. package/dist/lib/codex-manager/commands/debug-bundle.d.ts +16 -0
  38. package/dist/lib/codex-manager/commands/debug-bundle.d.ts.map +1 -1
  39. package/dist/lib/codex-manager/commands/debug-bundle.js +80 -5
  40. package/dist/lib/codex-manager/commands/debug-bundle.js.map +1 -1
  41. package/dist/lib/codex-manager/commands/forecast.d.ts +1 -1
  42. package/dist/lib/codex-manager/commands/forecast.d.ts.map +1 -1
  43. package/dist/lib/codex-manager/commands/forecast.js +11 -8
  44. package/dist/lib/codex-manager/commands/forecast.js.map +1 -1
  45. package/dist/lib/codex-manager/commands/integrations.js +2 -2
  46. package/dist/lib/codex-manager/commands/integrations.js.map +1 -1
  47. package/dist/lib/codex-manager/commands/models.js +3 -3
  48. package/dist/lib/codex-manager/commands/models.js.map +1 -1
  49. package/dist/lib/codex-manager/commands/report.d.ts.map +1 -1
  50. package/dist/lib/codex-manager/commands/report.js +11 -9
  51. package/dist/lib/codex-manager/commands/report.js.map +1 -1
  52. package/dist/lib/codex-manager/commands/status.d.ts +2 -0
  53. package/dist/lib/codex-manager/commands/status.d.ts.map +1 -1
  54. package/dist/lib/codex-manager/commands/status.js +84 -25
  55. package/dist/lib/codex-manager/commands/status.js.map +1 -1
  56. package/dist/lib/codex-manager/commands/switch.d.ts.map +1 -1
  57. package/dist/lib/codex-manager/commands/switch.js +7 -0
  58. package/dist/lib/codex-manager/commands/switch.js.map +1 -1
  59. package/dist/lib/codex-manager/commands/workspace.d.ts.map +1 -1
  60. package/dist/lib/codex-manager/commands/workspace.js +12 -1
  61. package/dist/lib/codex-manager/commands/workspace.js.map +1 -1
  62. package/dist/lib/codex-manager/experimental-settings-prompt.d.ts.map +1 -1
  63. package/dist/lib/codex-manager/experimental-settings-prompt.js +13 -3
  64. package/dist/lib/codex-manager/experimental-settings-prompt.js.map +1 -1
  65. package/dist/lib/codex-manager/forecast-report-commands.d.ts.map +1 -1
  66. package/dist/lib/codex-manager/forecast-report-commands.js +14 -13
  67. package/dist/lib/codex-manager/forecast-report-commands.js.map +1 -1
  68. package/dist/lib/codex-manager/help.d.ts.map +1 -1
  69. package/dist/lib/codex-manager/help.js +7 -5
  70. package/dist/lib/codex-manager/help.js.map +1 -1
  71. package/dist/lib/codex-manager/repair-commands.d.ts.map +1 -1
  72. package/dist/lib/codex-manager/repair-commands.js +18 -8
  73. package/dist/lib/codex-manager/repair-commands.js.map +1 -1
  74. package/dist/lib/codex-manager/settings-hub/experimental.d.ts.map +1 -1
  75. package/dist/lib/codex-manager/settings-hub/experimental.js +8 -0
  76. package/dist/lib/codex-manager/settings-hub/experimental.js.map +1 -1
  77. package/dist/lib/codex-manager.d.ts +3 -0
  78. package/dist/lib/codex-manager.d.ts.map +1 -1
  79. package/dist/lib/codex-manager.js +121 -93
  80. package/dist/lib/codex-manager.js.map +1 -1
  81. package/dist/lib/config.d.ts.map +1 -1
  82. package/dist/lib/config.js +327 -18
  83. package/dist/lib/config.js.map +1 -1
  84. package/dist/lib/context-overflow.d.ts +7 -2
  85. package/dist/lib/context-overflow.d.ts.map +1 -1
  86. package/dist/lib/context-overflow.js +55 -37
  87. package/dist/lib/context-overflow.js.map +1 -1
  88. package/dist/lib/errors.d.ts +16 -0
  89. package/dist/lib/errors.d.ts.map +1 -1
  90. package/dist/lib/errors.js +23 -0
  91. package/dist/lib/errors.js.map +1 -1
  92. package/dist/lib/forecast.d.ts +1 -0
  93. package/dist/lib/forecast.d.ts.map +1 -1
  94. package/dist/lib/forecast.js +25 -2
  95. package/dist/lib/forecast.js.map +1 -1
  96. package/dist/lib/integration-generators.d.ts.map +1 -1
  97. package/dist/lib/integration-generators.js +1 -1
  98. package/dist/lib/integration-generators.js.map +1 -1
  99. package/dist/lib/local-bridge.d.ts +8 -0
  100. package/dist/lib/local-bridge.d.ts.map +1 -1
  101. package/dist/lib/local-bridge.js +81 -7
  102. package/dist/lib/local-bridge.js.map +1 -1
  103. package/dist/lib/local-client-tokens.d.ts.map +1 -1
  104. package/dist/lib/local-client-tokens.js +117 -64
  105. package/dist/lib/local-client-tokens.js.map +1 -1
  106. package/dist/lib/logger.d.ts +9 -1
  107. package/dist/lib/logger.d.ts.map +1 -1
  108. package/dist/lib/logger.js +104 -19
  109. package/dist/lib/logger.js.map +1 -1
  110. package/dist/lib/model-capability-matrix.d.ts.map +1 -1
  111. package/dist/lib/model-capability-matrix.js +13 -10
  112. package/dist/lib/model-capability-matrix.js.map +1 -1
  113. package/dist/lib/oc-chatgpt-orchestrator.d.ts +7 -1
  114. package/dist/lib/oc-chatgpt-orchestrator.d.ts.map +1 -1
  115. package/dist/lib/oc-chatgpt-orchestrator.js +68 -9
  116. package/dist/lib/oc-chatgpt-orchestrator.js.map +1 -1
  117. package/dist/lib/policy/runtime-policy.d.ts.map +1 -1
  118. package/dist/lib/policy/runtime-policy.js +23 -1
  119. package/dist/lib/policy/runtime-policy.js.map +1 -1
  120. package/dist/lib/prompts/codex.d.ts +1 -1
  121. package/dist/lib/prompts/codex.d.ts.map +1 -1
  122. package/dist/lib/prompts/codex.js +128 -33
  123. package/dist/lib/prompts/codex.js.map +1 -1
  124. package/dist/lib/prompts/fetch-utils.d.ts +72 -0
  125. package/dist/lib/prompts/fetch-utils.d.ts.map +1 -0
  126. package/dist/lib/prompts/fetch-utils.js +165 -0
  127. package/dist/lib/prompts/fetch-utils.js.map +1 -0
  128. package/dist/lib/prompts/host-codex-prompt.d.ts.map +1 -1
  129. package/dist/lib/prompts/host-codex-prompt.js +24 -10
  130. package/dist/lib/prompts/host-codex-prompt.js.map +1 -1
  131. package/dist/lib/quota-cache.d.ts.map +1 -1
  132. package/dist/lib/quota-cache.js +26 -2
  133. package/dist/lib/quota-cache.js.map +1 -1
  134. package/dist/lib/quota-probe.d.ts +21 -0
  135. package/dist/lib/quota-probe.d.ts.map +1 -1
  136. package/dist/lib/quota-probe.js +41 -1
  137. package/dist/lib/quota-probe.js.map +1 -1
  138. package/dist/lib/quota-readiness.d.ts +3 -1
  139. package/dist/lib/quota-readiness.d.ts.map +1 -1
  140. package/dist/lib/quota-readiness.js +16 -3
  141. package/dist/lib/quota-readiness.js.map +1 -1
  142. package/dist/lib/recovery/storage.d.ts +7 -0
  143. package/dist/lib/recovery/storage.d.ts.map +1 -1
  144. package/dist/lib/recovery/storage.js +178 -10
  145. package/dist/lib/recovery/storage.js.map +1 -1
  146. package/dist/lib/refresh-lease.d.ts +1 -1
  147. package/dist/lib/refresh-lease.d.ts.map +1 -1
  148. package/dist/lib/refresh-lease.js +25 -3
  149. package/dist/lib/refresh-lease.js.map +1 -1
  150. package/dist/lib/refresh-queue.d.ts.map +1 -1
  151. package/dist/lib/refresh-queue.js +31 -17
  152. package/dist/lib/refresh-queue.js.map +1 -1
  153. package/dist/lib/request/fetch-helpers.d.ts +0 -5
  154. package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
  155. package/dist/lib/request/fetch-helpers.js +39 -7
  156. package/dist/lib/request/fetch-helpers.js.map +1 -1
  157. package/dist/lib/request/helpers/model-map.d.ts +1 -0
  158. package/dist/lib/request/helpers/model-map.d.ts.map +1 -1
  159. package/dist/lib/request/helpers/model-map.js +10 -0
  160. package/dist/lib/request/helpers/model-map.js.map +1 -1
  161. package/dist/lib/rotation.d.ts +12 -0
  162. package/dist/lib/rotation.d.ts.map +1 -1
  163. package/dist/lib/rotation.js +36 -0
  164. package/dist/lib/rotation.js.map +1 -1
  165. package/dist/lib/routing-mutex.d.ts +12 -0
  166. package/dist/lib/routing-mutex.d.ts.map +1 -1
  167. package/dist/lib/routing-mutex.js +38 -1
  168. package/dist/lib/routing-mutex.js.map +1 -1
  169. package/dist/lib/runtime/account-check-types.d.ts +1 -0
  170. package/dist/lib/runtime/account-check-types.d.ts.map +1 -1
  171. package/dist/lib/runtime/account-check-types.js +1 -0
  172. package/dist/lib/runtime/account-check-types.js.map +1 -1
  173. package/dist/lib/runtime/account-check.d.ts.map +1 -1
  174. package/dist/lib/runtime/account-check.js +15 -4
  175. package/dist/lib/runtime/account-check.js.map +1 -1
  176. package/dist/lib/runtime/quota-probe.d.ts.map +1 -1
  177. package/dist/lib/runtime/quota-probe.js +2 -5
  178. package/dist/lib/runtime/quota-probe.js.map +1 -1
  179. package/dist/lib/runtime/runtime-observability.d.ts.map +1 -1
  180. package/dist/lib/runtime/runtime-observability.js +24 -2
  181. package/dist/lib/runtime/runtime-observability.js.map +1 -1
  182. package/dist/lib/runtime-rotation-proxy.d.ts +24 -1
  183. package/dist/lib/runtime-rotation-proxy.d.ts.map +1 -1
  184. package/dist/lib/runtime-rotation-proxy.js +289 -26
  185. package/dist/lib/runtime-rotation-proxy.js.map +1 -1
  186. package/dist/lib/storage/account-clear.d.ts.map +1 -1
  187. package/dist/lib/storage/account-clear.js +4 -2
  188. package/dist/lib/storage/account-clear.js.map +1 -1
  189. package/dist/lib/storage/account-persistence.d.ts.map +1 -1
  190. package/dist/lib/storage/account-persistence.js +11 -1
  191. package/dist/lib/storage/account-persistence.js.map +1 -1
  192. package/dist/lib/storage/flagged-storage-io.d.ts.map +1 -1
  193. package/dist/lib/storage/flagged-storage-io.js +4 -1
  194. package/dist/lib/storage/flagged-storage-io.js.map +1 -1
  195. package/dist/lib/storage/import-export.d.ts.map +1 -1
  196. package/dist/lib/storage/import-export.js +29 -9
  197. package/dist/lib/storage/import-export.js.map +1 -1
  198. package/dist/lib/storage/paths.d.ts.map +1 -1
  199. package/dist/lib/storage/paths.js +93 -0
  200. package/dist/lib/storage/paths.js.map +1 -1
  201. package/dist/lib/storage/record-utils.d.ts.map +1 -1
  202. package/dist/lib/storage/record-utils.js +6 -1
  203. package/dist/lib/storage/record-utils.js.map +1 -1
  204. package/dist/lib/storage/storage-parser.d.ts.map +1 -1
  205. package/dist/lib/storage/storage-parser.js +7 -1
  206. package/dist/lib/storage/storage-parser.js.map +1 -1
  207. package/dist/lib/storage/transactions.d.ts +8 -0
  208. package/dist/lib/storage/transactions.d.ts.map +1 -1
  209. package/dist/lib/storage/transactions.js +14 -1
  210. package/dist/lib/storage/transactions.js.map +1 -1
  211. package/dist/lib/storage.d.ts.map +1 -1
  212. package/dist/lib/storage.js +59 -18
  213. package/dist/lib/storage.js.map +1 -1
  214. package/dist/lib/table-formatter.d.ts.map +1 -1
  215. package/dist/lib/table-formatter.js +20 -2
  216. package/dist/lib/table-formatter.js.map +1 -1
  217. package/dist/lib/types.d.ts +7 -0
  218. package/dist/lib/types.d.ts.map +1 -1
  219. package/dist/lib/ui/auth-menu.d.ts.map +1 -1
  220. package/dist/lib/ui/auth-menu.js +8 -2
  221. package/dist/lib/ui/auth-menu.js.map +1 -1
  222. package/dist/lib/ui/display-width.d.ts +27 -0
  223. package/dist/lib/ui/display-width.d.ts.map +1 -0
  224. package/dist/lib/ui/display-width.js +194 -0
  225. package/dist/lib/ui/display-width.js.map +1 -0
  226. package/dist/lib/ui/select.d.ts +23 -0
  227. package/dist/lib/ui/select.d.ts.map +1 -1
  228. package/dist/lib/ui/select.js +64 -16
  229. package/dist/lib/ui/select.js.map +1 -1
  230. package/dist/lib/ui/theme.d.ts +13 -0
  231. package/dist/lib/ui/theme.d.ts.map +1 -1
  232. package/dist/lib/ui/theme.js +34 -1
  233. package/dist/lib/ui/theme.js.map +1 -1
  234. package/node_modules/@codex-ai/sdk/dist/index.d.ts +4 -0
  235. package/node_modules/@codex-ai/sdk/dist/index.js +2 -0
  236. package/node_modules/@codex-ai/sdk/package.json +8 -0
  237. package/package.json +10 -6
  238. package/scripts/codex-bin-resolver.js +28 -1
  239. package/scripts/codex-routing.js +3 -0
  240. package/scripts/codex.js +508 -1
  241. 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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"}
@@ -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":"AACA,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;AAiHD;;;;;;;;;;;;;;;;;;;;;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,CAqXlG"}
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"}
@@ -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 (non-ANSI) characters to keep; values <= 0 yield an empty string.
19
- * @returns The input string truncated so its visible character count does not exceed `maxVisibleChars`, with ANSI codes preserved and a truncation suffix appended when truncation occurred.
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.length <= maxVisibleChars)
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.length);
29
- let kept = 0;
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 && kept < keep) {
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
- output += input[index];
42
- index += 1;
43
- kept += 1;
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
- return output + suffix;
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
- if (refreshTimer) {
342
- clearInterval(refreshTimer);
343
- refreshTimer = null;
344
- }
388
+ }
389
+ catch {
390
+ // best effort
391
+ }
392
+ try {
345
393
  stdout.write(ANSI.show);
346
394
  }
347
395
  catch {
348
- // best effort cleanup
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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"}
@@ -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;;;;;;;;;;;;;;GAcG;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;CAClB,GAAG,OAAO,CAYV"}
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"}
@@ -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: getColors(profile, palette, accent),
216
+ colors: disableColor ? stripColors(colors) : colors,
184
217
  };
185
218
  }
186
219
  //# sourceMappingURL=theme.js.map
@@ -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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"}
@@ -0,0 +1,4 @@
1
+ export type Auth = any;
2
+ export type Provider = any;
3
+ export type Model = any;
4
+ export type CodexClient = any;
@@ -0,0 +1,2 @@
1
+ export {};
2
+
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "@codex-ai/sdk",
3
+ "version": "1.2.10-codex.1",
4
+ "type": "module",
5
+ "exports": {
6
+ ".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" }
7
+ }
8
+ }