@kaitranntt/ccs 7.79.1-dev.4 → 7.79.1-dev.6

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 (159) hide show
  1. package/README.md +29 -11
  2. package/dist/bin/ccsxp-runtime.d.ts.map +1 -1
  3. package/dist/bin/ccsxp-runtime.js +8 -0
  4. package/dist/bin/ccsxp-runtime.js.map +1 -1
  5. package/dist/bin/codex-runtime-router.d.ts +24 -0
  6. package/dist/bin/codex-runtime-router.d.ts.map +1 -0
  7. package/dist/bin/codex-runtime-router.js +91 -0
  8. package/dist/bin/codex-runtime-router.js.map +1 -0
  9. package/dist/bin/codex-runtime.d.ts +1 -0
  10. package/dist/bin/codex-runtime.js +7 -2
  11. package/dist/bin/codex-runtime.js.map +1 -1
  12. package/dist/cliproxy/ai-providers/service.d.ts.map +1 -1
  13. package/dist/cliproxy/ai-providers/service.js +39 -12
  14. package/dist/cliproxy/ai-providers/service.js.map +1 -1
  15. package/dist/codex-auth/codex-account-identity.d.ts +8 -0
  16. package/dist/codex-auth/codex-account-identity.d.ts.map +1 -0
  17. package/dist/codex-auth/codex-account-identity.js +53 -0
  18. package/dist/codex-auth/codex-account-identity.js.map +1 -0
  19. package/dist/codex-auth/codex-auth-dashboard-service.d.ts +46 -0
  20. package/dist/codex-auth/codex-auth-dashboard-service.d.ts.map +1 -0
  21. package/dist/codex-auth/codex-auth-dashboard-service.js +228 -0
  22. package/dist/codex-auth/codex-auth-dashboard-service.js.map +1 -0
  23. package/dist/codex-auth/codex-auth-help.d.ts +7 -0
  24. package/dist/codex-auth/codex-auth-help.d.ts.map +1 -0
  25. package/dist/codex-auth/codex-auth-help.js +87 -0
  26. package/dist/codex-auth/codex-auth-help.js.map +1 -0
  27. package/dist/codex-auth/codex-auth-router.d.ts +16 -0
  28. package/dist/codex-auth/codex-auth-router.d.ts.map +1 -0
  29. package/dist/codex-auth/codex-auth-router.js +77 -0
  30. package/dist/codex-auth/codex-auth-router.js.map +1 -0
  31. package/dist/codex-auth/codex-config-symlink.d.ts +14 -0
  32. package/dist/codex-auth/codex-config-symlink.d.ts.map +1 -0
  33. package/dist/codex-auth/codex-config-symlink.js +128 -0
  34. package/dist/codex-auth/codex-config-symlink.js.map +1 -0
  35. package/dist/codex-auth/codex-profile-paths.d.ts +5 -0
  36. package/dist/codex-auth/codex-profile-paths.d.ts.map +1 -0
  37. package/dist/codex-auth/codex-profile-paths.js +58 -0
  38. package/dist/codex-auth/codex-profile-paths.js.map +1 -0
  39. package/dist/codex-auth/codex-profile-registry.d.ts +34 -0
  40. package/dist/codex-auth/codex-profile-registry.d.ts.map +1 -0
  41. package/dist/codex-auth/codex-profile-registry.js +360 -0
  42. package/dist/codex-auth/codex-profile-registry.js.map +1 -0
  43. package/dist/codex-auth/commands/create-command.d.ts +9 -0
  44. package/dist/codex-auth/commands/create-command.d.ts.map +1 -0
  45. package/dist/codex-auth/commands/create-command.js +189 -0
  46. package/dist/codex-auth/commands/create-command.js.map +1 -0
  47. package/dist/codex-auth/commands/import-default-command.d.ts +18 -0
  48. package/dist/codex-auth/commands/import-default-command.d.ts.map +1 -0
  49. package/dist/codex-auth/commands/import-default-command.js +385 -0
  50. package/dist/codex-auth/commands/import-default-command.js.map +1 -0
  51. package/dist/codex-auth/commands/index.d.ts +13 -0
  52. package/dist/codex-auth/commands/index.d.ts.map +1 -0
  53. package/dist/codex-auth/commands/index.js +27 -0
  54. package/dist/codex-auth/commands/index.js.map +1 -0
  55. package/dist/codex-auth/commands/login-command.d.ts +9 -0
  56. package/dist/codex-auth/commands/login-command.d.ts.map +1 -0
  57. package/dist/codex-auth/commands/login-command.js +152 -0
  58. package/dist/codex-auth/commands/login-command.js.map +1 -0
  59. package/dist/codex-auth/commands/remove-command.d.ts +10 -0
  60. package/dist/codex-auth/commands/remove-command.d.ts.map +1 -0
  61. package/dist/codex-auth/commands/remove-command.js +230 -0
  62. package/dist/codex-auth/commands/remove-command.js.map +1 -0
  63. package/dist/codex-auth/commands/show-command.d.ts +10 -0
  64. package/dist/codex-auth/commands/show-command.d.ts.map +1 -0
  65. package/dist/codex-auth/commands/show-command.js +127 -0
  66. package/dist/codex-auth/commands/show-command.js.map +1 -0
  67. package/dist/codex-auth/commands/show-detail-view.d.ts +7 -0
  68. package/dist/codex-auth/commands/show-detail-view.d.ts.map +1 -0
  69. package/dist/codex-auth/commands/show-detail-view.js +134 -0
  70. package/dist/codex-auth/commands/show-detail-view.js.map +1 -0
  71. package/dist/codex-auth/commands/switch-command.d.ts +7 -0
  72. package/dist/codex-auth/commands/switch-command.d.ts.map +1 -0
  73. package/dist/codex-auth/commands/switch-command.js +48 -0
  74. package/dist/codex-auth/commands/switch-command.js.map +1 -0
  75. package/dist/codex-auth/commands/types.d.ts +45 -0
  76. package/dist/codex-auth/commands/types.d.ts.map +1 -0
  77. package/dist/codex-auth/commands/types.js +85 -0
  78. package/dist/codex-auth/commands/types.js.map +1 -0
  79. package/dist/codex-auth/commands/use-command.d.ts +16 -0
  80. package/dist/codex-auth/commands/use-command.d.ts.map +1 -0
  81. package/dist/codex-auth/commands/use-command.js +86 -0
  82. package/dist/codex-auth/commands/use-command.js.map +1 -0
  83. package/dist/codex-auth/decode-id-token.d.ts +12 -0
  84. package/dist/codex-auth/decode-id-token.d.ts.map +1 -0
  85. package/dist/codex-auth/decode-id-token.js +83 -0
  86. package/dist/codex-auth/decode-id-token.js.map +1 -0
  87. package/dist/codex-auth/index.d.ts +8 -0
  88. package/dist/codex-auth/index.d.ts.map +1 -0
  89. package/dist/codex-auth/index.js +19 -0
  90. package/dist/codex-auth/index.js.map +1 -0
  91. package/dist/codex-auth/resolve-active-profile.d.ts +13 -0
  92. package/dist/codex-auth/resolve-active-profile.d.ts.map +1 -0
  93. package/dist/codex-auth/resolve-active-profile.js +161 -0
  94. package/dist/codex-auth/resolve-active-profile.js.map +1 -0
  95. package/dist/codex-auth/shell-detect.d.ts +19 -0
  96. package/dist/codex-auth/shell-detect.d.ts.map +1 -0
  97. package/dist/codex-auth/shell-detect.js +129 -0
  98. package/dist/codex-auth/shell-detect.js.map +1 -0
  99. package/dist/codex-auth/types.d.ts +26 -0
  100. package/dist/codex-auth/types.d.ts.map +1 -0
  101. package/dist/codex-auth/types.js +34 -0
  102. package/dist/codex-auth/types.js.map +1 -0
  103. package/dist/dispatcher/pre-dispatch.d.ts.map +1 -1
  104. package/dist/dispatcher/pre-dispatch.js +7 -0
  105. package/dist/dispatcher/pre-dispatch.js.map +1 -1
  106. package/dist/targets/codex-cliproxy-provider-config.d.ts.map +1 -1
  107. package/dist/targets/codex-cliproxy-provider-config.js +17 -13
  108. package/dist/targets/codex-cliproxy-provider-config.js.map +1 -1
  109. package/dist/ui/assets/Trans-J6qQqjkU.js +1 -0
  110. package/dist/ui/assets/{accounts-C-sOjvWS.js → accounts-B9Y9uOFl.js} +1 -1
  111. package/dist/ui/assets/{alert-dialog-BrOo6Lh3.js → alert-dialog-B7gsksZn.js} +1 -1
  112. package/dist/ui/assets/{api-CXdC3ABc.js → api-Cz8U6P7R.js} +1 -1
  113. package/dist/ui/assets/{auth-section-XJ5PohAT.js → auth-section-C8dzvYje.js} +1 -1
  114. package/dist/ui/assets/{backups-section-DjMi9NN5.js → backups-section-D0dn59k8.js} +1 -1
  115. package/dist/ui/assets/{channels-dD6o7KFj.js → channels-BEmwDrRW.js} +1 -1
  116. package/dist/ui/assets/{checkbox-CVS69doq.js → checkbox-DD0s2D_O.js} +1 -1
  117. package/dist/ui/assets/{claude-extension-D47wkgfq.js → claude-extension-DHVBsw6b.js} +1 -1
  118. package/dist/ui/assets/{cliproxy-CXgzAe6X.js → cliproxy-BMlbpAIO.js} +2 -2
  119. package/dist/ui/assets/{cliproxy-ai-providers-POOrpQVc.js → cliproxy-ai-providers-B440rPlH.js} +2 -2
  120. package/dist/ui/assets/{cliproxy-control-panel-BWa_KiNM.js → cliproxy-control-panel-Bo-Y41B_.js} +1 -1
  121. package/dist/ui/assets/codex-DPe04ol4.js +30 -0
  122. package/dist/ui/assets/{confirm-dialog-BuxHs897.js → confirm-dialog-MQNmqmha.js} +1 -1
  123. package/dist/ui/assets/{copilot-BQ4Cltbo.js → copilot-COZj29YU.js} +1 -1
  124. package/dist/ui/assets/{cursor-BVUNUVux.js → cursor-D0occhsH.js} +1 -1
  125. package/dist/ui/assets/{droid-Bw34FF6c.js → droid-CSaYFApd.js} +1 -1
  126. package/dist/ui/assets/{globalenv-section-B4UDGHiP.js → globalenv-section-BwuNrdbO.js} +1 -1
  127. package/dist/ui/assets/{health-30TwUdp_.js → health-DjNOO9K-.js} +1 -1
  128. package/dist/ui/assets/{index-BUBCzEHD.js → index-Bm_0r3qk.js} +1 -1
  129. package/dist/ui/assets/{index-BxIFAuoV.js → index-Bnzie_zG.js} +1 -1
  130. package/dist/ui/assets/{index-C6j8gpEb.js → index-CSlgRg0s.js} +27 -27
  131. package/dist/ui/assets/index-CjM3Ehb8.js +1 -0
  132. package/dist/ui/assets/{index-BjQ5PWH7.js → index-CmOBelFi.js} +1 -1
  133. package/dist/ui/assets/{index-DtiygQmg.js → index-D9HfyuQr.js} +1 -1
  134. package/dist/ui/assets/index-G3mgTfgR.css +1 -0
  135. package/dist/ui/assets/{index-ByGCSVsI.js → index-i2MPNni3.js} +1 -1
  136. package/dist/ui/assets/{logs-CDD_WQvt.js → logs-7bWvuc1l.js} +1 -1
  137. package/dist/ui/assets/{masked-input-DpM1vKP_.js → masked-input-D_amxi96.js} +1 -1
  138. package/dist/ui/assets/proxy-status-widget-BkC-wCtI.js +1 -0
  139. package/dist/ui/assets/{raw-json-settings-editor-panel-D-zQkcvr.js → raw-json-settings-editor-panel-CVP5Bjfm.js} +1 -1
  140. package/dist/ui/assets/{searchable-select-B8Kp0x8p.js → searchable-select-e5sY7o6g.js} +1 -1
  141. package/dist/ui/assets/{separator-DlXQBF83.js → separator-BR5bmtI7.js} +1 -1
  142. package/dist/ui/assets/{shared-D_h3QKy6.js → shared-CsqW2cFN.js} +1 -1
  143. package/dist/ui/assets/{table-Dyt0FuBK.js → table-DPheAd4c.js} +1 -1
  144. package/dist/ui/assets/{updates-DfIV0IC0.js → updates-D07RjKLJ.js} +1 -1
  145. package/dist/ui/assets/{use-accounts-Dy2ogHT-.js → use-accounts-CWVR2NXQ.js} +1 -1
  146. package/dist/ui/index.html +2 -2
  147. package/dist/web-server/routes/claude-extension-routes.d.ts.map +1 -1
  148. package/dist/web-server/routes/claude-extension-routes.js +5 -0
  149. package/dist/web-server/routes/claude-extension-routes.js.map +1 -1
  150. package/dist/web-server/routes/codex-routes.d.ts.map +1 -1
  151. package/dist/web-server/routes/codex-routes.js +14 -0
  152. package/dist/web-server/routes/codex-routes.js.map +1 -1
  153. package/lib/hooks/websearch-transformer.cjs +12 -3
  154. package/package.json +1 -1
  155. package/scripts/run-test-bucket.js +1 -0
  156. package/dist/ui/assets/codex-CYyPdHS4.js +0 -30
  157. package/dist/ui/assets/index-nSsKQx8t.css +0 -1
  158. package/dist/ui/assets/index-s94_IKNx.js +0 -1
  159. package/dist/ui/assets/proxy-status-widget-7iMiOpQe.js +0 -1
package/README.md CHANGED
@@ -20,21 +20,25 @@ Anthropic-compatible APIs without config thrash.
20
20
 
21
21
  </div>
22
22
 
23
- ## Why CCS
23
+ > **[Docker]** `ghcr.io/kaitranntt/ccs-dashboard:latest` is deprecated. Use `ghcr.io/kaitranntt/ccs:latest` instead. See [#1251](https://github.com/kaitranntt/ccs/issues/1251) and [docker/README.md](docker/README.md#choosing-an-image) for migration details. To wire a sibling container to CLIProxy, see [Connect your app to CLIProxy](docker/README.md#connect-your-app-to-cliproxy).
24
24
 
25
- CCS gives you one stable command surface while letting you switch between:
25
+ <!-- quickstart-snippet-start -->
26
+ ## Quick Start (Docker)
26
27
 
27
- - multiple runtimes such as Claude Code, Factory Droid, and Codex CLI
28
- - multiple Claude subscriptions and isolated account contexts
29
- - OAuth providers like Codex, Kiro, Claude, Qwen, Kimi, and more, with legacy
30
- Copilot compatibility for existing setups
31
- - API and local-model profiles like GLM, Kimi, OpenRouter, Ollama, llama.cpp,
32
- Novita, and Alibaba Coding Plan
28
+ With Docker installed:
33
29
 
34
- The goal is simple: stop rewriting config files, stop breaking active sessions,
35
- and move between providers in seconds.
30
+ ```bash
31
+ curl -fsSL https://ccs.kaitran.ca/docker-compose.yaml -o docker-compose.yaml
32
+ docker compose up -d
33
+ ```
34
+
35
+ Dashboard at http://localhost:3000 · CLIProxy at http://localhost:8317.
36
+
37
+ Need a corporate-proxy alternative? Download directly:
38
+ `https://raw.githubusercontent.com/kaitranntt/ccs/main/docker/compose.yaml`
39
+ <!-- quickstart-snippet-end -->
36
40
 
37
- ## Quick Start
41
+ ## Install on Host (npm)
38
42
 
39
43
  ```bash
40
44
  npm install -g @kaitranntt/ccs
@@ -51,6 +55,20 @@ ccs glm
51
55
  ccs ollama
52
56
  ```
53
57
 
58
+ ## Why CCS
59
+
60
+ CCS gives you one stable command surface while letting you switch between:
61
+
62
+ - multiple runtimes such as Claude Code, Factory Droid, and Codex CLI
63
+ - multiple Claude subscriptions and isolated account contexts
64
+ - OAuth providers like Codex, Kiro, Claude, Qwen, Kimi, and more, with legacy
65
+ Copilot compatibility for existing setups
66
+ - API and local-model profiles like GLM, Kimi, OpenRouter, Ollama, llama.cpp,
67
+ Novita, and Alibaba Coding Plan
68
+
69
+ The goal is simple: stop rewriting config files, stop breaking active sessions,
70
+ and move between providers in seconds.
71
+
54
72
  ## OpenAI-Compatible Routing
55
73
 
56
74
  CCS can now bridge Claude Code into OpenAI-compatible providers through a local
@@ -1 +1 @@
1
- {"version":3,"file":"ccsxp-runtime.d.ts","sourceRoot":"","sources":["../../src/bin/ccsxp-runtime.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,EAAE,KAAgB,CAAC;AACzB,QAAA,MAAM,IAAI,KAAkB,CAAC;AAC7B,QAAA,MAAQ,2BAA2B,KAAyD,CAAC;AAC7F,QAAA,MAAQ,eAAe,KAA0C,CAAC;AAClE,QAAA,MAAQ,UAAU,KAAgC,CAAC;AACnD,QAAA,MAAQ,IAAI,KAA2B,CAAC;AAIxC,QAAA,MAAM,uBAAuB,gCAA8B,CAAC;AAC5D,QAAA,MAAM,iCAAiC,QAC6B,CAAC;AAErE,iBAAS,+BAA+B,CAAC,KAAK,EAAE,OAAO,WAEtD;AAED,iBAAS,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,aA0C/C;AAED,iBAAS,qBAAqB,QAO7B;AAOD,QAAA,MAAM,aAAa,KAcf,CAAC"}
1
+ {"version":3,"file":"ccsxp-runtime.d.ts","sourceRoot":"","sources":["../../src/bin/ccsxp-runtime.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,EAAE,KAAgB,CAAC;AACzB,QAAA,MAAM,IAAI,KAAkB,CAAC;AAC7B,QAAA,MAAQ,2BAA2B,KAAyD,CAAC;AAC7F,QAAA,MAAQ,eAAe,KAA0C,CAAC;AAClE,QAAA,MAAQ,UAAU,KAAgC,CAAC;AACnD,QAAA,MAAQ,IAAI,KAA2B,CAAC;AAIxC,QAAA,MAAM,uBAAuB,gCAA8B,CAAC;AAC5D,QAAA,MAAM,iCAAiC,QAC6B,CAAC;AAErE,iBAAS,+BAA+B,CAAC,KAAK,EAAE,OAAO,WAEtD;AAED,iBAAS,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,aA0C/C;AAED,iBAAS,qBAAqB,QAO7B;AAiBD,QAAA,MAAM,aAAa,KAcf,CAAC"}
@@ -56,6 +56,14 @@ function resolveCcsxpCodexHome() {
56
56
  }
57
57
  return path.join(os.homedir(), '.codex');
58
58
  }
59
+ // H5: CCS_CODEX_PROFILE is ignored by ccsxp. The ccsx auth profile system
60
+ // (src/codex-auth/) is intentionally NOT consulted here — ccsxp serves the
61
+ // cliproxy round-robin pool, not per-user-account profiles. Emit a one-line
62
+ // notice so users who set CCS_CODEX_PROFILE in their shell don't get confused
63
+ // when ccsxp silently ignores it and overwrites CODEX_HOME below.
64
+ if (process.env.CCS_CODEX_PROFILE) {
65
+ process.stderr.write("[i] CCS_CODEX_PROFILE is ignored by ccsxp; profile applies to native 'codex' only.\n");
66
+ }
59
67
  process.env.CODEX_HOME = resolveCcsxpCodexHome();
60
68
  // ccsxp is the Codex + cliproxy shortcut. Keep the native Codex history root,
61
69
  // strip conflicting target overrides, and prepend the native cliproxy provider
@@ -1 +1 @@
1
- {"version":3,"file":"ccsxp-runtime.js","sourceRoot":"","sources":["../../src/bin/ccsxp-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ccsxp-runtime.js","sourceRoot":"","sources":["../../src/bin/ccsxp-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Codex runtime router — testable logic for src/bin/codex-runtime.ts.
3
+ *
4
+ * All inter-module deps are resolved via require() at call-time so tests can
5
+ * inject stubs via require.cache before calling main().
6
+ *
7
+ * Routing:
8
+ * argv[2] === 'auth' → delegate to runCodexAuth(argv.slice(3)), exit with code
9
+ * else → resolve active profile, set CODEX_HOME, load ccs
10
+ * CCS manages the process lifecycle; entry MUST NOT
11
+ * call process.exit() when main returns -1.
12
+ *
13
+ * Return value contract:
14
+ * ≥ 0 → auth branch: caller should process.exit(code)
15
+ * -1 → CCS branch: CCS has taken over the process; caller must NOT exit
16
+ */
17
+ /**
18
+ * Main entry-point for the ccsx / codex-runtime binary.
19
+ *
20
+ * @param argv - process.argv (or test-supplied equivalent)
21
+ * @returns ≥0 exit code for auth branch; -1 for CCS branch (no exit needed)
22
+ */
23
+ export declare function main(argv: string[]): Promise<number>;
24
+ //# sourceMappingURL=codex-runtime-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-runtime-router.d.ts","sourceRoot":"","sources":["../../src/bin/codex-runtime-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAsBH;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA8D1D"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ /**
3
+ * Codex runtime router — testable logic for src/bin/codex-runtime.ts.
4
+ *
5
+ * All inter-module deps are resolved via require() at call-time so tests can
6
+ * inject stubs via require.cache before calling main().
7
+ *
8
+ * Routing:
9
+ * argv[2] === 'auth' → delegate to runCodexAuth(argv.slice(3)), exit with code
10
+ * else → resolve active profile, set CODEX_HOME, load ccs
11
+ * CCS manages the process lifecycle; entry MUST NOT
12
+ * call process.exit() when main returns -1.
13
+ *
14
+ * Return value contract:
15
+ * ≥ 0 → auth branch: caller should process.exit(code)
16
+ * -1 → CCS branch: CCS has taken over the process; caller must NOT exit
17
+ */
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.main = void 0;
20
+ process.env.CCS_INTERNAL_ENTRY_TARGET = 'codex';
21
+ function isCodexAuthProfileResolutionError(err) {
22
+ return (typeof err === 'object' &&
23
+ err !== null &&
24
+ 'name' in err &&
25
+ err.name === 'CodexAuthProfileResolutionError');
26
+ }
27
+ function errorMessage(err) {
28
+ if (err instanceof Error)
29
+ return err.message;
30
+ if (typeof err === 'object' && err !== null && 'message' in err) {
31
+ const message = err.message;
32
+ if (typeof message === 'string')
33
+ return message;
34
+ }
35
+ return String(err);
36
+ }
37
+ /**
38
+ * Main entry-point for the ccsx / codex-runtime binary.
39
+ *
40
+ * @param argv - process.argv (or test-supplied equivalent)
41
+ * @returns ≥0 exit code for auth branch; -1 for CCS branch (no exit needed)
42
+ */
43
+ async function main(argv) {
44
+ const subcommand = argv[2];
45
+ // ── auth branch ─────────────────────────────────────────────────────────
46
+ if (subcommand === 'auth') {
47
+ const { runCodexAuth } = require('../codex-auth/codex-auth-router');
48
+ return runCodexAuth(argv.slice(3));
49
+ }
50
+ // ── non-auth branch: profile resolution ─────────────────────────────────
51
+ // F1: respect explicit CODEX_HOME unless CCS_CODEX_PROFILE asks for a managed profile.
52
+ const explicit = (process.env.CODEX_HOME ?? '').trim();
53
+ const profileOverride = (process.env.CCS_CODEX_PROFILE ?? '').trim();
54
+ if (!explicit || profileOverride) {
55
+ try {
56
+ const { resolveActiveProfile } = require('../codex-auth/resolve-active-profile');
57
+ const resolved = resolveActiveProfile(process.env);
58
+ if (resolved) {
59
+ if (explicit && explicit !== resolved.dir) {
60
+ process.stderr.write(`[!] codex-auth: CCS_CODEX_PROFILE=${profileOverride} overrides existing CODEX_HOME.\n`);
61
+ }
62
+ process.env.CODEX_HOME = resolved.dir;
63
+ try {
64
+ const { ensureSharedConfigSymlink } = require('../codex-auth/codex-config-symlink');
65
+ ensureSharedConfigSymlink(resolved.dir);
66
+ }
67
+ catch (symlinkErr) {
68
+ const msg = symlinkErr instanceof Error ? symlinkErr.message : String(symlinkErr);
69
+ process.stderr.write(`[!] codex-auth: shared config symlink failed (${msg}), continuing\n`);
70
+ }
71
+ }
72
+ }
73
+ catch (resolverErr) {
74
+ const msg = errorMessage(resolverErr);
75
+ if (isCodexAuthProfileResolutionError(resolverErr)) {
76
+ process.stderr.write(`[X] codex-auth: ${msg}\n`);
77
+ return 1;
78
+ }
79
+ process.stderr.write(`[X] codex-auth: profile resolution failed (${msg})\n`);
80
+ return 1;
81
+ }
82
+ }
83
+ // ── delegate to CCS ─────────────────────────────────────────────────────
84
+ // require() is evaluated AFTER env mutations above. CCS manages its own
85
+ // process lifecycle (spawns codex, pipes stdio, calls process.exit).
86
+ // Return -1 so the entry script knows NOT to call process.exit().
87
+ require('../ccs');
88
+ return -1; // CCS is in control — entry must not call process.exit()
89
+ }
90
+ exports.main = main;
91
+ //# sourceMappingURL=codex-runtime-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-runtime-router.js","sourceRoot":"","sources":["../../src/bin/codex-runtime-router.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=codex-runtime.d.ts.map
@@ -1,5 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- process.env.CCS_INTERNAL_ENTRY_TARGET = 'codex';
4
- require('../ccs');
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const codex_runtime_router_1 = require("./codex-runtime-router");
5
+ // -1 means CCS has taken over the process lifecycle; do not exit.
6
+ (0, codex_runtime_router_1.main)(process.argv).then((code) => {
7
+ if (code >= 0)
8
+ process.exit(code);
9
+ });
5
10
  //# sourceMappingURL=codex-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-runtime.js","sourceRoot":"","sources":["../../src/bin/codex-runtime.ts"],"names":[],"mappings":";AAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,OAAO,CAAC;AAChD,OAAO,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"codex-runtime.js","sourceRoot":"","sources":["../../src/bin/codex-runtime.ts"],"names":[],"mappings":";;AAAA,iEAA8C;AAC9C,kEAAkE;AAClE,IAAA,2BAAI,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;IAC/B,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/ai-providers/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,kBAAkB,EAGvB,KAAK,qBAAqB,EAE1B,KAAK,0BAA0B,EAChC,MAAM,SAAS,CAAC;AAuFjB,wBAAsB,eAAe,IAAI,OAAO,CAAC,qBAAqB,CAAC,CA8BtE;AA0GD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAef"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/ai-providers/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,kBAAkB,EAGvB,KAAK,qBAAqB,EAE1B,KAAK,0BAA0B,EAChC,MAAM,SAAS,CAAC;AAmHjB,wBAAsB,eAAe,IAAI,OAAO,CAAC,qBAAqB,CAAC,CA8BtE;AAiHD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAef"}
@@ -8,20 +8,45 @@ function maskSecret(value) {
8
8
  return undefined;
9
9
  return value.length > 8 ? `...${value.slice(-4)}` : '***';
10
10
  }
11
- function normalizeHeaders(headers) {
11
+ function sanitizeUrlForView(value) {
12
+ const trimmed = value?.trim();
13
+ if (!trimmed)
14
+ return undefined;
15
+ try {
16
+ const parsed = new URL(trimmed);
17
+ if (parsed.username)
18
+ parsed.username = '***';
19
+ if (parsed.password)
20
+ parsed.password = '***';
21
+ return parsed.toString();
22
+ }
23
+ catch {
24
+ return trimmed;
25
+ }
26
+ }
27
+ function restoreMaskedViewValue(value, existing, sanitizeForView = maskSecret) {
28
+ const next = value?.trim() || undefined;
29
+ if (!next || !existing)
30
+ return next;
31
+ return next === sanitizeForView(existing) ? existing : next;
32
+ }
33
+ function normalizeHeaders(headers, existing) {
12
34
  if (!headers)
13
35
  return undefined;
14
36
  const normalized = headers.reduce((acc, header) => {
15
37
  const key = header.key.trim();
16
38
  if (!key)
17
39
  return acc;
18
- acc[key] = header.value;
40
+ acc[key] = restoreMaskedViewValue(header.value, existing?.[key]) || '';
19
41
  return acc;
20
42
  }, {});
21
43
  return Object.keys(normalized).length > 0 ? normalized : undefined;
22
44
  }
23
45
  function toHeaderPairs(headers) {
24
- return Object.entries(headers || {}).map(([key, value]) => ({ key, value }));
46
+ return Object.entries(headers || {}).map(([key, value]) => ({
47
+ key,
48
+ value: maskSecret(value) || '***',
49
+ }));
25
50
  }
26
51
  function readModelRulePart(model, key) {
27
52
  if (!model || typeof model !== 'object') {
@@ -42,9 +67,9 @@ function buildApiKeyEntryView(family, entry, index) {
42
67
  return {
43
68
  id: entry.id || `${family}:${index}`,
44
69
  index,
45
- label: entry.prefix?.trim() || entry['base-url']?.trim() || `Entry ${index + 1}`,
46
- baseUrl: entry['base-url']?.trim() || undefined,
47
- proxyUrl: entry['proxy-url']?.trim() || undefined,
70
+ label: entry.prefix?.trim() || sanitizeUrlForView(entry['base-url']) || `Entry ${index + 1}`,
71
+ baseUrl: sanitizeUrlForView(entry['base-url']),
72
+ proxyUrl: sanitizeUrlForView(entry['proxy-url']),
48
73
  prefix: entry.prefix?.trim() || undefined,
49
74
  headers: toHeaderPairs(entry.headers),
50
75
  excludedModels: [...(entry['excluded-models'] || [])],
@@ -59,7 +84,7 @@ function buildOpenAiCompatEntryView(entry, index) {
59
84
  index,
60
85
  name: entry.name,
61
86
  label: entry.name,
62
- baseUrl: entry['base-url']?.trim() || undefined,
87
+ baseUrl: sanitizeUrlForView(entry['base-url']),
63
88
  headers: toHeaderPairs(entry.headers),
64
89
  excludedModels: [],
65
90
  models: normalizeModelAliases(entry.models),
@@ -107,10 +132,10 @@ function toApiKeyEntry(input, existing) {
107
132
  return {
108
133
  id: existing?.id,
109
134
  'api-key': nextSecret,
110
- 'base-url': input.baseUrl?.trim() || undefined,
111
- 'proxy-url': input.proxyUrl?.trim() || undefined,
135
+ 'base-url': restoreMaskedViewValue(input.baseUrl, existing?.['base-url'], sanitizeUrlForView),
136
+ 'proxy-url': restoreMaskedViewValue(input.proxyUrl, existing?.['proxy-url'], sanitizeUrlForView),
112
137
  prefix: input.prefix?.trim() || undefined,
113
- headers: normalizeHeaders(input.headers),
138
+ headers: normalizeHeaders(input.headers, existing?.headers),
114
139
  'excluded-models': (input.excludedModels || [])
115
140
  .map((value) => value.trim())
116
141
  .filter((value) => value.length > 0),
@@ -126,8 +151,10 @@ function toOpenAiCompatEntry(input, existing) {
126
151
  return {
127
152
  id: existing?.id,
128
153
  name: input.name?.trim() || existing?.name || 'connector',
129
- 'base-url': input.baseUrl?.trim() || existing?.['base-url'] || '',
130
- headers: normalizeHeaders(input.headers),
154
+ 'base-url': restoreMaskedViewValue(input.baseUrl, existing?.['base-url'], sanitizeUrlForView) ||
155
+ existing?.['base-url'] ||
156
+ '',
157
+ headers: normalizeHeaders(input.headers, existing?.headers),
131
158
  'api-key-entries': nextApiKeys.map((apiKey) => ({ 'api-key': apiKey })),
132
159
  models: normalizeModelAliases(input.models),
133
160
  };
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/cliproxy/ai-providers/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/cliproxy/ai-providers/service.ts"],"names":[],"mappings":";;;AAAA,mCAWiB;AACjB,iDAAoG;AAEpG,SAAS,UAAU,CAAC,KAAyB;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAyB;IACnD,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC7C,IAAI,MAAM,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC7C,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAyB,EACzB,QAA4B,EAC5B,kBAAqE,UAAU;IAE/E,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IACxC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,IAAI,KAAK,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED,SAAS,gBAAgB,CACvB,OAA0D,EAC1D,QAAiC;IAEjC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QACxE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QACrB,GAAG,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAED,SAAS,aAAa,CACpB,OAA2C;IAE3C,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,GAAG;QACH,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK;KAClC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,GAA+B;IACxE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAI,KAA8D,CAAC,GAAG,CAAC,CAAC;IACnF,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAe;IAC5C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SACzC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,IAAI,EAAE,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC;QACtC,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC;KACzC,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAA0B,EAC1B,KAA4B,EAC5B,KAAa;IAEb,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,IAAI,KAAK,EAAE;QACpC,KAAK;QACL,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,SAAS,KAAK,GAAG,CAAC,EAAE;QAC5F,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9C,QAAQ,EAAE,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,SAAS;QACzC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;QACrC,cAAc,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3C,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1C,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAwB,EAAE,KAAa;IACzE,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,wBAAwB,KAAK,EAAE;QAC/C,KAAK;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,IAAI;QACjB,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;QACrC,cAAc,EAAE,EAAE;QAClB,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3C,aAAa,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CACjD,CAAC,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAC7D;QACD,gBAAgB,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA8B;IACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACzC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAChF,CAAC;AAEM,KAAK,UAAU,eAAe;IACnC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,8BAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC5C,MAAM,UAAU,GAAG,sCAA8B,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,QAAQ,KAAK,sBAAsB,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAiB,EAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3F,OAAO;gBACL,GAAG,UAAU;gBACb,MAAM,EAAE,mBAAmB,CAAC,UAAU,CAAC;gBACvC,OAAO,EAAE,UAAU;aACpB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAiB,EAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAC9C,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAC7C,CAAC;QACF,OAAO;YACL,GAAG,UAAU;YACb,MAAM,EAAE,mBAAmB,CAAC,UAAU,CAAC;YACvC,OAAO,EAAE,UAAU;SACpB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,IAAA,0CAA2B,GAAE;QACrC,QAAQ;KACT,CAAC;AACJ,CAAC;AA9BD,0CA8BC;AAED,SAAS,aAAa,CACpB,KAAiC,EACjC,QAAgC;IAEhC,MAAM,UAAU,GACd,KAAK,CAAC,MAAM,KAAK,SAAS;QACxB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;QACrB,CAAC,CAAC,KAAK,CAAC,eAAe;YACrB,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE;YAC7B,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAEpC,OAAO;QACL,EAAE,EAAE,QAAQ,EAAE,EAAE;QAChB,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,sBAAsB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;QAC7F,WAAW,EAAE,sBAAsB,CACjC,KAAK,CAAC,QAAQ,EACd,QAAQ,EAAE,CAAC,WAAW,CAAC,EACvB,kBAAkB,CACnB;QACD,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,SAAS;QACzC,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;QAC3D,iBAAiB,EAAE,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;aAC5C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAiC,EACjC,QAA4B;IAE5B,MAAM,WAAW,GACf,KAAK,CAAC,OAAO,KAAK,SAAS;QACzB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAChF,CAAC,CAAC,KAAK,CAAC,eAAe;YACrB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAE/E,OAAO;QACL,EAAE,EAAE,QAAQ,EAAE,EAAE;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE,IAAI,IAAI,WAAW;QACzD,UAAU,EACR,sBAAsB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;YACjF,QAAQ,EAAE,CAAC,UAAU,CAAC;YACtB,EAAE;QACJ,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;QAC3D,iBAAiB,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QACvE,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA+B,EAAE,OAAe;IACzE,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAC;IAClF,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC3D,IACE,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC;QAC7B,WAAW,IAAI,CAAC;QAChB,WAAW,GAAG,OAAO,CAAC,MAAM;QAC5B,MAAM,CAAC,WAAW,CAAC,KAAK,iBAAiB,EACzC,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,iBAAiB,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7F,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/D,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC5D,IACE,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC;YACnC,iBAAiB,IAAI,CAAC;YACtB,iBAAiB,GAAG,OAAO,CAAC,MAAM;YAClC,MAAM,CAAC,iBAAiB,CAAC,KAAK,YAAY,EAC1C,CAAC;YACD,OAAO,iBAAiB,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA0B,EAAE,KAAiC;IACxF,IAAI,MAAM,KAAK,sBAAsB,EAAE,CAAC;QACtC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9F,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,qBAAqB,CACzC,MAA0B,EAC1B,KAAiC;IAEjC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEnC,IAAI,MAAM,KAAK,sBAAsB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAiB,EAAC,MAAM,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,MAAM,IAAA,iCAAkB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAiB,EAAC,MAAM,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,MAAM,IAAA,iCAAkB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAhBD,sDAgBC;AAEM,KAAK,UAAU,qBAAqB,CACzC,MAA0B,EAC1B,OAAe,EACf,KAAiC;IAEjC,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvB,IAAI,MAAM,KAAK,sBAAsB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAiB,EAAC,MAAM,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClD,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,MAAM,IAAA,iCAAkB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAiB,EAAC,MAAM,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,OAAO,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,MAAM,IAAA,iCAAkB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AArBD,sDAqBC;AAEM,KAAK,UAAU,qBAAqB,CACzC,MAA0B,EAC1B,OAAe;IAEf,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvB,IAAI,MAAM,KAAK,sBAAsB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAiB,EAAC,MAAM,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzB,MAAM,IAAA,iCAAkB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAiB,EAAC,MAAM,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzB,MAAM,IAAA,iCAAkB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAlBD,sDAkBC"}
@@ -0,0 +1,8 @@
1
+ import type { CodexAccountIdentity } from './types';
2
+ /**
3
+ * Read auth.json from disk and extract display-safe identity fields.
4
+ * Returns {} on any error (missing file, bad JSON, missing token, decode failure).
5
+ * Never throws.
6
+ */
7
+ export declare function decodeAccountIdentity(authJsonPath: string): CodexAccountIdentity;
8
+ //# sourceMappingURL=codex-account-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-account-identity.d.ts","sourceRoot":"","sources":["../../src/codex-auth/codex-account-identity.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAUpD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,oBAAoB,CAiBhF"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.decodeAccountIdentity = void 0;
27
+ const fs = __importStar(require("fs"));
28
+ const logging_1 = require("../services/logging");
29
+ const decode_id_token_1 = require("./decode-id-token");
30
+ const logger = (0, logging_1.createLogger)('codex-auth:identity');
31
+ /**
32
+ * Read auth.json from disk and extract display-safe identity fields.
33
+ * Returns {} on any error (missing file, bad JSON, missing token, decode failure).
34
+ * Never throws.
35
+ */
36
+ function decodeAccountIdentity(authJsonPath) {
37
+ try {
38
+ const raw = fs.readFileSync(authJsonPath, 'utf8');
39
+ const parsed = JSON.parse(raw);
40
+ const idToken = parsed?.tokens?.id_token;
41
+ if (typeof idToken !== 'string' || idToken.length === 0) {
42
+ return {};
43
+ }
44
+ return (0, decode_id_token_1.decodeIdToken)(idToken);
45
+ }
46
+ catch (err) {
47
+ const msg = err instanceof Error ? err.message : String(err);
48
+ logger.warn('codex-auth.identity.decode-failed', `Failed to decode account identity from ${authJsonPath}: ${msg}`);
49
+ return {};
50
+ }
51
+ }
52
+ exports.decodeAccountIdentity = decodeAccountIdentity;
53
+ //# sourceMappingURL=codex-account-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-account-identity.js","sourceRoot":"","sources":["../../src/codex-auth/codex-account-identity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,iDAAmD;AACnD,uDAAkD;AAGlD,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,qBAAqB,CAAC,CAAC;AAQnD;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,YAAoB;IACxD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;QACzC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAA,+BAAa,EAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CACT,mCAAmC,EACnC,0CAA0C,YAAY,KAAK,GAAG,EAAE,CACjE,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAjBD,sDAiBC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Dashboard service for codex-auth profile summary.
3
+ *
4
+ * Reads the profile registry, decodes each profile's auth.json JWT,
5
+ * resolves the active profile via env precedence, and returns the
6
+ * API response shape for GET /api/codex/profiles.
7
+ *
8
+ * Security: tokens NEVER appear in the returned object. Only display-safe
9
+ * fields (email, plan, accountId) are extracted from JWT. auth.json is
10
+ * read/decoded and then discarded.
11
+ *
12
+ * Cache: 5-second in-memory cache reduces full registry/auth reads during
13
+ * dashboard polling, but each call still stats the registry so corruption or
14
+ * edits are surfaced immediately instead of serving stale success.
15
+ */
16
+ export interface CodexAuthProfileEntry {
17
+ name: string;
18
+ codexHome: string;
19
+ email: string | null;
20
+ plan: string | null;
21
+ accountId: string | null;
22
+ lastUsed: string | null;
23
+ authValid: boolean;
24
+ }
25
+ export interface CodexAuthActiveProfile {
26
+ name: string | null;
27
+ source: 'default' | 'env' | 'explicit-codex-home';
28
+ codexHome: string;
29
+ }
30
+ export interface CodexAuthProfilesSummary {
31
+ active: CodexAuthActiveProfile | null;
32
+ default: string | null;
33
+ profiles: CodexAuthProfileEntry[];
34
+ }
35
+ /**
36
+ * Invalidate the in-process cache so the next call re-reads from disk.
37
+ * Useful for Phase 2 CLI commands running in the same process as the dashboard.
38
+ * Out-of-process invocations rely on the 5s TTL.
39
+ */
40
+ export declare function invalidateCodexAuthProfilesCache(): void;
41
+ /**
42
+ * Returns the codex-auth profiles summary, using a 5s in-memory cache.
43
+ * Tokens are never included in the returned object.
44
+ */
45
+ export declare function getCodexAuthProfilesSummary(): Promise<CodexAuthProfilesSummary>;
46
+ //# sourceMappingURL=codex-auth-dashboard-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-auth-dashboard-service.d.ts","sourceRoot":"","sources":["../../src/codex-auth/codex-auth-dashboard-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAgBH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,KAAK,GAAG,qBAAqB,CAAC;IAClD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACtC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACnC;AAWD;;;;GAIG;AACH,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD;AAmLD;;;GAGG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,wBAAwB,CAAC,CASrF"}