oc-codex-multi-auth 6.0.0 → 6.1.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 (284) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +56 -18
  3. package/assets/readme-hero.svg +10 -10
  4. package/config/README.md +1 -1
  5. package/config/minimal-opencode.json +1 -1
  6. package/config/opencode-legacy.json +1 -1
  7. package/config/opencode-modern.json +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +112 -2525
  11. package/dist/index.js.map +1 -1
  12. package/dist/lib/accounts/persistence.d.ts +34 -0
  13. package/dist/lib/accounts/persistence.d.ts.map +1 -0
  14. package/dist/lib/accounts/persistence.js +153 -0
  15. package/dist/lib/accounts/persistence.js.map +1 -0
  16. package/dist/lib/accounts/recovery.d.ts +59 -0
  17. package/dist/lib/accounts/recovery.d.ts.map +1 -0
  18. package/dist/lib/accounts/recovery.js +229 -0
  19. package/dist/lib/accounts/recovery.js.map +1 -0
  20. package/dist/lib/accounts/rotation.d.ts +40 -0
  21. package/dist/lib/accounts/rotation.d.ts.map +1 -0
  22. package/dist/lib/accounts/rotation.js +204 -0
  23. package/dist/lib/accounts/rotation.js.map +1 -0
  24. package/dist/lib/accounts/state.d.ts +92 -0
  25. package/dist/lib/accounts/state.d.ts.map +1 -0
  26. package/dist/lib/accounts/state.js +366 -0
  27. package/dist/lib/accounts/state.js.map +1 -0
  28. package/dist/lib/accounts.d.ts +48 -91
  29. package/dist/lib/accounts.d.ts.map +1 -1
  30. package/dist/lib/accounts.js +121 -699
  31. package/dist/lib/accounts.js.map +1 -1
  32. package/dist/lib/auth/auth.d.ts +1 -1
  33. package/dist/lib/auth/auth.d.ts.map +1 -1
  34. package/dist/lib/auth/auth.js +5 -2
  35. package/dist/lib/auth/auth.js.map +1 -1
  36. package/dist/lib/auth/login-runner.d.ts +32 -0
  37. package/dist/lib/auth/login-runner.d.ts.map +1 -1
  38. package/dist/lib/auth/login-runner.js +79 -64
  39. package/dist/lib/auth/login-runner.js.map +1 -1
  40. package/dist/lib/auth/server.d.ts.map +1 -1
  41. package/dist/lib/auth/server.js +3 -8
  42. package/dist/lib/auth/server.js.map +1 -1
  43. package/dist/lib/circuit-breaker.d.ts +53 -2
  44. package/dist/lib/circuit-breaker.d.ts.map +1 -1
  45. package/dist/lib/circuit-breaker.js +65 -6
  46. package/dist/lib/circuit-breaker.js.map +1 -1
  47. package/dist/lib/config.d.ts.map +1 -1
  48. package/dist/lib/config.js +77 -32
  49. package/dist/lib/config.js.map +1 -1
  50. package/dist/lib/error-sentinels.d.ts +20 -0
  51. package/dist/lib/error-sentinels.d.ts.map +1 -0
  52. package/dist/lib/error-sentinels.js +28 -0
  53. package/dist/lib/error-sentinels.js.map +1 -0
  54. package/dist/lib/errors.d.ts +100 -1
  55. package/dist/lib/errors.d.ts.map +1 -1
  56. package/dist/lib/errors.js +116 -1
  57. package/dist/lib/errors.js.map +1 -1
  58. package/dist/lib/logger.d.ts +14 -1
  59. package/dist/lib/logger.d.ts.map +1 -1
  60. package/dist/lib/logger.js +65 -5
  61. package/dist/lib/logger.js.map +1 -1
  62. package/dist/lib/oauth-constants.d.ts +18 -0
  63. package/dist/lib/oauth-constants.d.ts.map +1 -0
  64. package/dist/lib/oauth-constants.js +18 -0
  65. package/dist/lib/oauth-constants.js.map +1 -0
  66. package/dist/lib/oauth-success.d.ts +2 -0
  67. package/dist/lib/oauth-success.d.ts.map +1 -0
  68. package/dist/lib/oauth-success.html +711 -711
  69. package/dist/lib/oauth-success.js +714 -0
  70. package/dist/lib/oauth-success.js.map +1 -0
  71. package/dist/lib/prompts/codex.d.ts.map +1 -1
  72. package/dist/lib/prompts/codex.js +12 -3
  73. package/dist/lib/prompts/codex.js.map +1 -1
  74. package/dist/lib/prompts/opencode-codex.d.ts.map +1 -1
  75. package/dist/lib/prompts/opencode-codex.js +3 -2
  76. package/dist/lib/prompts/opencode-codex.js.map +1 -1
  77. package/dist/lib/recovery/hook.d.ts +43 -0
  78. package/dist/lib/recovery/hook.d.ts.map +1 -0
  79. package/dist/lib/recovery/hook.js +325 -0
  80. package/dist/lib/recovery/hook.js.map +1 -0
  81. package/dist/lib/recovery/index.d.ts +1 -0
  82. package/dist/lib/recovery/index.d.ts.map +1 -1
  83. package/dist/lib/recovery/index.js +1 -0
  84. package/dist/lib/recovery/index.js.map +1 -1
  85. package/dist/lib/recovery/storage.d.ts.map +1 -1
  86. package/dist/lib/recovery/storage.js +5 -1
  87. package/dist/lib/recovery/storage.js.map +1 -1
  88. package/dist/lib/recovery.d.ts +15 -30
  89. package/dist/lib/recovery.d.ts.map +1 -1
  90. package/dist/lib/recovery.js +14 -312
  91. package/dist/lib/recovery.js.map +1 -1
  92. package/dist/lib/request/fetch-helpers.d.ts +1 -0
  93. package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
  94. package/dist/lib/request/fetch-helpers.js +58 -10
  95. package/dist/lib/request/fetch-helpers.js.map +1 -1
  96. package/dist/lib/request/response-handler.d.ts.map +1 -1
  97. package/dist/lib/request/response-handler.js +8 -2
  98. package/dist/lib/request/response-handler.js.map +1 -1
  99. package/dist/lib/runtime.d.ts +101 -0
  100. package/dist/lib/runtime.d.ts.map +1 -0
  101. package/dist/lib/runtime.js +77 -0
  102. package/dist/lib/runtime.js.map +1 -0
  103. package/dist/lib/schemas.d.ts +164 -1
  104. package/dist/lib/schemas.d.ts.map +1 -1
  105. package/dist/lib/schemas.js +251 -0
  106. package/dist/lib/schemas.js.map +1 -1
  107. package/dist/lib/storage/atomic-write.d.ts +31 -0
  108. package/dist/lib/storage/atomic-write.d.ts.map +1 -0
  109. package/dist/lib/storage/atomic-write.js +75 -0
  110. package/dist/lib/storage/atomic-write.js.map +1 -0
  111. package/dist/lib/storage/backup.d.ts +13 -0
  112. package/dist/lib/storage/backup.d.ts.map +1 -0
  113. package/dist/lib/storage/backup.js +59 -0
  114. package/dist/lib/storage/backup.js.map +1 -0
  115. package/dist/lib/storage/errors.d.ts +17 -0
  116. package/dist/lib/storage/errors.d.ts.map +1 -0
  117. package/dist/lib/storage/errors.js +38 -0
  118. package/dist/lib/storage/errors.js.map +1 -0
  119. package/dist/lib/storage/export-import.d.ts +84 -0
  120. package/dist/lib/storage/export-import.d.ts.map +1 -0
  121. package/dist/lib/storage/export-import.js +222 -0
  122. package/dist/lib/storage/export-import.js.map +1 -0
  123. package/dist/lib/storage/flagged.d.ts +29 -0
  124. package/dist/lib/storage/flagged.d.ts.map +1 -0
  125. package/dist/lib/storage/flagged.js +207 -0
  126. package/dist/lib/storage/flagged.js.map +1 -0
  127. package/dist/lib/storage/identity.d.ts +72 -0
  128. package/dist/lib/storage/identity.d.ts.map +1 -0
  129. package/dist/lib/storage/identity.js +230 -0
  130. package/dist/lib/storage/identity.js.map +1 -0
  131. package/dist/lib/storage/keychain.d.ts +146 -0
  132. package/dist/lib/storage/keychain.d.ts.map +1 -0
  133. package/dist/lib/storage/keychain.js +278 -0
  134. package/dist/lib/storage/keychain.js.map +1 -0
  135. package/dist/lib/storage/load-save.d.ts +61 -0
  136. package/dist/lib/storage/load-save.d.ts.map +1 -0
  137. package/dist/lib/storage/load-save.js +606 -0
  138. package/dist/lib/storage/load-save.js.map +1 -0
  139. package/dist/lib/storage/migrations.d.ts +35 -0
  140. package/dist/lib/storage/migrations.d.ts.map +1 -1
  141. package/dist/lib/storage/migrations.js +37 -0
  142. package/dist/lib/storage/migrations.js.map +1 -1
  143. package/dist/lib/storage/normalize.d.ts +22 -0
  144. package/dist/lib/storage/normalize.d.ts.map +1 -0
  145. package/dist/lib/storage/normalize.js +114 -0
  146. package/dist/lib/storage/normalize.js.map +1 -0
  147. package/dist/lib/storage/paths.d.ts.map +1 -1
  148. package/dist/lib/storage/paths.js +2 -1
  149. package/dist/lib/storage/paths.js.map +1 -1
  150. package/dist/lib/storage/state.d.ts +46 -0
  151. package/dist/lib/storage/state.d.ts.map +1 -0
  152. package/dist/lib/storage/state.js +100 -0
  153. package/dist/lib/storage/state.js.map +1 -0
  154. package/dist/lib/storage/worktree-lock.d.ts +79 -0
  155. package/dist/lib/storage/worktree-lock.d.ts.map +1 -0
  156. package/dist/lib/storage/worktree-lock.js +265 -0
  157. package/dist/lib/storage/worktree-lock.js.map +1 -0
  158. package/dist/lib/storage.d.ts +21 -155
  159. package/dist/lib/storage.d.ts.map +1 -1
  160. package/dist/lib/storage.js +24 -1167
  161. package/dist/lib/storage.js.map +1 -1
  162. package/dist/lib/tools/_shared.d.ts +16 -0
  163. package/dist/lib/tools/_shared.d.ts.map +1 -0
  164. package/dist/lib/tools/_shared.js +21 -0
  165. package/dist/lib/tools/_shared.js.map +1 -0
  166. package/dist/lib/tools/codex-dashboard.d.ts +8 -0
  167. package/dist/lib/tools/codex-dashboard.d.ts.map +1 -0
  168. package/dist/lib/tools/codex-dashboard.js +176 -0
  169. package/dist/lib/tools/codex-dashboard.js.map +1 -0
  170. package/dist/lib/tools/codex-diag.d.ts +19 -0
  171. package/dist/lib/tools/codex-diag.d.ts.map +1 -0
  172. package/dist/lib/tools/codex-diag.js +139 -0
  173. package/dist/lib/tools/codex-diag.js.map +1 -0
  174. package/dist/lib/tools/codex-diff.d.ts +44 -0
  175. package/dist/lib/tools/codex-diff.d.ts.map +1 -0
  176. package/dist/lib/tools/codex-diff.js +284 -0
  177. package/dist/lib/tools/codex-diff.js.map +1 -0
  178. package/dist/lib/tools/codex-doctor.d.ts +8 -0
  179. package/dist/lib/tools/codex-doctor.d.ts.map +1 -0
  180. package/dist/lib/tools/codex-doctor.js +284 -0
  181. package/dist/lib/tools/codex-doctor.js.map +1 -0
  182. package/dist/lib/tools/codex-export.d.ts +8 -0
  183. package/dist/lib/tools/codex-export.d.ts.map +1 -0
  184. package/dist/lib/tools/codex-export.js +63 -0
  185. package/dist/lib/tools/codex-export.js.map +1 -0
  186. package/dist/lib/tools/codex-health.d.ts +8 -0
  187. package/dist/lib/tools/codex-health.d.ts.map +1 -0
  188. package/dist/lib/tools/codex-health.js +124 -0
  189. package/dist/lib/tools/codex-health.js.map +1 -0
  190. package/dist/lib/tools/codex-help.d.ts +8 -0
  191. package/dist/lib/tools/codex-help.d.ts.map +1 -0
  192. package/dist/lib/tools/codex-help.js +127 -0
  193. package/dist/lib/tools/codex-help.js.map +1 -0
  194. package/dist/lib/tools/codex-import.d.ts +8 -0
  195. package/dist/lib/tools/codex-import.d.ts.map +1 -0
  196. package/dist/lib/tools/codex-import.js +97 -0
  197. package/dist/lib/tools/codex-import.js.map +1 -0
  198. package/dist/lib/tools/codex-keychain.d.ts +36 -0
  199. package/dist/lib/tools/codex-keychain.d.ts.map +1 -0
  200. package/dist/lib/tools/codex-keychain.js +289 -0
  201. package/dist/lib/tools/codex-keychain.js.map +1 -0
  202. package/dist/lib/tools/codex-label.d.ts +8 -0
  203. package/dist/lib/tools/codex-label.d.ts.map +1 -0
  204. package/dist/lib/tools/codex-label.js +143 -0
  205. package/dist/lib/tools/codex-label.js.map +1 -0
  206. package/dist/lib/tools/codex-limits.d.ts +8 -0
  207. package/dist/lib/tools/codex-limits.d.ts.map +1 -0
  208. package/dist/lib/tools/codex-limits.js +497 -0
  209. package/dist/lib/tools/codex-limits.js.map +1 -0
  210. package/dist/lib/tools/codex-list.d.ts +8 -0
  211. package/dist/lib/tools/codex-list.d.ts.map +1 -0
  212. package/dist/lib/tools/codex-list.js +260 -0
  213. package/dist/lib/tools/codex-list.js.map +1 -0
  214. package/dist/lib/tools/codex-metrics.d.ts +8 -0
  215. package/dist/lib/tools/codex-metrics.d.ts.map +1 -0
  216. package/dist/lib/tools/codex-metrics.js +180 -0
  217. package/dist/lib/tools/codex-metrics.js.map +1 -0
  218. package/dist/lib/tools/codex-next.d.ts +8 -0
  219. package/dist/lib/tools/codex-next.d.ts.map +1 -0
  220. package/dist/lib/tools/codex-next.js +54 -0
  221. package/dist/lib/tools/codex-next.js.map +1 -0
  222. package/dist/lib/tools/codex-note.d.ts +8 -0
  223. package/dist/lib/tools/codex-note.d.ts.map +1 -0
  224. package/dist/lib/tools/codex-note.js +79 -0
  225. package/dist/lib/tools/codex-note.js.map +1 -0
  226. package/dist/lib/tools/codex-refresh.d.ts +8 -0
  227. package/dist/lib/tools/codex-refresh.d.ts.map +1 -0
  228. package/dist/lib/tools/codex-refresh.js +78 -0
  229. package/dist/lib/tools/codex-refresh.js.map +1 -0
  230. package/dist/lib/tools/codex-remove.d.ts +8 -0
  231. package/dist/lib/tools/codex-remove.d.ts.map +1 -0
  232. package/dist/lib/tools/codex-remove.js +184 -0
  233. package/dist/lib/tools/codex-remove.js.map +1 -0
  234. package/dist/lib/tools/codex-setup.d.ts +8 -0
  235. package/dist/lib/tools/codex-setup.d.ts.map +1 -0
  236. package/dist/lib/tools/codex-setup.js +26 -0
  237. package/dist/lib/tools/codex-setup.js.map +1 -0
  238. package/dist/lib/tools/codex-status.d.ts +8 -0
  239. package/dist/lib/tools/codex-status.d.ts.map +1 -0
  240. package/dist/lib/tools/codex-status.js +263 -0
  241. package/dist/lib/tools/codex-status.js.map +1 -0
  242. package/dist/lib/tools/codex-switch.d.ts +8 -0
  243. package/dist/lib/tools/codex-switch.d.ts.map +1 -0
  244. package/dist/lib/tools/codex-switch.js +122 -0
  245. package/dist/lib/tools/codex-switch.js.map +1 -0
  246. package/dist/lib/tools/codex-tag.d.ts +8 -0
  247. package/dist/lib/tools/codex-tag.d.ts.map +1 -0
  248. package/dist/lib/tools/codex-tag.js +101 -0
  249. package/dist/lib/tools/codex-tag.js.map +1 -0
  250. package/dist/lib/tools/index.d.ts +143 -0
  251. package/dist/lib/tools/index.d.ts.map +1 -0
  252. package/dist/lib/tools/index.js +67 -0
  253. package/dist/lib/tools/index.js.map +1 -0
  254. package/dist/lib/ui/format.d.ts.map +1 -1
  255. package/dist/lib/ui/format.js +5 -0
  256. package/dist/lib/ui/format.js.map +1 -1
  257. package/dist/lib/ui/runtime.d.ts +10 -0
  258. package/dist/lib/ui/runtime.d.ts.map +1 -1
  259. package/dist/lib/ui/runtime.js +16 -11
  260. package/dist/lib/ui/runtime.js.map +1 -1
  261. package/dist/lib/ui/select.d.ts.map +1 -1
  262. package/dist/lib/ui/select.js +12 -3
  263. package/dist/lib/ui/select.js.map +1 -1
  264. package/dist/lib/ui/theme.d.ts +19 -0
  265. package/dist/lib/ui/theme.d.ts.map +1 -1
  266. package/dist/lib/ui/theme.js +27 -0
  267. package/dist/lib/ui/theme.js.map +1 -1
  268. package/package.json +24 -16
  269. package/scripts/copy-oauth-success.js +16 -6
  270. package/scripts/install-oc-codex-multi-auth-core.js +462 -381
  271. package/scripts/install-oc-codex-multi-auth.js +15 -15
  272. package/scripts/test-all-models.sh +1 -1
  273. package/dist/lib/audit.d.ts +0 -45
  274. package/dist/lib/audit.d.ts.map +0 -1
  275. package/dist/lib/audit.js +0 -154
  276. package/dist/lib/audit.js.map +0 -1
  277. package/dist/lib/auth-rate-limit.d.ts +0 -20
  278. package/dist/lib/auth-rate-limit.d.ts.map +0 -1
  279. package/dist/lib/auth-rate-limit.js +0 -91
  280. package/dist/lib/auth-rate-limit.js.map +0 -1
  281. package/dist/lib/runtime-contracts.d.ts +0 -16
  282. package/dist/lib/runtime-contracts.d.ts.map +0 -1
  283. package/dist/lib/runtime-contracts.js +0 -24
  284. package/dist/lib/runtime-contracts.js.map +0 -1
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Tool registry — RC-1 Phase 2 (incremental).
3
+ *
4
+ * `ToolContext` bundles the plugin-closure state and helpers each
5
+ * `codex-*` tool needs. The plugin builds a `ToolContext` inside
6
+ * `OpenAIOAuthPlugin` and passes it to `createToolRegistry` so that every
7
+ * tool factory can access closure state (mutable refs, helpers) without
8
+ * living inside the plugin function body.
9
+ *
10
+ * **Status**: This PR lands the scaffolding plus the first three tool
11
+ * extractions (`codex-help`, `codex-next`, `codex-setup`). The remaining
12
+ * 15 inline tools in `index.ts` will move into per-file modules in
13
+ * follow-up PRs using the same pattern. The factories below reference
14
+ * only the already-extracted files to keep the build green.
15
+ *
16
+ * See `docs/audits/07-refactoring-plan.md#rc-1` and `lib/tools/AGENTS.md`.
17
+ */
18
+ import type { AccountManager, AccountSelectionExplainability } from "../accounts.js";
19
+ import type { AccountStorageV3, FlaggedAccountMetadataV1 } from "../storage.js";
20
+ import type { UiRuntimeOptions } from "../ui/runtime.js";
21
+ import type { BeginnerAccountSnapshot, BeginnerDiagnosticSeverity, BeginnerRuntimeSnapshot } from "../ui/beginner.js";
22
+ import type { ModelFamily } from "../prompts/codex.js";
23
+ import type { RoutingVisibilitySnapshot, RuntimeMetrics } from "../runtime.js";
24
+ import type { ToolDefinition } from "@opencode-ai/plugin/tool";
25
+ export { createCodexDiagTool } from "./codex-diag.js";
26
+ export { createCodexDiffTool } from "./codex-diff.js";
27
+ export { createCodexKeychainTool } from "./codex-keychain.js";
28
+ /**
29
+ * Mutable reference wrapper.
30
+ *
31
+ * Used for plugin-closure state that tools both read and write
32
+ * (e.g. `cachedAccountManager`). The plugin hands a single `MutableRef`
33
+ * to every factory so writes made inside a tool propagate to the outer
34
+ * closure and all other tools without depending on module-level state.
35
+ */
36
+ export type MutableRef<T> = {
37
+ current: T;
38
+ };
39
+ /**
40
+ * Shared tool context.
41
+ *
42
+ * Every `codex-*` tool factory receives this object. Fields fall into
43
+ * three groups:
44
+ *
45
+ * - Plugin-state refs (`cachedAccountManagerRef`, …) — mutable
46
+ * - Read-only runtime handles (`runtimeMetrics`, `beginnerSafeModeRef`)
47
+ * - Helper functions captured from the plugin closure
48
+ *
49
+ * The factory `create<Name>Tool(ctx)` returns a standard `tool({...})`
50
+ * result. Keeping the surface in one type lets us evolve it without
51
+ * threading dozens of arguments through 18 call sites.
52
+ *
53
+ * The type already lists every field the remaining 15 tools will
54
+ * eventually need so that later PRs can extract them without churning
55
+ * this interface. Each tool only destructures the subset it uses.
56
+ */
57
+ export interface ToolContext {
58
+ cachedAccountManagerRef: MutableRef<AccountManager | null>;
59
+ accountManagerPromiseRef: MutableRef<Promise<AccountManager> | null>;
60
+ runtimeMetrics: RuntimeMetrics;
61
+ beginnerSafeModeRef: {
62
+ readonly current: boolean;
63
+ };
64
+ resolveUiRuntime: () => UiRuntimeOptions;
65
+ getStatusMarker: (ui: UiRuntimeOptions, status: "ok" | "warning" | "error") => string;
66
+ formatCommandAccountLabel: (account: {
67
+ email?: string;
68
+ accountId?: string;
69
+ accountLabel?: string;
70
+ accountTags?: string[];
71
+ accountNote?: string;
72
+ } | undefined, index: number) => string;
73
+ normalizeAccountTags: (raw: string) => string[];
74
+ supportsInteractiveMenus: () => boolean;
75
+ promptAccountIndexSelection: (ui: UiRuntimeOptions, storage: AccountStorageV3, title: string) => Promise<number | null>;
76
+ resolveActiveIndex: (storage: {
77
+ activeIndex: number;
78
+ activeIndexByFamily?: Partial<Record<ModelFamily, number>>;
79
+ accounts: unknown[];
80
+ }, family?: ModelFamily) => number;
81
+ getRateLimitResetTimeForFamily: (account: {
82
+ rateLimitResetTimes?: Record<string, number | undefined>;
83
+ }, now: number, family: ModelFamily) => number | null;
84
+ formatRateLimitEntry: (account: {
85
+ rateLimitResetTimes?: Record<string, number | undefined>;
86
+ }, now: number, family?: ModelFamily) => string | null;
87
+ buildJsonAccountIdentity: (index: number, options?: {
88
+ includeSensitive?: boolean;
89
+ account?: {
90
+ email?: string;
91
+ accountId?: string;
92
+ accountLabel?: string;
93
+ accountTags?: string[];
94
+ accountNote?: string;
95
+ };
96
+ label?: string;
97
+ }) => Record<string, unknown>;
98
+ buildRoutingVisibilitySnapshot: (overrides?: {
99
+ modelFamily?: ModelFamily | null;
100
+ effectiveModel?: string | null;
101
+ quotaKey?: string | null;
102
+ selectedAccountIndex?: number | null;
103
+ selectionExplainability?: AccountSelectionExplainability[];
104
+ }) => RoutingVisibilitySnapshot;
105
+ appendRoutingVisibilityText: (lines: string[], routing: RoutingVisibilitySnapshot, options?: {
106
+ includeExplainability?: boolean;
107
+ }) => void;
108
+ appendRoutingVisibilityUi: (ui: UiRuntimeOptions, lines: string[], routing: RoutingVisibilitySnapshot, options?: {
109
+ includeExplainability?: boolean;
110
+ }) => void;
111
+ toBeginnerAccountSnapshots: (storage: AccountStorageV3, activeIndex: number, now: number) => BeginnerAccountSnapshot[];
112
+ getBeginnerRuntimeSnapshot: () => BeginnerRuntimeSnapshot;
113
+ formatDoctorSeverity: (ui: UiRuntimeOptions, severity: BeginnerDiagnosticSeverity) => string;
114
+ formatDoctorSeverityText: (severity: BeginnerDiagnosticSeverity) => string;
115
+ buildSetupChecklistState: () => Promise<{
116
+ now: number;
117
+ storage: AccountStorageV3 | null;
118
+ activeIndex: number;
119
+ snapshots: BeginnerAccountSnapshot[];
120
+ runtime: BeginnerRuntimeSnapshot;
121
+ checklist: ReturnType<typeof import("../ui/beginner.js").buildBeginnerChecklist>;
122
+ summary: ReturnType<typeof import("../ui/beginner.js").summarizeBeginnerAccounts>;
123
+ nextAction: string;
124
+ }>;
125
+ renderSetupChecklistOutput: (ui: UiRuntimeOptions, state: Awaited<ReturnType<ToolContext["buildSetupChecklistState"]>>) => string;
126
+ runSetupWizard: (ui: UiRuntimeOptions, state: Awaited<ReturnType<ToolContext["buildSetupChecklistState"]>>) => Promise<string>;
127
+ invalidateAccountManagerCache: () => void;
128
+ upsertFlaggedAccountRecord: (accounts: FlaggedAccountMetadataV1[], record: FlaggedAccountMetadataV1) => void;
129
+ }
130
+ /**
131
+ * Build the codex-* tool registry from a prepared context.
132
+ *
133
+ * Returned shape matches the `tool: { … }` map the plugin exposes on the
134
+ * `Plugin` output object.
135
+ *
136
+ * Only the first three extracted tools are wired here today. When each
137
+ * remaining inline tool moves into `lib/tools/codex-<name>.ts`, its
138
+ * factory import + map entry is added below and the corresponding
139
+ * inline definition is deleted from `index.ts`.
140
+ */
141
+ export type CodexToolRegistry = Record<string, ToolDefinition>;
142
+ export declare function createToolRegistry(ctx: ToolContext): CodexToolRegistry;
143
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/tools/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Tool registry — RC-1 Phase 2 (incremental).
3
+ *
4
+ * `ToolContext` bundles the plugin-closure state and helpers each
5
+ * `codex-*` tool needs. The plugin builds a `ToolContext` inside
6
+ * `OpenAIOAuthPlugin` and passes it to `createToolRegistry` so that every
7
+ * tool factory can access closure state (mutable refs, helpers) without
8
+ * living inside the plugin function body.
9
+ *
10
+ * **Status**: This PR lands the scaffolding plus the first three tool
11
+ * extractions (`codex-help`, `codex-next`, `codex-setup`). The remaining
12
+ * 15 inline tools in `index.ts` will move into per-file modules in
13
+ * follow-up PRs using the same pattern. The factories below reference
14
+ * only the already-extracted files to keep the build green.
15
+ *
16
+ * See `docs/audits/07-refactoring-plan.md#rc-1` and `lib/tools/AGENTS.md`.
17
+ */
18
+ import { createCodexHelpTool } from "./codex-help.js";
19
+ import { createCodexNextTool } from "./codex-next.js";
20
+ import { createCodexSetupTool } from "./codex-setup.js";
21
+ import { createCodexListTool } from "./codex-list.js";
22
+ import { createCodexSwitchTool } from "./codex-switch.js";
23
+ import { createCodexStatusTool } from "./codex-status.js";
24
+ import { createCodexLimitsTool } from "./codex-limits.js";
25
+ import { createCodexMetricsTool } from "./codex-metrics.js";
26
+ import { createCodexDoctorTool } from "./codex-doctor.js";
27
+ import { createCodexLabelTool } from "./codex-label.js";
28
+ import { createCodexTagTool } from "./codex-tag.js";
29
+ import { createCodexNoteTool } from "./codex-note.js";
30
+ import { createCodexDashboardTool } from "./codex-dashboard.js";
31
+ import { createCodexHealthTool } from "./codex-health.js";
32
+ import { createCodexRemoveTool } from "./codex-remove.js";
33
+ import { createCodexRefreshTool } from "./codex-refresh.js";
34
+ import { createCodexExportTool } from "./codex-export.js";
35
+ import { createCodexImportTool } from "./codex-import.js";
36
+ import { createCodexDiagTool } from "./codex-diag.js";
37
+ import { createCodexDiffTool } from "./codex-diff.js";
38
+ import { createCodexKeychainTool } from "./codex-keychain.js";
39
+ export { createCodexDiagTool } from "./codex-diag.js";
40
+ export { createCodexDiffTool } from "./codex-diff.js";
41
+ export { createCodexKeychainTool } from "./codex-keychain.js";
42
+ export function createToolRegistry(ctx) {
43
+ return {
44
+ "codex-list": createCodexListTool(ctx),
45
+ "codex-switch": createCodexSwitchTool(ctx),
46
+ "codex-status": createCodexStatusTool(ctx),
47
+ "codex-limits": createCodexLimitsTool(ctx),
48
+ "codex-metrics": createCodexMetricsTool(ctx),
49
+ "codex-help": createCodexHelpTool(ctx),
50
+ "codex-setup": createCodexSetupTool(ctx),
51
+ "codex-doctor": createCodexDoctorTool(ctx),
52
+ "codex-next": createCodexNextTool(ctx),
53
+ "codex-label": createCodexLabelTool(ctx),
54
+ "codex-tag": createCodexTagTool(ctx),
55
+ "codex-note": createCodexNoteTool(ctx),
56
+ "codex-dashboard": createCodexDashboardTool(ctx),
57
+ "codex-health": createCodexHealthTool(ctx),
58
+ "codex-remove": createCodexRemoveTool(ctx),
59
+ "codex-refresh": createCodexRefreshTool(ctx),
60
+ "codex-export": createCodexExportTool(ctx),
61
+ "codex-import": createCodexImportTool(ctx),
62
+ "codex-diag": createCodexDiagTool(ctx),
63
+ "codex-diff": createCodexDiffTool(ctx),
64
+ "codex-keychain": createCodexKeychainTool(ctx),
65
+ };
66
+ }
67
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAoBH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAuK9D,MAAM,UAAU,kBAAkB,CAAC,GAAgB;IAClD,OAAO;QACN,YAAY,EAAE,mBAAmB,CAAC,GAAG,CAAC;QACtC,cAAc,EAAE,qBAAqB,CAAC,GAAG,CAAC;QAC1C,cAAc,EAAE,qBAAqB,CAAC,GAAG,CAAC;QAC1C,cAAc,EAAE,qBAAqB,CAAC,GAAG,CAAC;QAC1C,eAAe,EAAE,sBAAsB,CAAC,GAAG,CAAC;QAC5C,YAAY,EAAE,mBAAmB,CAAC,GAAG,CAAC;QACtC,aAAa,EAAE,oBAAoB,CAAC,GAAG,CAAC;QACxC,cAAc,EAAE,qBAAqB,CAAC,GAAG,CAAC;QAC1C,YAAY,EAAE,mBAAmB,CAAC,GAAG,CAAC;QACtC,aAAa,EAAE,oBAAoB,CAAC,GAAG,CAAC;QACxC,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC;QACpC,YAAY,EAAE,mBAAmB,CAAC,GAAG,CAAC;QACtC,iBAAiB,EAAE,wBAAwB,CAAC,GAAG,CAAC;QAChD,cAAc,EAAE,qBAAqB,CAAC,GAAG,CAAC;QAC1C,cAAc,EAAE,qBAAqB,CAAC,GAAG,CAAC;QAC1C,eAAe,EAAE,sBAAsB,CAAC,GAAG,CAAC;QAC5C,cAAc,EAAE,qBAAqB,CAAC,GAAG,CAAC;QAC1C,cAAc,EAAE,qBAAqB,CAAC,GAAG,CAAC;QAC1C,YAAY,EAAE,mBAAmB,CAAC,GAAG,CAAC;QACtC,YAAY,EAAE,mBAAmB,CAAC,GAAG,CAAC;QACtC,gBAAgB,EAAE,uBAAuB,CAAC,GAAG,CAAC;KAC9C,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../lib/ui/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,MAAM,UAAU,GACnB,SAAS,GACT,QAAQ,GACR,OAAO,GACP,SAAS,GACT,SAAS,GACT,QAAQ,GACR,QAAQ,CAAC;AAYZ,wBAAgB,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,UAAqB,GAAG,MAAM,CAKnG;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAO5E;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAG7E;AAED,wBAAgB,YAAY,CAC3B,EAAE,EAAE,gBAAgB,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,UAAqB,GACzB,MAAM,CAIR;AAED,wBAAgB,gBAAgB,CAC/B,EAAE,EAAE,gBAAgB,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,SAAS,GAAE,UAAqB,GAC9B,MAAM,CAKR;AAED,wBAAgB,aAAa,CAC5B,EAAE,EAAE,gBAAgB,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,OAAO,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAY,GACxD,MAAM,CAGR"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../lib/ui/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,MAAM,UAAU,GACnB,SAAS,GACT,QAAQ,GACR,OAAO,GACP,SAAS,GACT,SAAS,GACT,QAAQ,GACR,QAAQ,CAAC;AAYZ,wBAAgB,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,UAAqB,GAAG,MAAM,CASnG;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAO5E;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAG7E;AAED,wBAAgB,YAAY,CAC3B,EAAE,EAAE,gBAAgB,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,UAAqB,GACzB,MAAM,CAIR;AAED,wBAAgB,gBAAgB,CAC/B,EAAE,EAAE,gBAAgB,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,SAAS,GAAE,UAAqB,GAC9B,MAAM,CAKR;AAED,wBAAgB,aAAa,CAC5B,EAAE,EAAE,gBAAgB,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,OAAO,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAY,GACxD,MAAM,CAGR"}
@@ -10,6 +10,11 @@ const TONE_TO_COLOR = {
10
10
  export function paintUiText(ui, text, tone = "normal") {
11
11
  if (!ui.v2Enabled)
12
12
  return text;
13
+ // `colorEnabled === false` means NO_COLOR / FORCE_COLOR=0 / no TTY;
14
+ // return the unstyled text so the layout (bullets, labels, spacing)
15
+ // is preserved but no ANSI escape sequences are emitted.
16
+ if (ui.colorEnabled === false)
17
+ return text;
13
18
  const colorKey = TONE_TO_COLOR[tone];
14
19
  if (!colorKey)
15
20
  return text;
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../lib/ui/format.ts"],"names":[],"mappings":"AAWA,MAAM,aAAa,GAAyE;IAC3F,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,IAAI;CACZ,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,EAAoB,EAAE,IAAY,EAAE,OAAmB,QAAQ;IAC1F,IAAI,CAAC,EAAE,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAoB,EAAE,KAAa;IACjE,IAAI,CAAC,EAAE,CAAC,SAAS;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,OAAO;QACN,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC;QACjC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC;KACjC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAoB,EAAE,KAAa;IAClE,IAAI,CAAC,EAAE,CAAC,SAAS;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,YAAY,CAC3B,EAAoB,EACpB,IAAY,EACZ,OAAmB,QAAQ;IAE3B,IAAI,CAAC,EAAE,CAAC,SAAS;QAAE,OAAO,KAAK,IAAI,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChE,OAAO,GAAG,MAAM,IAAI,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC/B,EAAoB,EACpB,GAAW,EACX,KAAa,EACb,YAAwB,QAAQ;IAEhC,IAAI,CAAC,EAAE,CAAC,SAAS;QAAE,OAAO,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACpD,OAAO,GAAG,OAAO,IAAI,SAAS,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,aAAa,CAC5B,EAAoB,EACpB,KAAa,EACb,OAAkD,QAAQ;IAE1D,MAAM,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC;IAC1B,OAAO,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../lib/ui/format.ts"],"names":[],"mappings":"AAWA,MAAM,aAAa,GAAyE;IAC3F,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,IAAI;CACZ,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,EAAoB,EAAE,IAAY,EAAE,OAAmB,QAAQ;IAC1F,IAAI,CAAC,EAAE,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC/B,oEAAoE;IACpE,oEAAoE;IACpE,yDAAyD;IACzD,IAAI,EAAE,CAAC,YAAY,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAoB,EAAE,KAAa;IACjE,IAAI,CAAC,EAAE,CAAC,SAAS;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,OAAO;QACN,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC;QACjC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC;KACjC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAoB,EAAE,KAAa;IAClE,IAAI,CAAC,EAAE,CAAC,SAAS;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,YAAY,CAC3B,EAAoB,EACpB,IAAY,EACZ,OAAmB,QAAQ;IAE3B,IAAI,CAAC,EAAE,CAAC,SAAS;QAAE,OAAO,KAAK,IAAI,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChE,OAAO,GAAG,MAAM,IAAI,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC/B,EAAoB,EACpB,GAAW,EACX,KAAa,EACb,YAAwB,QAAQ;IAEhC,IAAI,CAAC,EAAE,CAAC,SAAS;QAAE,OAAO,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACpD,OAAO,GAAG,OAAO,IAAI,SAAS,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,aAAa,CAC5B,EAAoB,EACpB,KAAa,EACb,OAAkD,QAAQ;IAE1D,MAAM,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC;IAC1B,OAAO,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC"}
@@ -4,6 +4,16 @@ export interface UiRuntimeOptions {
4
4
  colorProfile: UiColorProfile;
5
5
  glyphMode: UiGlyphMode;
6
6
  theme: UiTheme;
7
+ /**
8
+ * Effective ANSI-color enablement after resolving `NO_COLOR` /
9
+ * `FORCE_COLOR` / TTY detection via {@link shouldUseColor}.
10
+ *
11
+ * Optional so existing literals that build a `UiRuntimeOptions` in
12
+ * tests or mocks without this field keep working; downstream
13
+ * consumers must treat `undefined` as "colors allowed" to preserve
14
+ * the pre-existing behaviour.
15
+ */
16
+ colorEnabled?: boolean;
7
17
  }
8
18
  export declare function setUiRuntimeOptions(options: Partial<Omit<UiRuntimeOptions, "theme">>): UiRuntimeOptions;
9
19
  export declare function getUiRuntimeOptions(): UiRuntimeOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../lib/ui/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAgB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,cAAc,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;CACf;AAcD,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,GAC/C,gBAAgB,CAWlB;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,CAEtD;AAED,wBAAgB,qBAAqB,IAAI,gBAAgB,CAGxD"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../lib/ui/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAgB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,cAAc,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAcD,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,GAC/C,gBAAgB,CAgBlB;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,CAEtD;AAED,wBAAgB,qBAAqB,IAAI,gBAAgB,CAGxD"}
@@ -1,23 +1,28 @@
1
- import { createUiTheme, } from "./theme.js";
2
- const DEFAULT_OPTIONS = {
3
- v2Enabled: true,
4
- colorProfile: "truecolor",
5
- glyphMode: "ascii",
6
- theme: createUiTheme({
7
- profile: "truecolor",
1
+ import { createUiTheme, shouldUseColor, } from "./theme.js";
2
+ function buildDefaultOptions() {
3
+ return {
4
+ v2Enabled: true,
5
+ colorProfile: "truecolor",
8
6
  glyphMode: "ascii",
9
- }),
10
- };
11
- let runtimeOptions = { ...DEFAULT_OPTIONS };
7
+ theme: createUiTheme({ profile: "truecolor", glyphMode: "ascii" }),
8
+ colorEnabled: shouldUseColor(),
9
+ };
10
+ }
11
+ let runtimeOptions = buildDefaultOptions();
12
12
  export function setUiRuntimeOptions(options) {
13
13
  const v2Enabled = options.v2Enabled ?? runtimeOptions.v2Enabled;
14
14
  const colorProfile = options.colorProfile ?? runtimeOptions.colorProfile;
15
15
  const glyphMode = options.glyphMode ?? runtimeOptions.glyphMode;
16
+ // Re-resolve colorEnabled on every apply so that a test or caller
17
+ // flipping `NO_COLOR` / `FORCE_COLOR` between invocations is honoured,
18
+ // while an explicit override via `options.colorEnabled` still wins.
19
+ const colorEnabled = options.colorEnabled ?? shouldUseColor();
16
20
  runtimeOptions = {
17
21
  v2Enabled,
18
22
  colorProfile,
19
23
  glyphMode,
20
24
  theme: createUiTheme({ profile: colorProfile, glyphMode }),
25
+ colorEnabled,
21
26
  };
22
27
  return runtimeOptions;
23
28
  }
@@ -25,7 +30,7 @@ export function getUiRuntimeOptions() {
25
30
  return runtimeOptions;
26
31
  }
27
32
  export function resetUiRuntimeOptions() {
28
- runtimeOptions = { ...DEFAULT_OPTIONS };
33
+ runtimeOptions = buildDefaultOptions();
29
34
  return runtimeOptions;
30
35
  }
31
36
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../lib/ui/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,GAIb,MAAM,YAAY,CAAC;AASpB,MAAM,eAAe,GAAqB;IACzC,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,WAAW;IACzB,SAAS,EAAE,OAAO;IAClB,KAAK,EAAE,aAAa,CAAC;QACpB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,OAAO;KAClB,CAAC;CACF,CAAC;AAEF,IAAI,cAAc,GAAqB,EAAE,GAAG,eAAe,EAAE,CAAC;AAE9D,MAAM,UAAU,mBAAmB,CAClC,OAAiD;IAEjD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC;IAChE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,cAAc,CAAC,YAAY,CAAC;IACzE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC;IAChE,cAAc,GAAG;QAChB,SAAS;QACT,YAAY;QACZ,SAAS;QACT,KAAK,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;KAC1D,CAAC;IACF,OAAO,cAAc,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,mBAAmB;IAClC,OAAO,cAAc,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACpC,cAAc,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;IACxC,OAAO,cAAc,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../lib/ui/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,cAAc,GAId,MAAM,YAAY,CAAC;AAmBpB,SAAS,mBAAmB;IAC3B,OAAO;QACN,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,WAAW;QACzB,SAAS,EAAE,OAAO;QAClB,KAAK,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;QAClE,YAAY,EAAE,cAAc,EAAE;KAC9B,CAAC;AACH,CAAC;AAED,IAAI,cAAc,GAAqB,mBAAmB,EAAE,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CAClC,OAAiD;IAEjD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC;IAChE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,cAAc,CAAC,YAAY,CAAC;IACzE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC;IAChE,kEAAkE;IAClE,uEAAuE;IACvE,oEAAoE;IACpE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,cAAc,EAAE,CAAC;IAC9D,cAAc,GAAG;QAChB,SAAS;QACT,YAAY;QACZ,SAAS;QACT,KAAK,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QAC1D,YAAY;KACZ,CAAC;IACF,OAAO,cAAc,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,mBAAmB;IAClC,OAAO,cAAc,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACpC,cAAc,GAAG,mBAAmB,EAAE,CAAC;IACvC,OAAO,cAAc,CAAC;AACvB,CAAC"}
@@ -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,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,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;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAoED,wBAAsB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAqU/F"}
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,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,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;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAoED,wBAAsB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CA6U/F"}
@@ -1,3 +1,4 @@
1
+ import { CodexValidationError, ConfigError } from "../errors.js";
1
2
  import { ANSI, isTTY, parseKey } from "./ansi.js";
2
3
  const ESCAPE_TIMEOUT_MS = 50;
3
4
  const ANSI_REGEX = /\x1b\[[0-9;]*m/g;
@@ -61,15 +62,23 @@ function codexColorCode(theme, color) {
61
62
  }
62
63
  export async function select(items, options) {
63
64
  if (!isTTY()) {
64
- throw new Error("Interactive select requires a TTY terminal");
65
+ throw new ConfigError("Interactive select requires a TTY terminal", {
66
+ code: "TTY_REQUIRED",
67
+ });
65
68
  }
66
69
  if (items.length === 0) {
67
- throw new Error("No menu items provided");
70
+ throw new CodexValidationError("No menu items provided", {
71
+ code: "NO_MENU_ITEMS",
72
+ field: "items",
73
+ });
68
74
  }
69
75
  const isSelectable = (item) => !item.disabled && !item.separator && item.kind !== "heading";
70
76
  const selectable = items.filter(isSelectable);
71
77
  if (selectable.length === 0) {
72
- throw new Error("All menu items are disabled");
78
+ throw new CodexValidationError("All menu items are disabled", {
79
+ code: "ALL_ITEMS_DISABLED",
80
+ field: "items",
81
+ });
73
82
  }
74
83
  if (selectable.length === 1) {
75
84
  return selectable[0]?.value ?? null;
@@ -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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"}
@@ -1,6 +1,25 @@
1
1
  /**
2
2
  * Shared terminal theme primitives for legacy and Codex-style TUI rendering.
3
3
  */
4
+ /**
5
+ * Resolve whether ANSI color output is permitted, honouring the widely
6
+ * supported `NO_COLOR` (https://no-color.org) and `FORCE_COLOR`
7
+ * conventions before falling back to TTY detection.
8
+ *
9
+ * Precedence:
10
+ * 1. `NO_COLOR` — if set to any non-empty value, colors are disabled.
11
+ * An empty string is treated as "not set" (matches the spec).
12
+ * 2. `FORCE_COLOR` — if set to any value other than `"0"` / `"false"`,
13
+ * colors are forced on even without a TTY. `"0"` or `"false"`
14
+ * forces colors OFF regardless of TTY.
15
+ * 3. Fallback: enable colors when the stream is a TTY.
16
+ *
17
+ * The helper takes its dependencies as parameters so it is trivially
18
+ * testable and can be reused from non-process contexts.
19
+ */
20
+ export declare function shouldUseColor(stdout?: {
21
+ isTTY?: boolean;
22
+ }, env?: NodeJS.ProcessEnv): boolean;
4
23
  export type UiColorProfile = "ansi16" | "ansi256" | "truecolor";
5
24
  export type UiGlyphMode = "ascii" | "unicode" | "auto";
6
25
  export interface UiGlyphSet {
@@ -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;AAEvD,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,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;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;AA2ED,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE;IACvC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,WAAW,CAAC;CACxB,GAAG,OAAO,CAUV"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../lib/ui/theme.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC7B,MAAM,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAmB,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,GAClC,OAAO,CAQT;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAChE,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEvD,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,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;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;AA2ED,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE;IACvC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,WAAW,CAAC;CACxB,GAAG,OAAO,CAUV"}
@@ -1,6 +1,33 @@
1
1
  /**
2
2
  * Shared terminal theme primitives for legacy and Codex-style TUI rendering.
3
3
  */
4
+ /**
5
+ * Resolve whether ANSI color output is permitted, honouring the widely
6
+ * supported `NO_COLOR` (https://no-color.org) and `FORCE_COLOR`
7
+ * conventions before falling back to TTY detection.
8
+ *
9
+ * Precedence:
10
+ * 1. `NO_COLOR` — if set to any non-empty value, colors are disabled.
11
+ * An empty string is treated as "not set" (matches the spec).
12
+ * 2. `FORCE_COLOR` — if set to any value other than `"0"` / `"false"`,
13
+ * colors are forced on even without a TTY. `"0"` or `"false"`
14
+ * forces colors OFF regardless of TTY.
15
+ * 3. Fallback: enable colors when the stream is a TTY.
16
+ *
17
+ * The helper takes its dependencies as parameters so it is trivially
18
+ * testable and can be reused from non-process contexts.
19
+ */
20
+ export function shouldUseColor(stdout = process.stdout, env = process.env) {
21
+ if (env.NO_COLOR !== undefined && env.NO_COLOR !== "")
22
+ return false;
23
+ const force = env.FORCE_COLOR;
24
+ if (force !== undefined && force !== "") {
25
+ if (force === "0" || force === "false")
26
+ return false;
27
+ return true;
28
+ }
29
+ return Boolean(stdout.isTTY);
30
+ }
4
31
  const ansi16 = (code) => `\x1b[${code}m`;
5
32
  const ansi256 = (code) => `\x1b[38;5;${code}m`;
6
33
  const truecolor = (r, g, b) => `\x1b[38;2;${r};${g};${b}m`;
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../lib/ui/theme.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgCH,MAAM,MAAM,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,QAAQ,IAAI,GAAG,CAAC;AACzD,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,aAAa,IAAI,GAAG,CAAC;AAC/D,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAE3F,SAAS,gBAAgB,CAAC,IAAiB;IAC1C,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,mBAAmB,GACxB,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS;QACpC,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,QAAQ;QACrC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC5D,OAAO,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AAClD,CAAC;AAED,SAAS,SAAS,CAAC,IAAkC;IACpD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO;YACN,QAAQ,EAAE,GAAG;YACb,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;SACV,CAAC;IACH,CAAC;IACD,OAAO;QACN,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,GAAG;QACf,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,GAAG;KACV,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,OAAuB;IACzC,QAAQ,OAAO,EAAE,CAAC;QACjB,KAAK,WAAW;YACf,OAAO;gBACN,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBAC/B,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBACjC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;gBAC/B,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;gBAChC,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;gBAChC,MAAM,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBAChC,MAAM,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aAChC,CAAC;QACH,KAAK,SAAS;YACb,OAAO;gBACN,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC;gBACnB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;gBACrB,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;gBACnB,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;gBACpB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;gBACrB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;gBACpB,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;aACnB,CAAC;QACH;YACC,OAAO;gBACN,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;gBACjB,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBAClB,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;gBACnB,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBAClB,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;aAClB,CAAC;IACJ,CAAC;AACF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAG7B;IACA,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,WAAW,CAAC;IAChD,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC;IAChD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACtD,OAAO;QACN,OAAO;QACP,SAAS;QACT,MAAM,EAAE,SAAS,CAAC,iBAAiB,CAAC;QACpC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC;KAC1B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../lib/ui/theme.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
- "name": "oc-codex-multi-auth",
3
- "version": "6.0.0",
4
- "description": "OpenCode plugin for Codex-first GPT-5 workflows with ChatGPT Plus/Pro OAuth, multi-account rotation, and guided setup",
2
+ "name": "oc-codex-multi-auth",
3
+ "version": "6.1.1",
4
+ "description": "OpenCode plugin for Codex-first GPT-5 workflows with ChatGPT Plus/Pro OAuth, multi-account rotation, and guided setup",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "type": "module",
8
8
  "license": "MIT",
9
- "author": "Numman Ali",
9
+ "author": "ndycode",
10
10
  "repository": {
11
11
  "type": "git",
12
- "url": "git+https://github.com/ndycode/oc-codex-multi-auth.git"
12
+ "url": "git+https://github.com/ndycode/oc-codex-multi-auth.git"
13
13
  },
14
14
  "keywords": [
15
15
  "typescript",
@@ -29,10 +29,10 @@
29
29
  "developer-tools",
30
30
  "terminal"
31
31
  ],
32
- "homepage": "https://github.com/ndycode/oc-codex-multi-auth#readme",
33
- "bugs": {
34
- "url": "https://github.com/ndycode/oc-codex-multi-auth/issues"
35
- },
32
+ "homepage": "https://github.com/ndycode/oc-codex-multi-auth#readme",
33
+ "bugs": {
34
+ "url": "https://github.com/ndycode/oc-codex-multi-auth/issues"
35
+ },
36
36
  "scripts": {
37
37
  "build": "tsc && node scripts/copy-oauth-success.js",
38
38
  "typecheck": "tsc --noEmit",
@@ -54,9 +54,9 @@
54
54
  "prepublishOnly": "npm run build",
55
55
  "prepare": "husky"
56
56
  },
57
- "bin": {
58
- "oc-codex-multi-auth": "scripts/install-oc-codex-multi-auth.js"
59
- },
57
+ "bin": {
58
+ "oc-codex-multi-auth": "scripts/install-oc-codex-multi-auth.js"
59
+ },
60
60
  "files": [
61
61
  "dist/",
62
62
  "assets/",
@@ -96,18 +96,26 @@
96
96
  "vitest": "^4.0.18"
97
97
  },
98
98
  "dependencies": {
99
+ "@napi-rs/keyring": "~1.2.0",
99
100
  "@openauthjs/openauth": "^0.4.3",
100
101
  "@opencode-ai/plugin": "^1.2.9",
101
- "hono": "4.12.8",
102
+ "hono": "4.12.14",
102
103
  "zod": "^4.3.6"
103
104
  },
104
105
  "overrides": {
105
106
  "flatted": "3.4.2",
106
- "hono": "4.12.8",
107
+ "hono": "4.12.14",
107
108
  "rollup": "4.60.0",
108
- "vite": "^7.3.1",
109
+ "vite": "^7.3.2",
110
+ "yaml": "^2.8.3",
111
+ "ajv@<6.14.0": "^6.14.0",
112
+ "brace-expansion@>=2.0.0 <=2.0.2": "^2.0.3",
113
+ "minimatch@<9.0.7": "^9.0.7",
114
+ "minimatch@>=10.0.0 <10.2.3": "^10.2.3",
115
+ "picomatch@<2.3.2": "^2.3.2",
116
+ "picomatch@>=4.0.0 <4.0.4": "^4.0.4",
109
117
  "@typescript-eslint/typescript-estree": {
110
- "minimatch": "^9.0.5"
118
+ "minimatch": "^9.0.7"
111
119
  }
112
120
  }
113
121
  }