imcodes 2026.4.1870-dev.1856 → 2026.4.1872-dev.1858

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 (36) hide show
  1. package/dist/shared/agent-types.d.ts +2 -2
  2. package/dist/shared/agent-types.d.ts.map +1 -1
  3. package/dist/shared/agent-types.js +2 -0
  4. package/dist/shared/agent-types.js.map +1 -1
  5. package/dist/shared/supervision-config.d.ts +1 -1
  6. package/dist/shared/supervision-config.d.ts.map +1 -1
  7. package/dist/src/agent/codex-runtime-config.d.ts +11 -0
  8. package/dist/src/agent/codex-runtime-config.d.ts.map +1 -1
  9. package/dist/src/agent/codex-runtime-config.js +162 -34
  10. package/dist/src/agent/codex-runtime-config.js.map +1 -1
  11. package/dist/src/agent/detect.d.ts +1 -1
  12. package/dist/src/agent/detect.d.ts.map +1 -1
  13. package/dist/src/agent/provider-registry.js +4 -0
  14. package/dist/src/agent/provider-registry.js.map +1 -1
  15. package/dist/src/agent/providers/codex-sdk.d.ts +7 -0
  16. package/dist/src/agent/providers/codex-sdk.d.ts.map +1 -1
  17. package/dist/src/agent/providers/codex-sdk.js +46 -0
  18. package/dist/src/agent/providers/codex-sdk.js.map +1 -1
  19. package/dist/src/agent/providers/gemini-sdk.d.ts +113 -0
  20. package/dist/src/agent/providers/gemini-sdk.d.ts.map +1 -0
  21. package/dist/src/agent/providers/gemini-sdk.js +795 -0
  22. package/dist/src/agent/providers/gemini-sdk.js.map +1 -0
  23. package/dist/src/daemon/command-handler.d.ts.map +1 -1
  24. package/dist/src/daemon/command-handler.js +24 -2
  25. package/dist/src/daemon/command-handler.js.map +1 -1
  26. package/dist/src/daemon/lifecycle.d.ts.map +1 -1
  27. package/dist/src/daemon/lifecycle.js +2 -1
  28. package/dist/src/daemon/lifecycle.js.map +1 -1
  29. package/dist/src/daemon/session-list.d.ts +1 -0
  30. package/dist/src/daemon/session-list.d.ts.map +1 -1
  31. package/dist/src/daemon/session-list.js +3 -0
  32. package/dist/src/daemon/session-list.js.map +1 -1
  33. package/dist/src/store/session-store.d.ts +3 -0
  34. package/dist/src/store/session-store.d.ts.map +1 -1
  35. package/dist/src/store/session-store.js.map +1 -1
  36. package/package.json +5 -4
@@ -1,8 +1,8 @@
1
- export declare const SESSION_AGENT_TYPES: readonly ["claude-code-sdk", "claude-code", "codex-sdk", "codex", "copilot-sdk", "cursor-headless", "opencode", "gemini", "qwen", "openclaw", "shell", "script"];
1
+ export declare const SESSION_AGENT_TYPES: readonly ["claude-code-sdk", "claude-code", "codex-sdk", "codex", "copilot-sdk", "cursor-headless", "opencode", "gemini-sdk", "gemini", "qwen", "openclaw", "shell", "script"];
2
2
  export type SessionAgentType = typeof SESSION_AGENT_TYPES[number];
3
3
  export declare const CLAUDE_CODE_FAMILY: readonly ["claude-code-sdk", "claude-code"];
4
4
  export declare const CODEX_FAMILY: readonly ["codex-sdk", "codex"];
5
- export declare const TRANSPORT_SESSION_AGENT_TYPES: readonly ["claude-code-sdk", "codex-sdk", "copilot-sdk", "cursor-headless", "qwen", "openclaw"];
5
+ export declare const TRANSPORT_SESSION_AGENT_TYPES: readonly ["claude-code-sdk", "codex-sdk", "copilot-sdk", "cursor-headless", "gemini-sdk", "qwen", "openclaw"];
6
6
  export declare const PROCESS_SESSION_AGENT_TYPES: readonly ["claude-code", "codex", "opencode", "gemini", "shell", "script"];
7
7
  export declare function isSessionAgentType(value: string): value is SessionAgentType;
8
8
  export declare function isClaudeCodeFamily(value: string): value is typeof CLAUDE_CODE_FAMILY[number];
@@ -1 +1 @@
1
- {"version":3,"file":"agent-types.d.ts","sourceRoot":"","sources":["../../shared/agent-types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,kKAatB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,kBAAkB,6CAA8C,CAAC;AAC9E,eAAO,MAAM,YAAY,iCAAkC,CAAC;AAC5D,eAAO,MAAM,6BAA6B,iGAOhC,CAAC;AACX,eAAO,MAAM,2BAA2B,4EAA6E,CAAC;AAEtH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,gBAAgB,CAE3E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAE5F;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,OAAO,YAAY,CAAC,MAAM,CAAC,CAEjF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAEhH;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE5E"}
1
+ {"version":3,"file":"agent-types.d.ts","sourceRoot":"","sources":["../../shared/agent-types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,gLActB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,kBAAkB,6CAA8C,CAAC;AAC9E,eAAO,MAAM,YAAY,iCAAkC,CAAC;AAC5D,eAAO,MAAM,6BAA6B,+GAQhC,CAAC;AACX,eAAO,MAAM,2BAA2B,4EAA6E,CAAC;AAEtH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,gBAAgB,CAE3E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAE5F;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,OAAO,YAAY,CAAC,MAAM,CAAC,CAEjF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAEhH;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE5E"}
@@ -6,6 +6,7 @@ export const SESSION_AGENT_TYPES = [
6
6
  'copilot-sdk',
7
7
  'cursor-headless',
8
8
  'opencode',
9
+ 'gemini-sdk',
9
10
  'gemini',
10
11
  'qwen',
11
12
  'openclaw',
@@ -19,6 +20,7 @@ export const TRANSPORT_SESSION_AGENT_TYPES = [
19
20
  'codex-sdk',
20
21
  'copilot-sdk',
21
22
  'cursor-headless',
23
+ 'gemini-sdk',
22
24
  'qwen',
23
25
  'openclaw',
24
26
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"agent-types.js","sourceRoot":"","sources":["../../shared/agent-types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,iBAAiB;IACjB,aAAa;IACb,WAAW;IACX,OAAO;IACP,aAAa;IACb,iBAAiB;IACjB,UAAU;IACV,QAAQ;IACR,MAAM;IACN,UAAU;IACV,OAAO;IACP,QAAQ;CACA,CAAC;AAIX,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,iBAAiB,EAAE,aAAa,CAAU,CAAC;AAC9E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,OAAO,CAAU,CAAC;AAC5D,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,iBAAiB;IACjB,WAAW;IACX,aAAa;IACb,iBAAiB;IACjB,MAAM;IACN,UAAU;CACF,CAAC;AACX,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAEtH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAQ,mBAAyC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAQ,kBAAwC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAQ,YAAkC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,OAAQ,6BAAmD,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,OAAO,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"agent-types.js","sourceRoot":"","sources":["../../shared/agent-types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,iBAAiB;IACjB,aAAa;IACb,WAAW;IACX,OAAO;IACP,aAAa;IACb,iBAAiB;IACjB,UAAU;IACV,YAAY;IACZ,QAAQ;IACR,MAAM;IACN,UAAU;IACV,OAAO;IACP,QAAQ;CACA,CAAC;AAIX,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,iBAAiB,EAAE,aAAa,CAAU,CAAC;AAC9E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,OAAO,CAAU,CAAC;AAC5D,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,iBAAiB;IACjB,WAAW;IACX,aAAa;IACb,iBAAiB;IACjB,YAAY;IACZ,MAAM;IACN,UAAU;CACF,CAAC;AACX,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAEtH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAQ,mBAAyC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAQ,kBAAwC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAQ,YAAkC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,OAAQ,6BAAmD,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,OAAO,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC"}
@@ -16,7 +16,7 @@ export declare const SUPERVISION_MODE: {
16
16
  export declare const SUPERVISION_TRANSPORT_CONFIG_KEY: "supervision";
17
17
  export declare const SUPERVISION_USER_DEFAULT_PREF_KEY: "supervision.user_default";
18
18
  export declare const SUPERVISION_SUPPORTED_BACKENDS: readonly ["claude-code-sdk", "codex-sdk", "qwen", "openclaw"];
19
- export declare const SUPERVISION_SUPPORTED_TARGET_SESSION_TYPES: readonly ["claude-code-sdk", "codex-sdk", "copilot-sdk", "cursor-headless", "qwen", "openclaw"];
19
+ export declare const SUPERVISION_SUPPORTED_TARGET_SESSION_TYPES: readonly ["claude-code-sdk", "codex-sdk", "copilot-sdk", "cursor-headless", "gemini-sdk", "qwen", "openclaw"];
20
20
  export declare const SUPERVISION_UNSUPPORTED_TARGET_SESSION_TYPES: readonly ["claude-code", "codex", "opencode", "gemini", "shell", "script"];
21
21
  export declare const SUPERVISION_AUDIT_MODES: SupervisionAuditMode[];
22
22
  export declare const SUPERVISION_DEFAULT_TIMEOUT_MS = 12000;
@@ -1 +1 @@
1
- {"version":3,"file":"supervision-config.d.ts","sourceRoot":"","sources":["../../shared/supervision-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supervision-config.d.ts","sourceRoot":"","sources":["../../shared/supervision-config.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,20 @@
1
1
  import type { ProviderQuotaMeta } from '../../shared/provider-quota.js';
2
+ export interface CodexModelInfo {
3
+ id: string;
4
+ name?: string;
5
+ supportsReasoningEffort?: boolean;
6
+ isDefault?: boolean;
7
+ }
2
8
  export interface CodexRuntimeConfig {
3
9
  planLabel?: string;
4
10
  quotaLabel?: string;
5
11
  quotaUsageLabel?: string;
6
12
  quotaMeta?: ProviderQuotaMeta;
13
+ availableModels?: string[];
14
+ models?: CodexModelInfo[];
15
+ defaultModel?: string;
16
+ isAuthenticated?: boolean;
17
+ probeError?: string;
7
18
  }
8
19
  export declare function getCodexRuntimeConfig(force?: boolean): Promise<CodexRuntimeConfig>;
9
20
  //# sourceMappingURL=codex-runtime-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-runtime-config.d.ts","sourceRoot":"","sources":["../../../src/agent/codex-runtime-config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAMxE,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC/B;AA4LD,wBAAsB,qBAAqB,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkBtF"}
1
+ {"version":3,"file":"codex-runtime-config.d.ts","sourceRoot":"","sources":["../../../src/agent/codex-runtime-config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAMxE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAgTD,wBAAsB,qBAAqB,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA8BtF"}
@@ -1,8 +1,9 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { readFile } from 'node:fs/promises';
3
- import { killProcessTree } from '../util/kill-process-tree.js';
4
3
  import { homedir } from 'node:os';
5
4
  import { join } from 'node:path';
5
+ import { CODEX_MODEL_IDS } from '../shared/models/options.js';
6
+ import { killProcessTree } from '../util/kill-process-tree.js';
6
7
  import { formatProviderQuotaLabel } from '../../shared/provider-quota.js';
7
8
  const CACHE_TTL_MS = 30_000;
8
9
  const APP_SERVER_TIMEOUT_MS = 5_000;
@@ -11,6 +12,12 @@ function capitalize(value) {
11
12
  return undefined;
12
13
  return value.charAt(0).toUpperCase() + value.slice(1);
13
14
  }
15
+ function fallbackCodexModels() {
16
+ return CODEX_MODEL_IDS.map((id, index) => ({
17
+ id,
18
+ ...(index === 0 ? { isDefault: true } : {}),
19
+ }));
20
+ }
14
21
  function decodeJwtPayload(token) {
15
22
  if (!token)
16
23
  return null;
@@ -56,15 +63,6 @@ function buildQuotaDisplay(snapshot) {
56
63
  }
57
64
  async function readCodexRateLimitsViaAppServer() {
58
65
  return await new Promise((resolve) => {
59
- // The codex npm package is a node wrapper that internally spawns a musl
60
- // `codex` binary (the app-server). Group signals via `process.kill(-pid,…)`
61
- // do NOT always reach that grandchild — some wrapper versions detach their
62
- // native binary into its own session, so the group we control does not
63
- // include the memory-hungry grandchild. We therefore leave `detached`
64
- // unset and rely on `killProcessTree` to walk `ps -A -o pid,ppid` at
65
- // teardown time and send SIGTERM→SIGKILL to every descendant explicitly.
66
- // See the commit that replaced the group-kill approach for diagnostics
67
- // (observed 20+ orphaned pairs after ~4h of probes).
68
66
  const child = spawn('codex', ['app-server'], {
69
67
  stdio: ['pipe', 'pipe', 'pipe'],
70
68
  env: process.env,
@@ -74,10 +72,6 @@ async function readCodexRateLimitsViaAppServer() {
74
72
  let initialized = false;
75
73
  const requestId = 2;
76
74
  const killTree = () => {
77
- // Fire-and-forget: killProcessTree is idempotent and handles the
78
- // race where the child has already exited on its own. We pass the
79
- // ChildProcess so the utility can also invoke child.kill() directly,
80
- // staying compatible with mock spawns in unit tests.
81
75
  void killProcessTree(child);
82
76
  };
83
77
  const finish = (value) => {
@@ -89,8 +83,6 @@ async function readCodexRateLimitsViaAppServer() {
89
83
  resolve(value);
90
84
  };
91
85
  const timeout = setTimeout(() => finish(undefined), APP_SERVER_TIMEOUT_MS);
92
- // Safely write to child stdin — swallow EPIPE/ECONNRESET when the
93
- // codex subprocess exits before we finish sending the init sequence.
94
86
  const safeWriteStdin = (payload) => {
95
87
  try {
96
88
  child.stdin.write(payload);
@@ -99,8 +91,6 @@ async function readCodexRateLimitsViaAppServer() {
99
91
  finish(undefined);
100
92
  }
101
93
  };
102
- // Explicitly handle stdin errors so write-after-close doesn't become
103
- // an uncaught 'error' event bubbling up to the daemon.
104
94
  child.stdin.on('error', () => finish(undefined));
105
95
  child.on('error', () => finish(undefined));
106
96
  child.stdout.on('data', (chunk) => {
@@ -151,26 +141,136 @@ async function readCodexRateLimitsViaAppServer() {
151
141
  }) + '\n');
152
142
  });
153
143
  }
144
+ async function readCodexModelsViaAppServer() {
145
+ return await new Promise((resolve) => {
146
+ const child = spawn('codex', ['app-server'], {
147
+ stdio: ['pipe', 'pipe', 'pipe'],
148
+ env: process.env,
149
+ });
150
+ let settled = false;
151
+ let stdoutBuffer = '';
152
+ let initialized = false;
153
+ let nextRequestId = 2;
154
+ let activeRequestId = nextRequestId;
155
+ let nextCursor = null;
156
+ const discovered = [];
157
+ const seen = new Set();
158
+ const killTree = () => {
159
+ void killProcessTree(child);
160
+ };
161
+ const finish = (value) => {
162
+ if (settled)
163
+ return;
164
+ settled = true;
165
+ clearTimeout(timeout);
166
+ killTree();
167
+ resolve(value);
168
+ };
169
+ const timeout = setTimeout(() => finish(undefined), APP_SERVER_TIMEOUT_MS);
170
+ const safeWriteStdin = (payload) => {
171
+ try {
172
+ child.stdin.write(payload);
173
+ }
174
+ catch {
175
+ finish(undefined);
176
+ }
177
+ };
178
+ const writeModelList = () => {
179
+ activeRequestId = nextRequestId++;
180
+ safeWriteStdin(JSON.stringify({
181
+ method: 'model/list',
182
+ id: activeRequestId,
183
+ params: {
184
+ includeHidden: false,
185
+ limit: 100,
186
+ ...(nextCursor ? { cursor: nextCursor } : {}),
187
+ },
188
+ }) + '\n');
189
+ };
190
+ child.stdin.on('error', () => finish(undefined));
191
+ child.on('error', () => finish(undefined));
192
+ child.stdout.on('data', (chunk) => {
193
+ stdoutBuffer += chunk.toString('utf8');
194
+ while (true) {
195
+ const nl = stdoutBuffer.indexOf('\n');
196
+ if (nl < 0)
197
+ break;
198
+ const line = stdoutBuffer.slice(0, nl).trim();
199
+ stdoutBuffer = stdoutBuffer.slice(nl + 1);
200
+ if (!line)
201
+ continue;
202
+ try {
203
+ const msg = JSON.parse(line);
204
+ if (msg.id === 1 && msg.result && !initialized) {
205
+ initialized = true;
206
+ safeWriteStdin(JSON.stringify({ method: 'initialized' }) + '\n');
207
+ writeModelList();
208
+ continue;
209
+ }
210
+ if (msg.id === activeRequestId && Array.isArray(msg.result?.data)) {
211
+ for (const entry of msg.result.data) {
212
+ const modelId = typeof entry.model === 'string' && entry.model.trim()
213
+ ? entry.model.trim()
214
+ : typeof entry.id === 'string' && entry.id.trim()
215
+ ? entry.id.trim()
216
+ : '';
217
+ if (!modelId || seen.has(modelId))
218
+ continue;
219
+ seen.add(modelId);
220
+ discovered.push({
221
+ id: modelId,
222
+ ...(typeof entry.displayName === 'string' && entry.displayName.trim()
223
+ ? { name: entry.displayName.trim() }
224
+ : {}),
225
+ ...(Array.isArray(entry.supportedReasoningEfforts) && entry.supportedReasoningEfforts.length > 0
226
+ ? { supportsReasoningEffort: true }
227
+ : {}),
228
+ ...(entry.isDefault === true ? { isDefault: true } : {}),
229
+ });
230
+ }
231
+ nextCursor = typeof msg.result?.nextCursor === 'string' && msg.result.nextCursor.trim()
232
+ ? msg.result.nextCursor.trim()
233
+ : null;
234
+ if (nextCursor) {
235
+ writeModelList();
236
+ continue;
237
+ }
238
+ finish(discovered);
239
+ return;
240
+ }
241
+ }
242
+ catch {
243
+ // ignore malformed lines
244
+ }
245
+ }
246
+ });
247
+ child.on('close', () => {
248
+ if (!settled)
249
+ finish(undefined);
250
+ });
251
+ safeWriteStdin(JSON.stringify({
252
+ method: 'initialize',
253
+ id: 1,
254
+ params: {
255
+ clientInfo: {
256
+ name: 'imcodes',
257
+ title: 'IM Codes',
258
+ version: '0.1.0',
259
+ },
260
+ capabilities: {
261
+ experimentalApi: true,
262
+ },
263
+ },
264
+ }) + '\n');
265
+ });
266
+ }
154
267
  let cache = null;
155
- /**
156
- * Ask the registry-singleton codex-sdk provider (if already connected) for a
157
- * rate-limit snapshot via its existing app-server JSON-RPC. Returns undefined
158
- * when no singleton is around, when the RPC fails, or when the response
159
- * doesn't include a `rateLimits` field — the caller then falls back to
160
- * spawning a fresh probe child.
161
- *
162
- * Reusing the singleton is what prevents ~107MB orphaned codex pairs from
163
- * accumulating per probe tick: under steady-state load the daemon's codex
164
- * app-server is already running, so we skip the spawn entirely.
165
- */
166
268
  async function readCodexRateLimitsViaSingleton() {
167
269
  try {
168
270
  const { getProvider } = await import('./provider-registry.js');
169
271
  const provider = getProvider('codex-sdk');
170
272
  if (!provider)
171
273
  return undefined;
172
- // Narrow to CodexSdkProvider without pulling the module at top-level —
173
- // avoids a dependency cycle (provider-registry → codex-sdk → this file).
174
274
  const asCodex = provider;
175
275
  if (typeof asCodex.readRateLimits !== 'function')
176
276
  return undefined;
@@ -181,21 +281,49 @@ async function readCodexRateLimitsViaSingleton() {
181
281
  return undefined;
182
282
  }
183
283
  }
284
+ async function readCodexModelsViaSingleton() {
285
+ try {
286
+ const { getProvider } = await import('./provider-registry.js');
287
+ const provider = getProvider('codex-sdk');
288
+ if (!provider)
289
+ return undefined;
290
+ const asCodex = provider;
291
+ if (typeof asCodex.readModelList !== 'function')
292
+ return undefined;
293
+ return await asCodex.readModelList();
294
+ }
295
+ catch {
296
+ return undefined;
297
+ }
298
+ }
184
299
  export async function getCodexRuntimeConfig(force = false) {
185
300
  const now = Date.now();
186
301
  if (!force && cache && cache.expiresAt > now)
187
302
  return cache.value;
188
303
  const authPlanType = await readCodexPlanTypeFromAuthFile().catch(() => undefined);
189
- // Prefer the long-lived registry singleton so we don't spawn a fresh codex
190
- // app-server just to read rate limits. Falls back to the one-shot probe
191
- // (with tree-kill teardown) when no singleton is connected yet.
304
+ let discoveredModels;
305
+ let modelProbeError;
306
+ try {
307
+ discoveredModels = (await readCodexModelsViaSingleton())
308
+ ?? await readCodexModelsViaAppServer();
309
+ }
310
+ catch (err) {
311
+ modelProbeError = err instanceof Error ? err.message : String(err);
312
+ }
192
313
  const rateLimits = (await readCodexRateLimitsViaSingleton())
193
314
  ?? await readCodexRateLimitsViaAppServer().catch(() => undefined);
194
315
  const planLabel = capitalize((rateLimits?.planType ?? authPlanType ?? undefined) || undefined);
195
316
  const quotaDisplay = buildQuotaDisplay(rateLimits);
317
+ const models = discoveredModels && discoveredModels.length > 0 ? discoveredModels : fallbackCodexModels();
318
+ const defaultModel = models.find((model) => model.isDefault)?.id ?? models[0]?.id;
196
319
  const value = {
197
320
  ...(planLabel ? { planLabel } : {}),
198
321
  ...quotaDisplay,
322
+ availableModels: models.map((model) => model.id),
323
+ models,
324
+ ...(defaultModel ? { defaultModel } : {}),
325
+ ...(discoveredModels && discoveredModels.length > 0 ? { isAuthenticated: true } : {}),
326
+ ...(modelProbeError ? { probeError: modelProbeError } : {}),
199
327
  };
200
328
  cache = { expiresAt: now + CACHE_TTL_MS, value };
201
329
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-runtime-config.js","sourceRoot":"","sources":["../../../src/agent/codex-runtime-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-runtime-config.js","sourceRoot":"","sources":["../../../src/agent/codex-runtime-config.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export type TransportAgent = typeof TRANSPORT_SESSION_AGENT_TYPES[number];
13
13
  /** All agent types */
14
14
  export type AgentType = SessionAgentType;
15
15
  /** Set of all transport agent type strings */
16
- export declare const TRANSPORT_AGENTS: Set<"claude-code-sdk" | "codex-sdk" | "qwen" | "openclaw" | "copilot-sdk" | "cursor-headless">;
16
+ export declare const TRANSPORT_AGENTS: Set<"claude-code-sdk" | "codex-sdk" | "qwen" | "openclaw" | "copilot-sdk" | "cursor-headless" | "gemini-sdk">;
17
17
  /** Set of all process agent type strings */
18
18
  export declare const PROCESS_AGENTS: Set<"claude-code" | "codex" | "opencode" | "gemini" | "shell" | "script">;
19
19
  /** Check if an agent type is transport-backed */
@@ -1 +1 @@
1
- {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../../src/agent/detect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,WAAW,GACX,UAAU,GACV,cAAc,GACd,YAAY,GACZ,OAAO,GACP,SAAS,CAAC;AAEd,2DAA2D;AAC3D,MAAM,MAAM,YAAY,GAAG,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAC;AAEtE,iEAAiE;AACjE,MAAM,MAAM,cAAc,GAAG,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAC;AAE1E,sBAAsB;AACtB,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAC;AAEzC,8CAA8C;AAC9C,eAAO,MAAM,gBAAgB,gGAAyD,CAAC;AAEvF,4CAA4C;AAC5C,eAAO,MAAM,cAAc,2EAAqD,CAAC;AAEjF,iDAAiD;AACjD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,IAAI,cAAc,CAE/E;AAED,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,IAAI,YAAY,CAE3E;AAuID,yDAAyD;AACzD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,SAAS;AACpB,+FAA+F;AAC/F,UAAU,CAAC,EAAE,MAAM,GAClB,WAAW,CA0Eb;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,EACrC,SAAS,EAAE,SAAS,EACpB,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,WAAW,CAAC,CAiCtB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,WAAW,CAAC,CAMtB"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../../src/agent/detect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,WAAW,GACX,UAAU,GACV,cAAc,GACd,YAAY,GACZ,OAAO,GACP,SAAS,CAAC;AAEd,2DAA2D;AAC3D,MAAM,MAAM,YAAY,GAAG,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAC;AAEtE,iEAAiE;AACjE,MAAM,MAAM,cAAc,GAAG,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAC;AAE1E,sBAAsB;AACtB,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAC;AAEzC,8CAA8C;AAC9C,eAAO,MAAM,gBAAgB,+GAAyD,CAAC;AAEvF,4CAA4C;AAC5C,eAAO,MAAM,cAAc,2EAAqD,CAAC;AAEjF,iDAAiD;AACjD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,IAAI,cAAc,CAE/E;AAED,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,IAAI,YAAY,CAE3E;AAuID,yDAAyD;AACzD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,SAAS;AACpB,+FAA+F;AAC/F,UAAU,CAAC,EAAE,MAAM,GAClB,WAAW,CA0Eb;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,EACrC,SAAS,EAAE,SAAS,EACpB,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,WAAW,CAAC,CAiCtB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,WAAW,CAAC,CAMtB"}
@@ -77,6 +77,10 @@ async function createProvider(id) {
77
77
  const { QwenProvider } = await import('./providers/qwen.js');
78
78
  return new QwenProvider();
79
79
  }
80
+ case 'gemini-sdk': {
81
+ const { GeminiSdkProvider } = await import('./providers/gemini-sdk.js');
82
+ return new GeminiSdkProvider();
83
+ }
80
84
  case 'claude-code-sdk': {
81
85
  const { ClaudeCodeSdkProvider } = await import('./providers/claude-code-sdk.js');
82
86
  return new ClaudeCodeSdkProvider();
@@ -1 +1 @@
1
- {"version":3,"file":"provider-registry.js","sourceRoot":"","sources":["../../../src/agent/provider-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-registry.js","sourceRoot":"","sources":["../../../src/agent/provider-registry.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,12 @@ import type { AgentMessage, MessageDelta } from '../../../shared/agent-message.j
3
3
  import type { ProviderContextPayload } from '../../../shared/context-types.js';
4
4
  import type { TransportAttachment } from '../../../shared/transport-attachments.js';
5
5
  import { type TransportEffortLevel } from '../../../shared/effort-levels.js';
6
+ export interface CodexDiscoveredModel {
7
+ id: string;
8
+ name?: string;
9
+ supportsReasoningEffort?: boolean;
10
+ isDefault?: boolean;
11
+ }
6
12
  export declare class CodexSdkProvider implements TransportProvider {
7
13
  readonly id = "codex-sdk";
8
14
  readonly connectionMode: "local-sdk";
@@ -54,6 +60,7 @@ export declare class CodexSdkProvider implements TransportProvider {
54
60
  * wrapper.
55
61
  */
56
62
  readRateLimits(): Promise<Record<string, unknown> | undefined>;
63
+ readModelList(): Promise<CodexDiscoveredModel[] | undefined>;
57
64
  private notify;
58
65
  private rejectPending;
59
66
  private emitSessionInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-sdk.d.ts","sourceRoot":"","sources":["../../../../src/agent/providers/codex-sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-sdk.d.ts","sourceRoot":"","sources":["../../../../src/agent/providers/codex-sdk.ts"],"names":[],"mappings":"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"}
@@ -647,6 +647,52 @@ export class CodexSdkProvider {
647
647
  return undefined;
648
648
  }
649
649
  }
650
+ async readModelList() {
651
+ if (!this.child || !this.child.stdin.writable)
652
+ return undefined;
653
+ try {
654
+ const discovered = [];
655
+ const seen = new Set();
656
+ let cursor = null;
657
+ do {
658
+ const result = await this.request('model/list', {
659
+ includeHidden: false,
660
+ limit: 100,
661
+ ...(cursor ? { cursor } : {}),
662
+ });
663
+ const data = Array.isArray(result?.data) ? result.data : [];
664
+ for (const entry of data) {
665
+ if (!entry || typeof entry !== 'object')
666
+ continue;
667
+ const modelId = typeof entry.model === 'string' && entry.model.trim()
668
+ ? entry.model.trim()
669
+ : typeof entry.id === 'string' && entry.id.trim()
670
+ ? entry.id.trim()
671
+ : '';
672
+ if (!modelId || seen.has(modelId))
673
+ continue;
674
+ seen.add(modelId);
675
+ discovered.push({
676
+ id: modelId,
677
+ ...(typeof entry.displayName === 'string' && entry.displayName.trim()
678
+ ? { name: entry.displayName.trim() }
679
+ : {}),
680
+ ...(Array.isArray(entry.supportedReasoningEfforts) && entry.supportedReasoningEfforts.length > 0
681
+ ? { supportsReasoningEffort: true }
682
+ : {}),
683
+ ...(entry.isDefault === true ? { isDefault: true } : {}),
684
+ });
685
+ }
686
+ cursor = typeof result?.nextCursor === 'string' && result.nextCursor.trim()
687
+ ? result.nextCursor.trim()
688
+ : null;
689
+ } while (cursor);
690
+ return discovered;
691
+ }
692
+ catch {
693
+ return undefined;
694
+ }
695
+ }
650
696
  notify(method, params) {
651
697
  if (!this.child?.stdin.writable)
652
698
  return;