@arizeai/openinference-instrumentation-beeai 1.2.0 → 1.3.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.
@@ -32,7 +32,7 @@ const resources_1 = require("@opentelemetry/resources");
32
32
  const beeaiFramework = __importStar(require("beeai-framework"));
33
33
  const index_1 = require("../src/index");
34
34
  // For troubleshooting, set the log level to DiagLogLevel.DEBUG
35
- api_1.diag.setLogger(new api_1.DiagConsoleLogger(), api_1.DiagLogLevel.DEBUG);
35
+ api_1.diag.setLogger(new api_1.DiagConsoleLogger(), api_1.DiagLogLevel.INFO);
36
36
  /////////////////// instrumentation ///////////////////
37
37
  const provider = new sdk_trace_node_1.NodeTracerProvider({
38
38
  resource: new resources_1.Resource({
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../examples/instrumentation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAIuC;AACvC,4CAA2E;AAC3E,wFAA6E;AAC7E,8EAAwE;AACxE,oGAAuF;AACvF,wDAAoD;AACpD,gEAAkD;AAClD,wCAAoD;AAEpD,+DAA+D;AAC/D,UAAI,CAAC,SAAS,CAAC,IAAI,uBAAiB,EAAE,EAAE,kBAAY,CAAC,KAAK,CAAC,CAAC;AAE5D,uDAAuD;AACvD,MAAM,QAAQ,GAAG,IAAI,mCAAkB,CAAC;IACtC,QAAQ,EAAE,IAAI,oBAAQ,CAAC;QACrB,CAAC,wCAAiB,CAAC,EAAE,OAAO;QAC5B,CAAC,6DAAwB,CAAC,EAAE,eAAe;KAC5C,CAAC;IACF,cAAc,EAAE;QACd,IAAI,oCAAmB,CAAC,IAAI,oCAAmB,EAAE,CAAC;QAClD,IAAI,oCAAmB,CACrB,IAAI,6CAAiB,CAAC;YACpB,GAAG,EAAE,iCAAiC;SACvC,CAAC,CACH;KACF;CACF,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,IAAI,4BAAoB,EAAE,CAAC;AACxD,oBAAoB,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAExD,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAEpB,sCAAsC;AACtC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC"}
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../examples/instrumentation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAIuC;AACvC,4CAA2E;AAC3E,wFAA6E;AAC7E,8EAAwE;AACxE,oGAAuF;AACvF,wDAAoD;AACpD,gEAAkD;AAClD,wCAAoD;AAEpD,+DAA+D;AAC/D,UAAI,CAAC,SAAS,CAAC,IAAI,uBAAiB,EAAE,EAAE,kBAAY,CAAC,IAAI,CAAC,CAAC;AAE3D,uDAAuD;AACvD,MAAM,QAAQ,GAAG,IAAI,mCAAkB,CAAC;IACtC,QAAQ,EAAE,IAAI,oBAAQ,CAAC;QACrB,CAAC,wCAAiB,CAAC,EAAE,OAAO;QAC5B,CAAC,6DAAwB,CAAC,EAAE,eAAe;KAC5C,CAAC;IACF,cAAc,EAAE;QACd,IAAI,oCAAmB,CAAC,IAAI,oCAAmB,EAAE,CAAC;QAClD,IAAI,oCAAmB,CACrB,IAAI,6CAAiB,CAAC;YACpB,GAAG,EAAE,iCAAiC;SACvC,CAAC,CACH;KACF;CACF,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,IAAI,4BAAoB,EAAE,CAAC;AACxD,oBAAoB,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAExD,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAEpB,sCAAsC;AACtC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,mCAAmC,EACnC,qBAAqB,EACtB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAY,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAY3E;;GAEG;AACH,wBAAgB,SAAS,YAExB;AAED,qBAAa,oBAAqB,SAAQ,mBAAmB;IAC3D,OAAO,CAAC,QAAQ,CAAW;gBAEf,EACV,qBAAqB,EACrB,WAAW,GACZ,GAAE;QACD;;;WAGG;QACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;QAC9C;;;WAGG;QACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;KAC7B;IASN,SAAS,CAAC,IAAI;IAWd;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG;IAKrC,OAAO,CAAC,KAAK;IAiFb;;OAEG;IACH,OAAO,CAAC,OAAO;CAehB"}
1
+ {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,mCAAmC,EACnC,qBAAqB,EACtB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAY,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAe3E;;GAEG;AACH,wBAAgB,SAAS,YAExB;AAED,qBAAa,oBAAqB,SAAQ,mBAAmB;IAC3D,OAAO,CAAC,QAAQ,CAAW;gBAEf,EACV,qBAAqB,EACrB,WAAW,GACZ,GAAE;QACD;;;WAGG;QACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;QAC9C;;;WAGG;QACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;KAC7B;IASN,SAAS,CAAC,IAAI;IAWd;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG;IAerC,OAAO,CAAC,KAAK;IAiFb;;OAEG;IACH,OAAO,CAAC,OAAO;CAehB"}
@@ -8,7 +8,9 @@ const beeai_framework_1 = require("beeai-framework");
8
8
  const openinference_core_1 = require("@arizeai/openinference-core");
9
9
  const middleware_1 = require("./middleware");
10
10
  const openinference_semantic_conventions_1 = require("@arizeai/openinference-semantic-conventions");
11
+ const semver_1 = require("semver");
11
12
  const MODULE_NAME = "beeai-framework";
13
+ const INSTRUMENTS = [">=0.1.9 <0.1.12"];
12
14
  /**
13
15
  * Flag to check if the openai module has been patched
14
16
  * Note: This is a fallback in case the module is made immutable (e.x. Deno, webpack, etc.)
@@ -26,7 +28,7 @@ class BeeAIInstrumentation extends instrumentation_1.InstrumentationBase {
26
28
  this.oiTracer = new openinference_core_1.OITracer({ tracer: this.tracer, traceConfig });
27
29
  }
28
30
  init() {
29
- const module = new instrumentation_1.InstrumentationNodeModuleDefinition(MODULE_NAME, ["0.*"], this.patch.bind(this), this.unpatch.bind(this));
31
+ const module = new instrumentation_1.InstrumentationNodeModuleDefinition(MODULE_NAME, INSTRUMENTS, this.patch.bind(this), this.unpatch.bind(this));
30
32
  return module;
31
33
  }
32
34
  /**
@@ -34,6 +36,11 @@ class BeeAIInstrumentation extends instrumentation_1.InstrumentationBase {
34
36
  * @param {openai} module
35
37
  */
36
38
  manuallyInstrument(module) {
39
+ if (!INSTRUMENTS.some((instrument) => (0, semver_1.satisfies)(module.Version, instrument))) {
40
+ const supportedVersionsString = `beeai-framework ["${INSTRUMENTS.join(',"')}"]`;
41
+ api_1.diag.warn(`DependencyConflict: requested: '${supportedVersionsString}' but found: 'beeai-framework "${module.Version}"'`);
42
+ return;
43
+ }
37
44
  api_1.diag.debug(`[BeeaiInstrumentation] Manually instrumenting ${MODULE_NAME}`);
38
45
  this.patch(module);
39
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/instrumentation.ts"],"names":[],"mappings":"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"}