@pensar/apex 2.5.0-canary.84d4acba → 2.5.0-canary.a62b2f8f

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 (51) hide show
  1. package/build/{agent-vnkt3pb3.js → agent-3bv6mf7y.js} +4 -4
  2. package/build/{agent-q931ypne.js → agent-69r932dk.js} +5 -5
  3. package/build/{agent-tpe2v9gg.js → agent-e8jewv7x.js} +5 -5
  4. package/build/agent-pmwyk94t.js +12 -0
  5. package/build/{apps-7mntzp3e.js → apps-b8p08nxx.js} +12 -12
  6. package/build/{auth-qhbeygyy.js → auth-2vv5bj9v.js} +12 -12
  7. package/build/{blackboxAgent-tfxbexpy.js → blackboxAgent-cnyp9snx.js} +5 -5
  8. package/build/{blackboxPentest-wthb1n3z.js → blackboxPentest-s1rknsb7.js} +16 -19
  9. package/build/{cli-s7f7a1nw.js → cli-38ffknj0.js} +3 -3
  10. package/build/{cli-7vby0hk6.js → cli-4ptm7wgt.js} +53 -1
  11. package/build/{cli-jree8dd7.js → cli-64wrh9j1.js} +2 -2
  12. package/build/{cli-za3kjd90.js → cli-7gstqw97.js} +3 -3
  13. package/build/{cli-8sa9qydd.js → cli-87jb1dn9.js} +43 -31
  14. package/build/{cli-b8v9qn6y.js → cli-8xbtw8va.js} +1 -1
  15. package/build/{cli-atk79f35.js → cli-b1qk18ys.js} +8 -8
  16. package/build/{cli-c7q23jz0.js → cli-c2svp1ts.js} +19 -35
  17. package/build/{cli-hzep16ha.js → cli-dy6pwj3g.js} +1 -1
  18. package/build/{cli-amqn588v.js → cli-eh947748.js} +5 -2
  19. package/build/{cli-dk6ww21m.js → cli-gc92wghg.js} +2 -2
  20. package/build/{cli-4471qz44.js → cli-hn92wsgw.js} +1 -1
  21. package/build/{cli-jk8me3bp.js → cli-mv2pq0te.js} +1 -1
  22. package/build/{cli-cn5k1r8t.js → cli-np49p7qw.js} +1 -1
  23. package/build/{cli-s7v8kczt.js → cli-p1xt0h2v.js} +2 -2
  24. package/build/{cli-q44e912g.js → cli-p52qs7hc.js} +2 -2
  25. package/build/cli.js +41 -34
  26. package/build/{config-tp87tpfc.js → config-kdc9vg61.js} +1 -1
  27. package/build/{doctor-hqsr0tef.js → doctor-a7pg1tp5.js} +3 -3
  28. package/build/{fastStrike-0731ry23.js → fastStrike-btng4s8k.js} +5 -5
  29. package/build/{fixes-bpvkjwfv.js → fixes-krte0h66.js} +12 -12
  30. package/build/{index-e2w3hkg2.js → index-42n7zc72.js} +1 -1
  31. package/build/{index-zy90sype.js → index-a3gq9bv2.js} +3 -3
  32. package/build/{index-tnjm6sgq.js → index-fcrtm8r5.js} +4 -4
  33. package/build/{index-2kk9wf9e.js → index-kqke0wfp.js} +5 -5
  34. package/build/{index-kbexk88n.js → index-kz0j2hdb.js} +2 -2
  35. package/build/{index-4gv4ngvb.js → index-nq0tw6nt.js} +39 -37
  36. package/build/{index-yqxa2nv7.js → index-ttdmx9xp.js} +4 -4
  37. package/build/{index-p2s8c2gt.js → index-v31swt5f.js} +1 -1
  38. package/build/{issues-ebkez8vx.js → issues-7teacevs.js} +12 -12
  39. package/build/{logs-m2z6hqyv.js → logs-fgadn0m5.js} +12 -12
  40. package/build/{offesecAgent-fmz5qw8d.js → offesecAgent-6frsw9h6.js} +4 -4
  41. package/build/{pentest-t75th5ge.js → pentest-nnre2yxd.js} +10 -10
  42. package/build/{pentests-z72e7k03.js → pentests-jmnft7ww.js} +12 -12
  43. package/build/{targetedPentest-n0f83d47.js → targetedPentest-cw68v463.js} +5 -5
  44. package/build/{targets-69bzjv74.js → targets-b189hsbc.js} +12 -12
  45. package/build/threatModel-6vwmhd23.js +19 -0
  46. package/build/{uninstall-nyp24gh3.js → uninstall-32xng5dy.js} +1 -1
  47. package/build/{upload-d2x3we02.js → upload-s8bp1m02.js} +3 -3
  48. package/build/{utils-j9ge6wde.js → utils-6ywh3ndm.js} +2 -2
  49. package/package.json +1 -1
  50. package/build/agent-z0eshgsh.js +0 -12
  51. package/build/threatModel-mqarnax9.js +0 -19
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  OffensiveSecurityAgent
3
- } from "./cli-c7q23jz0.js";
4
- import"./cli-cn5k1r8t.js";
3
+ } from "./cli-c2svp1ts.js";
4
+ import"./cli-np49p7qw.js";
5
5
  import {
6
6
  init_zod,
7
7
  stepCountIs2,
8
8
  init_dist
9
- } from "./cli-8sa9qydd.js";
9
+ } from "./cli-87jb1dn9.js";
10
10
  import {
11
11
  detectOSAndEnhancePrompt
12
- } from "./cli-4471qz44.js";
12
+ } from "./cli-hn92wsgw.js";
13
13
  import"./cli-qba2x69h.js";
14
14
  import {
15
15
  string,
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  runAuthenticationAgent2
3
- } from "./cli-s7f7a1nw.js";
3
+ } from "./cli-38ffknj0.js";
4
4
  import"./cli-qba2x69h.js";
5
- import"./cli-c7q23jz0.js";
6
- import"./cli-4471qz44.js";
7
- import"./cli-8sa9qydd.js";
5
+ import"./cli-c2svp1ts.js";
6
+ import"./cli-hn92wsgw.js";
7
+ import"./cli-87jb1dn9.js";
8
8
  import"./cli-qktcyj48.js";
9
- import"./cli-cn5k1r8t.js";
9
+ import"./cli-np49p7qw.js";
10
10
  export {
11
11
  runAuthenticationAgent2 as runAuthenticationAgent
12
12
  };
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  TargetedPentestAgent2,
3
3
  buildPentestSystemPrompt2
4
- } from "./cli-jree8dd7.js";
4
+ } from "./cli-64wrh9j1.js";
5
5
  import"./cli-qba2x69h.js";
6
- import"./cli-c7q23jz0.js";
7
- import"./cli-4471qz44.js";
8
- import"./cli-8sa9qydd.js";
6
+ import"./cli-c2svp1ts.js";
7
+ import"./cli-hn92wsgw.js";
8
+ import"./cli-87jb1dn9.js";
9
9
  import"./cli-qktcyj48.js";
10
- import"./cli-cn5k1r8t.js";
10
+ import"./cli-np49p7qw.js";
11
11
  export {
12
12
  TargetedPentestAgent2 as TargetedPentestAgent,
13
13
  buildPentestSystemPrompt2 as buildPentestSystemPrompt
@@ -0,0 +1,12 @@
1
+ import {
2
+ CodeAgent2
3
+ } from "./cli-gc92wghg.js";
4
+ import"./cli-qba2x69h.js";
5
+ import"./cli-c2svp1ts.js";
6
+ import"./cli-hn92wsgw.js";
7
+ import"./cli-87jb1dn9.js";
8
+ import"./cli-qktcyj48.js";
9
+ import"./cli-np49p7qw.js";
10
+ export {
11
+ CodeAgent2 as CodeAgent
12
+ };
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env bun
2
- import"./cli-cn5k1r8t.js";
3
- import"./cli-8sa9qydd.js";
2
+ import"./cli-np49p7qw.js";
3
+ import"./cli-87jb1dn9.js";
4
4
  import {
5
5
  ENDPOINT_TRANSPORTS,
6
6
  listApps,
@@ -17,16 +17,16 @@ import {
17
17
  searchEndpoints,
18
18
  listDomains,
19
19
  createDomain
20
- } from "./cli-c7q23jz0.js";
21
- import"./cli-4471qz44.js";
22
- import"./cli-za3kjd90.js";
23
- import"./cli-dk6ww21m.js";
24
- import"./cli-q44e912g.js";
25
- import"./cli-atk79f35.js";
26
- import"./cli-s7f7a1nw.js";
27
- import"./cli-jree8dd7.js";
28
- import"./cli-s7v8kczt.js";
29
- import"./cli-amqn588v.js";
20
+ } from "./cli-c2svp1ts.js";
21
+ import"./cli-hn92wsgw.js";
22
+ import"./cli-7gstqw97.js";
23
+ import"./cli-gc92wghg.js";
24
+ import"./cli-p52qs7hc.js";
25
+ import"./cli-b1qk18ys.js";
26
+ import"./cli-38ffknj0.js";
27
+ import"./cli-64wrh9j1.js";
28
+ import"./cli-p1xt0h2v.js";
29
+ import"./cli-eh947748.js";
30
30
  import {
31
31
  markCommandFailed
32
32
  } from "./cli-z82n3qk1.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  config2,
4
4
  init_config
5
- } from "./cli-cn5k1r8t.js";
5
+ } from "./cli-np49p7qw.js";
6
6
  import {
7
7
  getPensarApiUrl,
8
8
  getPensarConsoleUrl,
@@ -18,17 +18,17 @@ import {
18
18
  createWorkspaceSelection2,
19
19
  pollWorkspaceSelection2,
20
20
  init_auth
21
- } from "./cli-8sa9qydd.js";
22
- import"./cli-c7q23jz0.js";
23
- import"./cli-4471qz44.js";
24
- import"./cli-za3kjd90.js";
25
- import"./cli-dk6ww21m.js";
26
- import"./cli-q44e912g.js";
27
- import"./cli-atk79f35.js";
28
- import"./cli-s7f7a1nw.js";
29
- import"./cli-jree8dd7.js";
30
- import"./cli-s7v8kczt.js";
31
- import"./cli-amqn588v.js";
21
+ } from "./cli-87jb1dn9.js";
22
+ import"./cli-c2svp1ts.js";
23
+ import"./cli-hn92wsgw.js";
24
+ import"./cli-7gstqw97.js";
25
+ import"./cli-gc92wghg.js";
26
+ import"./cli-p52qs7hc.js";
27
+ import"./cli-b1qk18ys.js";
28
+ import"./cli-38ffknj0.js";
29
+ import"./cli-64wrh9j1.js";
30
+ import"./cli-p1xt0h2v.js";
31
+ import"./cli-eh947748.js";
32
32
  import {
33
33
  markCommandFailed
34
34
  } from "./cli-z82n3qk1.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  BlackboxAttackSurfaceAgent2
3
- } from "./cli-za3kjd90.js";
3
+ } from "./cli-7gstqw97.js";
4
4
  import"./cli-qba2x69h.js";
5
- import"./cli-c7q23jz0.js";
6
- import"./cli-4471qz44.js";
7
- import"./cli-8sa9qydd.js";
5
+ import"./cli-c2svp1ts.js";
6
+ import"./cli-hn92wsgw.js";
7
+ import"./cli-87jb1dn9.js";
8
8
  import"./cli-qktcyj48.js";
9
- import"./cli-cn5k1r8t.js";
9
+ import"./cli-np49p7qw.js";
10
10
  export {
11
11
  BlackboxAttackSurfaceAgent2 as BlackboxAttackSurfaceAgent
12
12
  };
@@ -1,17 +1,20 @@
1
- import"./cli-c7q23jz0.js";
2
- import"./cli-cn5k1r8t.js";
3
- import"./cli-8sa9qydd.js";
4
- import"./cli-4471qz44.js";
5
- import"./cli-za3kjd90.js";
6
- import"./cli-jree8dd7.js";
7
- import"./cli-s7v8kczt.js";
1
+ import"./cli-np49p7qw.js";
2
+ import {
3
+ init_ai,
4
+ normalizeStepUsage
5
+ } from "./cli-87jb1dn9.js";
6
+ import"./cli-c2svp1ts.js";
7
+ import"./cli-hn92wsgw.js";
8
+ import"./cli-7gstqw97.js";
9
+ import"./cli-64wrh9j1.js";
10
+ import"./cli-p1xt0h2v.js";
8
11
  import {
9
12
  readExecutionMetrics,
10
13
  writeExecutionMetrics,
11
14
  runPentestWorkflow2
12
- } from "./cli-atk79f35.js";
13
- import"./cli-dk6ww21m.js";
14
- import"./cli-q44e912g.js";
15
+ } from "./cli-b1qk18ys.js";
16
+ import"./cli-gc92wghg.js";
17
+ import"./cli-p52qs7hc.js";
15
18
  import {
16
19
  EMPTY_SESSION_TOKEN_USAGE,
17
20
  accumulateSessionTokens
@@ -20,26 +23,20 @@ import"./cli-qba2x69h.js";
20
23
  import"./cli-qktcyj48.js";
21
24
 
22
25
  // src/core/api/blackboxPentest.ts
26
+ init_ai();
23
27
  async function runPentestAgent(input) {
24
28
  const persisted = readExecutionMetrics(input.session.rootPath)?.tokenUsage;
25
29
  let tokenUsage = persisted ?? EMPTY_SESSION_TOKEN_USAGE;
26
30
  const onStepFinish = async (event) => {
27
- tokenUsage = accumulateSessionTokens(tokenUsage, event.usage ?? {});
31
+ tokenUsage = accumulateSessionTokens(tokenUsage, normalizeStepUsage(event));
28
32
  await input.onStepFinish?.(event);
29
33
  };
30
- const onCacheMetrics = (metrics) => {
31
- tokenUsage = accumulateSessionTokens(tokenUsage, {
32
- cacheReadTokens: metrics.cacheReadInputTokens,
33
- cacheWriteTokens: metrics.cacheCreationInputTokens
34
- });
35
- input.onCacheMetrics?.(metrics);
36
- };
37
34
  let result;
38
35
  try {
39
36
  result = await runPentestWorkflow2({
40
37
  ...input,
41
38
  onStepFinish,
42
- onCacheMetrics
39
+ onCacheMetrics: input.onCacheMetrics
43
40
  });
44
41
  } finally {
45
42
  writeExecutionMetrics({
@@ -5,13 +5,13 @@ import {
5
5
  init_lazyLogger,
6
6
  createLogger,
7
7
  init_structured
8
- } from "./cli-8sa9qydd.js";
8
+ } from "./cli-87jb1dn9.js";
9
9
  import {
10
10
  OffensiveSecurityAgent
11
- } from "./cli-c7q23jz0.js";
11
+ } from "./cli-c2svp1ts.js";
12
12
  import {
13
13
  detectOSAndEnhancePrompt
14
- } from "./cli-4471qz44.js";
14
+ } from "./cli-hn92wsgw.js";
15
15
  import {
16
16
  MOBILE_OTP_PROMPT_GUIDANCE
17
17
  } from "./cli-retw3rw5.js";
@@ -12133,4 +12133,56 @@ var require_index_shim = __commonJS(function(exports) {
12133
12133
  } });
12134
12134
  });
12135
12135
 
12136
- export { require_src, require_src2, require_src3, require_src4, require_index_node_http, require_src5, require_index_shim };
12136
+ // src/core/observability/active-spans.ts
12137
+ var import_api = __toESM(require_src6(), 1);
12138
+ var INTERRUPTED_SPAN_ATTRIBUTE = "pensar.telemetry.interrupted";
12139
+ var INTERRUPTED_ERROR_TYPE = "ApexProcessInterrupted";
12140
+ var INTERRUPTED_SPAN_REASON = "Apex shut down before this span completed";
12141
+ var MAX_TRACKED_ACTIVE_SPANS = 1e4;
12142
+ function spanKey(span) {
12143
+ const context = span.spanContext();
12144
+ return `${context.traceId}:${context.spanId}`;
12145
+ }
12146
+
12147
+ class ActiveSpanProcessor {
12148
+ active = new Map;
12149
+ overflowWarned = false;
12150
+ onStart(span) {
12151
+ if (this.active.size >= MAX_TRACKED_ACTIVE_SPANS) {
12152
+ if (!this.overflowWarned) {
12153
+ this.overflowWarned = true;
12154
+ import_api.diag.warn(`Apex active-span shutdown tracking reached ${MAX_TRACKED_ACTIVE_SPANS} spans; newer spans will not be retained`);
12155
+ }
12156
+ return;
12157
+ }
12158
+ this.active.set(spanKey(span), span);
12159
+ }
12160
+ onEnd(span) {
12161
+ this.active.delete(spanKey(span));
12162
+ }
12163
+ endAll(reason = INTERRUPTED_SPAN_REASON) {
12164
+ const spans = [...this.active.entries()].reverse();
12165
+ for (const [key, span] of spans) {
12166
+ try {
12167
+ if (span.isRecording()) {
12168
+ span.setAttribute(INTERRUPTED_SPAN_ATTRIBUTE, true);
12169
+ if (span.attributes["error.type"] === undefined) {
12170
+ span.setAttribute("error.type", INTERRUPTED_ERROR_TYPE);
12171
+ }
12172
+ if (span.status.code !== import_api.SpanStatusCode.ERROR) {
12173
+ span.setStatus({ code: import_api.SpanStatusCode.ERROR, message: reason });
12174
+ }
12175
+ span.end();
12176
+ }
12177
+ } catch {} finally {
12178
+ this.active.delete(key);
12179
+ }
12180
+ }
12181
+ }
12182
+ async forceFlush() {}
12183
+ async shutdown() {
12184
+ this.endAll();
12185
+ }
12186
+ }
12187
+
12188
+ export { require_src, require_src2, require_src3, require_src4, require_index_node_http, require_src5, require_index_shim, ActiveSpanProcessor };
@@ -6,7 +6,7 @@ import {
6
6
  init_lazyLogger,
7
7
  createLogger,
8
8
  init_structured
9
- } from "./cli-8sa9qydd.js";
9
+ } from "./cli-87jb1dn9.js";
10
10
  import {
11
11
  isMemoryEnabled,
12
12
  readPlan,
@@ -14,7 +14,7 @@ import {
14
14
  createReportErrorTool,
15
15
  PentestReportedError,
16
16
  OffensiveSecurityAgent
17
- } from "./cli-c7q23jz0.js";
17
+ } from "./cli-c2svp1ts.js";
18
18
  import {
19
19
  MOBILE_OTP_PROMPT_GUIDANCE
20
20
  } from "./cli-retw3rw5.js";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  OffensiveSecurityAgent
3
- } from "./cli-c7q23jz0.js";
3
+ } from "./cli-c2svp1ts.js";
4
4
  import {
5
5
  stepCountIs2,
6
6
  hasToolCall,
7
7
  init_dist
8
- } from "./cli-8sa9qydd.js";
8
+ } from "./cli-87jb1dn9.js";
9
9
  import {
10
10
  detectOSAndEnhancePrompt
11
- } from "./cli-4471qz44.js";
11
+ } from "./cli-hn92wsgw.js";
12
12
  import {
13
13
  MOBILE_OTP_PROMPT_GUIDANCE
14
14
  } from "./cli-retw3rw5.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  config2,
3
3
  init_config
4
- } from "./cli-cn5k1r8t.js";
4
+ } from "./cli-np49p7qw.js";
5
5
  import {
6
6
  require_token_error,
7
7
  require_auth_errors,
@@ -104,7 +104,7 @@ import {
104
104
  import {
105
105
  getCurrentVersion,
106
106
  init_installation
107
- } from "./cli-hzep16ha.js";
107
+ } from "./cli-dy6pwj3g.js";
108
108
  import {
109
109
  require_src6
110
110
  } from "./cli-bb02pjt0.js";
@@ -11376,6 +11376,12 @@ var init_openrouter = __esm(() => {
11376
11376
  provider: "openrouter",
11377
11377
  contextLength: 128000
11378
11378
  },
11379
+ {
11380
+ id: "deepseek/deepseek-v4.1-flash",
11381
+ name: "DeepSeek V4.1 Flash",
11382
+ provider: "openrouter",
11383
+ contextLength: 1048576
11384
+ },
11379
11385
  {
11380
11386
  id: "deepseek/deepseek-chat",
11381
11387
  name: "DeepSeek Chat",
@@ -11519,6 +11525,12 @@ var init_openrouter = __esm(() => {
11519
11525
  name: "GLM 5.2",
11520
11526
  provider: "openrouter",
11521
11527
  contextLength: 1e6
11528
+ },
11529
+ {
11530
+ id: "z-ai/glm-5.3",
11531
+ name: "GLM 5.3",
11532
+ provider: "openrouter",
11533
+ contextLength: 1048576
11522
11534
  }
11523
11535
  ];
11524
11536
  });
@@ -11671,6 +11683,9 @@ function lookupOutputBudgetByPattern(modelId) {
11671
11683
  if (modelId.includes("glm-5")) {
11672
11684
  return 131072;
11673
11685
  }
11686
+ if (modelId.includes("deepseek-v4.1-flash")) {
11687
+ return 384000;
11688
+ }
11674
11689
  if (modelId.includes("deepseek")) {
11675
11690
  return 8192;
11676
11691
  }
@@ -47528,7 +47543,8 @@ function unregisterActiveRootSpan(span) {
47528
47543
  function endAllActiveRootSpans() {
47529
47544
  for (const span of activeRootSpans) {
47530
47545
  try {
47531
- span.end();
47546
+ if (span.isRecording())
47547
+ span.end();
47532
47548
  } catch {}
47533
47549
  }
47534
47550
  activeRootSpans.clear();
@@ -48090,6 +48106,21 @@ function takeStepContext() {
48090
48106
  store.next += 1;
48091
48107
  return { sessionId: store.sessionId, stepSeq };
48092
48108
  }
48109
+ async function emitUsage(model, stepUsage, sink) {
48110
+ if (!sink)
48111
+ return;
48112
+ const stepCtx = takeStepContext();
48113
+ if (stepUsage.inputTokens <= 0 && stepUsage.outputTokens <= 0)
48114
+ return;
48115
+ await sink(model, stepUsage.inputTokens, stepUsage.outputTokens, {
48116
+ ...stepCtx,
48117
+ cacheReadTokens: stepUsage.cacheReadTokens,
48118
+ cacheWriteTokens: stepUsage.cacheWriteTokens
48119
+ });
48120
+ }
48121
+ function resolveUsageSink(explicit) {
48122
+ return explicit ?? stepContextStore.getStore()?.usageSink ?? _usageCallback;
48123
+ }
48093
48124
  function getContextWindow(modelId) {
48094
48125
  return getModelInfo(modelId).contextLength ?? 200000;
48095
48126
  }
@@ -48369,7 +48400,7 @@ function normalizeOpenAIReasoningEffort(modelId, effort) {
48369
48400
  return DEFAULT_OPENAI_REASONING_EFFORT;
48370
48401
  }
48371
48402
  function buildOpenRouterProviderOptions(model) {
48372
- if (model !== "z-ai/glm-5.2")
48403
+ if (model !== "z-ai/glm-5.2" && model !== "z-ai/glm-5.3")
48373
48404
  return;
48374
48405
  return {
48375
48406
  openrouter: {
@@ -48439,21 +48470,7 @@ function streamResponse(opts) {
48439
48470
  });
48440
48471
  }
48441
48472
  await userOnStepFinish?.(step);
48442
- if (usageRecorder || _usageCallback) {
48443
- const stepCtx = takeStepContext();
48444
- if (stepUsage.inputTokens > 0 || stepUsage.outputTokens > 0) {
48445
- const usageContext = {
48446
- ...stepCtx,
48447
- cacheReadTokens: stepUsage.cacheReadTokens,
48448
- cacheWriteTokens: stepUsage.cacheWriteTokens
48449
- };
48450
- if (usageRecorder) {
48451
- await usageRecorder(model, stepUsage.inputTokens, stepUsage.outputTokens, usageContext);
48452
- } else {
48453
- await _usageCallback?.(model, stepUsage.inputTokens, stepUsage.outputTokens, usageContext);
48454
- }
48455
- }
48456
- }
48473
+ await emitUsage(model, stepUsage, resolveUsageSink(usageRecorder));
48457
48474
  };
48458
48475
  const baseProviderModel = getProviderModel(model, authConfig);
48459
48476
  const providerModel = languageModelMiddleware ? wrapLanguageModel({
@@ -48584,6 +48601,7 @@ function streamResponse(opts) {
48584
48601
  providerMetadata: repairProviderMetadata
48585
48602
  } = await generateText({
48586
48603
  model: providerModel,
48604
+ providerOptions: openRouterProviderOptions,
48587
48605
  output: output_exports.object({
48588
48606
  schema: tool.inputSchema
48589
48607
  }),
@@ -48690,6 +48708,7 @@ async function generateObjectResponse(opts) {
48690
48708
  authConfig,
48691
48709
  abortSignal,
48692
48710
  onTokenUsage,
48711
+ usageRecorder,
48693
48712
  sessionId
48694
48713
  } = opts;
48695
48714
  const providerModel = getProviderModel(model, authConfig);
@@ -48725,16 +48744,8 @@ async function generateObjectResponse(opts) {
48725
48744
  if (onTokenUsage && usage) {
48726
48745
  onTokenUsage(usage.inputTokens ?? 0, usage.outputTokens ?? 0);
48727
48746
  }
48728
- if (_usageCallback && usage) {
48729
- const stepUsage = normalizeStepUsage({ usage, providerMetadata });
48730
- const stepCtx = takeStepContext();
48731
- if (stepUsage.inputTokens > 0 || stepUsage.outputTokens > 0) {
48732
- await _usageCallback(model, stepUsage.inputTokens, stepUsage.outputTokens, {
48733
- ...stepCtx,
48734
- cacheReadTokens: stepUsage.cacheReadTokens,
48735
- cacheWriteTokens: stepUsage.cacheWriteTokens
48736
- });
48737
- }
48747
+ if (usage) {
48748
+ await emitUsage(model, normalizeStepUsage({ usage, providerMetadata }), resolveUsageSink(usageRecorder));
48738
48749
  }
48739
48750
  return output;
48740
48751
  } catch (error) {
@@ -49693,7 +49704,7 @@ async function create(input) {
49693
49704
  if (normalizedConfig?.headers !== undefined) {
49694
49705
  snapshotHeaders = { ...normalizedConfig.headers };
49695
49706
  } else {
49696
- const { config: appConfig } = await import("./index-e2w3hkg2.js");
49707
+ const { config: appConfig } = await import("./index-42n7zc72.js");
49697
49708
  const cfg = await appConfig.get();
49698
49709
  snapshotHeaders = cfg.defaultHeaders ? { ...cfg.defaultHeaders } : { ...DEFAULT_HEADER_RECORD };
49699
49710
  }
@@ -51650,6 +51661,7 @@ async function summarizeConversation(messages, opts, model) {
51650
51661
  providerMetadata: summaryProviderMetadata
51651
51662
  } = await generateText({
51652
51663
  model,
51664
+ providerOptions: buildOpenRouterProviderOptions(opts.model),
51653
51665
  system: `You are a helpful assistant that summarizes conversations to pass to another agent. Review the conversation and system prompt at the end provided by the user.`,
51654
51666
  messages: summarizedMessages,
51655
51667
  abortSignal: opts.abortSignal,
@@ -51800,4 +51812,4 @@ var init_utils = __esm(() => {
51800
51812
  STREAMING_FETCH_TIMEOUT_MS = 35 * 60 * 1000;
51801
51813
  });
51802
51814
 
51803
- export { init_zod, stepCountIs2, hasToolCall, init_dist, schema, descending, newSessionId, newMessageId, newPartId, init_id, registerActiveRootSpan, unregisterActiveRootSpan, endAllActiveRootSpans, init_active_root_spans, getApexTracer, shouldRecordAiPayloads, withSubagentSessionBaggage, getActiveTraceCorrelation, init_observability, addRecentModelId, getRecentModels, init_model_history, AVAILABLE_MODELS, init_models, require_tslib, getPensarApiUrl, getPensarConsoleUrl, init_constants, isConnected2, disconnect2, startDeviceFlow2, pollWorkOSToken2, pollLegacyToken2, isTokenExpired2, ensureValidToken2, validateGateway2, signGatewayRequest2, fetchWorkspaces2, pollForWorkspaceCreation2, selectWorkspace2, createWorkspaceSelection2, pollWorkspaceSelection2, init_auth, scopedLogger, init_lazyLogger, buildAuthConfig, init_utils, init_ai, generateRandomName, generateSessionName, init_name, CredentialManager, init_credentials, RateLimiter, init_rateLimiter, NotFoundError, write, createDir, writeRaw, read, update, list, init_storage, ToolsetStateSchema, init_toolset, create, list2, getResumeMessages2, normalizeMessages2, sessions2, init_session, writeErrorLog, routeLogsToErrorFile, init_logger, createLogger, logger, init_structured, DEFAULT_OPENAI_REASONING_EFFORT, getContextWindow, modelSupportsThinking, modelSupportsOpenAIReasoning, getOpenAIReasoningEfforts, streamResponse, generateObjectResponse, init_ai2 };
51815
+ export { init_zod, stepCountIs2, hasToolCall, init_dist, schema, descending, newSessionId, newMessageId, newPartId, init_id, registerActiveRootSpan, unregisterActiveRootSpan, endAllActiveRootSpans, init_active_root_spans, getApexTracer, shouldRecordAiPayloads, withSubagentSessionBaggage, getActiveTraceCorrelation, init_observability, addRecentModelId, getRecentModels, init_model_history, AVAILABLE_MODELS, init_models, require_tslib, getPensarApiUrl, getPensarConsoleUrl, init_constants, isConnected2, disconnect2, startDeviceFlow2, pollWorkOSToken2, pollLegacyToken2, isTokenExpired2, ensureValidToken2, validateGateway2, signGatewayRequest2, fetchWorkspaces2, pollForWorkspaceCreation2, selectWorkspace2, createWorkspaceSelection2, pollWorkspaceSelection2, init_auth, scopedLogger, init_lazyLogger, buildAuthConfig, init_utils, init_ai, generateRandomName, generateSessionName, init_name, CredentialManager, init_credentials, RateLimiter, init_rateLimiter, NotFoundError, write, createDir, writeRaw, read, update, list, init_storage, ToolsetStateSchema, init_toolset, create, list2, getResumeMessages2, normalizeMessages2, sessions2, init_session, writeErrorLog, routeLogsToErrorFile, init_logger, createLogger, logger, init_structured, DEFAULT_OPENAI_REASONING_EFFORT, normalizeStepUsage, getContextWindow, modelSupportsThinking, modelSupportsOpenAIReasoning, getOpenAIReasoningEfforts, streamResponse, generateObjectResponse, init_ai2 };
@@ -3,7 +3,7 @@ import {
3
3
  init_lazyLogger,
4
4
  createLogger,
5
5
  init_structured
6
- } from "./cli-8sa9qydd.js";
6
+ } from "./cli-87jb1dn9.js";
7
7
 
8
8
  // src/core/integrations/wandb/client.ts
9
9
  init_structured();
@@ -6,7 +6,7 @@ import {
6
6
  FindingsRegistry,
7
7
  PLAN_MODE_TOOL_NAMES,
8
8
  OffensiveSecurityAgent
9
- } from "./cli-c7q23jz0.js";
9
+ } from "./cli-c2svp1ts.js";
10
10
  import {
11
11
  hasToolCall,
12
12
  init_dist,
@@ -17,24 +17,24 @@ import {
17
17
  init_session,
18
18
  createLogger,
19
19
  init_structured
20
- } from "./cli-8sa9qydd.js";
20
+ } from "./cli-87jb1dn9.js";
21
21
  import {
22
22
  BlackboxAttackSurfaceAgent2
23
- } from "./cli-za3kjd90.js";
23
+ } from "./cli-7gstqw97.js";
24
24
  import {
25
25
  TargetedPentestAgent2,
26
26
  buildPentestSystemPrompt2
27
- } from "./cli-jree8dd7.js";
27
+ } from "./cli-64wrh9j1.js";
28
28
  import {
29
29
  buildPentestReport,
30
30
  renderJson,
31
31
  renderMarkdown,
32
32
  REPORT_FILENAME_MD,
33
33
  REPORT_FILENAME_JSON
34
- } from "./cli-s7v8kczt.js";
34
+ } from "./cli-p1xt0h2v.js";
35
35
  import {
36
36
  CodeAgent2
37
- } from "./cli-dk6ww21m.js";
37
+ } from "./cli-gc92wghg.js";
38
38
  import {
39
39
  WHITEBOX_APPS_DISCOVERY_SYSTEM_PROMPT2,
40
40
  WHITEBOX_ENDPOINT_DOCUMENTATION_SYSTEM_PROMPT,
@@ -42,7 +42,7 @@ import {
42
42
  EndpointSchema2,
43
43
  AppsDiscoveryResultSchema2,
44
44
  DiscoverySummarySchema2
45
- } from "./cli-q44e912g.js";
45
+ } from "./cli-p52qs7hc.js";
46
46
  import {
47
47
  createThreatModelPrompt
48
48
  } from "./cli-q126f6ef.js";
@@ -7829,7 +7829,7 @@ async function runPentestSwarm2(input) {
7829
7829
  }
7830
7830
  async function runPentestWorkflow2(input) {
7831
7831
  if (input.fastStrike) {
7832
- const { runFastStrike } = await import("./fastStrike-0731ry23.js");
7832
+ const { runFastStrike } = await import("./fastStrike-btng4s8k.js");
7833
7833
  return runFastStrike(input);
7834
7834
  }
7835
7835
  const {