brass-runtime 1.16.0 → 1.16.1

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 (210) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +283 -18
  3. package/dist/agent/cli/main.cjs +38 -38
  4. package/dist/agent/cli/main.js +6 -6
  5. package/dist/agent/cli/main.mjs +6 -6
  6. package/dist/agent/index.cjs +7 -7
  7. package/dist/agent/index.d.ts +1 -1
  8. package/dist/agent/index.js +6 -6
  9. package/dist/agent/index.mjs +6 -6
  10. package/dist/chunk-2HQTDLHF.mjs +683 -0
  11. package/dist/chunk-36I3M4UC.mjs +370 -0
  12. package/dist/{chunk-QY5FKYEQ.js → chunk-3AYM6WPJ.js} +570 -51
  13. package/dist/chunk-3LOYJFRR.cjs +300 -0
  14. package/dist/chunk-3Y2RIUMM.js +300 -0
  15. package/dist/{chunk-N6VHMOWB.cjs → chunk-4ROBZFL6.cjs} +128 -128
  16. package/dist/{chunk-NC5SDRYE.js → chunk-52OB2ROS.js} +4 -4
  17. package/dist/{chunk-JX3LZQJH.cjs → chunk-52PPNNI4.cjs} +82 -20
  18. package/dist/{chunk-5YOQOXEQ.cjs → chunk-5EC274J5.cjs} +676 -293
  19. package/dist/chunk-5QC7LRZ3.js +229 -0
  20. package/dist/{chunk-7TL2LHQJ.js → chunk-5VRJNBLZ.mjs} +524 -141
  21. package/dist/chunk-62AZW6UT.cjs +313 -0
  22. package/dist/chunk-6IXXWIUM.js +683 -0
  23. package/dist/chunk-74ZTY6CP.js +2871 -0
  24. package/dist/chunk-76YMRMH2.cjs +777 -0
  25. package/dist/chunk-7CMJS3QE.mjs +2871 -0
  26. package/dist/{chunk-2WC63LJK.mjs → chunk-7JIJOVCT.js} +20 -10
  27. package/dist/{chunk-FM4W4QPL.js → chunk-A2OM6NEH.mjs} +5 -4
  28. package/dist/chunk-AGR5B2BC.cjs +683 -0
  29. package/dist/chunk-AVNQLJ5V.js +777 -0
  30. package/dist/chunk-B33ICAKP.js +313 -0
  31. package/dist/{chunk-J3H54ZRV.mjs → chunk-B5JD23U7.mjs} +1 -1
  32. package/dist/chunk-BABBZK4Y.js +2024 -0
  33. package/dist/{chunk-U5KWK3PX.mjs → chunk-C3MDXTRZ.js} +11 -0
  34. package/dist/{chunk-F5EUMJL7.mjs → chunk-CIZFIMK5.js} +55 -5
  35. package/dist/{chunk-SPUEME2B.cjs → chunk-CZIVE6NT.cjs} +12 -1
  36. package/dist/{chunk-TDVMADDN.js → chunk-DNFJLJMW.mjs} +11 -0
  37. package/dist/chunk-DNFO2EIZ.mjs +777 -0
  38. package/dist/{chunk-XDZOO4L5.js → chunk-EJ6BPYVR.mjs} +79 -17
  39. package/dist/{chunk-JNFRRJYH.cjs → chunk-ENKODRU3.cjs} +242 -192
  40. package/dist/chunk-EOC4UHBS.mjs +229 -0
  41. package/dist/{chunk-7LVI2GIN.js → chunk-FH2X7BVP.js} +507 -72
  42. package/dist/{chunk-OOGJ73B6.js → chunk-FHQGHPMO.mjs} +20 -10
  43. package/dist/{chunk-WQ5QNU5R.cjs → chunk-GLE2WY7Z.cjs} +652 -217
  44. package/dist/{chunk-G6IQOE4P.mjs → chunk-GYM3LLGS.mjs} +507 -72
  45. package/dist/chunk-HLWLMW2F.mjs +2024 -0
  46. package/dist/{chunk-TVN5I4U6.cjs → chunk-JF5WGYJJ.cjs} +25 -24
  47. package/dist/{chunk-CY33PGEX.mjs → chunk-KH4SYAOS.mjs} +570 -51
  48. package/dist/chunk-KN32XNTH.mjs +313 -0
  49. package/dist/chunk-KQLYONSE.cjs +2871 -0
  50. package/dist/{chunk-7HUOJA4W.cjs → chunk-KZJQ723N.cjs} +90 -80
  51. package/dist/{chunk-CCKHV5BT.mjs → chunk-L2SYFEBS.js} +5 -4
  52. package/dist/{chunk-IJT6RRQ5.cjs → chunk-L6VB5N7Q.cjs} +20 -9
  53. package/dist/{chunk-ZGLD4TVZ.mjs → chunk-MBEJI5HF.mjs} +4 -4
  54. package/dist/{chunk-PRWCB3QL.mjs → chunk-MIIYDLGM.js} +524 -141
  55. package/dist/{chunk-H55LI6WY.js → chunk-MOO4L7F4.mjs} +15 -4
  56. package/dist/{chunk-7XOPAB5Q.js → chunk-MT3OWDPC.mjs} +55 -5
  57. package/dist/chunk-MVGUEJ5Z.cjs +370 -0
  58. package/dist/chunk-PD4EJTQC.cjs +229 -0
  59. package/dist/chunk-PWC3RBQE.mjs +300 -0
  60. package/dist/{chunk-MWXMNYJS.cjs → chunk-Q2I37RP3.cjs} +643 -124
  61. package/dist/{chunk-VFIUZG7J.mjs → chunk-RKGKFN2A.js} +79 -17
  62. package/dist/{chunk-NYL4D7SK.cjs → chunk-SA6HUJVI.cjs} +5 -5
  63. package/dist/{chunk-K2T3DV26.mjs → chunk-TRM4JUZQ.js} +15 -4
  64. package/dist/chunk-UB4B6OFY.js +370 -0
  65. package/dist/{chunk-G3XGCZDQ.js → chunk-UCUBNWM2.js} +1 -1
  66. package/dist/chunk-VN44DYYT.cjs +2024 -0
  67. package/dist/{client-CtFmoDvM.d.ts → client-CZHU674n.d.ts} +211 -36
  68. package/dist/core/index.cjs +135 -9
  69. package/dist/core/index.d.ts +238 -33
  70. package/dist/core/index.js +155 -29
  71. package/dist/core/index.mjs +155 -29
  72. package/dist/{effect-CGNl5Rqp.d.ts → effect-DIUHZ9IN.d.ts} +89 -1
  73. package/dist/effectRunner-CFLC32IK.cjs +8 -0
  74. package/dist/{effectRunner-A4CHJXJI.js → effectRunner-L4S7IPT3.js} +2 -2
  75. package/dist/{effectRunner-OPUF6QRN.mjs → effectRunner-NNGG75QA.mjs} +2 -2
  76. package/dist/http/index.cjs +324 -2986
  77. package/dist/http/index.d.ts +54 -68
  78. package/dist/http/index.js +238 -2900
  79. package/dist/http/index.mjs +238 -2900
  80. package/dist/http/testing.cjs +14 -12
  81. package/dist/http/testing.d.ts +5 -4
  82. package/dist/http/testing.js +10 -8
  83. package/dist/http/testing.mjs +10 -8
  84. package/dist/index.cjs +423 -255
  85. package/dist/index.d.ts +87 -69
  86. package/dist/index.js +301 -133
  87. package/dist/index.mjs +301 -133
  88. package/dist/observability/index.cjs +16 -531
  89. package/dist/observability/index.d.ts +81 -8
  90. package/dist/observability/index.js +23 -538
  91. package/dist/observability/index.mjs +23 -538
  92. package/dist/perf/cli.cjs +401 -0
  93. package/dist/perf/cli.d.ts +1 -0
  94. package/dist/perf/cli.js +401 -0
  95. package/dist/perf/cli.mjs +401 -0
  96. package/dist/perf/index.cjs +141 -0
  97. package/dist/perf/index.d.ts +483 -0
  98. package/dist/perf/index.js +141 -0
  99. package/dist/perf/index.mjs +141 -0
  100. package/dist/schedule-CK3Ml_7p.d.ts +259 -0
  101. package/dist/schema/index.cjs +6 -2
  102. package/dist/schema/index.d.ts +3 -1
  103. package/dist/schema/index.js +5 -1
  104. package/dist/schema/index.mjs +5 -1
  105. package/dist/{server-C8hDXA74.d.ts → server-GJPg8ZSG.d.ts} +4 -3
  106. package/dist/{stream-dvSs0QS5.d.ts → stream-B4oK9JFP.d.ts} +1 -1
  107. package/dist/{tracer-B5tRH9H7.d.ts → tracer-Hwt1cl7h.d.ts} +13 -54
  108. package/dist/{tracing-Dt9S_6V8.d.ts → tracing-DqbTKGcf.d.ts} +1 -1
  109. package/docs/ARCHITECTURE.md +292 -0
  110. package/docs/README.md +63 -0
  111. package/docs/adr/0001-ai-context-pack.md +32 -0
  112. package/docs/agent-apply-mode.md +104 -0
  113. package/docs/agent-approvals.md +110 -0
  114. package/docs/agent-batch.md +185 -0
  115. package/docs/agent-boundaries.md +112 -0
  116. package/docs/agent-chat-sessions.md +160 -0
  117. package/docs/agent-ci.md +17 -0
  118. package/docs/agent-cli.md +405 -0
  119. package/docs/agent-config.md +480 -0
  120. package/docs/agent-context-discovery.md +159 -0
  121. package/docs/agent-copilot-like-dx.md +126 -0
  122. package/docs/agent-declarative-optimized-planning.md +138 -0
  123. package/docs/agent-dx.md +224 -0
  124. package/docs/agent-env-files.md +126 -0
  125. package/docs/agent-follow-up-context.md +43 -0
  126. package/docs/agent-global-usage.md +180 -0
  127. package/docs/agent-init.md +109 -0
  128. package/docs/agent-install-and-configure.md +516 -0
  129. package/docs/agent-language-workspace-ux.md +99 -0
  130. package/docs/agent-llm-adapters.md +123 -0
  131. package/docs/agent-local-install.md +190 -0
  132. package/docs/agent-local-tests.md +51 -0
  133. package/docs/agent-observability.md +155 -0
  134. package/docs/agent-patch-quality-loop.md +162 -0
  135. package/docs/agent-presets.md +22 -0
  136. package/docs/agent-project-commands.md +237 -0
  137. package/docs/agent-project-intelligence.md +156 -0
  138. package/docs/agent-redaction.md +18 -0
  139. package/docs/agent-release-readiness.md +76 -0
  140. package/docs/agent-rollback-safety.md +162 -0
  141. package/docs/agent-rollback.md +23 -0
  142. package/docs/agent-run-artifacts.md +16 -0
  143. package/docs/agent-vscode-auto-discovery.md +137 -0
  144. package/docs/agent-vscode-batch-runner.md +100 -0
  145. package/docs/agent-vscode-chat-layout.md +90 -0
  146. package/docs/agent-vscode-clean-install.md +147 -0
  147. package/docs/agent-vscode-code-actions.md +70 -0
  148. package/docs/agent-vscode-diff-preview.md +45 -0
  149. package/docs/agent-vscode-inline-assist.md +56 -0
  150. package/docs/agent-vscode-install.md +186 -0
  151. package/docs/agent-vscode-model-setup.md +97 -0
  152. package/docs/agent-vscode-patch-preview.md +92 -0
  153. package/docs/agent-vscode-problems.md +79 -0
  154. package/docs/agent-vscode-project-dashboard.md +106 -0
  155. package/docs/agent-vscode-run-history.md +92 -0
  156. package/docs/agent-vscode-ux.md +73 -0
  157. package/docs/ai/INVARIANTS.md +84 -0
  158. package/docs/ai/PROJECT_MAP.md +338 -0
  159. package/docs/ai/PUBLIC_API.md +336 -0
  160. package/docs/ai/VALIDATION_MATRIX.md +67 -0
  161. package/docs/api-polish.md +37 -0
  162. package/docs/cancellation.md +162 -0
  163. package/docs/coverage.md +46 -0
  164. package/docs/getting-started.md +159 -0
  165. package/docs/guides/README.md +40 -0
  166. package/docs/guides/circuit-breaker.md +89 -0
  167. package/docs/guides/error-handling.md +91 -0
  168. package/docs/guides/getting-started.md +107 -0
  169. package/docs/guides/layers.md +189 -0
  170. package/docs/guides/metrics.md +101 -0
  171. package/docs/guides/resource-management.md +141 -0
  172. package/docs/guides/retry.md +215 -0
  173. package/docs/guides/semaphore.md +66 -0
  174. package/docs/guides/streams.md +117 -0
  175. package/docs/guides/supervisors.md +98 -0
  176. package/docs/guides/testing.md +162 -0
  177. package/docs/guides/tracing.md +71 -0
  178. package/docs/http-recipes.md +399 -0
  179. package/docs/http.md +749 -0
  180. package/docs/modules.md +285 -0
  181. package/docs/observability-collector-smoke.md +31 -0
  182. package/docs/observability-framework-examples.md +98 -0
  183. package/docs/observability.md +542 -0
  184. package/docs/otel-collector-smoke.yaml +27 -0
  185. package/docs/performance-profiler.md +199 -0
  186. package/docs/production-readiness.md +73 -0
  187. package/docs/recipes/README.md +12 -0
  188. package/docs/recipes/http-server.md +45 -0
  189. package/docs/recipes/layers.md +44 -0
  190. package/docs/recipes/performance.md +47 -0
  191. package/docs/recipes/runtime.md +41 -0
  192. package/docs/recipes/testing.md +41 -0
  193. package/docs/release.md +53 -0
  194. package/docs/wasm-bounded-queues.md +44 -0
  195. package/docs/wasm-engine-observability-benchmarks.md +85 -0
  196. package/docs/wasm-fiber-engine.md +117 -0
  197. package/docs/wasm-scheduler-state-machine.md +122 -0
  198. package/docs/wasm-stream-chunks.md +54 -0
  199. package/package.json +22 -2
  200. package/dist/chunk-45F7OKGT.cjs +0 -104
  201. package/dist/chunk-7V4KY4RL.mjs +0 -104
  202. package/dist/chunk-DJQ7OMMB.cjs +0 -144
  203. package/dist/chunk-GOV47PPB.mjs +0 -552
  204. package/dist/chunk-JF4XXPZ5.cjs +0 -552
  205. package/dist/chunk-KCPT2D6G.js +0 -552
  206. package/dist/chunk-NOYZIMUJ.mjs +0 -144
  207. package/dist/chunk-PNVFW245.js +0 -144
  208. package/dist/chunk-ROJC3NBJ.js +0 -104
  209. package/dist/effectRunner-3ZHAD3LE.cjs +0 -8
  210. package/dist/schedule-Fque9Abz.d.ts +0 -70
@@ -1,10 +1,11 @@
1
- import { L as LogLevel, S as SpanAttributes, O as Observability, T as TraceContextCarrier, R as RequestObservabilityContextInput, a as RequestObservabilityContext, b as ObservabilityOptions } from '../server-C8hDXA74.js';
2
- export { C as CardinalityConfig, c as CardinalityLimiterOptions, E as ExportBatchResult, d as ExportPipeline, e as ExportPipelineFlushOptions, f as ExportPipelineFlushResult, g as ExportPipelineOptions, h as ExportPipelineStats, i as ExportPipelineTuning, j as ExportRetryOptions, k as ExportSignal, H as HealthCheck, l as HealthCheckResult, m as HealthHttpResponse, n as HealthStatus, o as HttpServerObservabilityLogOptions, p as HttpServerObservabilityOptions, q as HttpServerObservabilitySpanOptions, r as HttpServerOutcome, I as InjectTraceContextOptions, s as OTLP_JSON_CONTENT_TYPE, t as ObservabilityExporters, u as ObservabilityFlushError, v as ObservabilityFlushResult, w as ObservabilityLogExportResult, x as ObservabilityOtlpOptions, y as ObservabilityRedactor, z as ObservabilityRequestEnvInput, A as ObservabilityRuntimeEnv, B as ObservabilityTraceExportResult, D as ObservedHttpServerResult, F as OtlpAttributeValue, G as OtlpExportOptions, J as OtlpFetch, K as OtlpHttpExportResult, M as OtlpHttpExporterOptions, N as OtlpHttpResponse, P as PROMETHEUS_CONTENT_TYPE, Q as PrometheusMetricsExporter, U as PrometheusMetricsOptions, V as RedactionConfig, W as RedactionOptions, X as RequestObservabilityRuntimeOptions, Y as ResolvedTraceSampling, Z as RuntimeHealthOptions, _ as RuntimeHealthReport, $ as RuntimeMetricsSinkOptions, a0 as SpanLink, a1 as SpanOptions, a2 as SpanSource, a3 as StructuredLogRecord, a4 as StructuredLogSinkOptions, a5 as StructuredLogSource, a6 as TraceContextHeaderValue, a7 as TraceSamplingConfig, a8 as TraceSamplingOptions, a9 as TraceSamplingRule, aa as alwaysOffSampler, ab as alwaysOnSampler, ac as currentBaggage, ad as currentSpanLink, ae as defaultStructuredLogWriter, af as exemplarFromTraceContext, ag as exportWithRetry, ah as extractBaggage, ai as extractTraceContext, aj as formatBaggage, ak as formatPrometheusMetrics, al as formatStructuredLog, am as formatTraceparent, an as healthToHttpResponse, ao as injectBaggage, ap as injectTraceContext, aq as logEffect, ar as makeCardinalityLimitedMetrics, as as makeExportPipeline, at as makeObservability, au as makeObservabilityRedactor, av as makeOtlpHttpLogExporter, aw as makeOtlpHttpMetricsExporter, ax as makeOtlpHttpSpanExporter, ay as makePrometheusMetricsExporter, az as makeRequestObservabilityContext, aA as makeRuntimeHealth, aB as makeRuntimeMetricsSink, aC as makeStructuredLogSink, aD as makeTraceSampler, aE as metricsSnapshotToOtlp, aF as normalizeHttpRoute, aG as normalizeSpanId, aH as normalizeTraceId, aI as observeHttpServerRequest, aJ as otlpAnyValue, aK as parseBaggage, aL as parseTraceparent, aM as postOtlpJson, aN as ratioSampler, aO as readiness, aP as resolveRequestBaggage, aQ as resolveRequestTraceSeed, aR as resolveTraceSampling, aS as runObservedHttpServerEffect, aT as runtimeHealth, aU as sanitizeHttpTarget, aV as shouldSampleWith, aW as snapshotRuntimeHealth, aX as spanEvent, aY as spanLink, aZ as spansToOtlp, a_ as structuredLogsToOtlp, a$ as toOtlpAttributes, b0 as unixNanoFromMs, b1 as withBaggage, b2 as withLogContext, b3 as withSpan, b4 as withTimeout } from '../server-C8hDXA74.js';
3
- import { M as MetricsRegistry } from '../tracer-B5tRH9H7.js';
4
- import { a as HttpRequest, d as HttpMiddleware } from '../client-CtFmoDvM.js';
5
- import '../effect-CGNl5Rqp.js';
6
- import '../stream-dvSs0QS5.js';
7
- import '../schedule-Fque9Abz.js';
1
+ import { L as LogLevel, S as SpanAttributes, O as Observability, T as TraceContextCarrier, R as RequestObservabilityContextInput, a as RequestObservabilityContext, b as ObservabilityOptions } from '../server-GJPg8ZSG.js';
2
+ export { C as CardinalityConfig, c as CardinalityLimiterOptions, E as ExportBatchResult, d as ExportPipeline, e as ExportPipelineFlushOptions, f as ExportPipelineFlushResult, g as ExportPipelineOptions, h as ExportPipelineStats, i as ExportPipelineTuning, j as ExportRetryOptions, k as ExportSignal, H as HealthCheck, l as HealthCheckResult, m as HealthHttpResponse, n as HealthStatus, o as HttpServerObservabilityLogOptions, p as HttpServerObservabilityOptions, q as HttpServerObservabilitySpanOptions, r as HttpServerOutcome, I as InjectTraceContextOptions, s as OTLP_JSON_CONTENT_TYPE, t as ObservabilityExporters, u as ObservabilityFlushError, v as ObservabilityFlushResult, w as ObservabilityLogExportResult, x as ObservabilityOtlpOptions, y as ObservabilityRedactor, z as ObservabilityRequestEnvInput, A as ObservabilityRuntimeEnv, B as ObservabilityTraceExportResult, D as ObservedHttpServerResult, F as OtlpAttributeValue, G as OtlpExportOptions, J as OtlpFetch, K as OtlpHttpExportResult, M as OtlpHttpExporterOptions, N as OtlpHttpResponse, P as PROMETHEUS_CONTENT_TYPE, Q as PrometheusMetricsExporter, U as PrometheusMetricsOptions, V as RedactionConfig, W as RedactionOptions, X as RequestObservabilityRuntimeOptions, Y as ResolvedTraceSampling, Z as RuntimeHealthOptions, _ as RuntimeHealthReport, $ as RuntimeMetricsSinkOptions, a0 as SpanLink, a1 as SpanOptions, a2 as SpanSource, a3 as StructuredLogRecord, a4 as StructuredLogSinkOptions, a5 as StructuredLogSource, a6 as TraceContextHeaderValue, a7 as TraceSamplingConfig, a8 as TraceSamplingOptions, a9 as TraceSamplingRule, aa as alwaysOffSampler, ab as alwaysOnSampler, ac as currentBaggage, ad as currentSpanLink, ae as defaultStructuredLogWriter, af as exemplarFromTraceContext, ag as exportWithRetry, ah as extractBaggage, ai as extractTraceContext, aj as formatBaggage, ak as formatPrometheusMetrics, al as formatStructuredLog, am as formatTraceparent, an as healthToHttpResponse, ao as injectBaggage, ap as injectTraceContext, aq as logEffect, ar as makeCardinalityLimitedMetrics, as as makeExportPipeline, at as makeObservability, au as makeObservabilityRedactor, av as makeOtlpHttpLogExporter, aw as makeOtlpHttpMetricsExporter, ax as makeOtlpHttpSpanExporter, ay as makePrometheusMetricsExporter, az as makeRequestObservabilityContext, aA as makeRuntimeHealth, aB as makeRuntimeMetricsSink, aC as makeStructuredLogSink, aD as makeTraceSampler, aE as metricsSnapshotToOtlp, aF as normalizeHttpRoute, aG as normalizeSpanId, aH as normalizeTraceId, aI as observeHttpServerRequest, aJ as otlpAnyValue, aK as parseBaggage, aL as parseTraceparent, aM as postOtlpJson, aN as ratioSampler, aO as readiness, aP as resolveRequestBaggage, aQ as resolveRequestTraceSeed, aR as resolveTraceSampling, aS as runObservedHttpServerEffect, aT as runtimeHealth, aU as sanitizeHttpTarget, aV as shouldSampleWith, aW as snapshotRuntimeHealth, aX as spanEvent, aY as spanLink, aZ as spansToOtlp, a_ as structuredLogsToOtlp, a$ as toOtlpAttributes, b0 as unixNanoFromMs, b1 as withBaggage, b2 as withLogContext, b3 as withSpan, b4 as withTimeout } from '../server-GJPg8ZSG.js';
3
+ import { M as MetricsRegistry } from '../tracer-Hwt1cl7h.js';
4
+ import { a as HttpRequest, d as HttpMiddleware } from '../client-CZHU674n.js';
5
+ import '../effect-DIUHZ9IN.js';
6
+ import '../schedule-CK3Ml_7p.js';
7
+ import '../stream-B4oK9JFP.js';
8
+ import '../schema/index.js';
8
9
 
9
10
  type HttpOutcome = "success" | "error" | "abort" | "bad_url" | "fetch_error" | "timeout" | "pool_rejected" | "pool_timeout" | "pool_closed" | "batch_split_error";
10
11
  type HttpObservabilityLogOptions = {
@@ -24,17 +25,89 @@ type HttpAdaptiveLimiterObservabilityOptions = {
24
25
  */
25
26
  readonly includeKeyLabel?: boolean;
26
27
  };
28
+ type HttpPolicyLabelKey = "preset" | "lane" | "poolKey" | "dedupKey" | "priority" | "retry";
29
+ type HttpPolicyObservabilityOptions = {
30
+ readonly enabled?: boolean;
31
+ /**
32
+ * Adds selected policy fields as metric labels. Disabled by default because
33
+ * pool keys, lanes, and dedup keys may be high-cardinality in user systems.
34
+ */
35
+ readonly labelKeys?: readonly HttpPolicyLabelKey[];
36
+ };
27
37
  type HttpObservabilityOptions = {
28
38
  readonly metrics?: MetricsRegistry | false;
29
39
  readonly logs?: false | HttpObservabilityLogOptions;
30
40
  readonly spans?: false | HttpObservabilitySpanOptions;
31
41
  readonly adaptiveLimiter?: boolean | HttpAdaptiveLimiterObservabilityOptions;
42
+ readonly policy?: boolean | HttpPolicyObservabilityOptions;
32
43
  readonly injectTraceHeaders?: boolean;
33
44
  readonly includeHostLabel?: boolean;
34
45
  readonly route?: string | ((req: HttpRequest) => string | undefined);
35
46
  readonly clock?: () => number;
36
47
  readonly durationBuckets?: readonly number[];
37
48
  };
49
+ declare const HTTP_OBSERVABILITY_CONTRACT: Readonly<{
50
+ readonly metrics: Readonly<{
51
+ requestsTotal: "brass_http_client_requests_total";
52
+ durationMs: "brass_http_client_duration_ms";
53
+ inFlight: "brass_http_client_in_flight";
54
+ adaptiveLimiterLimit: "brass_http_adaptive_limiter_limit";
55
+ adaptiveLimiterInFlight: "brass_http_adaptive_limiter_in_flight";
56
+ adaptiveLimiterQueueDepth: "brass_http_adaptive_limiter_queue_depth";
57
+ adaptiveLimiterStateCount: "brass_http_adaptive_limiter_state_count";
58
+ adaptiveLimiterUtilization: "brass_http_adaptive_limiter_utilization";
59
+ adaptiveLimiterErrorRate: "brass_http_adaptive_limiter_error_rate";
60
+ adaptiveLimiterRequestsPerSecond: "brass_http_adaptive_limiter_requests_per_second";
61
+ adaptiveLimiterCompletionsPerSecond: "brass_http_adaptive_limiter_completions_per_second";
62
+ adaptiveLimiterRejectionRate: "brass_http_adaptive_limiter_rejection_rate";
63
+ }>;
64
+ readonly labels: Readonly<{
65
+ method: "method";
66
+ host: "host";
67
+ route: "route";
68
+ outcome: "outcome";
69
+ status: "status";
70
+ adaptiveLimiterKey: "key";
71
+ lane: "lane";
72
+ poolKey: "pool_key";
73
+ dedupKey: "dedup_key";
74
+ priority: "priority";
75
+ retry: "retry";
76
+ policy: "policy";
77
+ }>;
78
+ readonly spanAttributes: Readonly<{
79
+ method: "http.request.method";
80
+ url: "url.full";
81
+ route: "http.route";
82
+ host: "server.address";
83
+ durationMs: "http.duration_ms";
84
+ outcome: "http.outcome";
85
+ statusCode: "http.status_code";
86
+ retryable: "http.retryable";
87
+ policyLane: "http.request.policy.lane";
88
+ policyPreset: "http.request.policy.preset";
89
+ policyPoolKey: "http.request.policy.pool_key";
90
+ policyDedupKey: "http.request.policy.dedup_key";
91
+ policyPriority: "http.request.policy.priority";
92
+ policyRetry: "http.request.policy.retry";
93
+ }>;
94
+ readonly logMessages: Readonly<{
95
+ request: "http.client.request";
96
+ response: "http.client.response";
97
+ error: "http.client.error";
98
+ }>;
99
+ readonly logFields: Readonly<{
100
+ method: "method";
101
+ url: "url";
102
+ host: "host";
103
+ route: "route";
104
+ status: "status";
105
+ outcome: "outcome";
106
+ durationMs: "durationMs";
107
+ retryable: "retryable";
108
+ policy: "policy";
109
+ }>;
110
+ }>;
38
111
  declare function withHttpObservability(options?: Observability | HttpObservabilityOptions): HttpMiddleware;
39
112
  declare const makeHttpObservabilityMiddleware: typeof withHttpObservability;
40
113
 
@@ -76,4 +149,4 @@ declare function makeObservabilityFromEnv(env?: ObservabilityEnv, overrides?: Ob
76
149
  declare function observabilityOptionsForPreset(preset: Exclude<ObservabilityPreset, "disabled">): ObservabilityOptions;
77
150
  declare function observabilityOptionsFromEnv(env?: ObservabilityEnv, preset?: Exclude<ObservabilityPreset, "disabled">): ObservabilityOptions;
78
151
 
79
- export { type ExpressLikeRequest, type FastifyLikeRequest, type FetchLikeRequest, type HttpAdaptiveLimiterObservabilityOptions, type HttpObservabilityLogOptions, type HttpObservabilityOptions, type HttpObservabilitySpanOptions, type HttpOutcome, LogLevel, type NodeLikeIncomingMessage, Observability, type ObservabilityEnv, ObservabilityOptions, type ObservabilityPreset, RequestObservabilityContext, RequestObservabilityContextInput, SpanAttributes, TraceContextCarrier, makeExpressRequestObservabilityContext, makeFastifyRequestObservabilityContext, makeFetchRequestObservabilityContext, makeHttpObservabilityMiddleware, makeNodeRequestObservabilityContext, makeNoopObservability, makeObservabilityFromEnv, makeObservabilityPreset, observabilityOptionsForPreset, observabilityOptionsFromEnv, withFetchRequestObservability, withHttpObservability, withNodeRequestObservability };
152
+ export { type ExpressLikeRequest, type FastifyLikeRequest, type FetchLikeRequest, HTTP_OBSERVABILITY_CONTRACT, type HttpAdaptiveLimiterObservabilityOptions, type HttpObservabilityLogOptions, type HttpObservabilityOptions, type HttpObservabilitySpanOptions, type HttpOutcome, type HttpPolicyLabelKey, type HttpPolicyObservabilityOptions, LogLevel, type NodeLikeIncomingMessage, Observability, type ObservabilityEnv, ObservabilityOptions, type ObservabilityPreset, RequestObservabilityContext, RequestObservabilityContextInput, SpanAttributes, TraceContextCarrier, makeExpressRequestObservabilityContext, makeFastifyRequestObservabilityContext, makeFetchRequestObservabilityContext, makeHttpObservabilityMiddleware, makeNodeRequestObservabilityContext, makeNoopObservability, makeObservabilityFromEnv, makeObservabilityPreset, observabilityOptionsForPreset, observabilityOptionsFromEnv, withFetchRequestObservability, withHttpObservability, withNodeRequestObservability };