openlit 1.6.0 → 1.7.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 (50) hide show
  1. package/README.md +19 -1
  2. package/dist/helpers.js +8 -4
  3. package/dist/helpers.js.map +1 -1
  4. package/dist/index.d.ts +2 -2
  5. package/dist/index.js +19 -6
  6. package/dist/index.js.map +1 -1
  7. package/dist/instrumentation/__tests__/anthropic-wrapper.test.d.ts +1 -0
  8. package/dist/instrumentation/__tests__/anthropic-wrapper.test.js +92 -0
  9. package/dist/instrumentation/__tests__/anthropic-wrapper.test.js.map +1 -0
  10. package/dist/instrumentation/__tests__/base-wrapper.test.d.ts +1 -0
  11. package/dist/instrumentation/__tests__/base-wrapper.test.js +175 -0
  12. package/dist/instrumentation/__tests__/base-wrapper.test.js.map +1 -0
  13. package/dist/instrumentation/__tests__/cohere-wrapper.test.d.ts +1 -0
  14. package/dist/instrumentation/__tests__/cohere-wrapper.test.js +131 -0
  15. package/dist/instrumentation/__tests__/cohere-wrapper.test.js.map +1 -0
  16. package/dist/instrumentation/__tests__/openai-wrapper.test.d.ts +1 -0
  17. package/dist/instrumentation/__tests__/openai-wrapper.test.js +181 -0
  18. package/dist/instrumentation/__tests__/openai-wrapper.test.js.map +1 -0
  19. package/dist/instrumentation/anthropic/wrapper.d.ts +7 -1
  20. package/dist/instrumentation/anthropic/wrapper.js +16 -1
  21. package/dist/instrumentation/anthropic/wrapper.js.map +1 -1
  22. package/dist/instrumentation/base-wrapper.d.ts +3 -2
  23. package/dist/instrumentation/base-wrapper.js +81 -1
  24. package/dist/instrumentation/base-wrapper.js.map +1 -1
  25. package/dist/instrumentation/cohere/wrapper.d.ts +7 -1
  26. package/dist/instrumentation/cohere/wrapper.js +19 -2
  27. package/dist/instrumentation/cohere/wrapper.js.map +1 -1
  28. package/dist/instrumentation/ollama/wrapper.d.ts +2 -1
  29. package/dist/instrumentation/ollama/wrapper.js +2 -2
  30. package/dist/instrumentation/ollama/wrapper.js.map +1 -1
  31. package/dist/instrumentation/openai/index.js +11 -0
  32. package/dist/instrumentation/openai/index.js.map +1 -1
  33. package/dist/instrumentation/openai/wrapper.d.ts +39 -3
  34. package/dist/instrumentation/openai/wrapper.js +537 -26
  35. package/dist/instrumentation/openai/wrapper.js.map +1 -1
  36. package/dist/otel/__tests__/metrics.test.d.ts +1 -0
  37. package/dist/otel/__tests__/metrics.test.js +51 -0
  38. package/dist/otel/__tests__/metrics.test.js.map +1 -0
  39. package/dist/otel/metrics.d.ts +22 -0
  40. package/dist/otel/metrics.js +132 -0
  41. package/dist/otel/metrics.js.map +1 -0
  42. package/dist/{tracing.d.ts → otel/tracing.d.ts} +1 -1
  43. package/dist/{tracing.js → otel/tracing.js} +17 -15
  44. package/dist/otel/tracing.js.map +1 -0
  45. package/dist/semantic-convention.d.ts +36 -0
  46. package/dist/semantic-convention.js +53 -11
  47. package/dist/semantic-convention.js.map +1 -1
  48. package/dist/types.d.ts +7 -0
  49. package/package.json +10 -11
  50. package/dist/tracing.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-convention.js","sourceRoot":"","sources":["../src/semantic-convention.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic-convention.js","sourceRoot":"","sources":["../src/semantic-convention.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Resource } from '@opentelemetry/resources';
2
2
  import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
3
+ import { metrics } from '@opentelemetry/api';
3
4
  export type InstrumentationType = 'openai' | 'anthropic' | 'cohere';
4
5
  export type OpenlitInstrumentations = Partial<Record<InstrumentationType, any>>;
5
6
  export type PricingObject = Record<string, Record<string, unknown>>;
@@ -39,6 +40,12 @@ export type OpenlitOptions = {
39
40
  export type SetupTracerOptions = OpenlitOptions & {
40
41
  resource: Resource;
41
42
  };
43
+ export type MeterType = ReturnType<typeof metrics.getMeter>;
44
+ export type SetupMetricsOptions = SetupTracerOptions & {
45
+ meter?: MeterType;
46
+ exportIntervalMillis?: number;
47
+ allowConsoleExporterFallback?: boolean;
48
+ };
42
49
  export interface BaseOpenlitOptions {
43
50
  url?: string;
44
51
  apiKey?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openlit",
3
- "version": "1.6.0",
3
+ "version": "1.7.1",
4
4
  "homepage": "https://github.com/openlit/openlit#readme",
5
5
  "bugs": {
6
6
  "url": "https://github.com/openlit/openlit/issues",
@@ -58,16 +58,15 @@
58
58
  },
59
59
  "dependencies": {
60
60
  "@anthropic-ai/sdk": "^0.25.0",
61
- "@opentelemetry/api": "^1.8.0",
62
- "@opentelemetry/auto-instrumentations-node": "^0.46.1",
63
- "@opentelemetry/exporter-jaeger": "^1.24.1",
64
- "@opentelemetry/exporter-otlp-http": "^0.26.0",
65
- "@opentelemetry/instrumentation": "^0.51.1",
66
- "@opentelemetry/resources": "^1.24.1",
67
- "@opentelemetry/sdk-metrics": "^1.24.1",
68
- "@opentelemetry/sdk-trace-base": "^1.24.1",
69
- "@opentelemetry/sdk-trace-node": "^1.24.1",
70
- "@opentelemetry/semantic-conventions": "^1.24.1",
61
+ "@opentelemetry/api": "^1.9.0",
62
+ "@opentelemetry/auto-instrumentations-node": "^0.62.0",
63
+ "@opentelemetry/exporter-jaeger": "^2.0.1",
64
+ "@opentelemetry/exporter-metrics-otlp-http": "^0.203.0",
65
+ "@opentelemetry/instrumentation": "^0.203.0",
66
+ "@opentelemetry/resources": "^2.0.1",
67
+ "@opentelemetry/sdk-trace-base": "^2.0.1",
68
+ "@opentelemetry/sdk-trace-node": "^2.0.1",
69
+ "@opentelemetry/semantic-conventions": "^1.36.0",
71
70
  "cohere-ai": "^7.13.0",
72
71
  "js-tiktoken": "^1.0.12",
73
72
  "openai": "^4.47.1",
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":";;;;;AACA,kEAMuC;AACvC,sFAA4E;AAE5E,wEAAiD;AACjD,sDAAqC;AAErC,MAAqB,OAAO;IAG1B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAA2B;QAC5C,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,IAAI,mCAAkB,CAAC;gBAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC,CAAC;YAEH,gBAAa,CAAC,YAAY,CAAC;gBACzB,GAAG,OAAO;gBACV,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa;aAChD,CAAC,CAAC;YAEH,yBAAgB,CAAC,KAAK,CACpB,OAAO,CAAC,aAAa,EACrB,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,gBAAgB,CAC1B,CAAC;YAEF,MAAM,mBAAmB,GAAG,IAAI,oCAAmB,EAAE,CAAC;YAEtD,yBAAyB;YACzB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,oCAAmB,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAElF,IAAI,CAAC,aAAa,GAAG,IAAI,4CAAiB,CAAC;gBACzC,GAAG,EAAE,OAAO,CAAC,YAAY;gBACzB,OAAO,EAAE,OAAO,CAAC,WAAkD;aACpE,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CACjC,IAAI,oCAAmB,CAAC,IAAI,CAAC,aAA6B,CAAC,CAC5D,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,aAAa,CAAC,gBAAgB,CACjC,IAAI,mCAAkB,CAAC,IAAI,CAAC,aAA6B,CAAC,CAC3D,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AA7CD,0BA6CC"}