@cicctencent/agent-core 0.1.123 → 0.1.124

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 (35) hide show
  1. package/dist/cjs/index.d.ts +3 -1
  2. package/dist/cjs/index.d.ts.map +1 -1
  3. package/dist/cjs/index.js +12 -3
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/observability/metrics.d.ts +40 -0
  6. package/dist/cjs/observability/metrics.d.ts.map +1 -0
  7. package/dist/cjs/observability/metrics.js +194 -0
  8. package/dist/cjs/observability/metrics.js.map +1 -0
  9. package/dist/cjs/observability/propagation.d.ts +21 -1
  10. package/dist/cjs/observability/propagation.d.ts.map +1 -1
  11. package/dist/cjs/observability/propagation.js +67 -2
  12. package/dist/cjs/observability/propagation.js.map +1 -1
  13. package/dist/cjs/observability/sink.d.ts.map +1 -1
  14. package/dist/cjs/observability/sink.js +6 -0
  15. package/dist/cjs/observability/sink.js.map +1 -1
  16. package/dist/cjs/observability/types.d.ts +7 -0
  17. package/dist/cjs/observability/types.d.ts.map +1 -1
  18. package/dist/esm/index.d.ts +3 -1
  19. package/dist/esm/index.d.ts.map +1 -1
  20. package/dist/esm/index.js +2 -1
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/esm/observability/metrics.d.ts +40 -0
  23. package/dist/esm/observability/metrics.d.ts.map +1 -0
  24. package/dist/esm/observability/metrics.js +190 -0
  25. package/dist/esm/observability/metrics.js.map +1 -0
  26. package/dist/esm/observability/propagation.d.ts +21 -1
  27. package/dist/esm/observability/propagation.d.ts.map +1 -1
  28. package/dist/esm/observability/propagation.js +63 -1
  29. package/dist/esm/observability/propagation.js.map +1 -1
  30. package/dist/esm/observability/sink.d.ts.map +1 -1
  31. package/dist/esm/observability/sink.js +6 -0
  32. package/dist/esm/observability/sink.js.map +1 -1
  33. package/dist/esm/observability/types.d.ts +7 -0
  34. package/dist/esm/observability/types.d.ts.map +1 -1
  35. package/package.json +1 -1
@@ -73,10 +73,12 @@ export type { ObservabilityContext } from './observability/sink.js';
73
73
  export { ObservabilityMiddleware, createObservabilityHooks } from './observability/middleware.js';
74
74
  export { WebhookAlerter, createAlertingSink } from './observability/alerting.js';
75
75
  export type { WebhookAlertOptions, AlertPayload } from './observability/alerting.js';
76
+ export { MetricsRegistry, DEFAULT_DURATION_BUCKETS_MS, DEFAULT_TTFT_BUCKETS_MS } from './observability/metrics.js';
77
+ export type { MetricLabels, MetricLabelValue } from './observability/metrics.js';
76
78
  export { computeCost, MODEL_PRICING } from './observability/pricing.js';
77
79
  export type { ModelPrice, CostResult } from './observability/pricing.js';
78
80
  export { classifyErrorType, ERROR_TYPE_LABELS } from './observability/taxonomy.js';
79
- export { serializePropagationContext, parsePropagationContext, injectIntoParams, extractFromParams, extractFromHeaders, OBSERVABILITY_TRACE_HEADER } from './observability/propagation.js';
81
+ export { serializePropagationContext, parsePropagationContext, injectIntoParams, extractFromParams, extractFromHeaders, injectIntoHeaders, serializeToW3C, parseFromW3C, OBSERVABILITY_TRACE_HEADER, W3C_TRACEPARENT_HEADER, W3C_TRACESTATE_HEADER } from './observability/propagation.js';
80
82
  export { traceToOtelAttributes, observationToOtelAttributes } from './observability/otel.js';
81
83
  export type { EventContext, LLMObservationInput, ObservationEndData, ObservationHandle, ObservationQueryOptions, ObservationRecord, ObservationStartContext, ObservationType, ObservabilityConfig, ObservabilitySink, ObservabilityStats, ObservabilityStatus, ObservabilityUsage, ScoreRecord, SessionRecord, StatsQueryOptions, TraceEndData, TraceHandle, TraceQueryOptions, TraceRecord, TraceStartContext, } from './observability/types.js';
82
84
  export { EnginePool } from './pool/engine-pool.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,SAAS,EACT,UAAU,EACV,aAAa,EACb,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,cAAc,EACd,WAAW,EACX,QAAQ,EACR,SAAS,EACT,QAAQ,GACT,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGzE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,iCAAiC,EACjC,uBAAuB,EACvB,gCAAgC,EAChC,2BAA2B,EAC3B,kBAAkB,EAClB,2BAA2B,EAC3B,+BAA+B,EAC/B,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/K,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACpI,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC3I,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACxF,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtE,YAAY,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,SAAS,EACT,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC7G,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC9E,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGtI,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EACV,mBAAmB,EACnB,OAAO,EACP,YAAY,GACb,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,KAAK,EACL,aAAa,EACb,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACjF,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAChJ,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACvF,YAAY,EACV,cAAc,EACd,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACtE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,SAAS,EACT,eAAe,EACf,YAAY,GACb,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,EACd,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,OAAO,EACP,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC7G,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,+BAA+B,EAC/B,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACtE,YAAY,EACV,QAAQ,EACR,kBAAkB,EAClB,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC/G,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjF,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACnH,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACxE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC3R,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC7F,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACtI,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,GACd,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAGhF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,YAAY,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,YAAY,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAGrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,YAAY,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGjE,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,OAAO,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnE,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGtH,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGrF,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGxE,YAAY,EACV,IAAI,EACJ,SAAS,EACT,WAAW,EACX,UAAU,GACX,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,UAAU,EACV,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACtG,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG5E,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,8BAA8B,EAAE,6BAA6B,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC7I,YAAY,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACvI,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1G,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtF,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EACL,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,EAC3B,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,OAAO,EACP,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,OAAO,EACP,wBAAwB,EACxB,0BAA0B,EAC1B,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -4,9 +4,9 @@
4
4
  // ============================================================
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ToolRegistry = exports.InMemoryVectorIndex = exports.SkillRouter = exports.SkillManager = exports.LocalEnvCollector = exports.ContextManager = exports.InMemoryUsageTracker = exports.calculateCost = exports.registerPricing = exports.getPricing = exports.resolveHostIp = exports.extractHost = exports.fetchWithDiagnostics = exports.BUILTIN_PROVIDERS = exports.createLLMProvider = exports.OllamaProvider = exports.AnthropicProvider = exports.OpenAIProvider = exports.createBatchRequest = exports.serializeBatchRequests = exports.isFileProvider = exports.isBatchProvider = exports.loadAgentProfilesFromDir = exports.parseAgentProfile = exports.createAgentConfig = exports.validateSkillRequirements = exports.createAgentRuntime = exports.buildResourceScope = exports.AgentRuntimeBuilder = exports.RATE_LIMIT_CONFIG = exports.RateLimitManager = exports.rateLimitManager = exports.AgentToolExecutor = exports.LLMCaller = exports.HistoryManager = exports.wrapTaskWithWorkflowInstructions = exports.parseStructuredAgentOutput = exports.parseDebateOutput = exports.getWorkflowTemplate = exports.getWorkflowRoleStage = exports.formatWorkflowTemplateForPrompt = exports.formatStructuredAgentOutput = exports.formatDebateOutput = exports.buildWorkflowDecisionMemory = exports.buildStructuredOutputInstruction = exports.buildDebateInstructions = exports.DEFAULT_COMPLEX_WORKFLOW_TEMPLATE = exports.AgentEngine = exports.isMultimodalContent = exports.extractTextFromContent = void 0;
7
- exports.computeCost = exports.createAlertingSink = exports.WebhookAlerter = exports.createObservabilityHooks = exports.ObservabilityMiddleware = exports.generateObservabilityId = exports.ObservabilityManager = exports.NoOpObservabilitySink = exports.InMemoryTracer = exports.setLogTransport = exports.logEvent = exports.createCodeExecutionTool = exports.DEFAULT_SANDBOX_CONFIG = exports.SANDBOX_SAFE_ENV_KEYS = exports.SANDBOX_BLOCKED_COMMANDS = exports.InMemoryPermissionStore = exports.configurePermissionManager = exports.decidePermissionRequest = exports.findApprovedPermission = exports.listPermissionRequests = exports.createPermissionRequest = exports.setToolSecurityPolicyProvider = exports.clearRiskCache = exports.isLowRiskTool = exports.assessToolRisk = exports.SecurityGuard = exports.clearSystemProxyCache = exports.getWindowsSystemProxy = exports.getSystemProxyUrl = exports.DEFAULT_PROXY_SETTINGS = exports.createProxyDispatcher = exports.resolveProxyUrlForCategory = exports.resolveProxyAgentForCategory = exports.HttpMCPClient = exports.StdioMCPClient = exports.MCPClientBase = exports.registerTransport = exports.createMCPClient = exports.sanitizeForToolName = exports.buildMCPToolName = exports.MCP_TOOL_PREFIX = exports.registerMCPTools = exports.createToolDocTool = exports.createSkillLoaderTool = exports.createShellTools = exports.createFileSystemTools = exports.createBuiltinTools = exports.ASK_USER_TOOL_DEFINITION = exports.createAskUserTool = exports.createDelegateTool = void 0;
8
- exports.defaultResolveToolDisplayName = exports.createAgentEventCollectorState = exports.collectEngineOutput = exports.getProjectDataDir = exports.setProjectDataDir = exports.getAppName = exports.setAppName = exports.expandEnvVars = exports.ensureProjectDataDir = exports.ensureDataDir = exports.getProjectDataPath = exports.getDataPath = exports.MemoryPipeline = exports.formatRecallForPrompt = exports.MemoryRecallEngine = exports.resetMemoryCheckpoint = exports.getMemoryCheckpoint = exports.MemoryCheckpoint = exports.PersonaGenerator = exports.SceneAggregator = exports.MemoryExtractor = exports.InMemoryMemoryStore = exports.InMemoryInteractionStore = exports.InteractionService = exports.DEFAULT_INTERACTION_TIMEOUT_MS = exports.createRAGMiddleware = exports.InMemoryKnowledgeBase = exports.WorkspaceNotesMiddleware = exports.AuditLogMiddleware = exports.ToolGuardMiddleware = exports.TimingMiddleware = exports.JsonlHistoryPersistence = exports.FileToolResultStore = exports.JsonListStore = exports.JsonStore = exports.RunController = exports.InMemoryRunStateStore = exports.RunRegistry = exports.EnginePool = exports.observationToOtelAttributes = exports.traceToOtelAttributes = exports.OBSERVABILITY_TRACE_HEADER = exports.extractFromHeaders = exports.extractFromParams = exports.injectIntoParams = exports.parsePropagationContext = exports.serializePropagationContext = exports.ERROR_TYPE_LABELS = exports.classifyErrorType = exports.MODEL_PRICING = void 0;
9
- exports.createRestA2ARemoteRunner = exports.RestA2AClient = exports.mapAgentEventToA2AEvent = exports.extractTextFromMessage = exports.createA2ARemoteRunner = exports.createA2AMessage = exports.createA2AAgentCard = exports.buildAuthHeaders = exports.InMemoryA2ATaskStore = exports.A2AServerHandler = exports.A2AClient = exports.buildAssistantContext = exports.truncateTail = exports.truncateHead = exports.truncateStr = exports.MAX_RECOMMENDATION_CHARS = exports.MAX_SUMMARY_CHARS = exports.MAX_TOTAL_CHARS = exports.MAX_ENTRY_CHARS = exports.MAX_SAVE_CHARS = exports.MAX_ITEM_CHARS = exports.containsDSML = exports.StreamingDSMLParser = exports.parseDSML = exports.interpolateValue = exports.interpolateHeaderValue = exports.resolveHeaderTemplates = exports.formatDate = exports.formatLocalDateTime = exports.mapAgentEventStream = exports.mapAgentEvent = void 0;
7
+ exports.MetricsRegistry = exports.createAlertingSink = exports.WebhookAlerter = exports.createObservabilityHooks = exports.ObservabilityMiddleware = exports.generateObservabilityId = exports.ObservabilityManager = exports.NoOpObservabilitySink = exports.InMemoryTracer = exports.setLogTransport = exports.logEvent = exports.createCodeExecutionTool = exports.DEFAULT_SANDBOX_CONFIG = exports.SANDBOX_SAFE_ENV_KEYS = exports.SANDBOX_BLOCKED_COMMANDS = exports.InMemoryPermissionStore = exports.configurePermissionManager = exports.decidePermissionRequest = exports.findApprovedPermission = exports.listPermissionRequests = exports.createPermissionRequest = exports.setToolSecurityPolicyProvider = exports.clearRiskCache = exports.isLowRiskTool = exports.assessToolRisk = exports.SecurityGuard = exports.clearSystemProxyCache = exports.getWindowsSystemProxy = exports.getSystemProxyUrl = exports.DEFAULT_PROXY_SETTINGS = exports.createProxyDispatcher = exports.resolveProxyUrlForCategory = exports.resolveProxyAgentForCategory = exports.HttpMCPClient = exports.StdioMCPClient = exports.MCPClientBase = exports.registerTransport = exports.createMCPClient = exports.sanitizeForToolName = exports.buildMCPToolName = exports.MCP_TOOL_PREFIX = exports.registerMCPTools = exports.createToolDocTool = exports.createSkillLoaderTool = exports.createShellTools = exports.createFileSystemTools = exports.createBuiltinTools = exports.ASK_USER_TOOL_DEFINITION = exports.createAskUserTool = exports.createDelegateTool = void 0;
8
+ exports.ensureProjectDataDir = exports.ensureDataDir = exports.getProjectDataPath = exports.getDataPath = exports.MemoryPipeline = exports.formatRecallForPrompt = exports.MemoryRecallEngine = exports.resetMemoryCheckpoint = exports.getMemoryCheckpoint = exports.MemoryCheckpoint = exports.PersonaGenerator = exports.SceneAggregator = exports.MemoryExtractor = exports.InMemoryMemoryStore = exports.InMemoryInteractionStore = exports.InteractionService = exports.DEFAULT_INTERACTION_TIMEOUT_MS = exports.createRAGMiddleware = exports.InMemoryKnowledgeBase = exports.WorkspaceNotesMiddleware = exports.AuditLogMiddleware = exports.ToolGuardMiddleware = exports.TimingMiddleware = exports.JsonlHistoryPersistence = exports.FileToolResultStore = exports.JsonListStore = exports.JsonStore = exports.RunController = exports.InMemoryRunStateStore = exports.RunRegistry = exports.EnginePool = exports.observationToOtelAttributes = exports.traceToOtelAttributes = exports.W3C_TRACESTATE_HEADER = exports.W3C_TRACEPARENT_HEADER = exports.OBSERVABILITY_TRACE_HEADER = exports.parseFromW3C = exports.serializeToW3C = exports.injectIntoHeaders = exports.extractFromHeaders = exports.extractFromParams = exports.injectIntoParams = exports.parsePropagationContext = exports.serializePropagationContext = exports.ERROR_TYPE_LABELS = exports.classifyErrorType = exports.MODEL_PRICING = exports.computeCost = exports.DEFAULT_TTFT_BUCKETS_MS = exports.DEFAULT_DURATION_BUCKETS_MS = void 0;
9
+ exports.createRestA2ARemoteRunner = exports.RestA2AClient = exports.mapAgentEventToA2AEvent = exports.extractTextFromMessage = exports.createA2ARemoteRunner = exports.createA2AMessage = exports.createA2AAgentCard = exports.buildAuthHeaders = exports.InMemoryA2ATaskStore = exports.A2AServerHandler = exports.A2AClient = exports.buildAssistantContext = exports.truncateTail = exports.truncateHead = exports.truncateStr = exports.MAX_RECOMMENDATION_CHARS = exports.MAX_SUMMARY_CHARS = exports.MAX_TOTAL_CHARS = exports.MAX_ENTRY_CHARS = exports.MAX_SAVE_CHARS = exports.MAX_ITEM_CHARS = exports.containsDSML = exports.StreamingDSMLParser = exports.parseDSML = exports.interpolateValue = exports.interpolateHeaderValue = exports.resolveHeaderTemplates = exports.formatDate = exports.formatLocalDateTime = exports.mapAgentEventStream = exports.mapAgentEvent = exports.defaultResolveToolDisplayName = exports.createAgentEventCollectorState = exports.collectEngineOutput = exports.getProjectDataDir = exports.setProjectDataDir = exports.getAppName = exports.setAppName = exports.expandEnvVars = void 0;
10
10
  var types_ts_1 = require("./types.js");
11
11
  Object.defineProperty(exports, "extractTextFromContent", { enumerable: true, get: function () { return types_ts_1.extractTextFromContent; } });
12
12
  Object.defineProperty(exports, "isMultimodalContent", { enumerable: true, get: function () { return types_ts_1.isMultimodalContent; } });
@@ -157,6 +157,10 @@ Object.defineProperty(exports, "createObservabilityHooks", { enumerable: true, g
157
157
  var alerting_ts_1 = require("./observability/alerting.js");
158
158
  Object.defineProperty(exports, "WebhookAlerter", { enumerable: true, get: function () { return alerting_ts_1.WebhookAlerter; } });
159
159
  Object.defineProperty(exports, "createAlertingSink", { enumerable: true, get: function () { return alerting_ts_1.createAlertingSink; } });
160
+ var metrics_ts_1 = require("./observability/metrics.js");
161
+ Object.defineProperty(exports, "MetricsRegistry", { enumerable: true, get: function () { return metrics_ts_1.MetricsRegistry; } });
162
+ Object.defineProperty(exports, "DEFAULT_DURATION_BUCKETS_MS", { enumerable: true, get: function () { return metrics_ts_1.DEFAULT_DURATION_BUCKETS_MS; } });
163
+ Object.defineProperty(exports, "DEFAULT_TTFT_BUCKETS_MS", { enumerable: true, get: function () { return metrics_ts_1.DEFAULT_TTFT_BUCKETS_MS; } });
160
164
  var pricing_ts_2 = require("./observability/pricing.js");
161
165
  Object.defineProperty(exports, "computeCost", { enumerable: true, get: function () { return pricing_ts_2.computeCost; } });
162
166
  Object.defineProperty(exports, "MODEL_PRICING", { enumerable: true, get: function () { return pricing_ts_2.MODEL_PRICING; } });
@@ -169,7 +173,12 @@ Object.defineProperty(exports, "parsePropagationContext", { enumerable: true, ge
169
173
  Object.defineProperty(exports, "injectIntoParams", { enumerable: true, get: function () { return propagation_ts_1.injectIntoParams; } });
170
174
  Object.defineProperty(exports, "extractFromParams", { enumerable: true, get: function () { return propagation_ts_1.extractFromParams; } });
171
175
  Object.defineProperty(exports, "extractFromHeaders", { enumerable: true, get: function () { return propagation_ts_1.extractFromHeaders; } });
176
+ Object.defineProperty(exports, "injectIntoHeaders", { enumerable: true, get: function () { return propagation_ts_1.injectIntoHeaders; } });
177
+ Object.defineProperty(exports, "serializeToW3C", { enumerable: true, get: function () { return propagation_ts_1.serializeToW3C; } });
178
+ Object.defineProperty(exports, "parseFromW3C", { enumerable: true, get: function () { return propagation_ts_1.parseFromW3C; } });
172
179
  Object.defineProperty(exports, "OBSERVABILITY_TRACE_HEADER", { enumerable: true, get: function () { return propagation_ts_1.OBSERVABILITY_TRACE_HEADER; } });
180
+ Object.defineProperty(exports, "W3C_TRACEPARENT_HEADER", { enumerable: true, get: function () { return propagation_ts_1.W3C_TRACEPARENT_HEADER; } });
181
+ Object.defineProperty(exports, "W3C_TRACESTATE_HEADER", { enumerable: true, get: function () { return propagation_ts_1.W3C_TRACESTATE_HEADER; } });
173
182
  var otel_ts_1 = require("./observability/otel.js");
174
183
  Object.defineProperty(exports, "traceToOtelAttributes", { enumerable: true, get: function () { return otel_ts_1.traceToOtelAttributes; } });
175
184
  Object.defineProperty(exports, "observationToOtelAttributes", { enumerable: true, get: function () { return otel_ts_1.observationToOtelAttributes; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ export type MetricLabelValue = string | number | boolean;
2
+ export type MetricLabels = Record<string, MetricLabelValue>;
3
+ /** 延迟直方图默认桶(毫秒):覆盖 10ms ~ 120s */
4
+ export declare const DEFAULT_DURATION_BUCKETS_MS: number[];
5
+ /** 首 token 延迟(TTFT)直方图默认桶(毫秒) */
6
+ export declare const DEFAULT_TTFT_BUCKETS_MS: number[];
7
+ /**
8
+ * 进程内指标注册表。
9
+ * 用法:
10
+ * const m = new MetricsRegistry();
11
+ * m.incCounter('agent_trace_total', { status: 'ok' }, 'Total traces');
12
+ * m.observeHistogram('agent_trace_duration_ms', {}, 'Trace duration', 1234);
13
+ * process.stdout.write(m.render());
14
+ */
15
+ export declare class MetricsRegistry {
16
+ /** 注册表创建时间(作为 OTLP metrics 的 startTimeUnixNano 基准) */
17
+ private readonly startTimeMs;
18
+ private counters;
19
+ private histograms;
20
+ /** 累加计数器(默认 +1) */
21
+ incCounter(name: string, labels: MetricLabels, help: string, value?: number): void;
22
+ /** 覆盖式设置计数器(用于进程级标量指标,如内存 / uptime) */
23
+ setCounter(name: string, labels: MetricLabels, help: string, value: number): void;
24
+ /** 记录一次观测值到直方图(按预定义桶累计 _bucket / _count / _sum) */
25
+ observeHistogram(name: string, labels: MetricLabels, help: string, value: number, buckets?: number[]): void;
26
+ /** 渲染为 Prometheus 文本导出格式(text/plain; version=0.0.4) */
27
+ render(): string;
28
+ /** 清空所有指标(测试 / 重置用) */
29
+ reset(): void;
30
+ /** 将标签转为 OTLP keyValue 数组(数字→doubleValue,布尔→boolValue,其余→stringValue) */
31
+ private toOtlpAttributes;
32
+ /**
33
+ * 序列化为 OTLP/HTTP JSON 格式(metrics 信号,行业对标 G1-b 推模式)。
34
+ * 可直接 POST 至 OTel Collector 的 `${endpoint}/v1/metrics`。
35
+ * counters → OTLP Sum(isMonotonic),histograms → OTLP Histogram。
36
+ */
37
+ toOtlpJson(resourceAttributes?: MetricLabels): string;
38
+ get size(): number;
39
+ }
40
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/observability/metrics.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AACzD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAE5D,kCAAkC;AAClC,eAAO,MAAM,2BAA2B,UAAyE,CAAC;AAClH,iCAAiC;AACjC,eAAO,MAAM,uBAAuB,UAA+C,CAAC;AA4CpF;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC1B,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,UAAU,CAAsC;IAExD,mBAAmB;IACnB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,IAAI;IAU7E,uCAAuC;IACvC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIjF,mDAAmD;IACnD,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,MAAM,EAAgC,GAC9C,IAAI;IAsBP,uDAAuD;IACvD,MAAM,IAAI,MAAM;IAyBhB,uBAAuB;IACvB,KAAK,IAAI,IAAI;IAKb,yEAAyE;IACzE,OAAO,CAAC,gBAAgB;IAUxB;;;;OAIG;IACH,UAAU,CAAC,kBAAkB,GAAE,YAAiB,GAAG,MAAM;IAyDzD,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // Observability — in-process metrics registry + Prometheus exporter
4
+ // ============================================================
5
+ //
6
+ // 进程内指标注册表,用于暴露 RED(Rate / Errors / Duration)与 GenAI 指标,
7
+ // 供 Prometheus / Grafana 直接抓取,对齐 Langfuse / Helicone / OpenTelemetry
8
+ // 的 metrics 信号(行业对标 G1)。
9
+ //
10
+ // 设计目标:零依赖、廉价。计数器 / 直方图按「标签组合」在内存中聚合,
11
+ // 配合 Grafana 看板与告警规则即可构建 SLO 监控。进程重启后归零(标准
12
+ // in-process exporter 行为;历史趋势仍可由 DB stats 端点补充)。
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.MetricsRegistry = exports.DEFAULT_TTFT_BUCKETS_MS = exports.DEFAULT_DURATION_BUCKETS_MS = void 0;
15
+ /** 延迟直方图默认桶(毫秒):覆盖 10ms ~ 120s */
16
+ exports.DEFAULT_DURATION_BUCKETS_MS = [10, 50, 100, 250, 500, 1000, 2000, 5000, 10000, 30000, 60000, 120000];
17
+ /** 首 token 延迟(TTFT)直方图默认桶(毫秒) */
18
+ exports.DEFAULT_TTFT_BUCKETS_MS = [50, 100, 250, 500, 1000, 2000, 5000, 10000];
19
+ function sortLabels(labels) {
20
+ return Object.entries(labels).sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0));
21
+ }
22
+ /** Prometheus 标签值转义:\ " \n */
23
+ function escapeLabelValue(v) {
24
+ return String(v).replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n');
25
+ }
26
+ function serializeLabels(labels) {
27
+ const entries = sortLabels(labels);
28
+ if (entries.length === 0)
29
+ return '';
30
+ return '{' + entries.map(([k, v]) => `${k}="${escapeLabelValue(v)}"`).join(',') + '}';
31
+ }
32
+ function seriesKey(name, labels) {
33
+ return name + serializeLabels(labels);
34
+ }
35
+ function formatNum(n) {
36
+ if (!Number.isFinite(n))
37
+ return '0';
38
+ return String(n);
39
+ }
40
+ /**
41
+ * 进程内指标注册表。
42
+ * 用法:
43
+ * const m = new MetricsRegistry();
44
+ * m.incCounter('agent_trace_total', { status: 'ok' }, 'Total traces');
45
+ * m.observeHistogram('agent_trace_duration_ms', {}, 'Trace duration', 1234);
46
+ * process.stdout.write(m.render());
47
+ */
48
+ class MetricsRegistry {
49
+ /** 注册表创建时间(作为 OTLP metrics 的 startTimeUnixNano 基准) */
50
+ startTimeMs = Date.now();
51
+ counters = new Map();
52
+ histograms = new Map();
53
+ /** 累加计数器(默认 +1) */
54
+ incCounter(name, labels, help, value = 1) {
55
+ const key = seriesKey(name, labels);
56
+ const existing = this.counters.get(key);
57
+ if (existing) {
58
+ existing.value += value;
59
+ }
60
+ else {
61
+ this.counters.set(key, { name, help, labels, value });
62
+ }
63
+ }
64
+ /** 覆盖式设置计数器(用于进程级标量指标,如内存 / uptime) */
65
+ setCounter(name, labels, help, value) {
66
+ this.counters.set(seriesKey(name, labels), { name, help, labels, value });
67
+ }
68
+ /** 记录一次观测值到直方图(按预定义桶累计 _bucket / _count / _sum) */
69
+ observeHistogram(name, labels, help, value, buckets = exports.DEFAULT_DURATION_BUCKETS_MS) {
70
+ const key = seriesKey(name, labels);
71
+ let series = this.histograms.get(key);
72
+ if (!series) {
73
+ series = {
74
+ name,
75
+ help,
76
+ labels,
77
+ buckets: [...buckets],
78
+ bucketCounts: new Array(buckets.length).fill(0),
79
+ count: 0,
80
+ sum: 0,
81
+ };
82
+ this.histograms.set(key, series);
83
+ }
84
+ series.count += 1;
85
+ series.sum += value;
86
+ for (let i = 0; i < series.buckets.length; i++) {
87
+ if (value <= series.buckets[i])
88
+ series.bucketCounts[i] += 1;
89
+ }
90
+ }
91
+ /** 渲染为 Prometheus 文本导出格式(text/plain; version=0.0.4) */
92
+ render() {
93
+ const lines = [];
94
+ for (const c of this.counters.values()) {
95
+ lines.push(`# HELP ${c.name} ${c.help}`);
96
+ lines.push(`# TYPE ${c.name} counter`);
97
+ lines.push(`${c.name}${serializeLabels(c.labels)} ${formatNum(c.value)}`);
98
+ }
99
+ for (const h of this.histograms.values()) {
100
+ lines.push(`# HELP ${h.name} ${h.help}`);
101
+ lines.push(`# TYPE ${h.name} histogram`);
102
+ let cumulative = 0;
103
+ for (let i = 0; i < h.buckets.length; i++) {
104
+ cumulative += h.bucketCounts[i];
105
+ lines.push(`${h.name}_bucket${serializeLabels({ ...h.labels, le: h.buckets[i] })} ${formatNum(cumulative)}`);
106
+ }
107
+ lines.push(`${h.name}_bucket${serializeLabels({ ...h.labels, le: '+Inf' })} ${formatNum(h.count)}`);
108
+ lines.push(`${h.name}_sum${serializeLabels(h.labels)} ${formatNum(h.sum)}`);
109
+ lines.push(`${h.name}_count${serializeLabels(h.labels)} ${formatNum(h.count)}`);
110
+ }
111
+ return lines.join('\n') + '\n';
112
+ }
113
+ /** 清空所有指标(测试 / 重置用) */
114
+ reset() {
115
+ this.counters.clear();
116
+ this.histograms.clear();
117
+ }
118
+ /** 将标签转为 OTLP keyValue 数组(数字→doubleValue,布尔→boolValue,其余→stringValue) */
119
+ toOtlpAttributes(labels) {
120
+ return sortLabels(labels).map(([k, v]) => {
121
+ const value = {};
122
+ if (typeof v === 'number')
123
+ value.doubleValue = v;
124
+ else if (typeof v === 'boolean')
125
+ value.boolValue = v;
126
+ else
127
+ value.stringValue = String(v);
128
+ return { key: k, value };
129
+ });
130
+ }
131
+ /**
132
+ * 序列化为 OTLP/HTTP JSON 格式(metrics 信号,行业对标 G1-b 推模式)。
133
+ * 可直接 POST 至 OTel Collector 的 `${endpoint}/v1/metrics`。
134
+ * counters → OTLP Sum(isMonotonic),histograms → OTLP Histogram。
135
+ */
136
+ toOtlpJson(resourceAttributes = {}) {
137
+ const nowNano = (Date.now() * 1_000_000).toString();
138
+ const startNano = (this.startTimeMs * 1_000_000).toString();
139
+ const metrics = [];
140
+ for (const c of this.counters.values()) {
141
+ metrics.push({
142
+ name: c.name,
143
+ description: c.help,
144
+ unit: '',
145
+ sum: {
146
+ dataPoints: [
147
+ {
148
+ asDouble: c.value,
149
+ attributes: this.toOtlpAttributes(c.labels),
150
+ startTimeUnixNano: startNano,
151
+ timeUnixNano: nowNano,
152
+ },
153
+ ],
154
+ aggregationTemporality: 'AGGREGATION_TEMPORALITY_CUMULATIVE',
155
+ isMonotonic: true,
156
+ },
157
+ });
158
+ }
159
+ for (const h of this.histograms.values()) {
160
+ metrics.push({
161
+ name: h.name,
162
+ description: h.help,
163
+ unit: 'ms',
164
+ histogram: {
165
+ dataPoints: [
166
+ {
167
+ attributes: this.toOtlpAttributes(h.labels),
168
+ startTimeUnixNano: startNano,
169
+ timeUnixNano: nowNano,
170
+ count: h.count,
171
+ sum: h.sum,
172
+ bucketCounts: h.bucketCounts,
173
+ explicitBounds: h.buckets,
174
+ },
175
+ ],
176
+ aggregationTemporality: 'AGGREGATION_TEMPORALITY_CUMULATIVE',
177
+ },
178
+ });
179
+ }
180
+ return JSON.stringify({
181
+ resourceMetrics: [
182
+ {
183
+ resource: { attributes: this.toOtlpAttributes(resourceAttributes) },
184
+ scopeMetrics: [{ metrics }],
185
+ },
186
+ ],
187
+ });
188
+ }
189
+ get size() {
190
+ return this.counters.size + this.histograms.size;
191
+ }
192
+ }
193
+ exports.MetricsRegistry = MetricsRegistry;
194
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/observability/metrics.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  import type { PropagationContext } from './types.js';
2
+ /** W3C 传播头(OpenTelemetry 标准),用于与 Jaeger/Tempo/现有 OTel 链路互操作 */
3
+ export declare const W3C_TRACEPARENT_HEADER = "traceparent";
4
+ export declare const W3C_TRACESTATE_HEADER = "tracestate";
2
5
  /** 将传播上下文编码为可传输字符串(base64 JSON) */
3
6
  export declare function serializePropagationContext(ctx: PropagationContext): string;
4
7
  /** 从传输字符串解码传播上下文(容错:非法返回 undefined) */
@@ -12,6 +15,23 @@ export declare const OBSERVABILITY_TRACE_HEADER = "x-observability-trace";
12
15
  export declare function injectIntoParams(params: Record<string, unknown>, ctx: PropagationContext): Record<string, unknown>;
13
16
  /** 从调用参数对象中提取传播上下文 */
14
17
  export declare function extractFromParams(params: Record<string, unknown> | undefined): PropagationContext | undefined;
15
- /** 从 HTTP headers 中提取传播上下文 */
18
+ /** 从 HTTP headers 中提取传播上下文(优先 W3C,回退自定义头) */
16
19
  export declare function extractFromHeaders(headers: Record<string, string | undefined> | undefined): PropagationContext | undefined;
20
+ /**
21
+ * 将传播上下文编码为 W3C traceparent + tracestate。
22
+ * - traceparent:由真实 ID 派生的 32/16 位十六进制,供外部 OTel 工具(Jaeger/Tempo)展示链路;
23
+ * - tracestate:以 obs=<base64> 形式保存真实上下文(traceId/parentObservationId 等),
24
+ * 保证跨进程能无损还原我们自己的观测上下文(W3C 标准推荐的 vendor data 用法)。
25
+ */
26
+ export declare function serializeToW3C(ctx: PropagationContext): {
27
+ traceparent: string;
28
+ tracestate: string;
29
+ };
30
+ /** 从 W3C traceparent/tracestate 解码传播上下文(优先取 tracestate 中的真实上下文) */
31
+ export declare function parseFromW3C(traceparent: string | undefined, tracestate: string | undefined): PropagationContext | undefined;
32
+ /**
33
+ * 将传播上下文注入 HTTP headers(同时携带自定义头与 W3C 头,最大化互操作性)。
34
+ * 返回新 headers 对象,不修改原对象。
35
+ */
36
+ export declare function injectIntoHeaders(ctx: PropagationContext): Record<string, string>;
17
37
  //# sourceMappingURL=propagation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"propagation.d.ts","sourceRoot":"","sources":["../../../src/observability/propagation.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAKrD,mCAAmC;AACnC,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAa3E;AAED,uCAAuC;AACvC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,kBAAkB,GAAG,SAAS,CAgB1G;AAED,yBAAyB;AACzB,eAAO,MAAM,0BAA0B,0BAAc,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIlH;AAED,sBAAsB;AACtB,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS,CAI7G;AAED,8BAA8B;AAC9B,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS,CAG1H"}
1
+ {"version":3,"file":"propagation.d.ts","sourceRoot":"","sources":["../../../src/observability/propagation.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAKrD,+DAA+D;AAC/D,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AACpD,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAWlD,mCAAmC;AACnC,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAa3E;AAED,uCAAuC;AACvC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,kBAAkB,GAAG,SAAS,CAgB1G;AAED,yBAAyB;AACzB,eAAO,MAAM,0BAA0B,0BAAc,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIlH;AAED,sBAAsB;AACtB,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS,CAI7G;AAED,6CAA6C;AAC7C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS,CAW1H;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,kBAAkB,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAMnG;AAED,mEAAmE;AACnE,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,kBAAkB,GAAG,SAAS,CAchC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMjF"}
@@ -10,14 +10,29 @@
10
10
  //
11
11
  // 序列化格式:base64(JSON),避免直接拼接进参数导致的注入/转义问题。
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.OBSERVABILITY_TRACE_HEADER = void 0;
13
+ exports.OBSERVABILITY_TRACE_HEADER = exports.W3C_TRACESTATE_HEADER = exports.W3C_TRACEPARENT_HEADER = void 0;
14
14
  exports.serializePropagationContext = serializePropagationContext;
15
15
  exports.parsePropagationContext = parsePropagationContext;
16
16
  exports.injectIntoParams = injectIntoParams;
17
17
  exports.extractFromParams = extractFromParams;
18
18
  exports.extractFromHeaders = extractFromHeaders;
19
+ exports.serializeToW3C = serializeToW3C;
20
+ exports.parseFromW3C = parseFromW3C;
21
+ exports.injectIntoHeaders = injectIntoHeaders;
22
+ const node_crypto_1 = require("node:crypto");
19
23
  const HEADER_NAME = 'x-observability-trace';
20
24
  const PARAM_KEY = '__obsTrace';
25
+ /** W3C 传播头(OpenTelemetry 标准),用于与 Jaeger/Tempo/现有 OTel 链路互操作 */
26
+ exports.W3C_TRACEPARENT_HEADER = 'traceparent';
27
+ exports.W3C_TRACESTATE_HEADER = 'tracestate';
28
+ /** tracestate 中的 vendor key,承载真实观测上下文(traceId/parentObservationId 等) */
29
+ const W3C_VENDOR = 'obs';
30
+ function w3cTraceId(seed) {
31
+ return (0, node_crypto_1.createHash)('sha256').update(`tid:${seed}`).digest('hex').slice(0, 32);
32
+ }
33
+ function w3cSpanId(seed) {
34
+ return (0, node_crypto_1.createHash)('sha256').update(`sid:${seed}`).digest('hex').slice(0, 16);
35
+ }
21
36
  /** 将传播上下文编码为可传输字符串(base64 JSON) */
22
37
  function serializePropagationContext(ctx) {
23
38
  try {
@@ -74,10 +89,60 @@ function extractFromParams(params) {
74
89
  const raw = params[PARAM_KEY];
75
90
  return parsePropagationContext(typeof raw === 'string' ? raw : undefined);
76
91
  }
77
- /** 从 HTTP headers 中提取传播上下文 */
92
+ /** 从 HTTP headers 中提取传播上下文(优先 W3C,回退自定义头) */
78
93
  function extractFromHeaders(headers) {
79
94
  if (!headers)
80
95
  return undefined;
96
+ // 优先解析 W3C traceparent/tracestate:tracestate.obs 携带真实上下文,可权威还原
97
+ const tp = headers[exports.W3C_TRACEPARENT_HEADER] || headers[exports.W3C_TRACEPARENT_HEADER.toUpperCase()];
98
+ const ts = headers[exports.W3C_TRACESTATE_HEADER] || headers[exports.W3C_TRACESTATE_HEADER.toUpperCase()];
99
+ if (tp || ts) {
100
+ const w3c = parseFromW3C(tp, ts);
101
+ if (w3c)
102
+ return w3c;
103
+ }
104
+ // 回退到自定义头(内部 delegate_task / A2A 兼容)
81
105
  return parsePropagationContext(headers[HEADER_NAME] || headers[HEADER_NAME.toLowerCase()]);
82
106
  }
107
+ /**
108
+ * 将传播上下文编码为 W3C traceparent + tracestate。
109
+ * - traceparent:由真实 ID 派生的 32/16 位十六进制,供外部 OTel 工具(Jaeger/Tempo)展示链路;
110
+ * - tracestate:以 obs=<base64> 形式保存真实上下文(traceId/parentObservationId 等),
111
+ * 保证跨进程能无损还原我们自己的观测上下文(W3C 标准推荐的 vendor data 用法)。
112
+ */
113
+ function serializeToW3C(ctx) {
114
+ const traceId = w3cTraceId(ctx.traceId);
115
+ const parentId = ctx.parentObservationId ? w3cSpanId(ctx.parentObservationId) : w3cSpanId(`root:${ctx.traceId}`);
116
+ const traceparent = `00-${traceId}-${parentId}-01`;
117
+ const tracestate = `${W3C_VENDOR}=${serializePropagationContext(ctx)}`;
118
+ return { traceparent, tracestate };
119
+ }
120
+ /** 从 W3C traceparent/tracestate 解码传播上下文(优先取 tracestate 中的真实上下文) */
121
+ function parseFromW3C(traceparent, tracestate) {
122
+ if (tracestate) {
123
+ const item = tracestate
124
+ .split(',')
125
+ .map(s => s.trim())
126
+ .find(s => s.startsWith(`${W3C_VENDOR}=`));
127
+ if (item) {
128
+ const payload = item.slice(`${W3C_VENDOR}=`.length);
129
+ const ctx = parsePropagationContext(payload);
130
+ if (ctx)
131
+ return ctx;
132
+ }
133
+ }
134
+ // 仅有 traceparent(无 tracestate)时无法还原真实业务 ID,交由上层回退自定义头
135
+ return undefined;
136
+ }
137
+ /**
138
+ * 将传播上下文注入 HTTP headers(同时携带自定义头与 W3C 头,最大化互操作性)。
139
+ * 返回新 headers 对象,不修改原对象。
140
+ */
141
+ function injectIntoHeaders(ctx) {
142
+ const headers = { [HEADER_NAME]: serializePropagationContext(ctx) };
143
+ const { traceparent, tracestate } = serializeToW3C(ctx);
144
+ headers[exports.W3C_TRACEPARENT_HEADER] = traceparent;
145
+ headers[exports.W3C_TRACESTATE_HEADER] = tracestate;
146
+ return headers;
147
+ }
83
148
  //# sourceMappingURL=propagation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"propagation.js","sourceRoot":"","sources":["../../../src/observability/propagation.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,kDAAkD;AAClD,+DAA+D;AAC/D,EAAE;AACF,uDAAuD;AACvD,mDAAmD;AACnD,qDAAqD;AACrD,yCAAyC;AACzC,EAAE;AACF,0CAA0C;;;AAQ1C,kEAaC;AAGD,0DAgBC;AASD,4CAIC;AAGD,8CAIC;AAGD,gDAGC;AA9DD,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAC5C,MAAM,SAAS,GAAG,YAAY,CAAC;AAE/B,mCAAmC;AACnC,SAAgB,2BAA2B,CAAC,GAAuB;IACjE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,CAAC,EAAE,GAAG,CAAC,OAAO;YACd,CAAC,EAAE,GAAG,CAAC,mBAAmB;YAC1B,CAAC,EAAE,GAAG,CAAC,WAAW;YAClB,CAAC,EAAE,GAAG,CAAC,IAAI;YACX,CAAC,EAAE,GAAG,CAAC,aAAa;SACrB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,uCAAuC;AACvC,SAAgB,uBAAuB,CAAC,OAAkC;IACxE,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACpD,OAAO;YACL,OAAO,EAAE,CAAC,CAAC,CAAC;YACZ,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACxB,WAAW,EAAE,CAAC,CAAC,CAAC;YAChB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1C,aAAa,EAAE,CAAC,CAAC,CAAC;SACnB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,yBAAyB;AACZ,QAAA,0BAA0B,GAAG,WAAW,CAAC;AAEtD;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,MAA+B,EAAE,GAAuB;IACvF,MAAM,OAAO,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAC5B,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED,sBAAsB;AACtB,SAAgB,iBAAiB,CAAC,MAA2C;IAC3E,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9B,OAAO,uBAAuB,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED,8BAA8B;AAC9B,SAAgB,kBAAkB,CAAC,OAAuD;IACxF,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO,uBAAuB,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC"}
1
+ {"version":3,"file":"propagation.js","sourceRoot":"","sources":["../../../src/observability/propagation.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,kDAAkD;AAClD,+DAA+D;AAC/D,EAAE;AACF,uDAAuD;AACvD,mDAAmD;AACnD,qDAAqD;AACrD,yCAAyC;AACzC,EAAE;AACF,0CAA0C;;;AAsB1C,kEAaC;AAGD,0DAgBC;AASD,4CAIC;AAGD,8CAIC;AAGD,gDAWC;AAQD,wCAMC;AAGD,oCAiBC;AAMD,8CAMC;AApID,6CAAyC;AAGzC,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAC5C,MAAM,SAAS,GAAG,YAAY,CAAC;AAE/B,+DAA+D;AAClD,QAAA,sBAAsB,GAAG,aAAa,CAAC;AACvC,QAAA,qBAAqB,GAAG,YAAY,CAAC;AAClD,wEAAwE;AACxE,MAAM,UAAU,GAAG,KAAK,CAAC;AAEzB,SAAS,UAAU,CAAC,IAAY;IAC5B,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjF,CAAC;AACD,SAAS,SAAS,CAAC,IAAY;IAC3B,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,mCAAmC;AACnC,SAAgB,2BAA2B,CAAC,GAAuB;IACjE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,CAAC,EAAE,GAAG,CAAC,OAAO;YACd,CAAC,EAAE,GAAG,CAAC,mBAAmB;YAC1B,CAAC,EAAE,GAAG,CAAC,WAAW;YAClB,CAAC,EAAE,GAAG,CAAC,IAAI;YACX,CAAC,EAAE,GAAG,CAAC,aAAa;SACrB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,uCAAuC;AACvC,SAAgB,uBAAuB,CAAC,OAAkC;IACxE,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACpD,OAAO;YACL,OAAO,EAAE,CAAC,CAAC,CAAC;YACZ,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACxB,WAAW,EAAE,CAAC,CAAC,CAAC;YAChB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1C,aAAa,EAAE,CAAC,CAAC,CAAC;SACnB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,yBAAyB;AACZ,QAAA,0BAA0B,GAAG,WAAW,CAAC;AAEtD;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,MAA+B,EAAE,GAAuB;IACvF,MAAM,OAAO,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAC5B,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED,sBAAsB;AACtB,SAAgB,iBAAiB,CAAC,MAA2C;IAC3E,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9B,OAAO,uBAAuB,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED,6CAA6C;AAC7C,SAAgB,kBAAkB,CAAC,OAAuD;IACxF,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,+DAA+D;IAC/D,MAAM,EAAE,GAAG,OAAO,CAAC,8BAAsB,CAAC,IAAI,OAAO,CAAC,8BAAsB,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5F,MAAM,EAAE,GAAG,OAAO,CAAC,6BAAqB,CAAC,IAAI,OAAO,CAAC,6BAAqB,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1F,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IACD,qCAAqC;IACrC,OAAO,uBAAuB,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,GAAuB;IACpD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACjH,MAAM,WAAW,GAAG,MAAM,OAAO,IAAI,QAAQ,KAAK,CAAC;IACnD,MAAM,UAAU,GAAG,GAAG,UAAU,IAAI,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC;IACvE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACrC,CAAC;AAED,mEAAmE;AACnE,SAAgB,YAAY,CAC1B,WAA+B,EAC/B,UAA8B;IAE9B,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,UAAU;aACpB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,GAAG,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,GAAG,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;QACtB,CAAC;IACH,CAAC;IACD,sDAAsD;IACtD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,GAAuB;IACvD,MAAM,OAAO,GAA2B,EAAE,CAAC,WAAW,CAAC,EAAE,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5F,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,CAAC,8BAAsB,CAAC,GAAG,WAAW,CAAC;IAC9C,OAAO,CAAC,6BAAqB,CAAC,GAAG,UAAU,CAAC;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sink.d.ts","sourceRoot":"","sources":["../../../src/observability/sink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sink.d.ts","sourceRoot":"","sources":["../../../src/observability/sink.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ class ObservabilityManager {
37
37
  this.config = {
38
38
  enabled: config.enabled ?? true,
39
39
  samplingRate: normalizeSamplingRate(config.samplingRate ?? 1),
40
+ sampleErrors: config.sampleErrors ?? false,
40
41
  captureInput: config.captureInput ?? true,
41
42
  captureOutput: config.captureOutput ?? true,
42
43
  captureMessages: config.captureMessages ?? true,
@@ -217,6 +218,11 @@ class ObservabilityManager {
217
218
  shouldSample() {
218
219
  if (!this.config.enabled)
219
220
  return false;
221
+ // 错误优先可观测:开启 sampleErrors 时强制全量采样。
222
+ // head-based 采样在 startTrace 时无法预知最终结果是否错误,「强制保留」是唯一能保证错误 trace
223
+ // 不被随机丢弃的方式;真正的尾部采样(trace 结束后再决策保留)见后续规划。
224
+ if (this.config.sampleErrors)
225
+ return true;
220
226
  if (this.config.samplingRate >= 1)
221
227
  return true;
222
228
  if (this.config.samplingRate <= 0)