@codemieai/code 0.15.3 → 0.15.5

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 (208) hide show
  1. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  2. package/dist/agents/core/AgentCLI.js +9 -0
  3. package/dist/agents/core/AgentCLI.js.map +1 -1
  4. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  5. package/dist/agents/core/BaseAgentAdapter.js +34 -9
  6. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  7. package/dist/agents/plugins/claude/claude.models.d.ts +58 -0
  8. package/dist/agents/plugins/claude/claude.models.d.ts.map +1 -1
  9. package/dist/agents/plugins/claude/claude.models.js +196 -10
  10. package/dist/agents/plugins/claude/claude.models.js.map +1 -1
  11. package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
  12. package/dist/agents/plugins/claude/claude.plugin.js +147 -45
  13. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
  14. package/dist/agents/plugins/claude/plugin/statusline.bundle.mjs +729 -0
  15. package/dist/agents/plugins/claude/statusline-installer.d.ts +1 -1
  16. package/dist/agents/plugins/claude/statusline-installer.d.ts.map +1 -1
  17. package/dist/agents/plugins/claude/statusline-installer.js +41 -3
  18. package/dist/agents/plugins/claude/statusline-installer.js.map +1 -1
  19. package/dist/agents/plugins/codex/codex-models.d.ts.map +1 -1
  20. package/dist/agents/plugins/codex/codex-models.js +109 -8
  21. package/dist/agents/plugins/codex/codex-models.js.map +1 -1
  22. package/dist/agents/plugins/codex/codex.correlation.d.ts +39 -0
  23. package/dist/agents/plugins/codex/codex.correlation.d.ts.map +1 -0
  24. package/dist/agents/plugins/codex/codex.correlation.js +150 -0
  25. package/dist/agents/plugins/codex/codex.correlation.js.map +1 -0
  26. package/dist/agents/plugins/codex/codex.plugin.d.ts.map +1 -1
  27. package/dist/agents/plugins/codex/codex.plugin.js +8 -40
  28. package/dist/agents/plugins/codex/codex.plugin.js.map +1 -1
  29. package/dist/agents/plugins/kimi/kimi.env-model.d.ts +27 -0
  30. package/dist/agents/plugins/kimi/kimi.env-model.d.ts.map +1 -0
  31. package/dist/agents/plugins/kimi/kimi.env-model.js +52 -0
  32. package/dist/agents/plugins/kimi/kimi.env-model.js.map +1 -0
  33. package/dist/agents/plugins/kimi/kimi.session.d.ts +6 -0
  34. package/dist/agents/plugins/kimi/kimi.session.d.ts.map +1 -1
  35. package/dist/agents/plugins/kimi/kimi.session.js +24 -2
  36. package/dist/agents/plugins/kimi/kimi.session.js.map +1 -1
  37. package/dist/agents/plugins/opencode/opencode-dynamic-models.js +1 -1
  38. package/dist/agents/plugins/opencode/opencode-dynamic-models.js.map +1 -1
  39. package/dist/cli/commands/analytics/cost/cost-enricher.d.ts +19 -2
  40. package/dist/cli/commands/analytics/cost/cost-enricher.d.ts.map +1 -1
  41. package/dist/cli/commands/analytics/cost/cost-enricher.js +171 -14
  42. package/dist/cli/commands/analytics/cost/cost-enricher.js.map +1 -1
  43. package/dist/cli/commands/analytics/cost/local-models.d.ts +15 -0
  44. package/dist/cli/commands/analytics/cost/local-models.d.ts.map +1 -0
  45. package/dist/cli/commands/analytics/cost/local-models.js +21 -0
  46. package/dist/cli/commands/analytics/cost/local-models.js.map +1 -0
  47. package/dist/cli/commands/analytics/cost/types.d.ts +60 -0
  48. package/dist/cli/commands/analytics/cost/types.d.ts.map +1 -1
  49. package/dist/cli/commands/analytics/cost/types.js.map +1 -1
  50. package/dist/cli/commands/analytics/cost/usage-readers.d.ts +25 -2
  51. package/dist/cli/commands/analytics/cost/usage-readers.d.ts.map +1 -1
  52. package/dist/cli/commands/analytics/cost/usage-readers.js +61 -3
  53. package/dist/cli/commands/analytics/cost/usage-readers.js.map +1 -1
  54. package/dist/cli/commands/analytics/formatter.d.ts +11 -0
  55. package/dist/cli/commands/analytics/formatter.d.ts.map +1 -1
  56. package/dist/cli/commands/analytics/formatter.js +28 -0
  57. package/dist/cli/commands/analytics/formatter.js.map +1 -1
  58. package/dist/cli/commands/analytics/index.d.ts.map +1 -1
  59. package/dist/cli/commands/analytics/index.js +113 -72
  60. package/dist/cli/commands/analytics/index.js.map +1 -1
  61. package/dist/cli/commands/analytics/otel-loader.d.ts.map +1 -1
  62. package/dist/cli/commands/analytics/otel-loader.js +60 -14
  63. package/dist/cli/commands/analytics/otel-loader.js.map +1 -1
  64. package/dist/cli/commands/analytics/otel-pricing.d.ts +38 -0
  65. package/dist/cli/commands/analytics/otel-pricing.d.ts.map +1 -0
  66. package/dist/cli/commands/analytics/otel-pricing.js +33 -0
  67. package/dist/cli/commands/analytics/otel-pricing.js.map +1 -0
  68. package/dist/cli/commands/analytics/report/client/app.js +279 -18
  69. package/dist/cli/commands/analytics/report/output-target.d.ts +22 -0
  70. package/dist/cli/commands/analytics/report/output-target.d.ts.map +1 -0
  71. package/dist/cli/commands/analytics/report/output-target.js +56 -0
  72. package/dist/cli/commands/analytics/report/output-target.js.map +1 -0
  73. package/dist/cli/commands/analytics/report/payload-builder.d.ts.map +1 -1
  74. package/dist/cli/commands/analytics/report/payload-builder.js +6 -0
  75. package/dist/cli/commands/analytics/report/payload-builder.js.map +1 -1
  76. package/dist/cli/commands/analytics/report/report-generator.d.ts +1 -1
  77. package/dist/cli/commands/analytics/report/report-generator.js +1 -1
  78. package/dist/cli/commands/analytics/report/session-report.d.ts +1 -3
  79. package/dist/cli/commands/analytics/report/session-report.d.ts.map +1 -1
  80. package/dist/cli/commands/analytics/report/session-report.js +1 -3
  81. package/dist/cli/commands/analytics/report/session-report.js.map +1 -1
  82. package/dist/cli/commands/analytics/report/template.html +6 -6
  83. package/dist/cli/commands/analytics/report/types.d.ts +17 -1
  84. package/dist/cli/commands/analytics/report/types.d.ts.map +1 -1
  85. package/dist/cli/commands/analytics/sources/sessions-source.d.ts.map +1 -1
  86. package/dist/cli/commands/analytics/sources/sessions-source.js +9 -11
  87. package/dist/cli/commands/analytics/sources/sessions-source.js.map +1 -1
  88. package/dist/cli/commands/analytics/sources/types.d.ts +0 -2
  89. package/dist/cli/commands/analytics/sources/types.d.ts.map +1 -1
  90. package/dist/cli/commands/analytics/types.d.ts +13 -7
  91. package/dist/cli/commands/analytics/types.d.ts.map +1 -1
  92. package/dist/cli/commands/doctor/checks/NpmPrefixOverrideCheck.d.ts +9 -0
  93. package/dist/cli/commands/doctor/checks/NpmPrefixOverrideCheck.d.ts.map +1 -0
  94. package/dist/cli/commands/doctor/checks/NpmPrefixOverrideCheck.js +42 -0
  95. package/dist/cli/commands/doctor/checks/NpmPrefixOverrideCheck.js.map +1 -0
  96. package/dist/cli/commands/doctor/checks/index.d.ts +1 -0
  97. package/dist/cli/commands/doctor/checks/index.d.ts.map +1 -1
  98. package/dist/cli/commands/doctor/checks/index.js +1 -0
  99. package/dist/cli/commands/doctor/checks/index.js.map +1 -1
  100. package/dist/cli/commands/doctor/index.d.ts.map +1 -1
  101. package/dist/cli/commands/doctor/index.js +2 -1
  102. package/dist/cli/commands/doctor/index.js.map +1 -1
  103. package/dist/cli/commands/models.d.ts.map +1 -1
  104. package/dist/cli/commands/models.js +16 -3
  105. package/dist/cli/commands/models.js.map +1 -1
  106. package/dist/cli/commands/proxy/connect-orchestrator.js +1 -1
  107. package/dist/cli/commands/proxy/connect-orchestrator.js.map +1 -1
  108. package/dist/cli/commands/proxy/connectors/tenant-catalog.d.ts +16 -4
  109. package/dist/cli/commands/proxy/connectors/tenant-catalog.d.ts.map +1 -1
  110. package/dist/cli/commands/proxy/connectors/tenant-catalog.js +42 -14
  111. package/dist/cli/commands/proxy/connectors/tenant-catalog.js.map +1 -1
  112. package/dist/cli/commands/proxy/connectors/vscode-models.d.ts +18 -0
  113. package/dist/cli/commands/proxy/connectors/vscode-models.d.ts.map +1 -1
  114. package/dist/cli/commands/proxy/connectors/vscode-models.js +58 -0
  115. package/dist/cli/commands/proxy/connectors/vscode-models.js.map +1 -1
  116. package/dist/cli/commands/proxy/connectors/vscode.d.ts +2 -2
  117. package/dist/cli/commands/proxy/connectors/vscode.d.ts.map +1 -1
  118. package/dist/cli/commands/proxy/connectors/vscode.js +27 -38
  119. package/dist/cli/commands/proxy/connectors/vscode.js.map +1 -1
  120. package/dist/cli/commands/update.d.ts.map +1 -1
  121. package/dist/cli/commands/update.js +4 -3
  122. package/dist/cli/commands/update.js.map +1 -1
  123. package/dist/frameworks/plugins/codegraph.plugin.js +2 -2
  124. package/dist/frameworks/plugins/codegraph.plugin.js.map +1 -1
  125. package/dist/providers/core/codemie-auth-helpers.d.ts.map +1 -1
  126. package/dist/providers/core/codemie-auth-helpers.js +6 -1
  127. package/dist/providers/core/codemie-auth-helpers.js.map +1 -1
  128. package/dist/providers/core/default-agent-hooks.d.ts.map +1 -1
  129. package/dist/providers/core/default-agent-hooks.js +9 -0
  130. package/dist/providers/core/default-agent-hooks.js.map +1 -1
  131. package/dist/providers/plugins/bedrock/bedrock.template.d.ts.map +1 -1
  132. package/dist/providers/plugins/bedrock/bedrock.template.js +5 -31
  133. package/dist/providers/plugins/bedrock/bedrock.template.js.map +1 -1
  134. package/dist/providers/plugins/sso/proxy/plugins/background-request-normalizer.plugin.d.ts +44 -0
  135. package/dist/providers/plugins/sso/proxy/plugins/background-request-normalizer.plugin.d.ts.map +1 -0
  136. package/dist/providers/plugins/sso/proxy/plugins/background-request-normalizer.plugin.js +106 -0
  137. package/dist/providers/plugins/sso/proxy/plugins/background-request-normalizer.plugin.js.map +1 -0
  138. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +3 -1
  139. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
  140. package/dist/providers/plugins/sso/proxy/plugins/index.js +5 -1
  141. package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
  142. package/dist/providers/plugins/sso/proxy/plugins/routing-header-injector.plugin.d.ts +67 -0
  143. package/dist/providers/plugins/sso/proxy/plugins/routing-header-injector.plugin.d.ts.map +1 -0
  144. package/dist/providers/plugins/sso/proxy/plugins/routing-header-injector.plugin.js +203 -0
  145. package/dist/providers/plugins/sso/proxy/plugins/routing-header-injector.plugin.js.map +1 -0
  146. package/dist/providers/plugins/sso/sso.http-client.d.ts +95 -0
  147. package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -1
  148. package/dist/providers/plugins/sso/sso.http-client.js +79 -0
  149. package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
  150. package/dist/providers/plugins/sso/sso.models.d.ts +7 -0
  151. package/dist/providers/plugins/sso/sso.models.d.ts.map +1 -1
  152. package/dist/providers/plugins/sso/sso.models.js +22 -14
  153. package/dist/providers/plugins/sso/sso.models.js.map +1 -1
  154. package/dist/utils/bedrock-pricing.mjs +111 -0
  155. package/dist/utils/cli-bin.d.ts.map +1 -1
  156. package/dist/utils/cli-bin.js +3 -4
  157. package/dist/utils/cli-bin.js.map +1 -1
  158. package/dist/utils/cli-updater.d.ts +1 -0
  159. package/dist/utils/cli-updater.d.ts.map +1 -1
  160. package/dist/utils/cli-updater.js +37 -9
  161. package/dist/utils/cli-updater.js.map +1 -1
  162. package/dist/utils/credential-crypto.d.ts +51 -0
  163. package/dist/utils/credential-crypto.d.ts.map +1 -0
  164. package/dist/utils/credential-crypto.js +96 -0
  165. package/dist/utils/credential-crypto.js.map +1 -0
  166. package/dist/utils/model-normalizer.d.ts +6 -0
  167. package/dist/utils/model-normalizer.d.ts.map +1 -1
  168. package/dist/utils/model-normalizer.js +37 -19
  169. package/dist/utils/model-normalizer.js.map +1 -1
  170. package/dist/utils/npm-prefix.d.ts +48 -0
  171. package/dist/utils/npm-prefix.d.ts.map +1 -0
  172. package/dist/utils/npm-prefix.js +142 -0
  173. package/dist/utils/npm-prefix.js.map +1 -0
  174. package/dist/utils/paths.d.ts +7 -0
  175. package/dist/utils/paths.d.ts.map +1 -1
  176. package/dist/utils/paths.js +10 -0
  177. package/dist/utils/paths.js.map +1 -1
  178. package/dist/utils/platform.d.ts +10 -0
  179. package/dist/utils/platform.d.ts.map +1 -0
  180. package/dist/utils/platform.js +14 -0
  181. package/dist/utils/platform.js.map +1 -0
  182. package/dist/utils/price-resolution.d.ts +42 -0
  183. package/dist/utils/price-resolution.d.ts.map +1 -0
  184. package/dist/utils/price-resolution.js +112 -0
  185. package/dist/utils/price-resolution.js.map +1 -0
  186. package/dist/utils/pricing.d.ts +65 -6
  187. package/dist/utils/pricing.d.ts.map +1 -1
  188. package/dist/utils/pricing.js +91 -117
  189. package/dist/utils/pricing.js.map +1 -1
  190. package/dist/utils/pricing.json +201 -20
  191. package/dist/utils/processes.d.ts.map +1 -1
  192. package/dist/utils/processes.js +6 -3
  193. package/dist/utils/processes.js.map +1 -1
  194. package/dist/utils/routing-headers.mjs +104 -0
  195. package/dist/utils/security.d.ts +0 -32
  196. package/dist/utils/security.d.ts.map +1 -1
  197. package/dist/utils/security.js +20 -102
  198. package/dist/utils/security.js.map +1 -1
  199. package/package.json +4 -2
  200. package/scripts/bundle-statusline.mjs +37 -0
  201. package/scripts/copy-plugins.js +19 -2
  202. package/src/utils/tips.json +9 -9
  203. package/dist/agents/plugins/claude/plugin/__tests__/statusline.test.ts +0 -323
  204. package/dist/agents/plugins/claude/plugin/statusline.mjs +0 -282
  205. package/dist/cli/commands/analytics/exporter.d.ts +0 -20
  206. package/dist/cli/commands/analytics/exporter.d.ts.map +0 -1
  207. package/dist/cli/commands/analytics/exporter.js +0 -91
  208. package/dist/cli/commands/analytics/exporter.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  export declare const STATUSLINE_NAME = "statusline";
2
2
  export declare const STATUSLINE_DISPLAY_NAME = "CodeMie Statusline";
3
- export declare const STATUSLINE_DESCRIPTION = "Budget usage, project, branch, model, context & token stats for Claude Code";
3
+ export declare const STATUSLINE_DESCRIPTION = "Project, branch, model, context usage, session cost & duration for Claude Code";
4
4
  export interface InstallStatuslineResult {
5
5
  scriptPath: string;
6
6
  alreadyConfigured: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"statusline-installer.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/claude/statusline-installer.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAC5D,eAAO,MAAM,sBAAsB,gFAAgF,CAAC;AAMpH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,uBAAuB,CAAC,CA4C1E;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiCzD;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C"}
1
+ {"version":3,"file":"statusline-installer.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/claude/statusline-installer.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAI5D,eAAO,MAAM,sBAAsB,mFAAmF,CAAC;AAqBvH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAsE1E;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiCzD;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C"}
@@ -3,20 +3,43 @@ import { existsSync } from 'fs';
3
3
  import { join } from 'path';
4
4
  import { homedir } from 'os';
5
5
  import { getDirname, resolveHomeDir } from '../../../utils/paths.js';
6
+ import { priceTable } from '../../../utils/pricing.js';
6
7
  import { logger } from '../../../utils/logger.js';
7
8
  import { sanitizeLogArgs } from '../../../utils/security.js';
8
9
  import { ConfigurationError } from '../../../utils/errors.js';
9
10
  export const STATUSLINE_NAME = 'statusline';
10
11
  export const STATUSLINE_DISPLAY_NAME = 'CodeMie Statusline';
11
- export const STATUSLINE_DESCRIPTION = 'Budget usage, project, branch, model, context & token stats for Claude Code';
12
+ // Describes what buildStatusLine actually renders. The budget segment was removed; SCRIPT_FILENAME
13
+ // deliberately still reads 'codemie-budget-status.js' because renaming it would orphan the
14
+ // statusLine command in every existing ~/.claude/settings.json.
15
+ export const STATUSLINE_DESCRIPTION = 'Project, branch, model, context usage, session cost & duration for Claude Code';
12
16
  const SCRIPT_FILENAME = 'codemie-budget-status.js';
13
17
  const LEGACY_SCRIPT_FILENAME = 'codemie-statusline.mjs';
14
- const REFRESH_INTERVAL = 60;
18
+ // Must match PRICING_FILENAME in plugin/statusline.ts — the script resolves it beside itself.
19
+ const PRICING_FILENAME = 'codemie-pricing.json';
20
+ // scripts/bundle-statusline.mjs's esbuild `outfile` — a single self-contained ESM artifact with
21
+ // zero sibling dependencies (statusline.ts's own project imports are resolved and inlined at
22
+ // build time). Keep this in sync with that script's `outfile` basename.
23
+ const BUNDLE_FILENAME = 'statusline.bundle.mjs';
24
+ // Claude Code re-runs the statusLine command on its own event triggers (a new assistant message,
25
+ // /compact, etc. — see https://code.claude.com/docs/en/statusline#how-status-lines-work);
26
+ // `refreshInterval` is only the fallback timer for when those events "go quiet" (e.g. an idle
27
+ // session). This used to sit at 60s to match the (since-removed) budget segment's HTTP cache TTL
28
+ // (see CACHE_TTL_MS in plugin/statusline.ts) — re-running any faster than that would have just
29
+ // repeated the same cached network figure. Every remaining segment (routed-model widget, cost,
30
+ // context bar) is now a cheap local file read, so a stale event trigger (observed: the "routed to"
31
+ // arrow not appearing until the next prompt is sent) sits invisible for up to a full minute with no
32
+ // good reason. A short interval makes it self-correct almost immediately instead.
33
+ const REFRESH_INTERVAL = 3;
15
34
  export async function installStatusline() {
16
35
  const claudeHome = resolveHomeDir('.claude');
17
36
  const scriptPath = join(claudeHome, SCRIPT_FILENAME);
18
37
  const settingsPath = join(claudeHome, 'settings.json');
19
- const scriptContent = await readFile(join(getDirname(import.meta.url), 'plugin/statusline.mjs'), 'utf-8');
38
+ // scripts/bundle-statusline.mjs (esbuild) bundles statusline.ts's project imports into this
39
+ // single self-contained file at build time — no sibling files to deploy alongside it. Unlike
40
+ // codemie-pricing.json below, a missing bundle means the statusline can't run at all, so this
41
+ // is intentionally not wrapped in a best-effort try/catch — let it throw.
42
+ const scriptContent = await readFile(join(getDirname(import.meta.url), 'plugin', BUNDLE_FILENAME), 'utf-8');
20
43
  if (!existsSync(claudeHome)) {
21
44
  await mkdir(claudeHome, { recursive: true });
22
45
  }
@@ -24,6 +47,21 @@ export async function installStatusline() {
24
47
  if (process.platform !== 'win32') {
25
48
  await chmod(scriptPath, 0o755);
26
49
  }
50
+ // The statusline prices each session from the transcript itself, so it needs the rate card at
51
+ // runtime. It runs standalone (`node <path>` after this process exits) and cannot import from
52
+ // the project, so deploy the table beside it rather than duplicating rates into the script.
53
+ //
54
+ // Serialize priceTable(), NOT the raw pricing.json: the vendored file has no `claude-smart-router`
55
+ // row — that rate lives in CODEMIE_PRICES and is merged in only when the table is built. Copying
56
+ // the raw file left the statusline unable to price exactly the router sessions this feature exists
57
+ // for, scoring them $0 and degrading the total to an estimate.
58
+ // Best-effort: without it the statusline falls back to Claude Code's own cost figure.
59
+ try {
60
+ await writeFile(join(claudeHome, PRICING_FILENAME), JSON.stringify(priceTable()), 'utf-8');
61
+ }
62
+ catch (error) {
63
+ logger.warn('[Statusline] Could not deploy pricing.json; session cost will fall back to Claude Code\'s estimate', ...sanitizeLogArgs({ error: error instanceof Error ? error.message : String(error) }));
64
+ }
27
65
  let settings = {};
28
66
  if (existsSync(settingsPath)) {
29
67
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"statusline-installer.js","sourceRoot":"","sources":["../../../../src/agents/plugins/claude/statusline-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statusline-installer.js","sourceRoot":"","sources":["../../../../src/agents/plugins/claude/statusline-installer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex-models.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex-models.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAmDlF,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAgDD,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,IAAI,MAAM,CAI7F;AA8FD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CA8BvE;AAyFD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAuD7F;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAc9F"}
1
+ {"version":3,"file":"codex-models.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex-models.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAmDlF,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAiFD,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,IAAI,MAAM,CAI7F;AA4HD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CA8BvE;AAyGD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAgF7F;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAuB9F"}
@@ -1,6 +1,6 @@
1
1
  import { mkdir, writeFile } from 'fs/promises';
2
2
  import { join } from 'path';
3
- import { fetchCodeMieLlmModels } from '../../../providers/plugins/sso/sso.http-client.js';
3
+ import { fetchCodeMieLlmModels, buildModelLabelIndex, describeRouter } from '../../../providers/plugins/sso/sso.http-client.js';
4
4
  import { CodeMieSSO } from '../../../providers/plugins/sso/sso.auth.js';
5
5
  import { ConfigurationError } from '../../../utils/errors.js';
6
6
  import { logger } from '../../../utils/logger.js';
@@ -22,7 +22,37 @@ const COMPATIBLE_CODEX_MODEL_PATTERNS = [
22
22
  /codex/i,
23
23
  /^gpt[-.]?5(?:[-.]|\b)/i,
24
24
  /^gpt[-.]?6(?:[-.]|\b)/i,
25
+ // Fallback for router/switchyard aliases that don't carry the catalog's `is_router` flag
26
+ // (e.g. a plain LiteLLM alias): `gpt-smart-router`, `gpt-fast-router`. Real Switchyard
27
+ // routers are matched via isRouterCatalogEntry below instead, since their names don't
28
+ // follow any fixed convention (e.g. `sy-signal-gpt-terra-luna`). Anchored to a `gpt-`
29
+ // prefix on purpose: a provider-agnostic router could pick a Claude model, which the
30
+ // Responses API wire format cannot drive. Claude-named routers stay rejected by
31
+ // INCOMPATIBLE_MODEL_PATTERNS above.
32
+ /^gpt[-._](?:[a-z0-9]+[-._])*router\b/i,
25
33
  ];
34
+ // CODEMIE_MODEL_SOURCE values that mean the user picked this model (`--model`, or the
35
+ // environment) rather than it coming from a saved profile. Set by AgentCLI.
36
+ const EXPLICIT_MODEL_SOURCES = new Set(['cli', 'env']);
37
+ function isExplicitModelChoice(env) {
38
+ return EXPLICIT_MODEL_SOURCES.has(env.CODEMIE_MODEL_SOURCE ?? '');
39
+ }
40
+ /**
41
+ * Build a catalog entry for a model the CodeMie catalog does not enumerate.
42
+ *
43
+ * Router aliases are commonly served by the gateway without being listed as deployments, so
44
+ * an explicitly requested one has to be injected: `availableModels` gates our own assertion
45
+ * and the generated models.json gates Codex's `--model` validation, and a model missing from
46
+ * either is rejected before a single request is made.
47
+ */
48
+ function syntheticRankedModel(id) {
49
+ return {
50
+ id,
51
+ model: { base_name: id, deployment_name: id, label: id, enabled: true },
52
+ // Ranks ahead of every catalog entry so it becomes the default selection.
53
+ score: [Number.MAX_SAFE_INTEGER],
54
+ };
55
+ }
26
56
  const REASONING_LEVELS = [
27
57
  { effort: 'low', description: 'Fast responses with lighter reasoning' },
28
58
  { effort: 'medium', description: 'Balances speed and reasoning depth for everyday tasks' },
@@ -47,16 +77,44 @@ export function isCodexCompatibleModelName(modelName) {
47
77
  return false;
48
78
  return COMPATIBLE_CODEX_MODEL_PATTERNS.some(pattern => pattern.test(modelName));
49
79
  }
80
+ /**
81
+ * Present (`is_router`) on a Switchyard virtual router entry, or nested (`litellm_router.is_router`)
82
+ * on a declared LiteLLM auto-router — see LlmModel's own field docs. Mirrors
83
+ * claude.models.ts's isRouterCatalogEntry: router alias names follow no fixed convention
84
+ * (e.g. `sy-signal-gpt-terra-luna`), so membership must be read from this catalog flag
85
+ * rather than guessed from the id.
86
+ */
87
+ function isRouterCatalogEntry(model) {
88
+ return model.is_router === true || model.litellm_router?.is_router === true;
89
+ }
50
90
  function isCodexCompatibleModel(model) {
51
91
  if (!model.enabled)
52
92
  return false;
53
93
  const id = getModelId(model);
54
94
  if (!id)
55
95
  return false;
96
+ // A LiteLLM auto-router's own alias name is family-agnostic by convention
97
+ // (`claude-smart-router` and `gpt-smart-router` are both named like routers, not like
98
+ // their target), so name-sniffing it is unreliable — a differently-named Claude router
99
+ // could slip past INCOMPATIBLE_MODEL_PATTERNS below. `counterfactual_model` names the
100
+ // concrete deployment the router currently resolves to, which is a deterministic signal:
101
+ // judge the router by what it actually dispatches to instead of by its own name.
102
+ const counterfactual = model.litellm_router?.counterfactual_model;
103
+ if (counterfactual) {
104
+ return isCodexCompatibleModelName(counterfactual);
105
+ }
56
106
  const searchText = getSearchText(model);
57
107
  if (INCOMPATIBLE_MODEL_PATTERNS.some(pattern => pattern.test(searchText))) {
58
108
  return false;
59
109
  }
110
+ // A Switchyard virtual router (top-level `is_router`) carries no target-model field to
111
+ // check deterministically — CodeMie's own naming convention embeds the constituent model
112
+ // families directly in base_name/label instead (e.g. `sy-signal-gpt-terra-luna` / "SY
113
+ // Signal Terra/Luna" vs. `sy-signal-claude-sonnet-haiku` / "SY Signal Sonnet/Haiku"), so
114
+ // the incompatible-name check above — already run — is the most precise signal available
115
+ // for this shape, and is trusted here.
116
+ if (isRouterCatalogEntry(model))
117
+ return true;
60
118
  return COMPATIBLE_CODEX_MODEL_PATTERNS.some(pattern => pattern.test(searchText));
61
119
  }
62
120
  function extractVersionParts(text) {
@@ -177,12 +235,28 @@ function compareRankedModels(a, b) {
177
235
  }
178
236
  return a.id.localeCompare(b.id);
179
237
  }
180
- function buildCodexCatalog(models) {
238
+ /**
239
+ * Codex's own model picker (as of codex-cli 0.154.0) ignores a catalog entry's
240
+ * `display_name` entirely — see https://github.com/openai/codex/issues/46183 — and renders
241
+ * only `slug` and `description`. Until that upstream fix (already merged, not yet in the
242
+ * version codemie-code targets) reaches the pinned Codex version, `description` is the only
243
+ * field that actually reaches the picker, so a router's per-tier routing — the one thing the
244
+ * slug itself doesn't reveal — is folded into it as a workaround via `describeRouter`.
245
+ * Everything else (a plain model, or a router the backend hasn't populated a tier map for)
246
+ * has nothing more specific to add beyond its already-shown slug, so its description is left
247
+ * empty rather than filled with a guess. `display_name` is left set correctly regardless, so
248
+ * nothing needs to change here once Codex picks it up.
249
+ *
250
+ * `labelIndex` is built from the FULL raw catalog, not just the Codex-compatible subset — a
251
+ * router's classifier model can belong to a different family (a Claude classifier gating a
252
+ * GPT router) and still needs its label resolved.
253
+ */
254
+ function buildCodexCatalog(models, labelIndex) {
181
255
  return {
182
256
  models: models.map((entry, index) => ({
183
257
  slug: entry.id,
184
258
  display_name: entry.model.label || entry.id,
185
- description: 'CodeMie model available for Codex through the Responses API.',
259
+ description: describeRouter(entry.model, labelIndex),
186
260
  default_reasoning_level: 'medium',
187
261
  supported_reasoning_levels: REASONING_LEVELS,
188
262
  shell_type: 'shell_command',
@@ -274,11 +348,30 @@ export async function resolveCodexModel(env) {
274
348
  throw new ConfigurationError('No CodeMie GPT/Codex model is available for codemie-codex. ' +
275
349
  'Enable a GPT-5/Codex deployment in CodeMie before running Codex.');
276
350
  }
277
- const rankedIds = rankedModels.map(entry => entry.id);
278
- const selectedModel = isCodexCompatibleModelName(currentModel) && rankedIds.includes(currentModel)
351
+ let catalogModels = rankedModels;
352
+ let rankedIds = rankedModels.map(entry => entry.id);
353
+ // A compatible model the user asked for by name is honoured even when the catalog does not
354
+ // list it. Router aliases are the motivating case: the gateway resolves them per request
355
+ // and does not necessarily publish them as deployments, so requiring catalog membership
356
+ // would make them permanently unusable. Restricted to an explicit choice — a stale profile
357
+ // value still gets re-resolved against the live catalog as before.
358
+ if (isCodexCompatibleModelName(currentModel) &&
359
+ !rankedIds.includes(currentModel) &&
360
+ isExplicitModelChoice(env)) {
361
+ catalogModels = [syntheticRankedModel(currentModel), ...rankedModels];
362
+ rankedIds = catalogModels.map(entry => entry.id);
363
+ console.error(`[codemie-codex] Model "${currentModel}" is not listed in the CodeMie catalog; using it anyway because it was requested explicitly.`);
364
+ logger.info(`[codex-models] Honouring explicitly requested uncatalogued model ${currentModel}`);
365
+ }
366
+ // Catalog membership (rankedIds) is authoritative here — it already reflects
367
+ // isCodexCompatibleModel, which trusts a flagged router regardless of its name (see
368
+ // isRouterCatalogEntry). Re-checking isCodexCompatibleModelName on top would reject a
369
+ // router whose name doesn't match the name-based fallback pattern even though the
370
+ // catalog just vouched for it.
371
+ const selectedModel = currentModel && rankedIds.includes(currentModel)
279
372
  ? currentModel
280
- : rankedModels[0].id;
281
- const catalogPath = await writeCatalogFile(buildCodexCatalog(rankedModels));
373
+ : catalogModels[0].id;
374
+ const catalogPath = await writeCatalogFile(buildCodexCatalog(catalogModels, buildModelLabelIndex(rawModels)));
282
375
  if (isCodexCompatibleModelName(currentModel) && currentModel !== selectedModel) {
283
376
  console.error(`[codemie-codex] Requested model "${currentModel}" is not available; using ${selectedModel} instead.`);
284
377
  logger.info(`[codex-models] Using ${selectedModel} for Codex instead of requested model ${currentModel}`);
@@ -286,10 +379,18 @@ export async function resolveCodexModel(env) {
286
379
  return {
287
380
  selectedModel,
288
381
  catalogPath,
289
- availableModels: rankedModels.map(entry => entry.id),
382
+ availableModels: rankedIds,
290
383
  };
291
384
  }
292
385
  export function assertExplicitCodexModelAllowed(model, availableModels) {
386
+ // A model the live catalog already vouches for (resolveCodexModel's availableModels,
387
+ // which trusts a flagged router regardless of its name — see isRouterCatalogEntry) needs
388
+ // no further name-pattern validation. Without this, a router like
389
+ // `sy-signal-gpt-terra-luna` — correctly listed as available — would still be rejected
390
+ // here by the name-based fallback pattern, which only recognizes `gpt-*-router` aliases.
391
+ if (availableModels.length > 0 && availableModels.includes(model)) {
392
+ return;
393
+ }
293
394
  if (!isCodexCompatibleModelName(model)) {
294
395
  throw new ConfigurationError(`Model "${model}" is not compatible with codemie-codex. ` +
295
396
  `Use a GPT/Codex model${availableModels.length ? ` such as: ${formatAvailableModelIds(availableModels)}` : '.'}`);
@@ -1 +1 @@
1
- {"version":3,"file":"codex-models.js","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex-models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-models.js","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex-models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Codex rollout ↔ CodeMie session correlation.
3
+ *
4
+ * Codex has no hook that reports a transcript path, so on exit the plugin has to
5
+ * find the rollout this run produced among ~/.codex/sessions and record it in
6
+ * the CodeMie session record (`correlation.agentSessionFile`). Analytics resolves
7
+ * token usage and cost through that field.
8
+ */
9
+ import type { SessionDescriptor } from '../../core/session/discovery-types.js';
10
+ import type { CodexSessionAdapter } from './codex.session.js';
11
+ export interface CodexRunInfo {
12
+ /** CodeMie session id of this run. */
13
+ sessionId: string;
14
+ /** Unix ms when this run was launched. */
15
+ startedAt: number;
16
+ /** Working directory the run was launched in. */
17
+ cwd: string;
18
+ }
19
+ type RolloutSource = Pick<CodexSessionAdapter, 'discoverSessions' | 'parseSessionFile'>;
20
+ /**
21
+ * Find the rollout file produced by this run, or undefined when nothing matches.
22
+ *
23
+ * Candidates are rollouts in the same cwd touched since the run started, minus
24
+ * rollouts another CodeMie session already claimed (a concurrent run in the same
25
+ * cwd). Among those, the rollout whose own start (session_meta.timestamp) is
26
+ * closest after this run's start wins; a resumed rollout with an older start is
27
+ * only picked when no fresh one exists.
28
+ */
29
+ export declare function findRolloutForRun(adapter: RolloutSource, run: CodexRunInfo): Promise<SessionDescriptor | undefined>;
30
+ /**
31
+ * Point the CodeMie session record at the rollout this run produced.
32
+ *
33
+ * Without this every codex session reported hadLog=false and costUSD=0. It also
34
+ * lets the native loader recognise the rollout as CodeMie-owned instead of an
35
+ * untracked session.
36
+ */
37
+ export declare function recordRolloutCorrelation(sessionId: string, rolloutPath: string): Promise<void>;
38
+ export {};
39
+ //# sourceMappingURL=codex.correlation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.correlation.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex.correlation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAS9D,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,KAAK,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,GAAG,kBAAkB,CAAC,CAAC;AAExF;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAgCxC;AAyDD;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBpG"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Codex rollout ↔ CodeMie session correlation.
3
+ *
4
+ * Codex has no hook that reports a transcript path, so on exit the plugin has to
5
+ * find the rollout this run produced among ~/.codex/sessions and record it in
6
+ * the CodeMie session record (`correlation.agentSessionFile`). Analytics resolves
7
+ * token usage and cost through that field.
8
+ */
9
+ import { readdir, readFile, realpath as fsRealpath, stat } from 'fs/promises';
10
+ import { join } from 'path';
11
+ import { logger } from '../../../utils/logger.js';
12
+ import { getCodemiePath } from '../../../utils/paths.js';
13
+ /** Rollouts whose mtime predates the run start by more than this are ignored. */
14
+ const RUN_START_GRACE_MS = 10_000;
15
+ /** A rollout may record a start slightly before the launcher's clock reading. */
16
+ const CLOCK_SKEW_MS = 2_000;
17
+ /**
18
+ * Find the rollout file produced by this run, or undefined when nothing matches.
19
+ *
20
+ * Candidates are rollouts in the same cwd touched since the run started, minus
21
+ * rollouts another CodeMie session already claimed (a concurrent run in the same
22
+ * cwd). Among those, the rollout whose own start (session_meta.timestamp) is
23
+ * closest after this run's start wins; a resumed rollout with an older start is
24
+ * only picked when no fresh one exists.
25
+ */
26
+ export async function findRolloutForRun(adapter, run) {
27
+ const sessions = await adapter.discoverSessions({ maxAgeDays: 1, limit: 20 });
28
+ const cwdReal = await safeRealpath(run.cwd);
29
+ const claimed = await listClaimedRolloutFiles(run.sessionId, run.startedAt - RUN_START_GRACE_MS);
30
+ const candidates = [];
31
+ for (const session of sessions) {
32
+ if (session.createdAt < run.startedAt - RUN_START_GRACE_MS || claimed.has(session.filePath)) {
33
+ continue;
34
+ }
35
+ try {
36
+ const parsed = await adapter.parseSessionFile(session.filePath, run.sessionId);
37
+ const projectPath = parsed.metadata?.projectPath;
38
+ if (!projectPath)
39
+ continue;
40
+ const projectReal = await safeRealpath(projectPath);
41
+ if (projectReal === cwdReal) {
42
+ const rolloutStart = Date.parse(parsed.metadata?.createdAt ?? '');
43
+ candidates.push({ descriptor: session, rolloutStart: Number.isNaN(rolloutStart) ? undefined : rolloutStart });
44
+ }
45
+ }
46
+ catch (error) {
47
+ logger.debug('[codex] Skipping unparsable rollout candidate:', error);
48
+ }
49
+ }
50
+ if (candidates.length > 1) {
51
+ logger.debug(`[codex] ${candidates.length} rollout candidates for session ${run.sessionId}; ` +
52
+ 'picking the one that started closest after the run');
53
+ }
54
+ return pickRollout(candidates, run.startedAt)?.descriptor;
55
+ }
56
+ /**
57
+ * Prefer the rollout that started closest after the run; fall back to the most
58
+ * recently written one (e.g. a resumed rollout). Ties break on file path so the
59
+ * pick is deterministic.
60
+ */
61
+ function pickRollout(candidates, runStartedAt) {
62
+ const byPath = (a, b) => a.descriptor.filePath.localeCompare(b.descriptor.filePath);
63
+ const fresh = candidates
64
+ .filter((c) => c.rolloutStart !== undefined && c.rolloutStart >= runStartedAt - CLOCK_SKEW_MS)
65
+ .sort((a, b) => a.rolloutStart - b.rolloutStart || byPath(a, b));
66
+ if (fresh.length > 0)
67
+ return fresh[0];
68
+ return [...candidates].sort((a, b) => b.descriptor.createdAt - a.descriptor.createdAt || byPath(a, b))[0];
69
+ }
70
+ /**
71
+ * Rollout paths already recorded by other CodeMie session records. Only records
72
+ * written since `sinceMs` are read — an older record cannot have claimed a
73
+ * rollout of this run — which keeps the scan to a stat per file.
74
+ */
75
+ async function listClaimedRolloutFiles(ownSessionId, sinceMs) {
76
+ const claimed = new Set();
77
+ const sessionsDir = getCodemiePath('sessions');
78
+ let files;
79
+ try {
80
+ files = await readdir(sessionsDir);
81
+ }
82
+ catch {
83
+ return claimed;
84
+ }
85
+ await Promise.all(files.map(async (file) => {
86
+ if (!file.endsWith('.json') || file.endsWith('-codemie-marker.json'))
87
+ return;
88
+ const filePath = join(sessionsDir, file);
89
+ try {
90
+ if ((await stat(filePath)).mtimeMs < sinceMs)
91
+ return;
92
+ const session = JSON.parse(await readFile(filePath, 'utf-8'));
93
+ const agentSessionFile = session.correlation?.agentSessionFile;
94
+ if (agentSessionFile && session.sessionId !== ownSessionId) {
95
+ claimed.add(agentSessionFile);
96
+ }
97
+ }
98
+ catch {
99
+ logger.debug(`[codex] Skipping unreadable session record during rollout claim scan: ${file}`);
100
+ }
101
+ }));
102
+ return claimed;
103
+ }
104
+ /**
105
+ * Point the CodeMie session record at the rollout this run produced.
106
+ *
107
+ * Without this every codex session reported hadLog=false and costUSD=0. It also
108
+ * lets the native loader recognise the rollout as CodeMie-owned instead of an
109
+ * untracked session.
110
+ */
111
+ export async function recordRolloutCorrelation(sessionId, rolloutPath) {
112
+ try {
113
+ const { SessionStore } = await import('../../core/session/SessionStore.js');
114
+ const store = new SessionStore();
115
+ const session = await store.loadSession(sessionId);
116
+ if (!session) {
117
+ logger.debug(`[codex] No session record for ${sessionId}; skipping rollout correlation`);
118
+ return;
119
+ }
120
+ const existing = session.correlation?.agentSessionFile;
121
+ if (existing && existing !== rolloutPath) {
122
+ logger.warn(`[codex] Session ${sessionId} is already correlated to another rollout; keeping it`);
123
+ return;
124
+ }
125
+ session.correlation = {
126
+ ...session.correlation,
127
+ status: 'matched',
128
+ agentSessionFile: rolloutPath,
129
+ };
130
+ await store.saveSession(session);
131
+ }
132
+ catch (error) {
133
+ const msg = error instanceof Error ? error.message : String(error);
134
+ logger.debug(`[codex] Failed to record rollout correlation (non-blocking): ${msg}`);
135
+ }
136
+ }
137
+ /**
138
+ * Resolve a path through symlinks, falling back to the original path on error.
139
+ * Used so a `cwd` of `/Users/foo` and a rollout's `projectPath` of
140
+ * `/private/Users/foo` (or vice versa) compare equal.
141
+ */
142
+ async function safeRealpath(p) {
143
+ try {
144
+ return await fsRealpath(p);
145
+ }
146
+ catch {
147
+ return p;
148
+ }
149
+ }
150
+ //# sourceMappingURL=codex.correlation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.correlation.js","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex.correlation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex.plugin.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex.plugin.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AA0D7F,eAAO,MAAM,mBAAmB,EAAE,aAuUjC,CAAC;AA6BF;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,gBAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;;IAOhD;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAerC;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAe1C;;;;;;OAMG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS;cAQhC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgD1E;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;OAEG;IACH,qBAAqB,IAAI,sBAAsB,GAAG,SAAS;CAG5D"}
1
+ {"version":3,"file":"codex.plugin.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex.plugin.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AA2D7F,eAAO,MAAM,mBAAmB,EAAE,aAmTjC,CAAC;AAgBF;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,gBAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;;IAOhD;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAerC;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAe1C;;;;;;OAMG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS;cAQhC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgD1E;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;OAEG;IACH,qBAAqB,IAAI,sBAAsB,GAAG,SAAS;CAG5D"}