@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
@@ -0,0 +1,161 @@
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.resolveActiveProfile = exports.CodexAuthProfileResolutionError = void 0;
27
+ /**
28
+ * Synchronous hot-path resolver for the active codex auth profile. <5ms typical.
29
+ * Precedence: CCS_CODEX_PROFILE env → registry.default → null (legacy ~/.codex).
30
+ * Legacy fallback is allowed only when no explicit CCS_CODEX_PROFILE was requested.
31
+ */
32
+ const fs = __importStar(require("fs"));
33
+ const path = __importStar(require("path"));
34
+ const yaml = __importStar(require("js-yaml"));
35
+ const codex_profile_paths_1 = require("./codex-profile-paths");
36
+ const config_manager_1 = require("../utils/config-manager");
37
+ const types_1 = require("./types");
38
+ const codex_profile_registry_1 = require("./codex-profile-registry");
39
+ class CodexAuthProfileResolutionError extends Error {
40
+ constructor(message) {
41
+ super(message);
42
+ this.name = 'CodexAuthProfileResolutionError';
43
+ }
44
+ }
45
+ exports.CodexAuthProfileResolutionError = CodexAuthProfileResolutionError;
46
+ function quoteDiagnosticValue(value) {
47
+ const escaped = value
48
+ .replace(/[\x00-\x1f\x7f]/g, (char) => `\\x${char.charCodeAt(0).toString(16).padStart(2, '0')}`)
49
+ .replace(/'/g, "\\'");
50
+ return `'${escaped.length > 96 ? `${escaped.slice(0, 96)}...` : escaped}'`;
51
+ }
52
+ function registryDisplayPath(registryPath) {
53
+ const [source] = (0, config_manager_1.getCcsDirSource)();
54
+ if (source === 'default') {
55
+ return process.platform === 'win32'
56
+ ? '%USERPROFILE%\\.ccs\\codex-profiles.yaml'
57
+ : '~/.ccs/codex-profiles.yaml';
58
+ }
59
+ if (source === 'CCS_HOME' || source === 'scoped:CCS_HOME') {
60
+ return '$CCS_HOME/.ccs/codex-profiles.yaml';
61
+ }
62
+ if (source === 'CCS_DIR' || source === 'scoped:CCS_DIR') {
63
+ return '$CCS_DIR/codex-profiles.yaml';
64
+ }
65
+ return registryPath;
66
+ }
67
+ function resolutionFailure(message, envName, displayEnvName) {
68
+ const prefix = envName ? `CCS_CODEX_PROFILE=${displayEnvName} is set but ` : '';
69
+ throw new CodexAuthProfileResolutionError(`${prefix}${message}. Refusing to fall back to ~/.codex.`);
70
+ }
71
+ function assertValidProfileNameForResolution(name, envName, displayEnvName) {
72
+ const nameError = (0, types_1.getCodexProfileNameError)(name);
73
+ if (nameError) {
74
+ resolutionFailure(`profile name ${quoteDiagnosticValue(name)} is invalid: ${nameError}`, envName, displayEnvName);
75
+ }
76
+ }
77
+ function assertValidProfileEntry(name, profiles, envName, displayEnvName, displayRegistryPath) {
78
+ assertValidProfileNameForResolution(name, envName, displayEnvName);
79
+ const profile = profiles[name];
80
+ if (!profile || typeof profile !== 'object' || Array.isArray(profile)) {
81
+ resolutionFailure(`registry profile ${quoteDiagnosticValue(name)} at ${displayRegistryPath} is not a valid object`, envName, displayEnvName);
82
+ }
83
+ const type = profile.type;
84
+ if (type !== 'codex') {
85
+ resolutionFailure(`registry profile ${quoteDiagnosticValue(name)} at ${displayRegistryPath} is not a Codex profile`, envName, displayEnvName);
86
+ }
87
+ }
88
+ /** @param env - Process env map; defaults to process.env. Injectable for tests. */
89
+ function resolveActiveProfile(env = process.env) {
90
+ const registryPath = (0, codex_profile_paths_1.getCodexAuthRegistryPath)();
91
+ const envName = (env.CCS_CODEX_PROFILE ?? '').trim();
92
+ const displayEnvName = quoteDiagnosticValue(envName);
93
+ const displayRegistryPath = registryDisplayPath(registryPath);
94
+ // F4: silent fallback — no registry means no profiles, legacy mode
95
+ if (!fs.existsSync(registryPath)) {
96
+ if (envName) {
97
+ throw new CodexAuthProfileResolutionError(`CCS_CODEX_PROFILE=${displayEnvName} is set but ${displayRegistryPath} does not exist. Refusing to fall back to ~/.codex.`);
98
+ }
99
+ return null;
100
+ }
101
+ let parsed;
102
+ try {
103
+ const raw = fs.readFileSync(registryPath, 'utf8');
104
+ parsed = yaml.load(raw);
105
+ }
106
+ catch (err) {
107
+ if (err instanceof CodexAuthProfileResolutionError)
108
+ throw err;
109
+ const msg = `registry YAML could not be parsed at ${displayRegistryPath}`;
110
+ resolutionFailure(msg, envName, displayEnvName);
111
+ }
112
+ let registry;
113
+ try {
114
+ registry = (0, codex_profile_registry_1.validateCodexProfileRegistryData)(parsed);
115
+ }
116
+ catch (err) {
117
+ const msg = err instanceof Error ? err.message : String(err);
118
+ resolutionFailure(`registry at ${displayRegistryPath} is invalid: ${msg}`, envName, displayEnvName);
119
+ }
120
+ const profiles = registry.profiles;
121
+ if (!profiles || typeof profiles !== 'object' || Array.isArray(profiles)) {
122
+ resolutionFailure(`registry at ${displayRegistryPath} is missing a valid profiles map`, envName, displayEnvName);
123
+ }
124
+ for (const profileName of Object.keys(profiles)) {
125
+ assertValidProfileEntry(profileName, profiles, envName, displayEnvName, displayRegistryPath);
126
+ }
127
+ // F2: explicit env override
128
+ if (envName) {
129
+ assertValidProfileNameForResolution(envName, envName, displayEnvName);
130
+ if (!Object.prototype.hasOwnProperty.call(profiles, envName)) {
131
+ throw new CodexAuthProfileResolutionError(`CCS_CODEX_PROFILE=${displayEnvName} not found in registry. Refusing to fall back to ~/.codex.`);
132
+ }
133
+ assertValidProfileEntry(envName, profiles, envName, displayEnvName, displayRegistryPath);
134
+ return {
135
+ name: envName,
136
+ dir: path.resolve((0, codex_profile_paths_1.resolveCodexProfileDir)(envName)),
137
+ source: 'env',
138
+ };
139
+ }
140
+ // F3: registry default
141
+ const defaultName = registry.default;
142
+ if (defaultName !== null) {
143
+ if (typeof defaultName !== 'string') {
144
+ resolutionFailure(`registry default at ${displayRegistryPath} is not a valid profile name`, envName, displayEnvName);
145
+ }
146
+ assertValidProfileNameForResolution(defaultName, envName, displayEnvName);
147
+ if (!Object.prototype.hasOwnProperty.call(profiles, defaultName)) {
148
+ resolutionFailure(`registry default ${quoteDiagnosticValue(defaultName)} is missing from profiles map`, envName, displayEnvName);
149
+ }
150
+ assertValidProfileEntry(defaultName, profiles, envName, displayEnvName, displayRegistryPath);
151
+ return {
152
+ name: defaultName,
153
+ dir: path.resolve((0, codex_profile_paths_1.resolveCodexProfileDir)(defaultName)),
154
+ source: 'default',
155
+ };
156
+ }
157
+ // F4: no profile configured
158
+ return null;
159
+ }
160
+ exports.resolveActiveProfile = resolveActiveProfile;
161
+ //# sourceMappingURL=resolve-active-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-active-profile.js","sourceRoot":"","sources":["../../src/codex-auth/resolve-active-profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Shell detection for codex-auth use command.
3
+ * Determines current shell to emit correct eval-safe export syntax.
4
+ */
5
+ /// <reference types="node" />
6
+ /// <reference types="bun-types" />
7
+ export type Shell = 'bash' | 'zsh' | 'fish' | 'pwsh' | 'cmd';
8
+ /**
9
+ * Detect current shell from environment.
10
+ * On Windows: inspect explicit shell executable hints, else default to cmd.
11
+ * On Unix: inspect $SHELL suffix.
12
+ */
13
+ export declare function detectShell(env?: NodeJS.ProcessEnv, platform?: string, parentProcessName?: string): Shell;
14
+ /**
15
+ * Format a single env var export statement for the target shell.
16
+ * Used by use-command to emit eval-safe lines.
17
+ */
18
+ export declare function formatExport(shell: Shell, key: string, value: string): string;
19
+ //# sourceMappingURL=shell-detect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-detect.d.ts","sourceRoot":"","sources":["../../src/codex-auth/shell-detect.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;AAIH,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAyB,EACnC,iBAAiB,CAAC,EAAE,MAAM,GACzB,KAAK,CAaP;AAuED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAY7E"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ /**
3
+ * Shell detection for codex-auth use command.
4
+ * Determines current shell to emit correct eval-safe export syntax.
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || function (mod) {
23
+ if (mod && mod.__esModule) return mod;
24
+ var result = {};
25
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
+ __setModuleDefault(result, mod);
27
+ return result;
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.formatExport = exports.detectShell = void 0;
31
+ const childProcess = __importStar(require("child_process"));
32
+ /**
33
+ * Detect current shell from environment.
34
+ * On Windows: inspect explicit shell executable hints, else default to cmd.
35
+ * On Unix: inspect $SHELL suffix.
36
+ */
37
+ function detectShell(env = process.env, platform = process.platform, parentProcessName) {
38
+ if (platform === 'win32') {
39
+ return (shellFromExecutable(env.SHELL) ??
40
+ shellFromExecutable(parentProcessName ?? detectParentProcessName(platform)) ??
41
+ shellFromExecutable(env.ComSpec ?? env.COMSPEC) ??
42
+ 'cmd');
43
+ }
44
+ const sh = (env.SHELL ?? '').toLowerCase();
45
+ if (sh.endsWith('/fish'))
46
+ return 'fish';
47
+ if (sh.endsWith('/zsh'))
48
+ return 'zsh';
49
+ return 'bash'; // default for bash, sh, dash, ksh
50
+ }
51
+ exports.detectShell = detectShell;
52
+ function detectParentProcessName(platform) {
53
+ if (platform !== 'win32' || !Number.isInteger(process.ppid) || process.ppid <= 0) {
54
+ return undefined;
55
+ }
56
+ const result = childProcess.spawnSync('powershell.exe', [
57
+ '-NoProfile',
58
+ '-NonInteractive',
59
+ '-Command',
60
+ `(Get-Process -Id ${process.ppid} -ErrorAction Stop).ProcessName`,
61
+ ], { encoding: 'utf8', timeout: 1500, windowsHide: true });
62
+ if (result.status !== 0 || !result.stdout)
63
+ return undefined;
64
+ return result.stdout.trim().split(/\r?\n/).pop()?.trim();
65
+ }
66
+ function shellFromExecutable(value) {
67
+ if (!value)
68
+ return null;
69
+ const base = value
70
+ .replace(/^["']|["']$/g, '')
71
+ .replace(/\\/g, '/')
72
+ .split('/')
73
+ .pop()
74
+ ?.toLowerCase()
75
+ .replace(/\.(exe|cmd|ps1|bat)$/i, '');
76
+ switch (base) {
77
+ case 'fish':
78
+ case 'zsh':
79
+ case 'bash':
80
+ case 'cmd':
81
+ return base;
82
+ case 'pwsh':
83
+ case 'powershell':
84
+ return 'pwsh';
85
+ default:
86
+ return null;
87
+ }
88
+ }
89
+ /**
90
+ * Single-quote escape for POSIX shells (bash/zsh/fish).
91
+ * Closes the single-quote, inserts escaped quote, reopens.
92
+ */
93
+ function posixSingleQuote(value) {
94
+ return "'" + value.replace(/'/g, "'\\''") + "'";
95
+ }
96
+ /**
97
+ * Double-quote escape for PowerShell.
98
+ * Wraps in double quotes; escapes the PowerShell escape char first, doubles
99
+ * internal double quotes, and backtick-escapes $ to prevent interpolation.
100
+ */
101
+ function pwshDoubleQuote(value) {
102
+ return '"' + value.replace(/`/g, '``').replace(/"/g, '""').replace(/\$/g, '`$') + '"';
103
+ }
104
+ /**
105
+ * Quote a cmd.exe SET assignment. `set "KEY=value"` keeps command separators
106
+ * like &, |, <, and > inside the assignment instead of executing them.
107
+ */
108
+ function cmdSetQuote(value) {
109
+ return value.replace(/\^/g, '^^').replace(/%/g, '%%').replace(/"/g, '^"').replace(/!/g, '^^!');
110
+ }
111
+ /**
112
+ * Format a single env var export statement for the target shell.
113
+ * Used by use-command to emit eval-safe lines.
114
+ */
115
+ function formatExport(shell, key, value) {
116
+ switch (shell) {
117
+ case 'fish':
118
+ return `set -gx ${key} ${posixSingleQuote(value)};`;
119
+ case 'pwsh':
120
+ return `$env:${key} = ${pwshDoubleQuote(value)}`;
121
+ case 'cmd':
122
+ return `set "${key}=${cmdSetQuote(value)}"`;
123
+ default:
124
+ // bash / zsh
125
+ return `export ${key}=${posixSingleQuote(value)}`;
126
+ }
127
+ }
128
+ exports.formatExport = formatExport;
129
+ //# sourceMappingURL=shell-detect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-detect.js","sourceRoot":"","sources":["../../src/codex-auth/shell-detect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export interface CodexProfileMetadata {
2
+ type: 'codex';
3
+ created: string;
4
+ last_used: string | null;
5
+ email?: string;
6
+ plan_type?: string | null;
7
+ account_id?: string;
8
+ }
9
+ export interface CodexProfileData {
10
+ version: string;
11
+ default: string | null;
12
+ profiles: Record<string, CodexProfileMetadata>;
13
+ }
14
+ export interface CodexAccountIdentity {
15
+ email?: string;
16
+ plan_type?: string;
17
+ account_id?: string;
18
+ }
19
+ export declare const CODEX_PROFILE_SCHEMA_VERSION = "1.0";
20
+ /**
21
+ * Profile name must match /^[a-z0-9][a-z0-9_-]{0,63}$/ and not be reserved.
22
+ * Rejects uppercase, path separators, leading dash/underscore, length >64.
23
+ */
24
+ export declare function isValidCodexProfileName(name: string): boolean;
25
+ export declare function getCodexProfileNameError(name: string): string | null;
26
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/codex-auth/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,4BAA4B,QAAQ,CAAC;AAIlD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAK7D;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASpE"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCodexProfileNameError = exports.isValidCodexProfileName = exports.CODEX_PROFILE_SCHEMA_VERSION = void 0;
4
+ exports.CODEX_PROFILE_SCHEMA_VERSION = '1.0';
5
+ const RESERVED_CODEX_PROFILE_NAMES = new Set(['default', 'current']);
6
+ /**
7
+ * Profile name must match /^[a-z0-9][a-z0-9_-]{0,63}$/ and not be reserved.
8
+ * Rejects uppercase, path separators, leading dash/underscore, length >64.
9
+ */
10
+ function isValidCodexProfileName(name) {
11
+ if (!name || name.length > 64)
12
+ return false;
13
+ if (RESERVED_CODEX_PROFILE_NAMES.has(name))
14
+ return false;
15
+ if (name.includes('/') || name.includes('\\'))
16
+ return false;
17
+ return /^[a-z0-9][a-z0-9_-]{0,63}$/.test(name);
18
+ }
19
+ exports.isValidCodexProfileName = isValidCodexProfileName;
20
+ function getCodexProfileNameError(name) {
21
+ if (!name)
22
+ return 'Profile name is required.';
23
+ if (RESERVED_CODEX_PROFILE_NAMES.has(name))
24
+ return `Profile name "${name}" is reserved.`;
25
+ if (name.includes('/') || name.includes('\\'))
26
+ return 'Profile name must not contain path separators.';
27
+ if (name.length > 64)
28
+ return 'Profile name must be 64 characters or fewer.';
29
+ if (!/^[a-z0-9][a-z0-9_-]{0,63}$/.test(name))
30
+ return 'Profile name must match [a-z0-9][a-z0-9_-]{0,63}.';
31
+ return null;
32
+ }
33
+ exports.getCodexProfileNameError = getCodexProfileNameError;
34
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/codex-auth/types.ts"],"names":[],"mappings":";;;AAqBa,QAAA,4BAA4B,GAAG,KAAK,CAAC;AAElD,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAErE;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,IAAY;IAClD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,OAAO,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AALD,0DAKC;AAED,SAAgB,wBAAwB,CAAC,IAAY;IACnD,IAAI,CAAC,IAAI;QAAE,OAAO,2BAA2B,CAAC;IAC9C,IAAI,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,iBAAiB,IAAI,gBAAgB,CAAC;IACzF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC3C,OAAO,gDAAgD,CAAC;IAC1D,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,8CAA8C,CAAC;IAC5E,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1C,OAAO,mDAAmD,CAAC;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC;AATD,4DASC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pre-dispatch.d.ts","sourceRoot":"","sources":["../../src/dispatcher/pre-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAIzD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAID;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAsHtF"}
1
+ {"version":3,"file":"pre-dispatch.d.ts","sourceRoot":"","sources":["../../src/dispatcher/pre-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAIzD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAID;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CA8HtF"}
@@ -71,6 +71,13 @@ async function runPreDispatchHandlers(ctx) {
71
71
  (0, environment_builder_1.refreshUpdateCache)();
72
72
  }
73
73
  }
74
+ // CCS_NO_PRE_DISPATCH guard — set by `ccsx auth use` to keep stdout clean
75
+ // for shell eval. Must be checked BEFORE autoMigrate/recovery, both of which
76
+ // write to stdout and would otherwise contaminate `eval "$(ccsx auth use <name>)"`.
77
+ // See: src/codex-auth/commands/use-command.ts (C2 in plan.md §Validation findings)
78
+ if (process.env.CCS_NO_PRE_DISPATCH === '1') {
79
+ return false;
80
+ }
74
81
  // Auto-migrate to unified config format (silent if already migrated)
75
82
  // Skip if user is explicitly running migrate command
76
83
  if (firstArg !== 'migrate') {
@@ -1 +1 @@
1
- {"version":3,"file":"pre-dispatch.js","sourceRoot":"","sources":["../../src/dispatcher/pre-dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pre-dispatch.js","sourceRoot":"","sources":["../../src/dispatcher/pre-dispatch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex-cliproxy-provider-config.d.ts","sourceRoot":"","sources":["../../src/targets/codex-cliproxy-provider-config.ts"],"names":[],"mappings":";;AAWA,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AACrE,eAAO,MAAM,0BAA0B,aAAa,CAAC;AACrD,eAAO,MAAM,+BAA+B,qBAAqB,CAAC;AAClE,eAAO,MAAM,4BAA4B,mBAAmB,CAAC;AAG7D,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAgBD,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAErF;AAoFD,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,iCAAiC,CAAC,CAsE5C"}
1
+ {"version":3,"file":"codex-cliproxy-provider-config.d.ts","sourceRoot":"","sources":["../../src/targets/codex-cliproxy-provider-config.ts"],"names":[],"mappings":";;AAWA,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AACrE,eAAO,MAAM,0BAA0B,aAAa,CAAC;AACrD,eAAO,MAAM,+BAA+B,qBAAqB,CAAC;AAClE,eAAO,MAAM,4BAA4B,mBAAmB,CAAC;AAG7D,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAgBD,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAErF;AAqFD,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,iCAAiC,CAAC,CAsE5C"}
@@ -56,22 +56,19 @@ function asObject(value) {
56
56
  ? value
57
57
  : null;
58
58
  }
59
- function normalizeLocalProviderUrl(value) {
59
+ function isValidCodexCliproxyBaseUrl(value) {
60
60
  if (typeof value !== 'string')
61
- return null;
61
+ return false;
62
62
  const trimmed = value.trim();
63
+ if (!trimmed)
64
+ return false;
63
65
  try {
64
66
  const url = new URL(trimmed);
65
- if ((url.hostname === 'localhost' || url.hostname === '127.0.0.1') &&
66
- url.pathname === '/api/provider/codex') {
67
- url.hostname = '127.0.0.1';
68
- return url.toString().replace(/\/$/, '');
69
- }
67
+ return url.protocol === 'http:' || url.protocol === 'https:';
70
68
  }
71
69
  catch {
72
- return null;
70
+ return false;
73
71
  }
74
- return null;
75
72
  }
76
73
  function resolveProviderEnvKey(provider) {
77
74
  const envKey = provider?.env_key;
@@ -80,9 +77,9 @@ function resolveProviderEnvKey(provider) {
80
77
  }
81
78
  return exports.CODEX_CLIPROXY_PROVIDER_ENV_KEY;
82
79
  }
83
- function isProviderReady(provider, expectedBaseUrl, envKey) {
80
+ function isProviderReady(provider, envKey) {
84
81
  return (provider.name === exports.CODEX_CLIPROXY_PROVIDER_NAME &&
85
- normalizeLocalProviderUrl(provider.base_url) === expectedBaseUrl &&
82
+ isValidCodexCliproxyBaseUrl(provider.base_url) &&
86
83
  provider.env_key === envKey &&
87
84
  provider.wire_api === 'responses' &&
88
85
  provider.requires_openai_auth === false &&
@@ -98,6 +95,13 @@ function buildProviderConfig(baseUrl, envKey) {
98
95
  supports_websockets: false,
99
96
  };
100
97
  }
98
+ function resolveProviderBaseUrl(provider, fallbackBaseUrl) {
99
+ const baseUrl = provider.base_url;
100
+ if (isValidCodexCliproxyBaseUrl(baseUrl)) {
101
+ return baseUrl.trim();
102
+ }
103
+ return fallbackBaseUrl;
104
+ }
101
105
  function appendProviderBlock(rawText, baseUrl) {
102
106
  const prefix = rawText.trimEnd();
103
107
  const providerBlock = (0, compatible_cli_toml_file_service_1.stringifyTomlObject)({
@@ -162,11 +166,11 @@ async function ensureCodexCliproxyProviderConfig(port, env = process.env) {
162
166
  throw new Error(`Cannot repair ${displayPath}: [model_providers.${exports.CODEX_CLIPROXY_PROVIDER_ID}] must be a table.`);
163
167
  }
164
168
  const envKey = resolveProviderEnvKey(currentProvider);
165
- const providerReady = isProviderReady(currentProvider, expectedBaseUrl, envKey);
169
+ const providerReady = isProviderReady(currentProvider, envKey);
166
170
  if (!providerReady) {
167
171
  providers[exports.CODEX_CLIPROXY_PROVIDER_ID] = {
168
172
  ...currentProvider,
169
- ...buildProviderConfig(expectedBaseUrl, envKey),
173
+ ...buildProviderConfig(resolveProviderBaseUrl(currentProvider, expectedBaseUrl), envKey),
170
174
  };
171
175
  }
172
176
  if (providerReady && !normalizedModelAlias) {
@@ -1 +1 @@
1
- {"version":3,"file":"codex-cliproxy-provider-config.js","sourceRoot":"","sources":["../../src/targets/codex-cliproxy-provider-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-cliproxy-provider-config.js","sourceRoot":"","sources":["../../src/targets/codex-cliproxy-provider-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import{g as K,r as A}from"./react-vendor-Bjx91N7w.js";import{bP as U,bQ as X,bR as q,bS as ee,bT as D,bU as H,bV as L,bW as te,bX as ne}from"./index-CSlgRg0s.js";var W,M;function re(){return M||(M=1,W={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),W}var se=re();const ae=K(se);var ie=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function Z(e){var t={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},n=e.match(/<\/?([^\s]+?)[/\s>]/);if(n&&(t.name=n[1],(ae[n[1]]||e.charAt(e.length-2)==="/")&&(t.voidElement=!0),t.name.startsWith("!--"))){var r=e.indexOf("-->");return{type:"comment",comment:r!==-1?e.slice(4,r):""}}for(var i=new RegExp(ie),s=null;(s=i.exec(e))!==null;)if(s[0].trim())if(s[1]){var o=s[1].trim(),l=[o,""];o.indexOf("=")>-1&&(l=o.split("=")),t.attrs[l[0]]=l[1],i.lastIndex--}else s[2]&&(t.attrs[s[2]]=s[3].trim().substring(1,s[3].length-1));return t}var oe=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,le=/^\s*$/,ce=Object.create(null);function J(e,t){switch(t.type){case"text":return e+t.content;case"tag":return e+="<"+t.name+(t.attrs?(function(n){var r=[];for(var i in n)r.push(i+'="'+n[i]+'"');return r.length?" "+r.join(" "):""})(t.attrs):"")+(t.voidElement?"/>":">"),t.voidElement?e:e+t.children.reduce(J,"")+"</"+t.name+">";case"comment":return e+"<!--"+t.comment+"-->"}}var ue={parse:function(e,t){t||(t={}),t.components||(t.components=ce);var n,r=[],i=[],s=-1,o=!1;if(e.indexOf("<")!==0){var l=e.indexOf("<");r.push({type:"text",content:l===-1?e:e.substring(0,l)})}return e.replace(oe,function(c,p){if(o){if(c!=="</"+n.name+">")return;o=!1}var f,v=c.charAt(1)!=="/",C=c.startsWith("<!--"),g=p+c.length,u=e.charAt(g);if(C){var j=Z(c);return s<0?(r.push(j),r):((f=i[s]).children.push(j),r)}if(v&&(s++,(n=Z(c)).type==="tag"&&t.components[n.name]&&(n.type="component",o=!0),n.voidElement||o||!u||u==="<"||n.children.push({type:"text",content:e.slice(g,e.indexOf("<",g))}),s===0&&r.push(n),(f=i[s-1])&&f.children.push(n),i[s]=n),(!v||n.voidElement)&&(s>-1&&(n.voidElement||n.name===c.slice(2,-1))&&(s--,n=s===-1?r:i[s]),!o&&u!=="<"&&u)){f=s===-1?r:i[s].children;var h=e.indexOf("<",g),$=e.slice(g,h===-1?void 0:h);le.test($)&&($=" "),(h>-1&&s+f.length>=0||$!==" ")&&f.push({type:"text",content:$})}}),r},stringify:function(e){return e.reduce(function(t,n){return t+J("",n)},"")}};const z=(e,t)=>{if(!e)return!1;const n=e.props?.children??e.children;return t?n.length>0:!!n},B=e=>{if(!e)return[];const t=e.props?.children??e.children;return e.props?.i18nIsDynamicList?_(t):t},pe=e=>Array.isArray(e)&&e.every(A.isValidElement),_=e=>Array.isArray(e)?e:[e],fe=(e,t)=>{const n={...t};return n.props={...t.props,...e.props},n},me=e=>{const t={};if(!e)return t;const n=r=>{_(r).forEach(s=>{D(s)||(z(s)?n(B(s)):L(s)&&!A.isValidElement(s)&&Object.assign(t,s))})};return n(e),t},Y=(e,t,n,r)=>{if(!e)return"";let i="";const s=_(e),o=t?.transSupportBasicHtmlNodes?t.transKeepBasicHtmlNodesFor??[]:[];return s.forEach((l,c)=>{if(D(l)){i+=`${l}`;return}if(A.isValidElement(l)){const{props:p,type:f}=l,v=Object.keys(p).length,C=o.indexOf(f)>-1,g=p.children;if(!g&&C&&!v){i+=`<${f}/>`;return}if(!g&&(!C||v)||p.i18nIsDynamicList){i+=`<${c}></${c}>`;return}if(C&&v===1&&D(g)){i+=`<${f}>${g}</${f}>`;return}const u=Y(g,t,n,r);i+=`<${c}>${u}</${c}>`;return}if(l===null){H(n,"TRANS_NULL_VALUE","Passed in a null value as child",{i18nKey:r});return}if(L(l)){const{format:p,...f}=l,v=Object.keys(f);if(v.length===1){const C=p?`${v[0]}, ${p}`:v[0];i+=`{{${C}}}`;return}H(n,"TRANS_INVALID_OBJ","Invalid child - Object should only have keys {{ value, format }} (format is optional).",{i18nKey:r,child:l});return}H(n,"TRANS_INVALID_VAR","Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.",{i18nKey:r,child:l})}),i},he=(e,t=[],n={})=>{if(!e)return e;const r=Object.keys(n),i=[...t,...r];let s="",o=0;for(;o<e.length;)if(e[o]==="<"){let l=!1;const c=e.slice(o).match(/^<\/(\d+|[a-zA-Z][a-zA-Z0-9_-]*)>/);if(c){const p=c[1];(/^\d+$/.test(p)||i.includes(p))&&(l=!0,s+=c[0],o+=c[0].length)}if(!l){const p=e.slice(o).match(/^<(\d+|[a-zA-Z][a-zA-Z0-9_-]*)(\s+[\w-]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]+))?)*\s*(\/)?>/);if(p){const f=p[1];(/^\d+$/.test(f)||i.includes(f))&&(l=!0,s+=p[0],o+=p[0].length)}}l||(s+="&lt;",o+=1)}else s+=e[o],o+=1;return s},de=(e,t,n,r,i,s,o)=>{if(n==="")return[];const l=i.transKeepBasicHtmlNodesFor||[],c=n&&new RegExp(l.map(d=>`<${d}`).join("|")).test(n);if(!e&&!t&&!c&&!o)return[n];const p=t??{},f=d=>{_(d).forEach(y=>{D(y)||(z(y)?f(B(y)):L(y)&&!A.isValidElement(y)&&Object.assign(p,y))})};f(e);const v=he(n,l,p),C=ue.parse(`<0>${v}</0>`),g={...p,...s},u=(d,O,y)=>{const N=B(d),I=h(N,O.children,y);return pe(N)&&I.length===0||d.props?.i18nIsDynamicList?N:I},j=(d,O,y,N,I)=>{d.dummy?(d.children=O,y.push(A.cloneElement(d,{key:N},I?void 0:O))):y.push(...A.Children.map([d],m=>{const a="data-i18n-is-dynamic-list",V={key:N,[a]:void 0};return m&&m.props&&Object.keys(m.props).forEach(T=>{T==="ref"||T==="children"||T==="i18nIsDynamicList"||T===a||(V[T]=m.props[T])}),A.cloneElement(m,V,I?null:O)}))},h=(d,O,y)=>{const N=_(d);return _(O).reduce((m,a,V)=>{const T=a.children?.[0]?.content&&r.services.interpolator.interpolate(a.children[0].content,g,r.language);if(a.type==="tag"){let x=N[parseInt(a.name,10)];!x&&t&&(x=t[a.name]),y.length===1&&!x&&(x=y[0][a.name]),x||(x={});const k={...a.attrs};o&&Object.keys(k).forEach(E=>{const P=k[E];D(P)&&(k[E]=te(P))});const b=Object.keys(k).length!==0?fe({props:k},x):x,S=A.isValidElement(b),F=S&&z(a,!0)&&!a.voidElement,w=c&&L(b)&&b.dummy&&!S,R=L(t)&&Object.hasOwnProperty.call(t,a.name);if(D(b)){const E=r.services.interpolator.interpolate(b,g,r.language);m.push(E)}else if(z(b)||F){const E=u(b,a,y);j(b,E,m,V)}else if(w){const E=h(N,a.children,y);j(b,E,m,V)}else if(Number.isNaN(parseFloat(a.name)))if(R){const E=u(b,a,y);j(b,E,m,V,a.voidElement)}else if(i.transSupportBasicHtmlNodes&&l.indexOf(a.name)>-1)if(a.voidElement)m.push(A.createElement(a.name,{key:`${a.name}-${V}`}));else{const E=h(N,a.children,y);m.push(A.createElement(a.name,{key:`${a.name}-${V}`},E))}else if(a.voidElement)m.push(`<${a.name} />`);else{const E=h(N,a.children,y);m.push(`<${a.name}>${E}</${a.name}>`)}else if(L(b)&&!S){const E=a.children[0]?T:null;E&&m.push(E)}else j(b,T,m,V,a.children.length!==1||!T)}else if(a.type==="text"){const x=i.transWrapTextNodes,k=typeof i.unescape=="function"?i.unescape:q().unescape,b=o?k(r.services.interpolator.interpolate(a.content,g,r.language)):r.services.interpolator.interpolate(a.content,g,r.language);x?m.push(A.createElement(x,{key:`${a.name}-${V}`},b)):m.push(b)}return m},[])},$=h([{dummy:!0,children:e||[]}],C,_(e||[]));return B($[0])},Q=(e,t,n)=>{const r=e.key||t,i=A.cloneElement(e,{key:r});if(!i.props||!i.props.children||n.indexOf(`${t}/>`)<0&&n.indexOf(`${t} />`)<0)return i;function s(){return A.createElement(A.Fragment,null,i)}return A.createElement(s,{key:r})},ye=(e,t)=>e.map((n,r)=>Q(n,r,t)),ge=(e,t)=>{const n={};return Object.keys(e).forEach(r=>{Object.assign(n,{[r]:Q(e[r],r,t)})}),n},Ee=(e,t,n,r)=>e?Array.isArray(e)?ye(e,t):L(e)?ge(e,t):(U(n,"TRANS_INVALID_COMPONENTS",'<Trans /> "components" prop expects an object or array',{i18nKey:r}),null):null,be=e=>!L(e)||Array.isArray(e)?!1:Object.keys(e).reduce((t,n)=>t&&Number.isNaN(Number.parseFloat(n)),!0);function ve({children:e,count:t,parent:n,i18nKey:r,context:i,tOptions:s={},values:o,defaults:l,components:c,ns:p,i18n:f,t:v,shouldUnescape:C,...g}){const u=f||X();if(!u)return U(u,"NO_I18NEXT_INSTANCE","Trans: You need to pass in an i18next instance using i18nextReactModule",{i18nKey:r}),e;const j=v||u.t.bind(u)||(G=>G),h={...q(),...u.options?.react};let $=p||j.ns||u.options?.defaultNS;$=D($)?[$]:$||["translation"];const{transDefaultProps:d}=h,O=d?.tOptions?{...d.tOptions,...s}:s,y=C??d?.shouldUnescape,N=d?.values?{...d.values,...o}:o,I=d?.components?{...d.components,...c}:c,m=Y(e,h,u,r),a=l||O?.defaultValue||m||h.transEmptyNodeValue||(typeof r=="function"?ee(r):r),{hashTransKey:V}=h,T=r||(V?V(m||a):m||a);u.options?.interpolation?.defaultVariables?o=N&&Object.keys(N).length>0?{...N,...u.options.interpolation.defaultVariables}:{...u.options.interpolation.defaultVariables}:o=N;const x=me(e);x&&typeof x.count=="number"&&t===void 0&&(t=x.count);const k=o||t!==void 0&&!u.options?.interpolation?.alwaysFormat||!e?O.interpolation:{interpolation:{...O.interpolation,prefix:"#$?",suffix:"?$#"}},b={...O,context:i||O.context,count:t,...o,...k,defaultValue:a,ns:$};let S=T?j(T,b):a;S===T&&a&&(S=a);const F=Ee(I,S,u,r);let w=F||e,R=null;be(F)&&(R=F,w=e);const E=de(w,R,S,u,h,b,y),P=n??h.defaultTransParent;return P?A.createElement(P,g,E):E}function xe({children:e,count:t,parent:n,i18nKey:r,context:i,tOptions:s={},values:o,defaults:l,components:c,ns:p,i18n:f,t:v,shouldUnescape:C,...g}){const{i18n:u,defaultNS:j}=A.useContext(ne)||{},h=f||u||X(),$=v||h?.t.bind(h);return ve({children:e,count:t,parent:n,i18nKey:r,context:i,tOptions:s,values:o,defaults:l,components:c,ns:p||$?.ns||j||h?.options?.defaultNS,i18n:h,t:v,shouldUnescape:C,...g})}export{xe as T};