@pensar/apex 2.4.0-canary.7d58f42b → 2.4.0-canary.d13eb239

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 (54) hide show
  1. package/build/{agent-2mgkzsjp.js → agent-e46h35ay.js} +7 -7
  2. package/build/agent-rjfefj3b.js +19 -0
  3. package/build/{agent-wp6zfnk6.js → agent-tm0tmpgc.js} +9 -9
  4. package/build/{apps-g2a56s8h.js → apps-yd4dytnh.js} +16 -16
  5. package/build/{auth-2j1mypvj.js → auth-90n1pswd.js} +16 -16
  6. package/build/authentication-19qczcfx.js +19 -0
  7. package/build/blackboxAgent-ja53082h.js +19 -0
  8. package/build/{blackboxPentest-4y38fze4.js → blackboxPentest-qt04n5v0.js} +14 -14
  9. package/build/{cli-n4yc9rjz.js → cli-04hkr78f.js} +1 -1
  10. package/build/{cli-3rzeb1qk.js → cli-0eeheft8.js} +2 -2
  11. package/build/{cli-1rrjt09r.js → cli-0wc6bt29.js} +3 -3
  12. package/build/{cli-yry0gjp8.js → cli-1b7ytd6z.js} +2 -2
  13. package/build/{cli-ztgapbp2.js → cli-2s00pcp1.js} +1 -1
  14. package/build/{cli-x0wdzz6m.js → cli-419b5qgw.js} +1 -1
  15. package/build/{cli-b9322y77.js → cli-4z8jyxcb.js} +1 -1
  16. package/build/{cli-mms9gcfg.js → cli-a1xmncfm.js} +49 -6
  17. package/build/{cli-719fst3v.js → cli-deh0yfrw.js} +687 -413
  18. package/build/{cli-p47nvwh9.js → cli-jgk83qr1.js} +2 -2
  19. package/build/{cli-ft53y6a0.js → cli-kc7w78m4.js} +1 -1
  20. package/build/{cli-hxpne4g1.js → cli-rgsym52y.js} +1 -1
  21. package/build/{cli-kwen4v4s.js → cli-vkjgcner.js} +3 -3
  22. package/build/{cli-kv7v8nqp.js → cli-wjw0pmn3.js} +3 -3
  23. package/build/{cli-ck7njgve.js → cli-xdrjf347.js} +1 -1
  24. package/build/{cli-fjr302a9.js → cli-yy936th4.js} +8 -8
  25. package/build/{cli-ck1mwkrr.js → cli-z3ykxkhs.js} +2 -2
  26. package/build/cli.js +35 -33
  27. package/build/{config-39xyzp4b.js → config-mcwp9dsa.js} +3 -3
  28. package/build/{doctor-m6s1nqfc.js → doctor-v6gce546.js} +6 -6
  29. package/build/{fastStrike-pg3ra6ws.js → fastStrike-4j13bxte.js} +9 -9
  30. package/build/{fixes-xxn88eh3.js → fixes-f339b1sv.js} +16 -16
  31. package/build/{index-zax91ey2.js → index-52a18y8b.js} +4 -4
  32. package/build/{index-y45hn0x8.js → index-7vdchwsv.js} +3 -3
  33. package/build/{index-qn5dmtx1.js → index-9emdsfep.js} +2 -2
  34. package/build/{index-2mm19cgc.js → index-a9s11g26.js} +8 -8
  35. package/build/{index-swygc6n1.js → index-k8p6n78j.js} +1004 -729
  36. package/build/{index-40ga770v.js → index-p64zmkdp.js} +6 -6
  37. package/build/{index-16fnbhte.js → index-y04ata99.js} +9 -9
  38. package/build/{issues-0wvx58wa.js → issues-qvsx5vz9.js} +20 -17
  39. package/build/{logs-p54xh8yx.js → logs-a1j114zv.js} +16 -16
  40. package/build/{offesecAgent-806d5ysy.js → offesecAgent-xtkmzn5h.js} +8 -8
  41. package/build/pentest-7kcewtby.js +29 -0
  42. package/build/{pentests-6v0zxfme.js → pentests-8se5y0jq.js} +16 -16
  43. package/build/{targetedPentest-s61tc3s7.js → targetedPentest-4c3x1es0.js} +9 -9
  44. package/build/{targets-a59y1yab.js → targets-bngw9qvs.js} +16 -16
  45. package/build/threatModel-emzg6bmm.js +27 -0
  46. package/build/{uninstall-bkyv8wgs.js → uninstall-zrhsrhxf.js} +1 -1
  47. package/build/{upload-8dm7jrmw.js → upload-4fykzf4q.js} +6 -6
  48. package/build/{utils-kzzah956.js → utils-qgd82ane.js} +5 -5
  49. package/package.json +1 -1
  50. package/build/agent-b9z65xtf.js +0 -19
  51. package/build/authentication-f705a52c.js +0 -19
  52. package/build/blackboxAgent-aze7z75t.js +0 -19
  53. package/build/pentest-wkgxd4vs.js +0 -29
  54. package/build/threatModel-s371q8fp.js +0 -27
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  OffensiveSecurityAgent
3
- } from "./cli-719fst3v.js";
3
+ } from "./cli-deh0yfrw.js";
4
4
  import {
5
5
  detectOSAndEnhancePrompt
6
- } from "./cli-hxpne4g1.js";
6
+ } from "./cli-rgsym52y.js";
7
7
  import"./cli-c8131c4q.js";
8
8
  import {
9
9
  init_dist,
10
10
  stepCountIs
11
- } from "./cli-mms9gcfg.js";
12
- import"./cli-x0wdzz6m.js";
11
+ } from "./cli-a1xmncfm.js";
12
+ import"./cli-419b5qgw.js";
13
13
  import {
14
14
  exports_external,
15
15
  init_zod
16
16
  } from "./cli-swpbx60z.js";
17
17
  import"./cli-j54qa6tm.js";
18
- import"./cli-b9322y77.js";
19
- import"./cli-ztgapbp2.js";
20
- import"./cli-n4yc9rjz.js";
18
+ import"./cli-4z8jyxcb.js";
19
+ import"./cli-2s00pcp1.js";
20
+ import"./cli-04hkr78f.js";
21
21
  import"./cli-bc05qbss.js";
22
22
 
23
23
  // src/core/agents/specialized/findingJudge/agent.ts
@@ -0,0 +1,19 @@
1
+ import {
2
+ CodeAgent
3
+ } from "./cli-0eeheft8.js";
4
+ import"./cli-9fsre5pt.js";
5
+ import"./cli-xdrjf347.js";
6
+ import"./cli-deh0yfrw.js";
7
+ import"./cli-rgsym52y.js";
8
+ import"./cli-c8131c4q.js";
9
+ import"./cli-a1xmncfm.js";
10
+ import"./cli-419b5qgw.js";
11
+ import"./cli-swpbx60z.js";
12
+ import"./cli-j54qa6tm.js";
13
+ import"./cli-4z8jyxcb.js";
14
+ import"./cli-2s00pcp1.js";
15
+ import"./cli-04hkr78f.js";
16
+ import"./cli-bc05qbss.js";
17
+ export {
18
+ CodeAgent
19
+ };
@@ -5,19 +5,19 @@ import {
5
5
  buildPentestPrompt,
6
6
  buildPentestSystemPrompt,
7
7
  resolvePentestAgentRole
8
- } from "./cli-p47nvwh9.js";
8
+ } from "./cli-jgk83qr1.js";
9
9
  import"./cli-9fsre5pt.js";
10
- import"./cli-ck7njgve.js";
11
- import"./cli-719fst3v.js";
12
- import"./cli-hxpne4g1.js";
10
+ import"./cli-xdrjf347.js";
11
+ import"./cli-deh0yfrw.js";
12
+ import"./cli-rgsym52y.js";
13
13
  import"./cli-c8131c4q.js";
14
- import"./cli-mms9gcfg.js";
15
- import"./cli-x0wdzz6m.js";
14
+ import"./cli-a1xmncfm.js";
15
+ import"./cli-419b5qgw.js";
16
16
  import"./cli-swpbx60z.js";
17
17
  import"./cli-j54qa6tm.js";
18
- import"./cli-b9322y77.js";
19
- import"./cli-ztgapbp2.js";
20
- import"./cli-n4yc9rjz.js";
18
+ import"./cli-4z8jyxcb.js";
19
+ import"./cli-2s00pcp1.js";
20
+ import"./cli-04hkr78f.js";
21
21
  import"./cli-bc05qbss.js";
22
22
  export {
23
23
  PentestResponseSchema,
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env bun
2
- import"./cli-kwen4v4s.js";
3
- import"./cli-fjr302a9.js";
4
- import"./cli-1rrjt09r.js";
5
- import"./cli-yry0gjp8.js";
6
- import"./cli-p47nvwh9.js";
7
- import"./cli-kv7v8nqp.js";
8
- import"./cli-3rzeb1qk.js";
9
- import"./cli-ck1mwkrr.js";
2
+ import"./cli-vkjgcner.js";
3
+ import"./cli-yy936th4.js";
4
+ import"./cli-0wc6bt29.js";
5
+ import"./cli-1b7ytd6z.js";
6
+ import"./cli-jgk83qr1.js";
7
+ import"./cli-wjw0pmn3.js";
8
+ import"./cli-0eeheft8.js";
9
+ import"./cli-z3ykxkhs.js";
10
10
  import"./cli-9fsre5pt.js";
11
- import"./cli-ck7njgve.js";
11
+ import"./cli-xdrjf347.js";
12
12
  import {
13
13
  ENDPOINT_TRANSPORTS,
14
14
  createApp,
@@ -25,17 +25,17 @@ import {
25
25
  searchEndpoints,
26
26
  updateApp,
27
27
  updateEndpoint
28
- } from "./cli-719fst3v.js";
29
- import"./cli-hxpne4g1.js";
28
+ } from "./cli-deh0yfrw.js";
29
+ import"./cli-rgsym52y.js";
30
30
  import"./cli-fw5r7pfj.js";
31
31
  import"./cli-c8131c4q.js";
32
- import"./cli-mms9gcfg.js";
33
- import"./cli-x0wdzz6m.js";
32
+ import"./cli-a1xmncfm.js";
33
+ import"./cli-419b5qgw.js";
34
34
  import"./cli-swpbx60z.js";
35
35
  import"./cli-j54qa6tm.js";
36
- import"./cli-b9322y77.js";
37
- import"./cli-ztgapbp2.js";
38
- import"./cli-n4yc9rjz.js";
36
+ import"./cli-4z8jyxcb.js";
37
+ import"./cli-2s00pcp1.js";
38
+ import"./cli-04hkr78f.js";
39
39
  import"./cli-bc05qbss.js";
40
40
 
41
41
  // src/cli/apps.ts
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env bun
2
- import"./cli-kwen4v4s.js";
3
- import"./cli-fjr302a9.js";
4
- import"./cli-1rrjt09r.js";
5
- import"./cli-yry0gjp8.js";
6
- import"./cli-p47nvwh9.js";
7
- import"./cli-kv7v8nqp.js";
8
- import"./cli-3rzeb1qk.js";
9
- import"./cli-ck1mwkrr.js";
2
+ import"./cli-vkjgcner.js";
3
+ import"./cli-yy936th4.js";
4
+ import"./cli-0wc6bt29.js";
5
+ import"./cli-1b7ytd6z.js";
6
+ import"./cli-jgk83qr1.js";
7
+ import"./cli-wjw0pmn3.js";
8
+ import"./cli-0eeheft8.js";
9
+ import"./cli-z3ykxkhs.js";
10
10
  import"./cli-9fsre5pt.js";
11
- import"./cli-ck7njgve.js";
12
- import"./cli-719fst3v.js";
13
- import"./cli-hxpne4g1.js";
11
+ import"./cli-xdrjf347.js";
12
+ import"./cli-deh0yfrw.js";
13
+ import"./cli-rgsym52y.js";
14
14
  import"./cli-fw5r7pfj.js";
15
15
  import"./cli-c8131c4q.js";
16
- import"./cli-mms9gcfg.js";
16
+ import"./cli-a1xmncfm.js";
17
17
  import {
18
18
  createWorkspaceSelection,
19
19
  disconnect,
@@ -29,15 +29,15 @@ import {
29
29
  pollWorkspaceSelection,
30
30
  selectWorkspace,
31
31
  startDeviceFlow
32
- } from "./cli-x0wdzz6m.js";
32
+ } from "./cli-419b5qgw.js";
33
33
  import"./cli-swpbx60z.js";
34
34
  import"./cli-j54qa6tm.js";
35
35
  import {
36
36
  config,
37
37
  init_config
38
- } from "./cli-b9322y77.js";
39
- import"./cli-ztgapbp2.js";
40
- import"./cli-n4yc9rjz.js";
38
+ } from "./cli-4z8jyxcb.js";
39
+ import"./cli-2s00pcp1.js";
40
+ import"./cli-04hkr78f.js";
41
41
  import {
42
42
  __require
43
43
  } from "./cli-bc05qbss.js";
@@ -0,0 +1,19 @@
1
+ import {
2
+ runAuthenticationAgent
3
+ } from "./cli-wjw0pmn3.js";
4
+ import"./cli-9fsre5pt.js";
5
+ import"./cli-xdrjf347.js";
6
+ import"./cli-deh0yfrw.js";
7
+ import"./cli-rgsym52y.js";
8
+ import"./cli-c8131c4q.js";
9
+ import"./cli-a1xmncfm.js";
10
+ import"./cli-419b5qgw.js";
11
+ import"./cli-swpbx60z.js";
12
+ import"./cli-j54qa6tm.js";
13
+ import"./cli-4z8jyxcb.js";
14
+ import"./cli-2s00pcp1.js";
15
+ import"./cli-04hkr78f.js";
16
+ import"./cli-bc05qbss.js";
17
+ export {
18
+ runAuthenticationAgent
19
+ };
@@ -0,0 +1,19 @@
1
+ import {
2
+ BlackboxAttackSurfaceAgent
3
+ } from "./cli-0wc6bt29.js";
4
+ import"./cli-9fsre5pt.js";
5
+ import"./cli-xdrjf347.js";
6
+ import"./cli-deh0yfrw.js";
7
+ import"./cli-rgsym52y.js";
8
+ import"./cli-c8131c4q.js";
9
+ import"./cli-a1xmncfm.js";
10
+ import"./cli-419b5qgw.js";
11
+ import"./cli-swpbx60z.js";
12
+ import"./cli-j54qa6tm.js";
13
+ import"./cli-4z8jyxcb.js";
14
+ import"./cli-2s00pcp1.js";
15
+ import"./cli-04hkr78f.js";
16
+ import"./cli-bc05qbss.js";
17
+ export {
18
+ BlackboxAttackSurfaceAgent
19
+ };
@@ -1,24 +1,24 @@
1
1
  import {
2
2
  runPentestWorkflow
3
- } from "./cli-fjr302a9.js";
4
- import"./cli-1rrjt09r.js";
5
- import"./cli-yry0gjp8.js";
6
- import"./cli-p47nvwh9.js";
7
- import"./cli-3rzeb1qk.js";
8
- import"./cli-ck1mwkrr.js";
3
+ } from "./cli-yy936th4.js";
4
+ import"./cli-0wc6bt29.js";
5
+ import"./cli-1b7ytd6z.js";
6
+ import"./cli-jgk83qr1.js";
7
+ import"./cli-0eeheft8.js";
8
+ import"./cli-z3ykxkhs.js";
9
9
  import"./cli-9fsre5pt.js";
10
- import"./cli-ck7njgve.js";
11
- import"./cli-719fst3v.js";
12
- import"./cli-hxpne4g1.js";
10
+ import"./cli-xdrjf347.js";
11
+ import"./cli-deh0yfrw.js";
12
+ import"./cli-rgsym52y.js";
13
13
  import"./cli-fw5r7pfj.js";
14
14
  import"./cli-c8131c4q.js";
15
- import"./cli-mms9gcfg.js";
16
- import"./cli-x0wdzz6m.js";
15
+ import"./cli-a1xmncfm.js";
16
+ import"./cli-419b5qgw.js";
17
17
  import"./cli-swpbx60z.js";
18
18
  import"./cli-j54qa6tm.js";
19
- import"./cli-b9322y77.js";
20
- import"./cli-ztgapbp2.js";
21
- import"./cli-n4yc9rjz.js";
19
+ import"./cli-4z8jyxcb.js";
20
+ import"./cli-2s00pcp1.js";
21
+ import"./cli-04hkr78f.js";
22
22
  import"./cli-bc05qbss.js";
23
23
 
24
24
  // src/core/api/blackboxPentest.ts
@@ -120,7 +120,7 @@ var init_package = __esm(() => {
120
120
  tsc: "tsc --noEmit"
121
121
  },
122
122
  type: "module",
123
- version: "2.4.0-canary.7d58f42b"
123
+ version: "2.4.0-canary.d13eb239"
124
124
  };
125
125
  });
126
126
 
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  OffensiveSecurityAgent
3
- } from "./cli-719fst3v.js";
3
+ } from "./cli-deh0yfrw.js";
4
4
  import {
5
5
  init_dist,
6
6
  stepCountIs
7
- } from "./cli-mms9gcfg.js";
7
+ } from "./cli-a1xmncfm.js";
8
8
 
9
9
  // src/core/agents/specialized/codeAgent/agent.ts
10
10
  init_dist();
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  OffensiveSecurityAgent
3
- } from "./cli-719fst3v.js";
3
+ } from "./cli-deh0yfrw.js";
4
4
  import {
5
5
  detectOSAndEnhancePrompt
6
- } from "./cli-hxpne4g1.js";
6
+ } from "./cli-rgsym52y.js";
7
7
  import {
8
8
  hasToolCall,
9
9
  init_dist,
10
10
  stepCountIs
11
- } from "./cli-mms9gcfg.js";
11
+ } from "./cli-a1xmncfm.js";
12
12
 
13
13
  // src/core/agents/specialized/attackSurface/blackboxAgent.ts
14
14
  init_dist();
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  EvidenceFileEntrySchema
3
- } from "./cli-ck7njgve.js";
3
+ } from "./cli-xdrjf347.js";
4
4
  import {
5
5
  CweEntrySchema,
6
6
  ValidatedCweEntrySchema,
7
7
  hasCanonicalName
8
- } from "./cli-719fst3v.js";
8
+ } from "./cli-deh0yfrw.js";
9
9
  import {
10
10
  exports_external,
11
11
  init_zod
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getCurrentVersion,
3
3
  init_installation
4
- } from "./cli-n4yc9rjz.js";
4
+ } from "./cli-04hkr78f.js";
5
5
  import {
6
6
  __esm
7
7
  } from "./cli-bc05qbss.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  config,
3
3
  init_config
4
- } from "./cli-b9322y77.js";
4
+ } from "./cli-4z8jyxcb.js";
5
5
  import {
6
6
  __esm
7
7
  } from "./cli-bc05qbss.js";
@@ -3,7 +3,7 @@ import {
3
3
  init,
4
4
  init_config,
5
5
  update
6
- } from "./cli-ztgapbp2.js";
6
+ } from "./cli-2s00pcp1.js";
7
7
  import {
8
8
  __esm
9
9
  } from "./cli-bc05qbss.js";
@@ -4,7 +4,7 @@ import {
4
4
  init_auth,
5
5
  init_constants,
6
6
  signGatewayRequest
7
- } from "./cli-x0wdzz6m.js";
7
+ } from "./cli-419b5qgw.js";
8
8
  import {
9
9
  AISDKError,
10
10
  APICallError,
@@ -87,11 +87,11 @@ import {
87
87
  import {
88
88
  config,
89
89
  init_config
90
- } from "./cli-b9322y77.js";
90
+ } from "./cli-4z8jyxcb.js";
91
91
  import {
92
92
  getCurrentVersion,
93
93
  init_installation
94
- } from "./cli-n4yc9rjz.js";
94
+ } from "./cli-04hkr78f.js";
95
95
  import {
96
96
  __callDispose,
97
97
  __commonJS,
@@ -45821,6 +45821,9 @@ var init_streamTelemetry = __esm(() => {
45821
45821
 
45822
45822
  // src/core/ai/ai.ts
45823
45823
  import { AsyncLocalStorage } from "node:async_hooks";
45824
+ function isRepairFailClosedTool(toolName) {
45825
+ return REPAIR_FAIL_CLOSED_TOOLS.has(toolName);
45826
+ }
45824
45827
  function takeStepContext() {
45825
45828
  const store = stepContextStore.getStore();
45826
45829
  if (!store)
@@ -46265,6 +46268,12 @@ function streamResponse(opts) {
46265
46268
  const rawLen = typeof raw === "string" ? raw.length : JSON.stringify(raw).length;
46266
46269
  log.warn(`[response-debug] experimental_repairToolCall FIRED for response ` + `rawInputChars=${rawLen} error=${(error.message || String(error)).slice(0, 200)}`);
46267
46270
  }
46271
+ if (isRepairFailClosedTool(toolCall.toolName)) {
46272
+ if (!silent) {
46273
+ log.warn(`Tool-call repair disabled for security-sensitive tool "${toolCall.toolName}" — failing closed (no argument synthesis).`);
46274
+ }
46275
+ return null;
46276
+ }
46268
46277
  try {
46269
46278
  if (!silent) {
46270
46279
  log.debug(`Repairing tool call: ${toolCall.toolName}`, {
@@ -46447,7 +46456,7 @@ async function generateObjectResponse(opts) {
46447
46456
  }
46448
46457
  throw lastError;
46449
46458
  }
46450
- var log, RESPONSE_DEBUG, RESPONSE_TOOL_NAME = "response", DEFAULT_OPENAI_REASONING_EFFORT = "medium", OPENAI_REASONING_MODEL_IDS, _usageCallback = null, stepContextStore, SEQUENTIAL_TOOL_CALL_INSTRUCTION, MAX_RATE_LIMIT_RETRIES = 20, MAX_IDLE_RESUME_RETRIES = 3, STREAM_IDLE_TIMEOUT_MS, StreamIdleTimeoutError, NON_GATED_TOOLS, MAX_OBJECT_RATE_LIMIT_RETRIES = 8, ContextLengthError, ContextLengthExhaustedError, MAX_RESTART_DEPTH = 3, MAX_TOOL_INPUT_CHARS = 8000, MAX_SCHEMA_CHARS = 6000, MINIMAL_RESTART_PROMPT = "Continue the previous task. Earlier context was discarded due to repeated context-length errors.";
46459
+ var log, RESPONSE_DEBUG, RESPONSE_TOOL_NAME = "response", REPAIR_FAIL_CLOSED_TOOLS, DEFAULT_OPENAI_REASONING_EFFORT = "medium", OPENAI_REASONING_MODEL_IDS, _usageCallback = null, stepContextStore, SEQUENTIAL_TOOL_CALL_INSTRUCTION, MAX_RATE_LIMIT_RETRIES = 20, MAX_IDLE_RESUME_RETRIES = 3, STREAM_IDLE_TIMEOUT_MS, StreamIdleTimeoutError, NON_GATED_TOOLS, MAX_OBJECT_RATE_LIMIT_RETRIES = 8, ContextLengthError, ContextLengthExhaustedError, MAX_RESTART_DEPTH = 3, MAX_TOOL_INPUT_CHARS = 8000, MAX_SCHEMA_CHARS = 6000, MINIMAL_RESTART_PROMPT = "Continue the previous task. Earlier context was discarded due to repeated context-length errors.";
46451
46460
  var init_ai = __esm(() => {
46452
46461
  init_dist4();
46453
46462
  init_structured();
@@ -46460,6 +46469,9 @@ var init_ai = __esm(() => {
46460
46469
  init_utils();
46461
46470
  log = scopedLogger(() => createLogger("ai"));
46462
46471
  RESPONSE_DEBUG = process.env.RESPONSE_DEBUG === "1" || process.env.RESPONSE_DEBUG === "true";
46472
+ REPAIR_FAIL_CLOSED_TOOLS = new Set([
46473
+ "spawn_pentest_agent"
46474
+ ]);
46463
46475
  OPENAI_REASONING_MODEL_IDS = new Set([
46464
46476
  "gpt-5",
46465
46477
  "gpt-5-2025-08-07",
@@ -46505,9 +46517,40 @@ var init_ai = __esm(() => {
46505
46517
  };
46506
46518
  });
46507
46519
 
46520
+ // src/core/ai/model-history.ts
46521
+ function addRecentModelId(recentModelIds, modelId) {
46522
+ const nextRecentModelIds = [];
46523
+ for (const id of [modelId, ...recentModelIds]) {
46524
+ if (nextRecentModelIds.includes(id))
46525
+ continue;
46526
+ nextRecentModelIds.push(id);
46527
+ if (nextRecentModelIds.length === MAX_RECENT_MODELS)
46528
+ break;
46529
+ }
46530
+ return nextRecentModelIds;
46531
+ }
46532
+ function getRecentModels(availableModels, recentModelIds) {
46533
+ const modelsById = new Map(availableModels.map((model) => [model.id, model]));
46534
+ const seen = new Set;
46535
+ const recentModels = [];
46536
+ for (const id of recentModelIds) {
46537
+ const model = modelsById.get(id);
46538
+ if (!model || seen.has(id))
46539
+ continue;
46540
+ seen.add(id);
46541
+ recentModels.push(model);
46542
+ if (recentModels.length === MAX_RECENT_MODELS)
46543
+ break;
46544
+ }
46545
+ return recentModels;
46546
+ }
46547
+ var MAX_RECENT_MODELS = 5;
46548
+ var init_model_history = () => {};
46549
+
46508
46550
  // src/core/ai/index.ts
46509
46551
  var init_ai2 = __esm(() => {
46510
46552
  init_ai();
46553
+ init_model_history();
46511
46554
  init_models();
46512
46555
  init_utils();
46513
46556
  });
@@ -47341,7 +47384,7 @@ async function create2(input) {
47341
47384
  if (normalizedConfig?.headers !== undefined) {
47342
47385
  snapshotHeaders = { ...normalizedConfig.headers };
47343
47386
  } else {
47344
- const { config: appConfig } = await import("./index-y45hn0x8.js");
47387
+ const { config: appConfig } = await import("./index-7vdchwsv.js");
47345
47388
  const cfg = await appConfig.get();
47346
47389
  snapshotHeaders = cfg.defaultHeaders ? { ...cfg.defaultHeaders } : { ...DEFAULT_HEADER_RECORD };
47347
47390
  }
@@ -49426,4 +49469,4 @@ var init_utils = __esm(() => {
49426
49469
  STREAMING_FETCH_TIMEOUT_MS = 35 * 60 * 1000;
49427
49470
  });
49428
49471
 
49429
- export { stepCountIs, hasToolCall, init_dist4 as init_dist, AVAILABLE_MODELS, init_models, require_tslib, scopedLogger, init_lazyLogger, buildAuthConfig, init_utils, init_ai2 as init_ai, generateRandomName, generateSessionName, init_name, CredentialManager, init_credentials, schema, descending, newSessionId, newMessageId, newPartId, init_id, RateLimiter, init_rateLimiter, NotFoundError, write2 as write, createDir, writeRaw, read2 as read, update, list, init_storage, ToolsetStateSchema, init_toolset, create2 as create, list2 as list1, normalizeMessages, sessions, init_session, writeErrorLog, routeLogsToErrorFile, init_logger, createLogger, logger, init_structured, getApexTracer, withSubagentSessionBaggage, init_observability, DEFAULT_OPENAI_REASONING_EFFORT, modelSupportsThinking, modelSupportsOpenAIReasoning, getOpenAIReasoningEfforts, streamResponse, generateObjectResponse, init_ai as init_ai1 };
49472
+ export { stepCountIs, hasToolCall, init_dist4 as init_dist, addRecentModelId, getRecentModels, init_model_history, AVAILABLE_MODELS, init_models, require_tslib, scopedLogger, init_lazyLogger, buildAuthConfig, init_utils, init_ai2 as init_ai, generateRandomName, generateSessionName, init_name, CredentialManager, init_credentials, schema, descending, newSessionId, newMessageId, newPartId, init_id, RateLimiter, init_rateLimiter, NotFoundError, write2 as write, createDir, writeRaw, read2 as read, update, list, init_storage, ToolsetStateSchema, init_toolset, create2 as create, list2 as list1, getResumeMessages, normalizeMessages, sessions, init_session, writeErrorLog, routeLogsToErrorFile, init_logger, createLogger, logger, init_structured, getApexTracer, withSubagentSessionBaggage, init_observability, DEFAULT_OPENAI_REASONING_EFFORT, modelSupportsThinking, modelSupportsOpenAIReasoning, getOpenAIReasoningEfforts, streamResponse, generateObjectResponse, init_ai as init_ai1 };