@agentstep/agent-sdk 0.5.25 → 0.5.27

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 (79) hide show
  1. package/dist/backends/models.js +3 -1
  2. package/dist/{chunk-ZWGRS5IQ.js → chunk-2REGK4VO.js} +1 -1
  3. package/dist/{chunk-CHFV5QLL.js → chunk-5AV732JY.js} +1 -1
  4. package/dist/{chunk-ITUS7L36.js → chunk-5DFZE5OJ.js} +3 -2
  5. package/dist/{chunk-O25GLUW3.js → chunk-6B66DQAS.js} +2 -2
  6. package/dist/{chunk-CC7NBZTQ.js → chunk-7DPZMROX.js} +1 -1
  7. package/dist/{chunk-JBUORGMS.js → chunk-7HTCDMOB.js} +3 -3
  8. package/dist/{chunk-OYEEGQRT.js → chunk-A3MNXVCR.js} +1 -1
  9. package/dist/{chunk-52MPLXZM.js → chunk-A6FHXGSI.js} +1 -1
  10. package/dist/{chunk-WRI5QOKG.js → chunk-BYUIOMPX.js} +14 -3
  11. package/dist/{chunk-EE5AUFLO.js → chunk-CG2VA2YP.js} +2 -2
  12. package/dist/{chunk-JVH7XMIF.js → chunk-CPCGFE75.js} +1 -1
  13. package/dist/{chunk-ZAJ53O27.js → chunk-ELK5PVI3.js} +1 -1
  14. package/dist/{chunk-YPOWMPPJ.js → chunk-EY7LWGRO.js} +3 -3
  15. package/dist/{chunk-G6DHJNLN.js → chunk-G6XFFNCQ.js} +5 -5
  16. package/dist/{chunk-MDRCKQ6F.js → chunk-GPGBT7JD.js} +1 -1
  17. package/dist/{chunk-MMUFF67U.js → chunk-H5UBRKRU.js} +1 -1
  18. package/dist/{chunk-VWKNC6XU.js → chunk-HPL2MQGY.js} +2 -2
  19. package/dist/{chunk-ZBO426DV.js → chunk-HQQWAVL6.js} +1 -1
  20. package/dist/{chunk-2SENXPX2.js → chunk-I2GML5Z7.js} +1 -1
  21. package/dist/{chunk-JYYIHU2A.js → chunk-J7XHNSPO.js} +1 -1
  22. package/dist/{chunk-MGZ3RD6R.js → chunk-JC2XJBV2.js} +1 -1
  23. package/dist/{chunk-XTJYVIGI.js → chunk-K7Y3EAGL.js} +1 -1
  24. package/dist/{chunk-L7SLX4X2.js → chunk-KD5Y4XSU.js} +1 -1
  25. package/dist/{chunk-5BK56E4N.js → chunk-LDUQ4FHX.js} +2 -2
  26. package/dist/{chunk-F7VM5O4I.js → chunk-MGSVPAVF.js} +1 -1
  27. package/dist/{chunk-NCPYASBL.js → chunk-MYRTMYTN.js} +1 -1
  28. package/dist/{chunk-7ZGRJJGC.js → chunk-NOW46DBT.js} +2 -2
  29. package/dist/{chunk-L6ZBAMN3.js → chunk-OQ33WLYG.js} +1 -1
  30. package/dist/{chunk-BFSCONJZ.js → chunk-SBYBNAOU.js} +1 -1
  31. package/dist/{chunk-LZQ2S476.js → chunk-SX34YV6L.js} +1 -1
  32. package/dist/{chunk-IQRKHV3U.js → chunk-VEPT2NDJ.js} +1 -1
  33. package/dist/{chunk-3MESSK4W.js → chunk-VOHHDBIX.js} +1 -1
  34. package/dist/{chunk-OH4BWEZ7.js → chunk-WHTGWLGJ.js} +1 -1
  35. package/dist/{chunk-SN2K3SMX.js → chunk-XPPOMXTN.js} +1 -1
  36. package/dist/{chunk-4TKOEF6X.js → chunk-ZBFU37UL.js} +8 -0
  37. package/dist/{chunk-DKI7F5CD.js → chunk-ZTHH374G.js} +1 -1
  38. package/dist/containers/lifecycle.js +2 -2
  39. package/dist/containers/setup.js +2 -2
  40. package/dist/handlers/agents.js +8 -8
  41. package/dist/handlers/api_keys.js +8 -8
  42. package/dist/handlers/audit.js +8 -8
  43. package/dist/handlers/batch.js +8 -8
  44. package/dist/handlers/credentials.js +9 -9
  45. package/dist/handlers/environments.js +9 -9
  46. package/dist/handlers/events.js +8 -8
  47. package/dist/handlers/files.js +8 -8
  48. package/dist/handlers/index.js +36 -36
  49. package/dist/handlers/license.js +8 -8
  50. package/dist/handlers/memory.js +8 -8
  51. package/dist/handlers/metrics.js +8 -8
  52. package/dist/handlers/models.js +10 -10
  53. package/dist/handlers/providers.js +8 -8
  54. package/dist/handlers/resources.js +8 -8
  55. package/dist/handlers/sessions.js +9 -9
  56. package/dist/handlers/settings.js +8 -8
  57. package/dist/handlers/skills-write.js +8 -8
  58. package/dist/handlers/skills.js +8 -8
  59. package/dist/handlers/stream.js +7 -7
  60. package/dist/handlers/tenants.js +8 -8
  61. package/dist/handlers/threads.js +8 -8
  62. package/dist/handlers/traces.js +8 -8
  63. package/dist/handlers/upstream_keys.js +8 -8
  64. package/dist/handlers/vaults.js +8 -8
  65. package/dist/handlers/whoami.js +8 -8
  66. package/dist/handlers/work.js +8 -8
  67. package/dist/http.js +7 -7
  68. package/dist/index.js +9 -9
  69. package/dist/init.js +6 -6
  70. package/dist/lib/model-registry.js +2 -2
  71. package/dist/providers/registry.js +1 -1
  72. package/dist/providers/sprites.js +2 -2
  73. package/dist/sessions/driver.js +3 -3
  74. package/dist/sessions/sweeper.js +3 -3
  75. package/dist/sessions/threads.js +3 -3
  76. package/dist/shutdown.js +4 -4
  77. package/dist/workers/runner.js +4 -4
  78. package/package.json +1 -1
  79. /package/dist/{chunk-KU4PHT42.js → chunk-QQGXM2OQ.js} +0 -0
@@ -1,11 +1,13 @@
1
1
  import {
2
2
  FALLBACK_MODELS,
3
3
  MODELS,
4
+ inferEngineFromModel,
4
5
  isValidModelForEngine
5
- } from "../chunk-4TKOEF6X.js";
6
+ } from "../chunk-ZBFU37UL.js";
6
7
  import "../chunk-2ESYSVXG.js";
7
8
  export {
8
9
  FALLBACK_MODELS,
9
10
  MODELS,
11
+ inferEngineFromModel,
10
12
  isValidModelForEngine
11
13
  };
@@ -25,7 +25,7 @@ import {
25
25
  import {
26
26
  resolveProvider,
27
27
  tryResolveProvider
28
- } from "./chunk-KU4PHT42.js";
28
+ } from "./chunk-QQGXM2OQ.js";
29
29
  import {
30
30
  getEnvironment,
31
31
  getEnvironmentRow,
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-A4GJADRQ.js";
8
8
  import {
9
9
  runTurn
10
- } from "./chunk-WRI5QOKG.js";
10
+ } from "./chunk-BYUIOMPX.js";
11
11
 
12
12
  // src/workers/runner.ts
13
13
  async function startWorker(opts) {
@@ -8,7 +8,7 @@ import {
8
8
  jsonOk,
9
9
  paginatedOk,
10
10
  routeWrap
11
- } from "./chunk-2SENXPX2.js";
11
+ } from "./chunk-I2GML5Z7.js";
12
12
  import {
13
13
  forwardToAnthropic,
14
14
  validateAnthropicProxy
@@ -326,7 +326,8 @@ function handleCreateAgent(request) {
326
326
  if (existing.some((a) => a.name === parsed.data.name)) {
327
327
  throw conflict(`Agent with name "${parsed.data.name}" already exists`);
328
328
  }
329
- const backendName = parsed.data.engine ?? "claude";
329
+ const { inferEngineFromModel } = await import("./backends/models.js");
330
+ const backendName = parsed.data.engine ?? inferEngineFromModel(parsed.data.model.id) ?? "claude";
330
331
  if (backendName === "anthropic") {
331
332
  const proxyErr = validateAnthropicProxy();
332
333
  if (proxyErr) throw badRequest(proxyErr);
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  getModels
3
- } from "./chunk-OH4BWEZ7.js";
3
+ } from "./chunk-WHTGWLGJ.js";
4
4
  import {
5
5
  jsonOk,
6
6
  routeWrap
7
- } from "./chunk-2SENXPX2.js";
7
+ } from "./chunk-I2GML5Z7.js";
8
8
 
9
9
  // src/handlers/models.ts
10
10
  function handleListModels(request) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  resolveContainerProvider,
3
3
  resolveProvider
4
- } from "./chunk-KU4PHT42.js";
4
+ } from "./chunk-QQGXM2OQ.js";
5
5
  import {
6
6
  getEnvironmentRow,
7
7
  updateEnvironmentState
@@ -5,13 +5,13 @@ import {
5
5
  } from "./chunk-23UKWXJH.js";
6
6
  import {
7
7
  kickoffEnvironmentSetup
8
- } from "./chunk-CC7NBZTQ.js";
8
+ } from "./chunk-7DPZMROX.js";
9
9
  import {
10
10
  decodeCursor,
11
11
  jsonOk,
12
12
  paginatedOk,
13
13
  routeWrap
14
- } from "./chunk-2SENXPX2.js";
14
+ } from "./chunk-I2GML5Z7.js";
15
15
  import {
16
16
  forwardToAnthropic
17
17
  } from "./chunk-IDQKHWWN.js";
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-GKNBECPD.js";
24
24
  import {
25
25
  resolveContainerProvider
26
- } from "./chunk-KU4PHT42.js";
26
+ } from "./chunk-QQGXM2OQ.js";
27
27
  import {
28
28
  archiveEnvironment,
29
29
  createEnvironment,
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  jsonOk,
12
12
  routeWrap
13
- } from "./chunk-2SENXPX2.js";
13
+ } from "./chunk-I2GML5Z7.js";
14
14
  import {
15
15
  archiveTenant,
16
16
  createTenant,
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  jsonOk,
6
6
  routeWrap
7
- } from "./chunk-2SENXPX2.js";
7
+ } from "./chunk-I2GML5Z7.js";
8
8
  import {
9
9
  getProxiedTenantId
10
10
  } from "./chunk-GKNBECPD.js";
@@ -30,7 +30,7 @@ import {
30
30
  installSkills,
31
31
  provisionResources,
32
32
  wrapProviderWithSecrets
33
- } from "./chunk-ZWGRS5IQ.js";
33
+ } from "./chunk-2REGK4VO.js";
34
34
  import {
35
35
  BLOCKED_ENV_KEYS,
36
36
  resolveVaultSecrets
@@ -60,7 +60,7 @@ import {
60
60
  import {
61
61
  resolveProvider,
62
62
  resolveProviderName
63
- } from "./chunk-KU4PHT42.js";
63
+ } from "./chunk-QQGXM2OQ.js";
64
64
  import {
65
65
  getEnvironment
66
66
  } from "./chunk-BRULBMRN.js";
@@ -225,7 +225,18 @@ async function runTurn(sessionId, inputs, _depth = 0, parentTrace) {
225
225
  console.log(`[driver] ${sessionId} acquiring container...`);
226
226
  let sandboxName;
227
227
  try {
228
- sandboxName = await acquireForFirstTurn(sessionId);
228
+ try {
229
+ sandboxName = await acquireForFirstTurn(sessionId);
230
+ } catch (firstErr) {
231
+ const firstMsg = firstErr instanceof Error ? firstErr.message : String(firstErr);
232
+ if (firstMsg.includes("httpExec: 502") || firstMsg.includes("httpExec: 503")) {
233
+ console.warn(`[driver] ${sessionId} transient container setup error, retrying: ${firstMsg}`);
234
+ await new Promise((r) => setTimeout(r, 2e3));
235
+ sandboxName = await acquireForFirstTurn(sessionId);
236
+ } else {
237
+ throw firstErr;
238
+ }
239
+ }
229
240
  console.log(`[driver] ${sessionId} container ready: ${sandboxName}`);
230
241
  const postAcquireSecrets = getBySession(sessionId)?.vaultSecrets ?? (session.vault_ids?.length ? resolveVaultSecrets(session.vault_ids) : void 0);
231
242
  const latestAgent = getAgent(session.agent.id);
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  loadVaultForCaller
3
- } from "./chunk-MGZ3RD6R.js";
3
+ } from "./chunk-JC2XJBV2.js";
4
4
  import {
5
5
  jsonOk,
6
6
  paginatedOk,
7
7
  routeWrap
8
- } from "./chunk-2SENXPX2.js";
8
+ } from "./chunk-I2GML5Z7.js";
9
9
  import {
10
10
  archiveCredential,
11
11
  createCredential,
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  jsonOk,
6
6
  routeWrap
7
- } from "./chunk-2SENXPX2.js";
7
+ } from "./chunk-I2GML5Z7.js";
8
8
 
9
9
  // src/handlers/license.ts
10
10
  function handleGetLicense(request) {
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-IDQKHWWN.js";
13
13
  import {
14
14
  ensureInitialized
15
- } from "./chunk-G6DHJNLN.js";
15
+ } from "./chunk-G6XFFNCQ.js";
16
16
  import {
17
17
  getProxiedTenantId,
18
18
  isProxied
@@ -17,13 +17,13 @@ import {
17
17
  } from "./chunk-GNXIA5WC.js";
18
18
  import {
19
19
  kickoffEnvironmentSetup
20
- } from "./chunk-CC7NBZTQ.js";
20
+ } from "./chunk-7DPZMROX.js";
21
21
  import {
22
22
  decodeCursor,
23
23
  jsonOk,
24
24
  paginatedOk,
25
25
  routeWrap
26
- } from "./chunk-2SENXPX2.js";
26
+ } from "./chunk-I2GML5Z7.js";
27
27
  import {
28
28
  forwardToAnthropic
29
29
  } from "./chunk-IDQKHWWN.js";
@@ -43,7 +43,7 @@ import {
43
43
  } from "./chunk-LAWTTG2E.js";
44
44
  import {
45
45
  releaseSession
46
- } from "./chunk-ZWGRS5IQ.js";
46
+ } from "./chunk-2REGK4VO.js";
47
47
  import {
48
48
  appendEvent,
49
49
  dropEmitter
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-SKVAM5H2.js";
4
4
  import {
5
5
  runTurn
6
- } from "./chunk-WRI5QOKG.js";
6
+ } from "./chunk-BYUIOMPX.js";
7
7
  import {
8
8
  installOtlpExporter
9
9
  } from "./chunk-PZKWZKRP.js";
@@ -19,15 +19,15 @@ import {
19
19
  } from "./chunk-3MQ2FWXS.js";
20
20
  import {
21
21
  installShutdownHandlers
22
- } from "./chunk-L7SLX4X2.js";
22
+ } from "./chunk-KD5Y4XSU.js";
23
23
  import {
24
24
  runSweep
25
- } from "./chunk-VWKNC6XU.js";
25
+ } from "./chunk-HPL2MQGY.js";
26
26
  import {
27
27
  fillWarmPools,
28
28
  reconcileDockerOrphanSandboxes,
29
29
  reconcileOrphanSandboxes
30
- } from "./chunk-ZWGRS5IQ.js";
30
+ } from "./chunk-2REGK4VO.js";
31
31
  import {
32
32
  appendEvent,
33
33
  installPayloadRedactor
@@ -48,7 +48,7 @@ import {
48
48
  } from "./chunk-EFOIR7R3.js";
49
49
  import {
50
50
  tryResolveProvider
51
- } from "./chunk-KU4PHT42.js";
51
+ } from "./chunk-QQGXM2OQ.js";
52
52
  import {
53
53
  getEnvironment
54
54
  } from "./chunk-BRULBMRN.js";
@@ -25,7 +25,7 @@ import {
25
25
  jsonOk,
26
26
  paginatedOk,
27
27
  routeWrap
28
- } from "./chunk-2SENXPX2.js";
28
+ } from "./chunk-I2GML5Z7.js";
29
29
  import {
30
30
  getConfig
31
31
  } from "./chunk-US26CY2Y.js";
@@ -21,7 +21,7 @@ import {
21
21
  import {
22
22
  jsonOk,
23
23
  routeWrap
24
- } from "./chunk-2SENXPX2.js";
24
+ } from "./chunk-I2GML5Z7.js";
25
25
  import {
26
26
  badRequest,
27
27
  notFound
@@ -6,7 +6,7 @@ import {
6
6
  reconcileDockerOrphanSandboxes,
7
7
  reconcileOrphanSandboxes,
8
8
  releaseSession
9
- } from "./chunk-ZWGRS5IQ.js";
9
+ } from "./chunk-2REGK4VO.js";
10
10
  import {
11
11
  appendEvent,
12
12
  dropEmitter
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-GBJ3OT4D.js";
20
20
  import {
21
21
  tryResolveProvider
22
- } from "./chunk-KU4PHT42.js";
22
+ } from "./chunk-QQGXM2OQ.js";
23
23
  import {
24
24
  getEnvironment
25
25
  } from "./chunk-BRULBMRN.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  jsonOk,
3
3
  routeWrap
4
- } from "./chunk-2SENXPX2.js";
4
+ } from "./chunk-I2GML5Z7.js";
5
5
 
6
6
  // src/handlers/whoami.ts
7
7
  function handleWhoami(request) {
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-HVUWXUUI.js";
11
11
  import {
12
12
  ensureInitialized
13
- } from "./chunk-G6DHJNLN.js";
13
+ } from "./chunk-G6XFFNCQ.js";
14
14
  import {
15
15
  captureException
16
16
  } from "./chunk-3MQ2FWXS.js";
@@ -15,7 +15,7 @@ import {
15
15
  jsonOk,
16
16
  paginatedOk,
17
17
  routeWrap
18
- } from "./chunk-2SENXPX2.js";
18
+ } from "./chunk-I2GML5Z7.js";
19
19
  import {
20
20
  badRequest,
21
21
  notFound
@@ -7,7 +7,7 @@ import {
7
7
  jsonOk,
8
8
  paginatedOk,
9
9
  routeWrap
10
- } from "./chunk-2SENXPX2.js";
10
+ } from "./chunk-I2GML5Z7.js";
11
11
  import {
12
12
  archiveVault,
13
13
  createVault,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  jsonOk,
3
3
  routeWrap
4
- } from "./chunk-2SENXPX2.js";
4
+ } from "./chunk-I2GML5Z7.js";
5
5
  import {
6
6
  readSetting,
7
7
  writeSetting
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  markStopping
3
- } from "./chunk-VWKNC6XU.js";
3
+ } from "./chunk-HPL2MQGY.js";
4
4
  import {
5
5
  closeDb,
6
6
  init_client,
@@ -25,7 +25,7 @@ import {
25
25
  jsonOk,
26
26
  paginatedOk,
27
27
  routeWrap
28
- } from "./chunk-2SENXPX2.js";
28
+ } from "./chunk-I2GML5Z7.js";
29
29
  import {
30
30
  forwardToAnthropic
31
31
  } from "./chunk-IDQKHWWN.js";
@@ -35,7 +35,7 @@ import {
35
35
  import {
36
36
  runTurn,
37
37
  writePermissionResponse
38
- } from "./chunk-WRI5QOKG.js";
38
+ } from "./chunk-BYUIOMPX.js";
39
39
  import {
40
40
  getProxiedTenantId,
41
41
  isProxied
@@ -15,7 +15,7 @@ import {
15
15
  import {
16
16
  jsonOk,
17
17
  routeWrap
18
- } from "./chunk-2SENXPX2.js";
18
+ } from "./chunk-I2GML5Z7.js";
19
19
  import {
20
20
  createApiKey,
21
21
  getApiKeyById,
@@ -10,7 +10,7 @@ import {
10
10
  jsonOk,
11
11
  paginatedOk,
12
12
  routeWrap
13
- } from "./chunk-2SENXPX2.js";
13
+ } from "./chunk-I2GML5Z7.js";
14
14
  import {
15
15
  subscribe
16
16
  } from "./chunk-2K3UO6TC.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  jsonOk,
3
3
  routeWrap
4
- } from "./chunk-2SENXPX2.js";
4
+ } from "./chunk-I2GML5Z7.js";
5
5
  import {
6
6
  resolveContainerProvider
7
- } from "./chunk-KU4PHT42.js";
7
+ } from "./chunk-QQGXM2OQ.js";
8
8
  import {
9
9
  getConfig
10
10
  } from "./chunk-US26CY2Y.js";
@@ -18,7 +18,7 @@ import {
18
18
  import {
19
19
  jsonOk,
20
20
  routeWrap
21
- } from "./chunk-2SENXPX2.js";
21
+ } from "./chunk-I2GML5Z7.js";
22
22
  import {
23
23
  getDb,
24
24
  init_client
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  jsonOk,
10
10
  routeWrap
11
- } from "./chunk-2SENXPX2.js";
11
+ } from "./chunk-I2GML5Z7.js";
12
12
  import {
13
13
  snapshotApiMetrics
14
14
  } from "./chunk-D2XITRN6.js";
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  paginatedOk,
10
10
  routeWrap
11
- } from "./chunk-2SENXPX2.js";
11
+ } from "./chunk-I2GML5Z7.js";
12
12
  import {
13
13
  badRequest
14
14
  } from "./chunk-EZYKRG4W.js";
@@ -13,7 +13,7 @@ import {
13
13
  jsonOk,
14
14
  paginatedOk,
15
15
  routeWrap
16
- } from "./chunk-2SENXPX2.js";
16
+ } from "./chunk-I2GML5Z7.js";
17
17
  import {
18
18
  getEnvironment
19
19
  } from "./chunk-BRULBMRN.js";
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  jsonOk,
10
10
  routeWrap
11
- } from "./chunk-2SENXPX2.js";
11
+ } from "./chunk-I2GML5Z7.js";
12
12
 
13
13
  // src/handlers/skills.ts
14
14
  async function handleGetSkillsCatalog(request) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  FALLBACK_MODELS
3
- } from "./chunk-4TKOEF6X.js";
3
+ } from "./chunk-ZBFU37UL.js";
4
4
  import {
5
5
  getConfig,
6
6
  readSetting
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  jsonOk,
6
6
  routeWrap
7
- } from "./chunk-2SENXPX2.js";
7
+ } from "./chunk-I2GML5Z7.js";
8
8
  import {
9
9
  exportTrace
10
10
  } from "./chunk-PZKWZKRP.js";
@@ -40,6 +40,13 @@ var FALLBACK_MODELS = {
40
40
  ]
41
41
  };
42
42
  var MODELS = FALLBACK_MODELS;
43
+ function inferEngineFromModel(model) {
44
+ const base = model.replace(/^(anthropic|openai|google)\//, "");
45
+ if (base.startsWith("gemini-")) return "gemini";
46
+ if (base.startsWith("gpt-") || base.startsWith("o1-") || base.startsWith("o3-") || base.startsWith("o4-") || base.startsWith("codex-") || base.startsWith("chatgpt-")) return "codex";
47
+ if (base.startsWith("claude-")) return "claude";
48
+ return null;
49
+ }
43
50
  function isValidModelForEngine(engine, model) {
44
51
  const allowed = FALLBACK_MODELS[engine];
45
52
  if (!allowed) return true;
@@ -64,5 +71,6 @@ function isValidModelForEngine(engine, model) {
64
71
  export {
65
72
  FALLBACK_MODELS,
66
73
  MODELS,
74
+ inferEngineFromModel,
67
75
  isValidModelForEngine
68
76
  };
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  jsonOk,
7
7
  routeWrap
8
- } from "./chunk-2SENXPX2.js";
8
+ } from "./chunk-I2GML5Z7.js";
9
9
  import {
10
10
  badRequest
11
11
  } from "./chunk-EZYKRG4W.js";
@@ -9,7 +9,7 @@ import {
9
9
  releaseSession,
10
10
  replenishWarmPool,
11
11
  wrapProviderWithSecrets
12
- } from "../chunk-ZWGRS5IQ.js";
12
+ } from "../chunk-2REGK4VO.js";
13
13
  import "../chunk-FQQ2R6FA.js";
14
14
  import "../chunk-4XXQAVKE.js";
15
15
  import "../chunk-5ZFOKZGR.js";
@@ -22,7 +22,7 @@ import "../chunk-YPXI7Q2M.js";
22
22
  import "../chunk-IS6CQPAQ.js";
23
23
  import "../chunk-AZLZOG5N.js";
24
24
  import "../chunk-EFOIR7R3.js";
25
- import "../chunk-KU4PHT42.js";
25
+ import "../chunk-QQGXM2OQ.js";
26
26
  import "../chunk-BRULBMRN.js";
27
27
  import "../chunk-G7KUVNDY.js";
28
28
  import "../chunk-ENFWZ2QM.js";
@@ -2,8 +2,8 @@ import {
2
2
  SENTINEL_DIR,
3
3
  kickoffEnvironmentSetup,
4
4
  prepareSprite
5
- } from "../chunk-CC7NBZTQ.js";
6
- import "../chunk-KU4PHT42.js";
5
+ } from "../chunk-7DPZMROX.js";
6
+ import "../chunk-QQGXM2OQ.js";
7
7
  import "../chunk-BRULBMRN.js";
8
8
  import "../chunk-F5SHFZUA.js";
9
9
  import {
@@ -6,17 +6,17 @@ import {
6
6
  handleListAgentVersions,
7
7
  handleListAgents,
8
8
  handleUpdateAgent
9
- } from "../chunk-ITUS7L36.js";
9
+ } from "../chunk-5DFZE5OJ.js";
10
10
  import "../chunk-23UKWXJH.js";
11
- import "../chunk-2SENXPX2.js";
11
+ import "../chunk-I2GML5Z7.js";
12
12
  import "../chunk-D2XITRN6.js";
13
13
  import "../chunk-BW6OSLW7.js";
14
14
  import "../chunk-IDQKHWWN.js";
15
15
  import "../chunk-W6WKXFHN.js";
16
16
  import "../chunk-HVUWXUUI.js";
17
- import "../chunk-G6DHJNLN.js";
17
+ import "../chunk-G6XFFNCQ.js";
18
18
  import "../chunk-SKVAM5H2.js";
19
- import "../chunk-WRI5QOKG.js";
19
+ import "../chunk-BYUIOMPX.js";
20
20
  import "../chunk-PJZ5TQYW.js";
21
21
  import "../chunk-AU4NAQGA.js";
22
22
  import "../chunk-DBFPJSOY.js";
@@ -29,10 +29,10 @@ import "../chunk-GKNBECPD.js";
29
29
  import "../chunk-RZHIYTI3.js";
30
30
  import "../chunk-LJNLU5PQ.js";
31
31
  import "../chunk-3MQ2FWXS.js";
32
- import "../chunk-L7SLX4X2.js";
33
- import "../chunk-VWKNC6XU.js";
32
+ import "../chunk-KD5Y4XSU.js";
33
+ import "../chunk-HPL2MQGY.js";
34
34
  import "../chunk-LAWTTG2E.js";
35
- import "../chunk-ZWGRS5IQ.js";
35
+ import "../chunk-2REGK4VO.js";
36
36
  import "../chunk-FQQ2R6FA.js";
37
37
  import "../chunk-4XXQAVKE.js";
38
38
  import "../chunk-5ZFOKZGR.js";
@@ -45,7 +45,7 @@ import "../chunk-YPXI7Q2M.js";
45
45
  import "../chunk-IS6CQPAQ.js";
46
46
  import "../chunk-AZLZOG5N.js";
47
47
  import "../chunk-EFOIR7R3.js";
48
- import "../chunk-KU4PHT42.js";
48
+ import "../chunk-QQGXM2OQ.js";
49
49
  import "../chunk-BRULBMRN.js";
50
50
  import "../chunk-G7KUVNDY.js";
51
51
  import "../chunk-ENFWZ2QM.js";
@@ -5,19 +5,19 @@ import {
5
5
  handleListApiKeys,
6
6
  handlePatchApiKey,
7
7
  handleRevokeApiKey
8
- } from "../chunk-F7VM5O4I.js";
8
+ } from "../chunk-MGSVPAVF.js";
9
9
  import "../chunk-23UKWXJH.js";
10
10
  import "../chunk-FC3UAHXM.js";
11
11
  import "../chunk-2N2KL4KM.js";
12
- import "../chunk-2SENXPX2.js";
12
+ import "../chunk-I2GML5Z7.js";
13
13
  import "../chunk-D2XITRN6.js";
14
14
  import "../chunk-BW6OSLW7.js";
15
15
  import "../chunk-IDQKHWWN.js";
16
16
  import "../chunk-W6WKXFHN.js";
17
17
  import "../chunk-HVUWXUUI.js";
18
- import "../chunk-G6DHJNLN.js";
18
+ import "../chunk-G6XFFNCQ.js";
19
19
  import "../chunk-SKVAM5H2.js";
20
- import "../chunk-WRI5QOKG.js";
20
+ import "../chunk-BYUIOMPX.js";
21
21
  import "../chunk-PJZ5TQYW.js";
22
22
  import "../chunk-AU4NAQGA.js";
23
23
  import "../chunk-DBFPJSOY.js";
@@ -30,10 +30,10 @@ import "../chunk-GKNBECPD.js";
30
30
  import "../chunk-RZHIYTI3.js";
31
31
  import "../chunk-LJNLU5PQ.js";
32
32
  import "../chunk-3MQ2FWXS.js";
33
- import "../chunk-L7SLX4X2.js";
34
- import "../chunk-VWKNC6XU.js";
33
+ import "../chunk-KD5Y4XSU.js";
34
+ import "../chunk-HPL2MQGY.js";
35
35
  import "../chunk-LAWTTG2E.js";
36
- import "../chunk-ZWGRS5IQ.js";
36
+ import "../chunk-2REGK4VO.js";
37
37
  import "../chunk-FQQ2R6FA.js";
38
38
  import "../chunk-4XXQAVKE.js";
39
39
  import "../chunk-5ZFOKZGR.js";
@@ -46,7 +46,7 @@ import "../chunk-YPXI7Q2M.js";
46
46
  import "../chunk-IS6CQPAQ.js";
47
47
  import "../chunk-AZLZOG5N.js";
48
48
  import "../chunk-EFOIR7R3.js";
49
- import "../chunk-KU4PHT42.js";
49
+ import "../chunk-QQGXM2OQ.js";
50
50
  import "../chunk-BRULBMRN.js";
51
51
  import "../chunk-G7KUVNDY.js";
52
52
  import "../chunk-ENFWZ2QM.js";