@newrelic/preflight 1.67.3 → 1.69.0

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 (183) hide show
  1. package/README.md +2 -2
  2. package/dist/config.d.ts +75 -2
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +201 -22
  5. package/dist/config.js.map +1 -1
  6. package/dist/dashboard/routes/api-handler.d.ts +1 -0
  7. package/dist/dashboard/routes/api-handler.d.ts.map +1 -1
  8. package/dist/dashboard/routes/api-handler.js +120 -94
  9. package/dist/dashboard/routes/api-handler.js.map +1 -1
  10. package/dist/data/dashboards/ai-coding-assistant-adoption-cost.json +291 -1
  11. package/dist/data/dashboards/ai-coding-assistant-team-view.json +6 -6
  12. package/dist/hooks/billed-turn-ledger.d.ts +46 -0
  13. package/dist/hooks/billed-turn-ledger.d.ts.map +1 -0
  14. package/dist/hooks/billed-turn-ledger.js +274 -0
  15. package/dist/hooks/billed-turn-ledger.js.map +1 -0
  16. package/dist/hooks/collector-script.d.ts.map +1 -1
  17. package/dist/hooks/collector-script.js +5 -1
  18. package/dist/hooks/collector-script.js.map +1 -1
  19. package/dist/hooks/event-processor.d.ts +3 -7
  20. package/dist/hooks/event-processor.d.ts.map +1 -1
  21. package/dist/hooks/event-processor.js +21 -7
  22. package/dist/hooks/event-processor.js.map +1 -1
  23. package/dist/hooks/parent-transcript-watcher.d.ts +6 -5
  24. package/dist/hooks/parent-transcript-watcher.d.ts.map +1 -1
  25. package/dist/hooks/parent-transcript-watcher.js +64 -62
  26. package/dist/hooks/parent-transcript-watcher.js.map +1 -1
  27. package/dist/hooks/throttled-warning.d.ts +16 -0
  28. package/dist/hooks/throttled-warning.d.ts.map +1 -0
  29. package/dist/hooks/throttled-warning.js +32 -0
  30. package/dist/hooks/throttled-warning.js.map +1 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +90 -83
  33. package/dist/index.js.map +1 -1
  34. package/dist/install/cli.d.ts.map +1 -1
  35. package/dist/install/cli.js +69 -1
  36. package/dist/install/cli.js.map +1 -1
  37. package/dist/install/dashboard-health.js +1 -1
  38. package/dist/install/dashboard-health.js.map +1 -1
  39. package/dist/install/diagnostics.d.ts +2 -0
  40. package/dist/install/diagnostics.d.ts.map +1 -1
  41. package/dist/install/diagnostics.js +132 -28
  42. package/dist/install/diagnostics.js.map +1 -1
  43. package/dist/install/headless-install.d.ts +26 -0
  44. package/dist/install/headless-install.d.ts.map +1 -1
  45. package/dist/install/headless-install.js +44 -1
  46. package/dist/install/headless-install.js.map +1 -1
  47. package/dist/install/install-helper.d.ts +2 -0
  48. package/dist/install/install-helper.d.ts.map +1 -1
  49. package/dist/install/install-helper.js +5 -0
  50. package/dist/install/install-helper.js.map +1 -1
  51. package/dist/install/keychain.d.ts +18 -0
  52. package/dist/install/keychain.d.ts.map +1 -0
  53. package/dist/install/keychain.js +60 -0
  54. package/dist/install/keychain.js.map +1 -0
  55. package/dist/install/kiro-install-helper.d.ts +27 -0
  56. package/dist/install/kiro-install-helper.d.ts.map +1 -0
  57. package/dist/install/kiro-install-helper.js +53 -0
  58. package/dist/install/kiro-install-helper.js.map +1 -0
  59. package/dist/install/setup-wizard.d.ts +4 -0
  60. package/dist/install/setup-wizard.d.ts.map +1 -1
  61. package/dist/install/setup-wizard.js +94 -9
  62. package/dist/install/setup-wizard.js.map +1 -1
  63. package/dist/lib/child-env.d.ts +11 -0
  64. package/dist/lib/child-env.d.ts.map +1 -0
  65. package/dist/lib/child-env.js +35 -0
  66. package/dist/lib/child-env.js.map +1 -0
  67. package/dist/lib/git-remote.d.ts +7 -0
  68. package/dist/lib/git-remote.d.ts.map +1 -1
  69. package/dist/lib/git-remote.js +13 -0
  70. package/dist/lib/git-remote.js.map +1 -1
  71. package/dist/metrics/cost-tracker-seed.d.ts +16 -0
  72. package/dist/metrics/cost-tracker-seed.d.ts.map +1 -1
  73. package/dist/metrics/cost-tracker-seed.js +42 -7
  74. package/dist/metrics/cost-tracker-seed.js.map +1 -1
  75. package/dist/metrics/cost-tracker.d.ts +11 -3
  76. package/dist/metrics/cost-tracker.d.ts.map +1 -1
  77. package/dist/metrics/cost-tracker.js +4 -1
  78. package/dist/metrics/cost-tracker.js.map +1 -1
  79. package/dist/metrics/git-activity-recorder.d.ts +3 -3
  80. package/dist/metrics/git-activity-recorder.d.ts.map +1 -1
  81. package/dist/metrics/git-activity-recorder.js +3 -3
  82. package/dist/metrics/git-activity-recorder.js.map +1 -1
  83. package/dist/metrics/git-workspace-identity.d.ts +6 -1
  84. package/dist/metrics/git-workspace-identity.d.ts.map +1 -1
  85. package/dist/metrics/git-workspace-identity.js +56 -32
  86. package/dist/metrics/git-workspace-identity.js.map +1 -1
  87. package/dist/metrics/git-workspace-reporter.d.ts +4 -3
  88. package/dist/metrics/git-workspace-reporter.d.ts.map +1 -1
  89. package/dist/metrics/git-workspace-reporter.js +4 -3
  90. package/dist/metrics/git-workspace-reporter.js.map +1 -1
  91. package/dist/metrics/pricing-init.d.ts +13 -0
  92. package/dist/metrics/pricing-init.d.ts.map +1 -0
  93. package/dist/metrics/pricing-init.js +19 -0
  94. package/dist/metrics/pricing-init.js.map +1 -0
  95. package/dist/metrics/skill-activation-tracker.d.ts +27 -0
  96. package/dist/metrics/skill-activation-tracker.d.ts.map +1 -0
  97. package/dist/metrics/skill-activation-tracker.js +92 -0
  98. package/dist/metrics/skill-activation-tracker.js.map +1 -0
  99. package/dist/metrics/turn-cost-attributor.d.ts +34 -16
  100. package/dist/metrics/turn-cost-attributor.d.ts.map +1 -1
  101. package/dist/metrics/turn-cost-attributor.js +95 -60
  102. package/dist/metrics/turn-cost-attributor.js.map +1 -1
  103. package/dist/proxy/proxy-manager.d.ts +3 -0
  104. package/dist/proxy/proxy-manager.d.ts.map +1 -1
  105. package/dist/proxy/proxy-manager.js +43 -3
  106. package/dist/proxy/proxy-manager.js.map +1 -1
  107. package/dist/proxy/types.d.ts +7 -0
  108. package/dist/proxy/types.d.ts.map +1 -1
  109. package/dist/proxy/types.js.map +1 -1
  110. package/dist/proxy/upstream-http.d.ts.map +1 -1
  111. package/dist/proxy/upstream-http.js +44 -1
  112. package/dist/proxy/upstream-http.js.map +1 -1
  113. package/dist/proxy/upstream-stdio.d.ts +0 -1
  114. package/dist/proxy/upstream-stdio.d.ts.map +1 -1
  115. package/dist/proxy/upstream-stdio.js +2 -26
  116. package/dist/proxy/upstream-stdio.js.map +1 -1
  117. package/dist/redaction-patterns.d.ts.map +1 -1
  118. package/dist/redaction-patterns.js +1 -0
  119. package/dist/redaction-patterns.js.map +1 -1
  120. package/dist/secret-command.d.ts +59 -0
  121. package/dist/secret-command.d.ts.map +1 -0
  122. package/dist/secret-command.js +123 -0
  123. package/dist/secret-command.js.map +1 -0
  124. package/dist/security/audit-trail.d.ts +7 -1
  125. package/dist/security/audit-trail.d.ts.map +1 -1
  126. package/dist/security/audit-trail.js +24 -0
  127. package/dist/security/audit-trail.js.map +1 -1
  128. package/dist/server.d.ts.map +1 -1
  129. package/dist/server.js +9 -4
  130. package/dist/server.js.map +1 -1
  131. package/dist/shared/pricing-data.d.ts.map +1 -1
  132. package/dist/shared/pricing-data.js +223 -32
  133. package/dist/shared/pricing-data.js.map +1 -1
  134. package/dist/shared/pricing.d.ts +25 -3
  135. package/dist/shared/pricing.d.ts.map +1 -1
  136. package/dist/shared/pricing.js +46 -9
  137. package/dist/shared/pricing.js.map +1 -1
  138. package/dist/shared/tokens.d.ts +16 -0
  139. package/dist/shared/tokens.d.ts.map +1 -1
  140. package/dist/shared/tokens.js +18 -0
  141. package/dist/shared/tokens.js.map +1 -1
  142. package/dist/shared/transport/otlp-shared.d.ts.map +1 -1
  143. package/dist/shared/transport/otlp-shared.js +7 -14
  144. package/dist/shared/transport/otlp-shared.js.map +1 -1
  145. package/dist/storage/local-store.d.ts +6 -4
  146. package/dist/storage/local-store.d.ts.map +1 -1
  147. package/dist/storage/local-store.js +21 -7
  148. package/dist/storage/local-store.js.map +1 -1
  149. package/dist/storage/session-store.d.ts +24 -1
  150. package/dist/storage/session-store.d.ts.map +1 -1
  151. package/dist/storage/session-store.js +38 -7
  152. package/dist/storage/session-store.js.map +1 -1
  153. package/dist/storage/types.d.ts +13 -0
  154. package/dist/storage/types.d.ts.map +1 -1
  155. package/dist/storage/types.js.map +1 -1
  156. package/dist/tools/cross-session-tools.d.ts +7 -1
  157. package/dist/tools/cross-session-tools.d.ts.map +1 -1
  158. package/dist/tools/cross-session-tools.js +47 -14
  159. package/dist/tools/cross-session-tools.js.map +1 -1
  160. package/dist/tools/session-stats.d.ts +6 -0
  161. package/dist/tools/session-stats.d.ts.map +1 -1
  162. package/dist/tools/session-stats.js +3 -2
  163. package/dist/tools/session-stats.js.map +1 -1
  164. package/dist/transport/audit-record-sender.d.ts +20 -0
  165. package/dist/transport/audit-record-sender.d.ts.map +1 -0
  166. package/dist/transport/audit-record-sender.js +54 -0
  167. package/dist/transport/audit-record-sender.js.map +1 -0
  168. package/dist/transport/nr-ingest.d.ts +7 -0
  169. package/dist/transport/nr-ingest.d.ts.map +1 -1
  170. package/dist/transport/nr-ingest.js +64 -27
  171. package/dist/transport/nr-ingest.js.map +1 -1
  172. package/dist/transport/tier-types.d.ts +11 -1
  173. package/dist/transport/tier-types.d.ts.map +1 -1
  174. package/dist/transport/tier-types.js +28 -6
  175. package/dist/transport/tier-types.js.map +1 -1
  176. package/dist/transport/unforwarded-session-monitor.d.ts +12 -6
  177. package/dist/transport/unforwarded-session-monitor.d.ts.map +1 -1
  178. package/dist/transport/unforwarded-session-monitor.js +24 -5
  179. package/dist/transport/unforwarded-session-monitor.js.map +1 -1
  180. package/dist/web/assets/{index-lvdXUntr.js → index-U9DPZ-Tb.js} +3 -3
  181. package/dist/web/index.html +1 -1
  182. package/examples/local-alert-rules.json +28 -0
  183. package/package.json +1 -1
@@ -52,18 +52,24 @@ function createSessionState() {
52
52
  totalAttributedCost: 0,
53
53
  totalToolCalls: 0,
54
54
  attributedToolCalls: 0,
55
- activeSlashSkill: null,
56
55
  droppedTokenEvents: 0,
56
+ lastPlatform: undefined,
57
+ skillRuns: new Map(),
57
58
  };
58
59
  }
59
60
  // ---------------------------------------------------------------------------
60
61
  // Bucket helpers
61
62
  // ---------------------------------------------------------------------------
63
+ function addSkillRun(skillRuns, skill, runId) {
64
+ let runIds = skillRuns.get(skill);
65
+ if (runIds === undefined) {
66
+ runIds = new Set();
67
+ skillRuns.set(skill, runIds);
68
+ }
69
+ runIds.add(runId);
70
+ }
62
71
  function bucketIdentityOf(record) {
63
- const skillName = record.toolName === 'Skill' && record.skillName !== undefined && record.skillName !== ''
64
- ? record.skillName
65
- : null;
66
- return { toolName: record.toolName, skillName };
72
+ return { toolName: record.toolName, skillName: record.activeSkill?.name ?? null };
67
73
  }
68
74
  /** Lookup key only. It is never parsed; the bucket carries its own identity. */
69
75
  function bucketKeyOf(id) {
@@ -137,18 +143,23 @@ export class TurnCostAttributor {
137
143
  const state = this.getOrCreateSession(record.sessionId);
138
144
  state.totalToolCalls++;
139
145
  const endTime = record.timestamp + (record.durationMs ?? 0);
146
+ const platform = typeof record.platform === 'string' ? record.platform : undefined;
147
+ if (platform !== undefined)
148
+ state.lastPlatform = platform;
140
149
  const id = bucketIdentityOf(record);
141
150
  const key = bucketKeyOf(id);
142
151
  const bucket = getOrCreateBucket(state.buckets, key, id);
143
152
  bucket.callCount++;
144
153
  bucket.totalDurationMs += record.durationMs ?? 0;
154
+ if (record.activeSkill)
155
+ addSkillRun(state.skillRuns, record.activeSkill.name, record.activeSkill.runId);
145
156
  const last = state.pendingTurns[state.pendingTurns.length - 1];
146
157
  if (last && record.timestamp - last.endTime <= TURN_GAP_MS) {
147
158
  last.endTime = endTime;
148
159
  last.toolCalls.push({
149
160
  toolUseId: record.toolUseId,
150
161
  toolName: record.toolName,
151
- skillName: id.skillName,
162
+ skill: record.activeSkill ?? null,
152
163
  bucketKey: key,
153
164
  });
154
165
  return;
@@ -161,11 +172,11 @@ export class TurnCostAttributor {
161
172
  {
162
173
  toolUseId: record.toolUseId,
163
174
  toolName: record.toolName,
164
- skillName: id.skillName,
175
+ skill: record.activeSkill ?? null,
165
176
  bucketKey: key,
166
177
  },
167
178
  ],
168
- platform: typeof record.platform === 'string' ? record.platform : undefined,
179
+ platform,
169
180
  });
170
181
  // A new burst starting while MAX_PENDING_TURNS earlier bursts are still
171
182
  // unclosed means token events have stopped arriving entirely (not just
@@ -175,18 +186,9 @@ export class TurnCostAttributor {
175
186
  state.droppedTokenEvents++;
176
187
  }
177
188
  }
178
- recordSlashCommand(sessionId, skillName) {
179
- const state = this.getOrCreateSession(sessionId);
180
- if (skillName) {
181
- state.activeSlashSkill = skillName;
182
- const id = { toolName: 'SlashCommand', skillName };
183
- const key = bucketKeyOf(id);
184
- const bucket = getOrCreateBucket(state.buckets, key, id);
185
- bucket.callCount++;
186
- }
187
- else {
188
- state.activeSlashSkill = null;
189
- }
189
+ /** Counts a run as soon as it opens, so one that never makes a tool call still has a row. */
190
+ recordSkillRun(sessionId, stamp) {
191
+ addSkillRun(this.getOrCreateSession(sessionId).skillRuns, stamp.name, stamp.runId);
190
192
  }
191
193
  recordTokenEvent(event) {
192
194
  const state = this.getOrCreateSession(event.sessionId);
@@ -201,32 +203,21 @@ export class TurnCostAttributor {
201
203
  }
202
204
  const pendingTurn = state.pendingTurns[0];
203
205
  if (!pendingTurn) {
204
- state.droppedTokenEvents++;
205
- return null;
206
+ return this.responseTurn(state, event);
206
207
  }
207
- // The event must postdate the turn it's closing — one that doesn't can't
208
- // belong to it (this turn hadn't even finished yet). Silently drop it
209
- // rather than risk mis-attributing cost to the wrong turn. Dropped
210
- // events show up as a lower `attributionRate` and a rising
211
- // `droppedTokenEvents`, not as an error.
208
+ // The event must postdate the turn it's closing. One that doesn't can't
209
+ // belong to that burst (it hadn't even finished yet), so it stays queued
210
+ // for the next token report and this one is claimed by no burst. If no
211
+ // later report arrives, the burst is evicted as stale above and counted
212
+ // in `droppedTokenEvents`.
212
213
  const timeSinceLastTool = event.timestamp - pendingTurn.endTime;
213
214
  if (timeSinceLastTool < 0) {
214
- state.droppedTokenEvents++;
215
- return null;
215
+ return this.responseTurn(state, event);
216
216
  }
217
217
  state.pendingTurns.shift();
218
- const usage = {
219
- inputTokens: event.inputTokens,
220
- outputTokens: event.outputTokens,
221
- thinkingTokens: 0,
222
- cacheReadTokens: event.cacheReadTokens,
223
- cacheCreationTokens: event.cacheCreationTokens,
224
- totalTokens: event.inputTokens + event.outputTokens,
225
- };
226
- const breakdown = calculateModelCost(event.model, usage);
227
- const costUsd = breakdown.totalUsd * this.rateMultiplier;
218
+ const costUsd = this.priceTokenEvent(event);
228
219
  const toolCount = pendingTurn.toolCalls.length;
229
- const costPerTool = toolCount > 0 ? costUsd / toolCount : 0;
220
+ const costPerTool = costUsd / toolCount;
230
221
  const attribution = {
231
222
  turnId: pendingTurn.turnId,
232
223
  startTime: pendingTurn.startTime,
@@ -259,17 +250,6 @@ export class TurnCostAttributor {
259
250
  bucket.cacheReadTokens += event.cacheReadTokens / toolCount;
260
251
  bucket.cacheCreationTokens += event.cacheCreationTokens / toolCount;
261
252
  }
262
- if (state.activeSlashSkill !== null) {
263
- const id = { toolName: 'SlashCommand', skillName: state.activeSlashSkill };
264
- const key = bucketKeyOf(id);
265
- const slashBucket = getOrCreateBucket(state.buckets, key, id);
266
- slashBucket.attributedCallCount++;
267
- slashBucket.totalCost += costUsd;
268
- slashBucket.inputTokens += event.inputTokens;
269
- slashBucket.outputTokens += event.outputTokens;
270
- slashBucket.cacheReadTokens += event.cacheReadTokens;
271
- slashBucket.cacheCreationTokens += event.cacheCreationTokens;
272
- }
273
253
  // Minted here rather than reusing `attribution.turnId`: the caller's turn
274
254
  // id comes from the process-global TurnTracker and can repeat across two
275
255
  // attributor turns, so it cannot group AiTurnCost rows.
@@ -279,12 +259,53 @@ export class TurnCostAttributor {
279
259
  calls: pendingTurn.toolCalls.map((tc) => ({
280
260
  toolUseId: tc.toolUseId,
281
261
  toolName: tc.toolName,
282
- skillName: tc.skillName,
262
+ skill: tc.skill,
283
263
  })),
284
264
  platform: pendingTurn.platform,
285
265
  };
286
266
  return closedTurn;
287
267
  }
268
+ /**
269
+ * A token report no tool burst claimed. Local metrics leave it out, but it
270
+ * is priced and returned so the report still reaches AiTurnCost, with
271
+ * `costPerToolCall` equal to the whole cost since it has no calls to split
272
+ * across.
273
+ */
274
+ responseTurn(state, event) {
275
+ const costUsd = this.priceTokenEvent(event);
276
+ const id = randomUUID();
277
+ return {
278
+ id,
279
+ attribution: {
280
+ turnId: id,
281
+ startTime: event.timestamp,
282
+ endTime: event.timestamp,
283
+ toolCalls: [],
284
+ toolNames: [],
285
+ inputTokens: event.inputTokens,
286
+ outputTokens: event.outputTokens,
287
+ cacheReadTokens: event.cacheReadTokens,
288
+ cacheCreationTokens: event.cacheCreationTokens,
289
+ model: event.model,
290
+ estimatedCostUsd: costUsd,
291
+ costPerToolCall: costUsd,
292
+ sessionId: event.sessionId ?? null,
293
+ },
294
+ calls: [],
295
+ platform: event.platform ?? state.lastPlatform,
296
+ };
297
+ }
298
+ priceTokenEvent(event) {
299
+ const usage = {
300
+ inputTokens: event.inputTokens,
301
+ outputTokens: event.outputTokens,
302
+ thinkingTokens: 0,
303
+ cacheReadTokens: event.cacheReadTokens,
304
+ cacheCreationTokens: event.cacheCreationTokens,
305
+ totalTokens: event.inputTokens + event.outputTokens,
306
+ };
307
+ return calculateModelCost(event.model, usage).totalUsd * this.rateMultiplier;
308
+ }
288
309
  getCostForToolCall(toolUseId) {
289
310
  for (const state of this.sessions.values()) {
290
311
  for (const turn of state.turns) {
@@ -341,6 +362,10 @@ export class TurnCostAttributor {
341
362
  for (const counter of BUCKET_COUNTERS)
342
363
  merged[counter] += bucket[counter];
343
364
  }
365
+ for (const [skill, runIds] of state.skillRuns) {
366
+ for (const runId of runIds)
367
+ addSkillRun(aggregate.skillRuns, skill, runId);
368
+ }
344
369
  }
345
370
  // Same cap as each per-session bucket already enforces on insert — keep
346
371
  // only the most recent MAX_TURNS across the merged set, by start time.
@@ -355,12 +380,8 @@ export class TurnCostAttributor {
355
380
  const skillAccum = new Map();
356
381
  for (const bucket of state.buckets.values()) {
357
382
  // costByToolType predates the buckets table and only ever listed tools
358
- // that received a token event, so the fold keeps that contract. The
359
- // SlashCommand channel isn't a real tool call — it charges a turn's
360
- // full, unsplit cost to track skill usage (see recordSlashCommand()),
361
- // and folding it in here would double-count against whichever real
362
- // tool(s) that same turn already split its cost across.
363
- if (bucket.toolName !== 'SlashCommand' && bucket.attributedCallCount > 0) {
383
+ // that received a token event, so the fold keeps that contract.
384
+ if (bucket.attributedCallCount > 0) {
364
385
  let entry = toolTypeAccum.get(bucket.toolName);
365
386
  if (entry === undefined) {
366
387
  entry = {
@@ -390,15 +411,29 @@ export class TurnCostAttributor {
390
411
  }
391
412
  for (const counter of BUCKET_COUNTERS)
392
413
  entry[counter] += bucket[counter];
414
+ // The subagent's own calls carry the same run, so its Agent call's
415
+ // duration would count that time twice.
416
+ if (bucket.toolName === 'Agent')
417
+ entry.totalDurationMs -= bucket.totalDurationMs;
393
418
  }
394
419
  }
420
+ // A run whose replies made no tool calls has no bucket but still counts.
421
+ for (const skillName of state.skillRuns.keys()) {
422
+ if (skillAccum.has(skillName))
423
+ continue;
424
+ const entry = {};
425
+ for (const counter of BUCKET_COUNTERS)
426
+ entry[counter] = 0;
427
+ skillAccum.set(skillName, entry);
428
+ }
395
429
  const costBySkill = {};
396
430
  for (const [skillName, entry] of skillAccum) {
431
+ const invocations = state.skillRuns.get(skillName)?.size ?? 0;
397
432
  costBySkill[skillName] = {
398
- callCount: entry.callCount,
433
+ callCount: invocations,
399
434
  attributedCallCount: entry.attributedCallCount,
400
435
  totalCost: entry.totalCost,
401
- avgCost: entry.attributedCallCount > 0 ? entry.totalCost / entry.attributedCallCount : 0,
436
+ avgCost: invocations > 0 ? entry.totalCost / invocations : 0,
402
437
  inputTokens: Math.round(entry.inputTokens),
403
438
  outputTokens: Math.round(entry.outputTokens),
404
439
  cacheReadTokens: Math.round(entry.cacheReadTokens),
@@ -1 +1 @@
1
- {"version":3,"file":"turn-cost-attributor.js","sourceRoot":"","sources":["../../src/metrics/turn-cost-attributor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAuG1D,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,0EAA0E;AAC1E,qEAAqE;AACrE,sEAAsE;AACtE,MAAM,WAAW,GAAG,KAAK,CAAC;AAC1B,8EAA8E;AAC9E,uEAAuE;AACvE,4EAA4E;AAC5E,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,mCAAmC;AACnC,EAAE;AACF,0EAA0E;AAC1E,sEAAsE;AACtE,4EAA4E;AAC5E,yEAAyE;AACzE,wEAAwE;AACxE,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC7C,6EAA6E;AAC7E,yDAAyD;AACzD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,6EAA6E;AAC7E,qDAAqD;AACrD,MAAM,SAAS,GAAG,GAAG,CAAC;AAgCtB,MAAM,eAAe,GAAG;IACtB,WAAW;IACX,qBAAqB;IACrB,WAAW;IACX,aAAa;IACb,cAAc;IACd,iBAAiB;IACjB,qBAAqB;IACrB,iBAAiB;CACT,CAAC;AAeX,6EAA6E;AAC7E,6EAA6E;AAC7E,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAC1C,4EAA4E;AAC5E,0EAA0E;AAC1E,8CAA8C;AAC9C,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAmBhC,SAAS,kBAAkB;IACzB,OAAO;QACL,KAAK,EAAE,EAAE;QACT,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,mBAAmB,EAAE,CAAC;QACtB,cAAc,EAAE,CAAC;QACjB,mBAAmB,EAAE,CAAC;QACtB,gBAAgB,EAAE,IAAI;QACtB,kBAAkB,EAAE,CAAC;KACtB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,SAAS,gBAAgB,CAAC,MAAsB;IAC9C,MAAM,SAAS,GACb,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,EAAE;QACtF,CAAC,CAAC,MAAM,CAAC,SAAS;QAClB,CAAC,CAAC,IAAI,CAAC;IACX,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;AAClD,CAAC;AAED,gFAAgF;AAChF,SAAS,WAAW,CAAC,EAAkB;IACrC,OAAO,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;AAChF,CAAC;AAED,SAAS,YAAY,CAAC,EAAkB;IACtC,OAAO;QACL,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,SAAS,EAAE,CAAC;QACZ,mBAAmB,EAAE,CAAC;QACtB,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,CAAC;QAClB,mBAAmB,EAAE,CAAC;QACtB,eAAe,EAAE,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAuC,EACvC,GAAW,EACX,EAAkB;IAElB,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,kBAAkB;IACZ,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC3C,cAAc,CAAS;IAExC,YAAY,OAAqC;QAC/C,IAAI,CAAC,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,CAAC,CAAC;IACrD,CAAC;IAEO,kBAAkB,CAAC,SAAoC;QAC7D,MAAM,GAAG,GAAG,SAAS,IAAI,gBAAgB,CAAC;QAC1C,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,EAAE,CAAC;YACV,qEAAqE;YACrE,oEAAoE;YACpE,+BAA+B;YAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,oBAAoB,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACjD,IAAI,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,GAAG,kBAAkB,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,cAAc,CAAC,MAAsB,EAAE,MAAe;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;QAE5D,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;QAEjD,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC;YAC3D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;YACtB,MAAM,EAAE,MAAM,IAAI,UAAU,EAAE;YAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO;YACP,SAAS,EAAE;gBACT;oBACE,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,SAAS,EAAE,EAAE,CAAC,SAAS;oBACvB,SAAS,EAAE,GAAG;iBACf;aACF;YACD,QAAQ,EAAE,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SAC5E,CAAC,CAAC;QAEH,wEAAwE;QACxE,uEAAuE;QACvE,iEAAiE;QACjE,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;YAClD,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC3B,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,SAAoC,EAAE,SAAwB;QAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAAC;YACnC,MAAM,EAAE,GAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;YACnE,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACzD,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,KAAiB;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEvD,iEAAiE;QACjE,qEAAqE;QACrE,wEAAwE;QACxE,sEAAsE;QACtE,OACE,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YAC7B,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,qBAAqB,EACvE,CAAC;YACD,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC3B,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,yEAAyE;QACzE,sEAAsE;QACtE,mEAAmE;QACnE,2DAA2D;QAC3D,yCAAyC;QACzC,MAAM,iBAAiB,GAAG,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC;QAChE,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAE3B,MAAM,KAAK,GAAe;YACxB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,cAAc,EAAE,CAAC;YACjB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,WAAW,EAAE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY;SACpD,CAAC;QAEF,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;QACzD,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/C,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5D,MAAM,WAAW,GAAwB;YACvC,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;YAC1D,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;YACzD,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,gBAAgB,EAAE,OAAO;YACzB,eAAe,EAAE,WAAW;YAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;SACnC,CAAC;QAEF,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,mBAAmB,IAAI,OAAO,CAAC;QACrC,KAAK,CAAC,mBAAmB,IAAI,SAAS,CAAC;QAEvC,KAAK,MAAM,EAAE,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,MAAM,KAAK,SAAS;gBAAE,SAAS;YACnC,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAC7B,MAAM,CAAC,SAAS,IAAI,WAAW,CAAC;YAChC,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;YACpD,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;YACtD,MAAM,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC;YAC5D,MAAM,CAAC,mBAAmB,IAAI,KAAK,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACtE,CAAC;QAED,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACpC,MAAM,EAAE,GAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC3F,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;YAC5B,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9D,WAAW,CAAC,mBAAmB,EAAE,CAAC;YAClC,WAAW,CAAC,SAAS,IAAI,OAAO,CAAC;YACjC,WAAW,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC;YAC7C,WAAW,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC;YAC/C,WAAW,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,CAAC;YACrD,WAAW,CAAC,mBAAmB,IAAI,KAAK,CAAC,mBAAmB,CAAC;QAC/D,CAAC;QAED,0EAA0E;QAC1E,yEAAyE;QACzE,wDAAwD;QACxD,MAAM,UAAU,GAAe;YAC7B,EAAE,EAAE,UAAU,EAAE;YAChB,WAAW;YACX,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACxC,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,QAAQ,EAAE,EAAE,CAAC,QAAQ;gBACrB,SAAS,EAAE,EAAE,CAAC,SAAS;aACxB,CAAC,CAAC;YACH,QAAQ,EAAE,WAAW,CAAC,QAAQ;SAC/B,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,kBAAkB,CAChB,SAAiB;QAEjB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvC,OAAO;wBACL,oBAAoB,EAAE,IAAI,CAAC,gBAAgB;wBAC3C,kBAAkB,EAAE,IAAI,CAAC,eAAe;qBACzC,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,UAAU,CAAC,SAAkB;QAC3B,MAAM,KAAK,GAA2B;YACpC,KAAK,EAAE,EAAE;YACT,cAAc,EAAE,EAAE;YAClB,WAAW,EAAE,EAAE;YACf,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,CAAC;YAClB,kBAAkB,EAAE,CAAC;SACtB,CAAC;QAEF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC;YACzB,OAAO,kBAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,OAAO,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,6EAA6E;IACrE,oBAAoB;QAC1B,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACrC,SAAS,CAAC,mBAAmB,IAAI,KAAK,CAAC,mBAAmB,CAAC;YAC3D,SAAS,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC;YACjD,SAAS,CAAC,mBAAmB,IAAI,KAAK,CAAC,mBAAmB,CAAC;YAC3D,SAAS,CAAC,kBAAkB,IAAI,KAAK,CAAC,kBAAkB,CAAC;YACzD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC1C,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBACjE,KAAK,MAAM,OAAO,IAAI,eAAe;oBAAE,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QACD,wEAAwE;QACxE,uEAAuE;QACvE,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YACvC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;YAC1D,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,KAAmB;QAC7C,MAAM,aAAa,GAAG,IAAI,GAAG,EAU1B,CAAC;QACJ,MAAM,UAAU,GAAG,IAAI,GAAG,EAAqE,CAAC;QAEhG,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,uEAAuE;YACvE,oEAAoE;YACpE,oEAAoE;YACpE,sEAAsE;YACtE,mEAAmE;YACnE,wDAAwD;YACxD,IAAI,MAAM,CAAC,QAAQ,KAAK,cAAc,IAAI,MAAM,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;gBACzE,IAAI,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,KAAK,GAAG;wBACN,SAAS,EAAE,CAAC;wBACZ,SAAS,EAAE,CAAC;wBACZ,WAAW,EAAE,CAAC;wBACd,YAAY,EAAE,CAAC;wBACf,eAAe,EAAE,CAAC;wBAClB,mBAAmB,EAAE,CAAC;qBACvB,CAAC;oBACF,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC5C,CAAC;gBACD,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC;gBACpC,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,mBAAmB,CAAC;gBAC9C,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC;gBACxC,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC;gBAC1C,KAAK,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC;gBAChD,KAAK,CAAC,mBAAmB,IAAI,MAAM,CAAC,mBAAmB,CAAC;YAC1D,CAAC;YAED,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBAC9B,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,KAAK,GAAG,EAA+D,CAAC;oBACxE,KAAK,MAAM,OAAO,IAAI,eAAe;wBAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC1D,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC1C,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,eAAe;oBAAE,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAmC,EAAE,CAAC;QACvD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;YAC5C,WAAW,CAAC,SAAS,CAAC,GAAG;gBACvB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;gBAC9C,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBACxF,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;gBAC1C,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC5C,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC;gBAClD,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC;gBAC1D,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,MAAM,EACJ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;oBAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;oBAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC;oBACjC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC;aACxC,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAsC,EAAE,CAAC;QAC7D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAClD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACpD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAClE,cAAc,CAAC,IAAI,CAAC,GAAG;gBACrB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACpE,WAAW;gBACX,YAAY;gBACZ,eAAe;gBACf,mBAAmB;gBACnB,MAAM,EAAE,WAAW,GAAG,YAAY,GAAG,eAAe,GAAG,mBAAmB;aAC3E,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YACvB,cAAc;YACd,WAAW;YACX,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,eAAe,EACb,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACjF,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;SAC7C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAmB;QACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"turn-cost-attributor.js","sourceRoot":"","sources":["../../src/metrics/turn-cost-attributor.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export interface ProxyManagerOptions {
21
21
  export type OtlpReceiverStatus = 'disabled' | 'running' | 'failed';
22
22
  export declare class ProxyManager {
23
23
  private readonly upstreams;
24
+ private readonly skippedUpstreams;
24
25
  private readonly connectionSessionIds;
25
26
  private httpServer;
26
27
  private otlpReceiver;
@@ -36,6 +37,8 @@ export declare class ProxyManager {
36
37
  registerUpstream(config: UpstreamConfig): void;
37
38
  /** Get the list of registered upstream names. */
38
39
  getUpstreamNames(): string[];
40
+ /** Names of configured upstreams that failed validation and were not registered. */
41
+ getSkippedUpstreamNames(): string[];
39
42
  /** Get a registered upstream by name (for testing). */
40
43
  getUpstream(name: string): ProxyUpstream | undefined;
41
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-manager.d.ts","sourceRoot":"","sources":["../../src/proxy/proxy-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAEV,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACf,MAAM,YAAY,CAAC;AAYpB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC1D,sEAAsE;IACtE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,kEAAkE;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5D;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAqCnE,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiC;IACtE,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsD;IACjF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqD;IAC/E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,OAAO,EAAE,mBAAmB;IASxC,oDAAoD;IACpD,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAM9C,iDAAiD;IACjD,gBAAgB,IAAI,MAAM,EAAE;IAI5B,uDAAuD;IACvD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIpD;;;;OAIG;IACH,qBAAqB,IAAI,kBAAkB;IAI3C,6DAA6D;IACvD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkF5B,yDAAyD;IACnD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B3B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;YAiBV,aAAa;YAmEb,uBAAuB;IAkCrC,OAAO,CAAC,kBAAkB;IA+C1B,OAAO,CAAC,iBAAiB;CAuB1B"}
1
+ {"version":3,"file":"proxy-manager.d.ts","sourceRoot":"","sources":["../../src/proxy/proxy-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAEV,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACf,MAAM,YAAY,CAAC;AAYpB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC1D,sEAAsE;IACtE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,kEAAkE;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5D;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAqCnE,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;IACjD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiC;IACtE,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsD;IACjF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqD;IAC/E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,OAAO,EAAE,mBAAmB;IASxC,oDAAoD;IACpD,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAyB9C,iDAAiD;IACjD,gBAAgB,IAAI,MAAM,EAAE;IAI5B,oFAAoF;IACpF,uBAAuB,IAAI,MAAM,EAAE;IAInC,uDAAuD;IACvD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIpD;;;;OAIG;IACH,qBAAqB,IAAI,kBAAkB;IAI3C,6DAA6D;IACvD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkG5B,yDAAyD;IACnD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B3B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;YAiBV,aAAa;YAoEb,uBAAuB;IAkCrC,OAAO,CAAC,kBAAkB;IA+C1B,OAAO,CAAC,iBAAiB;CAuB1B"}
@@ -35,6 +35,7 @@ function peekJsonRpc(body) {
35
35
  // ---------------------------------------------------------------------------
36
36
  export class ProxyManager {
37
37
  upstreams = new Map();
38
+ skippedUpstreams = [];
38
39
  connectionSessionIds = new WeakMap();
39
40
  httpServer = null;
40
41
  otlpReceiver = null;
@@ -55,14 +56,40 @@ export class ProxyManager {
55
56
  }
56
57
  /** Register an upstream MCP server for proxying. */
57
58
  registerUpstream(config) {
58
- const upstream = createUpstream(config);
59
+ let upstream;
60
+ try {
61
+ upstream = createUpstream(config);
62
+ }
63
+ catch (err) {
64
+ // One invalid http entry (e.g. a legacy http:// URL) must not take down
65
+ // the other upstreams; start() already tolerates individual connect
66
+ // failures. A stdio entry that fails command validation is a security
67
+ // misconfiguration and still stops startup.
68
+ if (config.transportType !== 'http')
69
+ throw err;
70
+ if (!this.upstreams.has(config.name) && !this.skippedUpstreams.includes(config.name)) {
71
+ this.skippedUpstreams.push(config.name);
72
+ }
73
+ logger.error('Skipping invalid upstream', {
74
+ name: config.name,
75
+ error: err instanceof Error ? err.message : String(err),
76
+ });
77
+ return;
78
+ }
59
79
  this.upstreams.set(config.name, upstream);
80
+ const skippedIndex = this.skippedUpstreams.indexOf(config.name);
81
+ if (skippedIndex >= 0)
82
+ this.skippedUpstreams.splice(skippedIndex, 1);
60
83
  logger.info(`Registered upstream "${config.name}"`, { transportType: config.transportType });
61
84
  }
62
85
  /** Get the list of registered upstream names. */
63
86
  getUpstreamNames() {
64
87
  return Array.from(this.upstreams.keys());
65
88
  }
89
+ /** Names of configured upstreams that failed validation and were not registered. */
90
+ getSkippedUpstreamNames() {
91
+ return [...this.skippedUpstreams];
92
+ }
66
93
  /** Get a registered upstream by name (for testing). */
67
94
  getUpstream(name) {
68
95
  return this.upstreams.get(name);
@@ -77,6 +104,15 @@ export class ProxyManager {
77
104
  }
78
105
  /** Connect all upstreams and start the HTTP proxy server. */
79
106
  async start() {
107
+ if (this.skippedUpstreams.length > 0 && this.upstreams.size === 0) {
108
+ throw new Error(`All configured upstreams were rejected (${this.skippedUpstreams.join(', ')}). Proxy cannot start.`);
109
+ }
110
+ if (this.skippedUpstreams.length > 0) {
111
+ logger.warn('Some upstreams were rejected — proxy starting in degraded mode', {
112
+ skipped: this.skippedUpstreams,
113
+ registered: this.upstreams.size,
114
+ });
115
+ }
80
116
  // Connect all upstreams
81
117
  const upstreamNames = Array.from(this.upstreams.keys());
82
118
  const connectResults = await Promise.allSettled(Array.from(this.upstreams.values()).map((u) => u.connect()));
@@ -90,7 +126,10 @@ export class ProxyManager {
90
126
  }
91
127
  }
92
128
  if (failedNames.length > 0 && failedNames.length === this.upstreams.size) {
93
- throw new Error(`All upstreams failed to connect (${failedNames.join(', ')}). Proxy cannot start.`);
129
+ const skipped = this.skippedUpstreams.length > 0
130
+ ? ` Also rejected at startup: ${this.skippedUpstreams.join(', ')}.`
131
+ : '';
132
+ throw new Error(`All upstreams failed to connect (${failedNames.join(', ')}). Proxy cannot start.${skipped}`);
94
133
  }
95
134
  if (failedNames.length > 0) {
96
135
  logger.warn('Some upstreams failed to connect — proxy starting in degraded mode', {
@@ -207,8 +246,9 @@ export class ProxyManager {
207
246
  // Health check
208
247
  if (url === '/health' && req.method === 'GET') {
209
248
  const body = JSON.stringify({
210
- status: 'ok',
249
+ status: this.skippedUpstreams.length > 0 ? 'degraded' : 'ok',
211
250
  upstreams: this.getUpstreamNames(),
251
+ skippedUpstreams: this.getSkippedUpstreamNames(),
212
252
  ...(this.options.otlpReceiverEnabled
213
253
  ? { otlpReceiverStatus: this.otlpReceiverStatus }
214
254
  : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-manager.js","sourceRoot":"","sources":["../../src/proxy/proxy-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy-manager.js","sourceRoot":"","sources":["../../src/proxy/proxy-manager.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,13 @@ export interface UpstreamConfig {
18
18
  * For local development and testing only — never set in production deployments.
19
19
  */
20
20
  readonly allowPrivateHosts?: boolean;
21
+ /**
22
+ * Allow plain `http:` to a private-range host (RFC-1918, link-local) when
23
+ * `allowPrivateHosts` is also set. Without it, only `https:` is accepted for
24
+ * anything other than loopback. Never permits cleartext http to a public host.
25
+ * For local development and testing only.
26
+ */
27
+ readonly allowInsecureHttp?: boolean;
21
28
  /**
22
29
  * Allow bare command names (e.g., "node" instead of "/usr/bin/node").
23
30
  * For local development and testing only — never set in production deployments.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/proxy/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAM1D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,oDAAoD;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAMD,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,sEAAsE;IACtE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,oDAAoD;IACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,+EAA+E;IAC/E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,qEAAqE;IACrE,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACzF,4BAA4B;IAC5B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAMD,iFAAiF;AACjF,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,yFAAyF;AACzF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAMD,yEAAyE;AACzE,eAAO,MAAM,eAAe,aAK1B,CAAC;AAEH,wEAAwE;AACxE,eAAO,MAAM,yBAAyB,UAKrC,CAAC;AAEF,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWzD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/proxy/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAM1D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,oDAAoD;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAMD,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,sEAAsE;IACtE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,oDAAoD;IACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,+EAA+E;IAC/E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,qEAAqE;IACrE,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACzF,4BAA4B;IAC5B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAMD,iFAAiF;AACjF,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,yFAAyF;AACzF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAMD,yEAAyE;AACzE,eAAO,MAAM,eAAe,aAK1B,CAAC;AAEH,wEAAwE;AACxE,eAAO,MAAM,yBAAyB,UAKrC,CAAC;AAEF,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/proxy/types.ts"],"names":[],"mappings":"AAmFA,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,yEAAyE;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,YAAY;IACZ,YAAY;IACZ,gBAAgB;IAChB,gBAAgB;CACjB,CAAC,CAAC;AAEH,wEAAwE;AACxE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,cAAc;IACd,QAAQ;IACR,eAAe;IACf,gBAAgB;CACjB,CAAC;AAEF,yDAAyD;AACzD,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,IAAI,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,IAAI,KAAK,KAAK,iBAAiB,IAAI,KAAK,KAAK,kBAAkB,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QACzF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/proxy/types.ts"],"names":[],"mappings":"AA0FA,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,yEAAyE;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,YAAY;IACZ,YAAY;IACZ,gBAAgB;IAChB,gBAAgB;CACjB,CAAC,CAAC;AAEH,wEAAwE;AACxE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,cAAc;IACd,QAAQ;IACR,eAAe;IACf,gBAAgB;CACjB,CAAC;AAEF,yDAAyD;AACzD,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,IAAI,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,IAAI,KAAK,KAAK,iBAAiB,IAAI,KAAK,KAAK,kBAAkB,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QACzF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"upstream-http.d.ts","sourceRoot":"","sources":["../../src/proxy/upstream-http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA0B,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAE9F,OAAO,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAsB/E,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,KAAK,SAAK;IAED,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;CAIjG;AAMD,qBAAa,YAAa,YAAW,aAAa;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAG,MAAM,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;gBAEhC,MAAM,EAAE,cAAc;IAa5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAmK/F"}
1
+ {"version":3,"file":"upstream-http.d.ts","sourceRoot":"","sources":["../../src/proxy/upstream-http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA0B,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAG9F,OAAO,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAsB/E,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,KAAK,SAAK;IAED,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;CAIjG;AA6BD,qBAAa,YAAa,YAAW,aAAa;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAG,MAAM,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;gBAEhC,MAAM,EAAE,cAAc;IA+B5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAmK/F"}
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import { request as httpRequest } from 'node:http';
9
9
  import { request as httpsRequest } from 'node:https';
10
+ import { isIP } from 'node:net';
10
11
  import { Transform } from 'node:stream';
11
12
  import { performance } from 'node:perf_hooks';
12
13
  import { createLogger } from '../shared/index.js';
@@ -37,6 +38,27 @@ export class ByteCountTransform extends Transform {
37
38
  // ---------------------------------------------------------------------------
38
39
  // HttpUpstream
39
40
  // ---------------------------------------------------------------------------
41
+ // Hosts where cleartext http: is acceptable. URL.hostname keeps brackets on IPv6 literals.
42
+ const LOOPBACK_HOSTS = new Set(['localhost', '127.0.0.1', '::1']);
43
+ function bareHost(hostname) {
44
+ return hostname.replace(/^\[(.*)\]$/, '$1');
45
+ }
46
+ function isLoopbackHost(hostname) {
47
+ return LOOPBACK_HOSTS.has(bareHost(hostname).toLowerCase());
48
+ }
49
+ // True only for an IP literal that validateSsrfUrl rejects as private. Hostnames are
50
+ // never resolved here, so a metadata FQDN can't pass as private.
51
+ function isPrivateTarget(label, url) {
52
+ if (isIP(bareHost(url.hostname)) === 0)
53
+ return false;
54
+ try {
55
+ validateSsrfUrl(label, url);
56
+ return false;
57
+ }
58
+ catch {
59
+ return true;
60
+ }
61
+ }
40
62
  export class HttpUpstream {
41
63
  name;
42
64
  transportType = 'http';
@@ -50,8 +72,29 @@ export class HttpUpstream {
50
72
  this.name = config.name;
51
73
  this.url = new URL(config.url);
52
74
  this.allowPrivateHosts = config.allowPrivateHosts ?? false;
75
+ const label = `HttpUpstream "${this.name}"`;
53
76
  if (!this.allowPrivateHosts) {
54
- validateSsrfUrl(`HttpUpstream "${this.name}"`, this.url);
77
+ validateSsrfUrl(label, this.url);
78
+ }
79
+ if (this.url.protocol === 'http:' && !isLoopbackHost(this.url.hostname)) {
80
+ const privateTarget = this.allowPrivateHosts && isPrivateTarget(label, this.url);
81
+ if (!(privateTarget && config.allowInsecureHttp === true)) {
82
+ const host = this.url.hostname;
83
+ let message;
84
+ if (privateTarget) {
85
+ message = `${label}: http:// to private host "${host}" requires https:// or allowInsecureHttp: true on this upstream`;
86
+ }
87
+ else if (this.allowPrivateHosts && isIP(bareHost(host)) === 0) {
88
+ message = `${label}: http:// to host "${host}" is not allowed; allowInsecureHttp only applies to a private IP address (hostnames are not resolved for this check), so use https:// or the host's private IP address`;
89
+ }
90
+ else if (this.allowPrivateHosts) {
91
+ message = `${label}: http:// to public address "${host}" is not allowed; allowInsecureHttp only applies to a private IP address, so use https://`;
92
+ }
93
+ else {
94
+ message = `${label}: http:// to host "${host}" is not allowed; use https:// (http:// is only accepted for localhost, 127.0.0.1 and ::1, or for a private IP address with both allowPrivateHosts and allowInsecureHttp)`;
95
+ }
96
+ throw new Error(message);
97
+ }
55
98
  }
56
99
  this.timeoutMs = config.timeoutMs ?? 30_000;
57
100
  }