{
  "ml": {
    "v": "7",
    "eng": "2.8.0",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.00008317828,
        "rte": "az",
        "prob": 0.00008317828
      },
      {
        "cls": 0,
        "raw": 0.0007412036,
        "rte": "az/whl",
        "prob": 0.0007412036
      }
    ],
    "prob": 0.00008317828,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00008317828178405762,
        "type": "whl"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000008910894393920898,
        "type": "python"
      },
      {
        "id": 2,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000009278456673200708,
        "type": "python"
      },
      {
        "id": 3,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000009844700798566919,
        "type": "python"
      },
      {
        "id": 9,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00000959634780883789,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-08-29T22:37:38Z"
  },
  "path": "openinference_instrumentation_pipecat-2.0.2-py3-none-any.whl",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "p!H([6Awak2MK\u00268lqOF=0/6!Y002k3001.N003}RwO#j1w[u0]zEWlhx(n0lA=(kgzGGrex(v(xAa%o5v{%EjuTEI+x()Y?e]V9rsy2?0i1QMkdg2PndIJ#uFeur22wZ0!6S)oS1o?d=L/5Fi2{+=)c\u003c]q:{jN^QOGQBUQ[%%crU73k4U%VM+)Y^YX:1BCyBQ@Z",
            "ln": 0
          }
        ],
        "mol": "H₂(Db₂F)",
        "sha": "a1c36d7be057e20ef88f4a610ba71579bd59f161dfa01bb7bdadfb431ecf69b6",
        "path": "openinference_instrumentation_pipecat-2.0.2-py3-none-any.whl",
        "risk": 3,
        "size": 24645,
        "type": "whl",
        "facts": {
          "metrics": {
            "whl": {
              "native_extension_count": 0
            },
            "file": {
              "size": 24645,
              "entropy": 7.95
            },
            "binary": {
              "peak_region_bytes": 23552,
              "peak_region_entropy": 7.82
            },
            "archive": {
              "file_count": 10,
              "member_count": 10,
              "script_count": 5,
              "zip_bomb_ratio": 5.63,
              "compressed_size": 22727,
              "directory_count": 0,
              "executable_count": 0,
              "extra_field_size": 0,
              "noise_file_count": 0,
              "compression.ratio": 0.23,
              "hidden_file_count": 0,
              "uncompressed_size": 96947,
              "crc_collision_count": 0,
              "entry_comment_count": 0,
              "max_filename_length": 70,
              "rtlo_filename_count": 0,
              "format.regular_count": 10,
              "nested_archive_count": 0,
              "path_traversal_count": 0,
              "symlink_escape_count": 0,
              "security.setgid_count": 0,
              "security.setuid_count": 0,
              "security.sticky_count": 0,
              "double_extension_count": 0,
              "duplicate_member_count": 0,
              "security.symlink_count": 0,
              "unicode_filename_count": 0,
              "homoglyph_filename_count": 0,
              "security.encrypted_count": 0,
              "timing.mtime_unique_count": 1,
              "timing.mtime_unique_ratio": 0.1,
              "misplaced_executable_count": 0,
              "timing.mtime_dominant_count": 10,
              "timing.mtime_spread_seconds": 0,
              "timing.sentinel_mtime_count": 0,
              "security.world_writable_count": 0,
              "timing.mtime_dominant_fraction": 1,
              "compression.method_counts.deflate": 10
            }
          }
        },
        "ident": {
          "name": {
            "value": "openinference_instrumentation_pipecat",
            "source": "whl.distribution",
            "verified": false
          },
          "trust": "unsigned",
          "emails": [
            "oss@arize.com"
          ],
          "authors": [
            {
              "name": "OpenInference Authors",
              "role": "author",
              "email": "oss@arize.com",
              "source": "whl.author"
            }
          ],
          "version": {
            "value": "2.0.2",
            "source": "whl.version",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/package/manifest/ecosystem::pypi-basic-metadata",
            "conf": 0.95,
            "crit": 2,
            "desc": "PyPI package declares name, version, summary",
            "from": [
              {
                "off": 66,
                "file": 6,
                "line": 3
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-license-expression",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python license expression",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-markdown-description",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Markdown package description",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/module-exec::module-level-side-effect-call",
            "conf": 0.82,
            "crit": 3,
            "desc": "Python module-level function call"
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-license-file",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package license file",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-name-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package name",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-requires-dist",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python runtime dependencies",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-core-metadata",
            "conf": 1.0,
            "crit": 1,
            "desc": "Declares Python Core Metadata version",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pypi-runtime-metadata",
            "conf": 0.94,
            "crit": 2,
            "desc": "PyPI package declares Python and dependencies",
            "from": [
              {
                "off": 857,
                "file": 6,
                "line": 19
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-summary-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package summary",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-requires-python",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares supported Python versions",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/file/open::write-append-create-mode",
            "conf": 0.85,
            "crit": 3,
            "desc": "Python file opened for write or append"
          },
          {
            "id": "metadata/package/manifest/ecosystem::pypi-license-metadata",
            "conf": 0.94,
            "crit": 2,
            "desc": "PyPI package declares license information",
            "from": [
              {
                "off": 347,
                "file": 6,
                "line": 8
              }
            ]
          },
          {
            "id": "micro-behaviors/data/llm::llm-output-response-word",
            "conf": 0.86,
            "crit": 3,
            "desc": "LLM response output reference",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-version-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package version",
            "from": [
              {
                "file": 6
              }
            ]
          }
        ]
      },
      {
        "analysis_gaps": [
          "flow-query-incomplete"
        ],
        "ctx": [
          {
            "b": "a%FjbAaJ]UzF0E2wO#0?azC.mBAhIvwO#P#BzkVhazbLjaw==\u003ewN/d\u003ce*qF-3jpG:AbP=saz+$exk8l@3tar%z6i}CAa%i5azCXiz/P}xl2H%0avxNNy**^?wH[@\u003ez!%l3v@#B6zy=[#x\u003e8loawV@#x(v($y+cYdB-qed3jpx=z/3RnAaJ{ewO+{{wPR%razCXiz/P}xBAg/1wGUA5aARTjv}x1QAa]U\u003eA=k!qz/xo9By/o1zdN*fC}J/GB98CBzdNQbvruj4zz2TvB98CBzdNQbz/M$mze:AlBrA[UB7E{XB98CBzdNQbz/M%yboR8NAaI6Mx\u003eIs4A+bO\u0026A=k!qCxdbhBrCpmAbP=saA}\u003cmA9)j1zEW^5z/e{aA:-{awPwa+w].*baA8jgzFs02wPzv1v}vobzGx]uB.$YcByxo9z/cXize:AlBrBvJrb#zSwPxsArb#zSwKyxNw[+(+3tar%z6gDIvpK7YxjSi1ze:AlBrB}8zGx]uB.$YcBAm!3A=k!qe{p/DB7]MgazCXiz/P}xuTE$/A=U@kzEl-T3t:S[xjV9ajS[MVxj\u003e{@xd^?dBwcQ=xjV9iuTEXVzdN6Ydgf)fxj\u003e^@e[5p3nmuyDy?mSny\u0026r%0x(mMopiyw?nmuyDy?mSndjCQuz!AY]AXqAABwcm?wO-=hz!AY%zF7N[pdw2d3jpcEvqG:!uM.GOtoV)TAaJJ/Bv*v\u003eBAhIvwO#QdAW1=@3jpoVvrlGjp?:(Wv{%EJzGx]uB.$YcBz(gFlsB}DnP5P\u003eA=(kgzGG/qdlnN]boR8NAaI6Mx\u003eIs4A+bO2arR^Ja%EvparR^)zxJUhB98CBzdNQbz/M$j",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "zGx]uB.$YcBAnN3x(ET1x(mG-z/PS8AV/ExaA7.gwPz%9azbU5zdK\u00264y\u0026sIuvqYP#v@=c?By+!4arR!5AaJ]UzF0E2wO#0?eN@ZoAbok%zGE1xAa9T9azbLjawtE6efE[\u003eq.f51zE:\u003e*r8:#YwPz%dv}xZlaxi2=3lQDlay]55A+e-?By!#9u%(/BAaJ\u003c1zE(^QB8be\u003eayP82vriLtvixV9x(k5mBZ!\u0026%vrlGjz!pb1u@gMRwO=6#wMJ!\u003cyH}J]u)#B9arR!vB0a$hC4CY9wft#mvqZd9",
            "ln": 718,
            "col": 20,
            "line": 26
          },
          {
            "b": "B0bvsBrCpnB98CBzdNQbwN({ewPOn4arR^HarR^Ja%EvparR^HarR!sA=k!qe)\u0026KaB7GxnwPw]cze:AlBrBv#wO$7Sw[u0]zEWlNvSMa3C4CX33lQDlarR^HazCBgzF%RtB7Gf1e[]xlx(n0lA=(kgzGGD2uT!p/z/xo9By/o1zdN*fC@=oParR^HarR^HarR!Evqf^]ax0u1BzkP6mriA!AWRnqarR^HarR^HarR^HarR^JnP1",
            "ln": 1372,
            "col": 44,
            "line": 43
          },
          {
            "b": "z/ff3xcotWrb#zSwKyxNw[+)adgdguarR^HarUliB7ExtarR^HarR^HarR^HvrlH3A=-BrB7]JkByx5%wHI5bzF0P}efE]jvpJ\u003eoz/ff3xdje{arR^HarR^HboPu]wNPW(awUNdA:-D?ATA{iarR^HarU=DvpJ\u003e?auZ\u0026ynMo.sv}xWe3lQDlarR^HarR^HaARTjv}x1QAa{}qwPRp3A:-D?AWUp4zEEx[uTA",
            "ln": 2359,
            "col": 14,
            "line": 68
          },
          {
            "b": "xj2E[xj2m+y?mG)zdK[u3jm)#arR^HarU=DC@=oParR^HarR^HarR!sA=k!qAa%o5v{%EiAa%o5y?W=#e{zkOyH}Jex(d*cA=-B2x(ET1x(mG-z/PS8ATAc@arR^HarR^HarR^Kax9x2A+cwiA+Pf2zEEu7uTEI+x()Y?3lQDlarR^HarR^HaAIagw?ECeA+Pf2zEEu*Cw?IqwPzc(zFshnjS)NnAaJ\u003c1zE()/A+/lbe=",
            "ln": 2762,
            "col": 52,
            "line": 81
          },
          {
            "b": "arR^HarR^Hy\u0026r%0wPxzqzF0/nb2z#)wN/d\u003cazC.mBAhIvwO#P#BzkVhaz2C0vR/Q^a$i\u003caarR^HarR^HwQ4Y@Ac9i]ze:AlBvyj\u003cz/M$eB0b3P3lQDlarR^HarR^Haz+$exjV9oCvtJfx(mMiw*fYMx(4u\u003eaARJAx(n0lA=(kgzGE0$x(ES[vrsKMDU4QHdgcz8arR!qwO95(B-7]hB98CBzdNQbd05%ow?k5OdR\u003clpA+xCOavf)\u003cdiHiaawM\u0026)wJyevarR^HarR^J",
            "ln": 3647,
            "col": 5,
            "line": 104
          },
          {
            "b": "vqE5[uUKy(ByexaaARpdzxJUhygQ)%aA8yyaA7.gwPz%9AXmXaarR^HarR^Hra]#!ay/C6vru74ayMygwP]nnvSMa3C4CXpx(n0lvqYN^azbLjaz1$\u003exDRz9B88)DBzbYavpQ%hvp\u003c71e^-ZzarR^HarR\u003cLa{]CnarR^HarR)KlT:!EaA8pmxk8l(y-)7(x(mTbuTBc.arQ",
            "ln": 4899,
            "col": 20,
            "line": 144
          },
          {
            "b": "aywR%zGYPiB76f8z/e]@wfrptA+PY9By=O6BAzLqvS=^7dgdguarR^HarUfjzGYPiB76f8z/e]@wfs2TxjVf[BAzKKx(n0lvqYN^efDczv@DmdwPz\u003c2BzkVhuUK3{efEYazE\u003em7arR^HarR^HvpS[.BzkVhvqGp(Aa9S\u003evruQix\u003c#jbwPF$SazkncvruQic#0NuByx5%wH[@FuTWFQx([6czEEu*B8UM9uTX4#A+P09By/IqefEYazE\u003el",
            "ln": 5196,
            "col": 38,
            "line": 152
          },
          {
            "b": "vrDyduU0.SB.t5$z!AA?x(4u#vqPM.arR^HarR^Hdgcz8arR^HarR!sA=k!qz/xo9x(mJ]A+fb#wIdXmB98CBzdNQbvruj4zz2)xAaJJ/Bs{{svSMa3C4CXpx(d*cA=-B1AaJ]UzF0E2wO#0?pHXxRA=#2m3jm)#arR^HarUPiB7GxnwPw[RawV@/zB[.TwPzv1v}wCBB7GxnwPxgaarR^HarR^HarR^HBAg/1wPx}PwO+%huVZr%v}xWiarR)KBA}?piV@cHzF%MbtvzL+",
            "ln": 5594,
            "col": 72,
            "line": 158
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "logging.getLogger"
            ],
            [
              "",
              "logger.addHandler"
            ],
            [
              "",
              "logging.NullHandler"
            ],
            [
              "",
              "logger.setLevel"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "RuntimeError"
            ],
            [
              "",
              "OpenInferenceObserver"
            ],
            [
              "",
              "kwargs.get"
            ],
            [
              "",
              "trace_api.get_tracer_provider"
            ],
            [
              "",
              "kwargs.get"
            ],
            [
              "",
              "TraceConfig"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "OITracer"
            ],
            [
              "",
              "trace_api.get_tracer"
            ],
            [
              "",
              "kwargs.get"
            ],
            [
              "",
              "wrap_function_wrapper"
            ],
            [
              "",
              "_PipelineInitWrapper"
            ],
            [
              "",
              "logger.info"
            ],
            [
              "",
              "logger.warning"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "logger.info"
            ],
            [
              "",
              "wrapped"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "OpenInferenceObserver"
            ],
            [
              "",
              "instance.add_observer"
            ],
            [
              "",
              "logger.info"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "id"
            ],
            [
              "",
              "logger.info"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "logger.info"
            ],
            [
              "",
              "._observer"
            ],
            [
              "._observer",
              "._observer.OpenInferenceObserver"
            ],
            [
              "",
              ".package"
            ],
            [
              ".package",
              ".package._instruments"
            ],
            [
              "",
              ".version"
            ],
            [
              ".version",
              ".version.__version__"
            ],
            [
              "typing",
              "Any"
            ],
            [
              "opentelemetry.instrumentation.instrumentor",
              "BaseInstrumentor"
            ],
            [
              "typing",
              "Callable"
            ],
            [
              "typing",
              "Collection"
            ],
            [
              "typing",
              "Dict"
            ],
            [
              "openinference.instrumentation",
              "OITracer"
            ],
            [
              "openinference.instrumentation.pipecat._observer",
              "OpenInferenceObserver"
            ],
            [
              "typing",
              "Optional"
            ],
            [
              "pipecat.pipeline.worker",
              "PipelineWorker"
            ],
            [
              "openinference.instrumentation",
              "TraceConfig"
            ],
            [
              "typing",
              "Tuple"
            ],
            [
              "",
              "logging"
            ],
            [
              "",
              "openinference.instrumentation"
            ],
            [
              "",
              "openinference.instrumentation.pipecat._observer"
            ],
            [
              "",
              "opentelemetry"
            ],
            [
              "",
              "opentelemetry.instrumentation.instrumentor"
            ],
            [
              "",
              "pipecat.pipeline.worker"
            ],
            [
              "opentelemetry",
              "trace"
            ],
            [
              "",
              "typing"
            ],
            [
              "wrapt",
              "wrap_function_wrapper"
            ],
            [
              "",
              "wrapt"
            ]
          ],
          "mbr": [
            "PipelineWorker.__init__",
            "instance.add_observer",
            "kwargs.get",
            "logger.addHandler",
            "logger.info",
            "logger.setLevel",
            "logger.warning",
            "logging.INFO",
            "logging.NullHandler",
            "logging.getLogger",
            "self._config",
            "self._debug_log_filename",
            "self._default_debug_log_filename",
            "self._original_worker_init",
            "self._tracer",
            "self.is_instrumented_by_opentelemetry",
            "trace_api.get_tracer",
            "trace_api.get_tracer_provider",
            "type.__name__"
          ],
          "tgt": [
            "OITracer",
            "OpenInferenceObserver",
            "RuntimeError",
            "TraceConfig",
            "_PipelineInitWrapper",
            "getattr",
            "hasattr",
            "id",
            "instance.add_observer",
            "isinstance",
            "kwargs.get",
            "logger.addHandler",
            "logger.info",
            "logger.setLevel",
            "logger.warning",
            "logging.NullHandler",
            "logging.getLogger",
            "str",
            "trace_api.get_tracer",
            "trace_api.get_tracer_provider",
            "type",
            "wrap_function_wrapper",
            "wrapped"
          ],
          "funcs": [
            [
              "instrumentation_dependencies",
              1020
            ],
            [
              "create_observer",
              1155
            ],
            [
              "_instrument",
              1810
            ],
            [
              "_uninstrument",
              3806
            ],
            [
              "__init__",
              4412
            ],
            [
              "__call__",
              4695
            ]
          ],
          "metrics": {
            "ast": {
              "op.lor": 1,
              "max_depth": 14,
              "call_count": 33,
              "node_count": 1020,
              "member_count": 19,
              "op_density.lor": 0,
              "max_array_length": 2,
              "max_member_depth": 2
            },
            "file": {
              "size": 6463,
              "entropy": 4.44
            },
            "text": {
              "lines": 180,
              "top_char": 101,
              "space_count": 1566,
              "char_entropy": 4.44,
              "unique_chars": 64,
              "top_char_null": 0,
              "import_density": 15,
              "string_density": 0.14,
              "top_char_ratio": 0.08,
              "avg_line_length": 34.91,
              "max_line_length": 118,
              "non_ascii_ratio": 0,
              "empty_line_ratio": 0.21,
              "last_line_length": 62,
              "whitespace_ratio": 0.27,
              "identifier_density": 1.27,
              "line_length_stddev": 28.79,
              "max_whitespace_run": 2,
              "normalized_import_count": 2.01,
              "normalized_string_count": 1.86,
              "repeated_char_sequences": 47,
              "suspicious_string_ratio": 0.08,
              "normalized_function_count": 0.45,
              "imports_to_functions_ratio": 4.5,
              "strings_to_functions_ratio": 4.17,
              "suspicious_identifier_ratio": 0.01,
              "normalized_unique_identifiers": 10.81,
              "identifiers_to_functions_ratio": 13.5
            },
            "binds": {
              "count": 17
            },
            "binary": {
              "peak_region_bytes": 4415,
              "peak_region_entropy": 4.73
            },
            "source": {
              "class_count": 2,
              "function_count": 6
            },
            "imports": {
              "count": 27,
              "aliased": 1,
              "relative": 6,
              "stdlib_count": 2,
              "stdlib_ratio": 0.07,
              "relative_ratio": 0.22,
              "third_party_count": 25,
              "third_party_ratio": 0.93
            },
            "strings": {
              "bytes": 1762,
              "count": 25,
              "shell": 1,
              "avg_length": 70.48,
              "max_length": 361,
              "avg_entropy": 3.78,
              "entropy_stddev": 0.4,
              "embedded_code_candidates": 1
            },
            "comments": {
              "chars": 714,
              "count": 18,
              "lines": 18,
              "to_code_ratio": 0.11
            },
            "functions": {
              "count": 8,
              "density": 3.33,
              "avg_params": 2.5,
              "code_ratio": 0.78,
              "max_params": 5,
              "length_stddev": 18.96,
              "avg_name_length": 13.83,
              "avg_length_lines": 23.33,
              "max_length_lines": 53,
              "min_length_lines": 2,
              "avg_param_name_length": 7.53
            },
            "identifiers": {
              "count": 229,
              "unique": 81,
              "avg_length": 10.6,
              "max_length": 32,
              "min_length": 1,
              "avg_entropy": 2.64,
              "reuse_ratio": 0.35,
              "length_stddev": 6.49,
              "sequential_names": 1,
              "single_char_count": 1,
              "single_char_ratio": 0.01,
              "high_entropy_count": 9,
              "high_entropy_ratio": 0.11,
              "all_lowercase_ratio": 0.74,
              "all_uppercase_ratio": 0.01,
              "double_underscore_count": 5,
              "underscore_prefix_count": 15
            }
          }
        },
        "id": 1,
        "mol": "H₂(Db₂)",
        "path": "openinference_instrumentation_pipecat-2.0.2-py3-none-any.whl!!openinference/instrumentation/pipecat/__init__.py",
        "pid": 0,
        "risk": 4,
        "sha": "3e63f1d44d79bea3684b8190d7b8f0e66d1ff820ba42123ccf3a1706b62ee240",
        "size": 6463,
        "traits": [
          {
            "id": "micro-behaviors/data/control-flow/error-handling::python-import-error-handler",
            "mbc": "C0027",
            "conf": 0.5,
            "crit": 3,
            "desc": "Handles a missing-module ImportError",
            "spans": [
              [
                3711,
                24
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/module-exec::module-level-side-effect-call",
            "conf": 0.82,
            "crit": 3,
            "desc": "Python module-level function call syntax",
            "spans": [
              [
                478,
                40
              ],
              [
                519,
                29
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/wire-marker::llm-term-reference",
            "conf": 0.88,
            "crit": 3,
            "desc": "Explicit LLM or language-model reference",
            "spans": [
              [
                815,
                3
              ]
            ]
          },
          {
            "id": "micro-behaviors/metaprogramming/reflection::python-getattr-call",
            "conf": 0.75,
            "crit": 3,
            "desc": "Python getattr dynamic attribute lookup",
            "spans": [
              [
                5260,
                7
              ]
            ]
          },
          {
            "id": "metadata/file/extension/identity::py",
            "conf": 1.0,
            "crit": 2,
            "desc": "File uses a Python artifact extension"
          },
          {
            "id": "metadata/file/line::file-has-30-plus-lines",
            "conf": 0.9,
            "crit": 2,
            "desc": "File has 30 or more lines"
          },
          {
            "id": "metadata/import/python/logging::logging",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports logging",
            "spans": [
              [
                57,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/instrumentation/oitracer::oitracer",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports OITracer from openinference.instrumentation",
            "spans": [
              [
                350,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/instrumentation/pipecat/_observer/openinferenceobserver::openinferenceobserver",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports OpenInferenceObserver from openinference.instrumentation.pipecat._observer",
            "spans": [
              [
                5697,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/instrumentation/pipecat/_observer::openinference/instrumentation/pipecat/_observer",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports openinference.instrumentation.pipecat._observer",
            "spans": [
              [
                5642,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/instrumentation/traceconfig::traceconfig",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports TraceConfig from openinference.instrumentation",
            "spans": [
              [
                360,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/instrumentation::openinference/instrumentation",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports openinference.instrumentation",
            "spans": [
              [
                313,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/opentelemetry/instrumentation/instrumentor/baseinstrumentor::baseinstrumentor",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports BaseInstrumentor from opentelemetry.instrumentation.instrumentor",
            "spans": [
              [
                234,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/opentelemetry/instrumentation/instrumentor::opentelemetry/instrumentation/instrumentor",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports opentelemetry.instrumentation.instrumentor",
            "spans": [
              [
                184,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/opentelemetry/trace::trace_api",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports trace from opentelemetry as trace_api",
            "spans": [
              [
                160,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/opentelemetry::opentelemetry",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports opentelemetry",
            "spans": [
              [
                139,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/pipeline/worker/pipelineworker::pipelineworker",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports PipelineWorker from pipecat.pipeline.worker",
            "spans": [
              [
                2841,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/pipeline/worker::pipecat/pipeline/worker",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.pipeline.worker",
            "spans": [
              [
                2810,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/1/_observer/openinferenceobserver::openinferenceobserver",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ._observer.OpenInferenceObserver from ._observer",
            "spans": [
              [
                1438,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/1/_observer::relative/1/_observer",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ._observer",
            "spans": [
              [
                1420,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/1/package/_instruments::_instruments",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports .package._instruments from .package",
            "spans": [
              [
                394,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/1/package::relative/1/package",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports .package",
            "spans": [
              [
                378,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/1/version/__version__::__version__",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports .version.__version__ from .version",
            "spans": [
              [
                428,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/1/version::relative/1/version",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports .version",
            "spans": [
              [
                412,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/any::any",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Any from typing",
            "spans": [
              [
                84,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/callable::callable",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Callable from typing",
            "spans": [
              [
                89,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/collection::collection",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Collection from typing",
            "spans": [
              [
                99,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/dict::dict",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Dict from typing",
            "spans": [
              [
                111,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/optional::optional",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Optional from typing",
            "spans": [
              [
                117,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/tuple::tuple",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Tuple from typing",
            "spans": [
              [
                127,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing::typing",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports typing",
            "spans": [
              [
                70,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/wrapt/wrap_function_wrapper::wrap_function_wrapper",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports wrap_function_wrapper from wrapt",
            "spans": [
              [
                285,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/wrapt::wrapt",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports wrapt",
            "spans": [
              [
                272,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/assert::python-assert-statement",
            "conf": 0.95,
            "crit": 2,
            "desc": "Checks condition using Python assert",
            "spans": [
              [
                2407,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/error-handling::except-keyword-dup",
            "mbc": "C0027",
            "conf": 0.5,
            "crit": 2,
            "desc": "except keyword",
            "spans": [
              [
                3711,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/error-handling::importerror-keyword",
            "mbc": "C0027",
            "conf": 0.6,
            "crit": 2,
            "desc": "ImportError exception",
            "spans": [
              [
                3718,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                843,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                766,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                33,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                4947,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/source/declaration::class-with-base",
            "conf": 0.95,
            "crit": 1,
            "desc": "Python class declared with a base class",
            "spans": [
              [
                586,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/repository-directive::repository-agent-directive-marker",
            "conf": 0.88,
            "crit": 1,
            "desc": "Marks text as an agent directive",
            "spans": [
              [
                4993,
                0
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "analysis_gaps": [
          "flow-graph-limited",
          "flow-call-unavailable",
          "flow-query-incomplete"
        ],
        "ctx": [
          {
            "b": "a%Gr{BAh88B-.gqwQ5rqvpKy[z/cXfA=k!qp?:(Wv{%E4w].r%wPGEFa%Ev3x(d*cA=-Buz!AY%zF6q*A=k!qBA}?tzF78aze:AlBrA\u003e!C}p79vqG:*vR/QbavG{NBsXLdx(!wEaxiS9wEn=RA=k!qz/xo9x(mJ]A+fb#wIdXmB98CBzdNQbvruj4zz2Qly\u0026A%aB0bglAbP=saAH$6wNxg[z/e])B.#8s3tar%z6i+owO#j1w[u0]zEWlgB7Gh#z/f.JBAg/1wGUY7AbP=sasENtarR^)B.2i8l3di?x\u003c#jbwPGyfarR^Ho\u003ewx!vp%dqBAzLqvS=^7B1vUvarR!5AaJ]UzF0E2wO#0?q/De.okeoOr://!wPGyfarR^Hq/De.l3di?x\u003c#jbwPGyfarR^HrbVX\u003elT:!El3di?x\u003c#jbwPGyfdgfWcz/3Rox(ES[vrsblA:-/@B1R6BvqPN%azCXiz/P}xc\u003c?7tarS%)wnb%WvrUgYvqPNb3lQDlavZxWzdLm9arR^HmS\u0026PUBzkVhlT:!EmSJA:oIwei3lQDlavZG\u003ev@#B6zBm\u0026Gy!nIvA=kPhwPI]ZA:-/@ed9HxarTc@zEW^5z/d{Jy\u002600XB9hqvmSI{OwH[fharR^#zGGDgx(c*\u0026vqZc@A+PGmx(v(UA:-/@ed9HxarTuKo*-\u0026pBy/YsmSI{OwH[fharR!2oIF00y\u002600XB8V5nB7E^TwjyPFzdLm9arR^HoIweIB.\u003e\u003e(wPI*ezGxw/ByxiimSI{OwH[fharR!2oIFk)B8$=5wPHdRAaJ]$mSI{OwH[fharR!2oIFF$CYVz}vqPNb3lQDlawDA?A+P38mSI{OwH[fharR!awQ5q^A:-/@ed9HxarTT7vqZc@A+PGmx(v(UA:-/@ed9HxarTS.q=EsMBvHpVzdLm9dgfWcz/3Rox(ES[vrsbswPR%bv@\u003cntwPR%bv@\u0026=bze:AlBrz$sarR^HoIweWz!\u0026{4rDzOYwH[fharR!2oIFJdvp%dCwPR%bv@\u003e4DByuZcarR^Ho\u003ewA!x\u003e8iLvrt{e3lQDlaw^8%v}x.5x(mMTwPR%bv@\u003e4DByuZcarR^Hr8=sNo\u003ewA!x\u003e8iLvrt{e3lQDlaxhrsrDzOYwLD-TA+P38l$7gCed9*kw].*baAh4lwN/d\u003ce]U\u0026Hv}x.5z/P[Kvp%j[wOkB[z/P[Ky\u00260@}v@DmbwQ5qtx(d*cA=-A$oIFD8wN/B^x\u003e6\u003eGB8$=5wEr3\u0026z/3Rox(ES[vrsbvA=kD0B8#nuB1R6BvqPN.Ab](bwPI{hAV/7kAbP=savZxWzdMK:z!0v1B8M7aw].*baAh4lwN/d\u003ce]$PAC4\u003eC$B1Q)nuVP!0C4\u003eC$azCXiz/P}xk$L0^A=#ebwEr3\u0026z/3Rox(ES[vrsbywPz%dv}xZlx(do\u003ewNxH\u0026A=#ebwGUY7AbP=saw3AUxjTOAzC$a!C4\u003eC$3tar%z6i!iAaJJ/Bs}SCA=#ebwPGFuy\u00269K2wPz%dv}u=%ze:AlBrBmJo\u0026CRzC4\u003eC$3tar%z6i!iAaJJ/Bs}SCA=#ebwPGFBBAy(hwPz%dv}u=%ze:AlBrBHYr8WvGC4\u003eC$3tar%z6i!iAaJJ/Bs}SCA=#ebwPGFCBAp/gwPz%dv}u=%ze:AlBrBKZq=vmFC4\u003eC$3tar%z6i!iAaJJ/Bs}SCA=#ebwPGFEx(!0bzEmD@A=#ebwGUY7AbP=saxAh$x(v(/wPz%dv}u0VA=k!qAa%o5v{%EiB7Gxnx\u003e7Z}e{y(oB8LM7wPRp2wPz%dv}u=%ze:AlBrBT@vSMD$yH}P^wPz%dv}u0VA=k!qAa%o5v{%EiBAg/cB8V5rBAo6zvrl0!z/{evB-X:uze:AlBrA[UB7Fc\u0026Bz#wArb#z+B8V5rBp5v\u003ez!AY]AV^H/y\u0026r%0x(mMoxjVfUz!AY]AWUp4zEEx[uTCk?y\u0026r%0wPxzAwPQQSC4CFry\u0026r%0x(mMonLR-Jdgcz?uTW+!uTB{sax]f}arR^JwQ5rqvpKy^vruQix\u003c#jbwPIi\u003cA=k/4w].r%wG\u0026VjarR^Hb4V1vA:-E1uVP!0C4\u003eC$uTX4#A+P09By/Iqed9HxarR\u003eswPRG[Byf92A=#ebwNxL8AaHjA3lQC",
            "ln": 1,
            "col": 2,
            "line": 1
          },
          {
            "b": "p-}[zDKp(rarTPZr8WvGC4\u003eC$e)?$6vqPN.uPGqNB98HFed9HxarTuKo\u0026CRzC4\u003eC$e)?$6vqPN.uPGqNy\u00260@jed9HxarTS.q=vmFC4\u003eC$e)?$6vqPN.uPGqNBAzNFed9HxarTl)vp%dwwO$BTA=#ebwIds%zEEx[uTC\u0026pb57[5xjUB.wO@Xy3lQDlaxAh$x(v(/wPz%dv}vo1uV6p?wNw!9ar\u003e#yB7]Mga$K6zarR!dwNY.0v@2S",
            "ln": 2191,
            "col": 16,
            "line": 72
          },
          {
            "b": "vqPN7B7Gxnx\u003e7ZnavZxWzdMK:z!0v1B8M7Fat2=1B98B-3lQDlar\u00260Nm}D=+BzbkdzeS@@y-)R7zdK\u00264A=k!qvixS5A=#ebwIbeJa{]CnarUYoBAIRwaAITBc\u003c?7tarR^HarUrdByxokAWV0uA=#ebwH[@FuUjB%y*R3$wmYN:zEEx[a$K\u003ciz/fbn3lQDlarR^HaA8oyxjVf[BAzKKB7Gxnx\u003e7Z9ar\u003eVvwmYN:zEEx[a$K\u003ciz/fbn3lQDlarR^HaA8oyxjVf[BAzKKB7Gxnx\u003e7Z9ar\u003eVvwmYN3efDcVzFKcdCwXPN3lQDlasNT83s)ZWaAH$6wNx1[BAg/1BspZBBAg/1Bz(gXavxNNy**^?wM@wAefEk@D0I%zwmYvYB.(dXavf)\u003cauZ\u0026xz/fbnat2=1l2H%e3lQDlar\u00260N3lQDlax8YXwO=SmwQ4=@B-.gqvqWi0CYW$mv@#Tfazb+lv@#B6zy=]JwPS6nzFs03ay]4}vrDydaA^",
            "ln": 2508,
            "col": 16,
            "line": 84
          },
          {
            "b": "arR^Ha%FirarR^HBAhT/3lQDlarR^HaAz4nB-IvxwQ5rqvpKy$AWSvzarR^HwQ4Y@Ac9i\u003eCW\u003er7BzkVhayPslwJyevarR^HarR!yz!AY]AXp)lvS=riw*fYMx(4u\u003eaARJAwQ5rqvpKy4vruQix\u003c#jbwJy@XwQL:K3lQDlarR^HaAz4nB-IvxwmYvYB.(db3jprPw/$C#",
            "ln": 3089,
            "col": 1,
            "line": 103
          },
          {
            "b": "avf)\u003ciTM#LarR\u003cLb2R#]B-IvxvqWh-AaJ]^wO+{{wPR%rePUujwGVe8y\u0026%qiw]zYjzdN^fvp%c]v@DmbwO#Pxa%FirarR^Hx\u003ewG4B7]JkByx5%wHI5bzGGDcBsXK.wnbK}efF+yB95\u0026WiTM#LarR^HarUYoBAIRwaAH$6wNxg[z/e])B.#8sc$ve",
            "ln": 3290,
            "col": 48,
            "line": 111
          },
          {
            "b": "zxJCczGGDcBp5uZwmYu}uUr}(uVZj8y*QWXy\u00260D!BAzLqvS=^7B0}wrarR!CA+e\u0026%CSD%*BAe]tarR^HBz(8luT)IXy=SXbx\u003e8l?B98BNavf)\u003ct}usiat2=1l${dMtxs[befEk@D0JDrarR^Ha%FjewPS6nzxJLcvruQ5zE)u3vruQix\u003c#jbwPF#az/M$eaARKuy-)j@y?$kjzxJw9awtE6azC.jB-X:ywPI{3xjSXta%EvparR!nBAzLqvS=^7B2\u003eBix\u003e8l?B98BNavf)\u003ct{8oMDWMkzarR!vw/@piwfJdgzxK4tz!@=\u003cvqG:v3lQDlarR^HayPwlA+P09By/I$w*hOvA+e\u0026%CZRh^z/oD0v{%g\u0026e[[\u0026ut{8oMBz(8luT)IXy*e8$wfLp^arR^Hx\u003ewFiw{503BzkVha%pPqaARKuy*QWXy?$k5zE:(7B7]JkByx5%wHIUsz!@=\u003cvqG::b4+$nv@#B6zx-vqay]g@BsxlTarR^HarR^Hw{503BzkVhauZ\u0026?z/oD0v{%g\u0026toWW4zEW^5z/c+83lQDlarR^HazCBgb5N",
            "ln": 3453,
            "col": 10,
            "line": 115
          },
          {
            "b": "BzkVhawW2*wPw]nzY\u0026UazE:(4x(Xopaz\u003eLev}YN]xcp/bvqPM#BA}?p3lQDlazbLjayX=2wNw}-vrlGjx(k59A:-/@e)?%}y*?yauTCA)uU%?4uTC\u00263arR^HarR^Hw].r%wNxL8AaHdPavYl{o*@z*sX}K]o*IPdxjVfkvQTs?uT)[XB8@%vuV6p?wNw^[3lQDlarR^HazCBgw].r%wNxL8AaI6qarR^HarR^HarR^HA+funA=91iA:-/@uVZNjwEoL5arUYoBAIRwar*",
            "ln": 4295,
            "col": 37,
            "line": 137
          },
          {
            "b": "pJx#SAV/Exazbt9wftF#A=VsBzddJ@xLzu%aAIamC4\u003eC$aAR)FwEoL5arUomAV!?1B7FY*y*?yaazCZoB7Gxnx\u003e7ZbuTEqVvrlG%uOkX)ze%M4uPFJparR^HarR!FwPz%dv}x1?D2NsqjS)V(qDuvRmpf1%p^[.=k#ogDwPPtfvrl0!v@bN{B1Q*bzEEx[uTCk?arR^HarR^Hx\u003ewGewPz%dv}x1?D2NsQ3lQDlarR^HarR^HaAz4nB-IvxB7Gxnx\u003e7ZYBA}?p3lQDlao",
            "ln": 4694,
            "col": 42,
            "line": 147
          },
          {
            "b": "wGUz7B98CpzF6q0arR!GzY\u0026+8wO#Q7w{CIrA=kD0B8#nuefG1LaA}xtB-RapBzbxfaz\u003eXixM4A7Bz\u0026pjwPRH7ze0)0aAIamC4\u003eC$aAR)FwEn+!arR^)A+xCO3lQDlarR^HaAIamC4\u003eC$iV@G=AX5tEwGUwJz/oo8wLt=(q!o#)x\u003e7ZZ3jm)#arTM[",
            "ln": 5062,
            "col": 61,
            "line": 157
          },
          {
            "b": "wgO6garR^HarR!9Aa9SIBAzLqvS=^7B1QD\u003emn^F:l](DbvqPE:vixf5vqPNpazkncvruQic$WHdzdLmvb6v%rA:JJ\u003ea$K\u003ciz/fbned9HxarR^HarR\u003euA:-/@e]C9mwG\u003ceTy*?f\u0026wmlP)A:-/@iV@6DByxokAWUKuvqPNbar\u003eYizdK[xawM\u0026)wHPeqarR^HarR^Hb4+\u003e7zdLtsBAnS!az+F6vQ@)\u0026w].r%wJy@DwPRv5BAe^wA:-/@efDcQBn",
            "ln": 6199,
            "col": 42,
            "line": 196
          },
          {
            "b": "vqPN8at2=1l${dMtxs[befEk@D0JDrarR^HarR^HA+frmy\u0026?YXl${dMtxs[befEk@D0IKQaBwIzarR^HarR^HvruQix\u003c#jbwPF$SaBtN/B7Gf1e)\u00266@B7FY!BAzLqvS=+",
            "ln": 6927,
            "col": 43,
            "line": 208
          },
          {
            "b": "jS[]Ry\u0026%p@arR^HarR^HA+funA=91uwPJ0gBp5uZv@bN{B0aB[CYVz}vqPNACYW$mv@#Tfc}nk=zdM1PBAh88B-.g-CYW$mv@#Tfdlm!UarR^Ja%GE2BAg/1BrC1lBAh88B-.hoazbUjz6i}iCYU6uAS",
            "ln": 7333,
            "col": 35,
            "line": 215
          },
          {
            "b": "arR^Har@1dA:-\u003cbv@=p5BzkVhazbU5zdN=hvrb{4nLS8Zr3iPiB7GwmB8UY4v}Wp#arR^HarR^HarR^HarR^HA+frmy\u0026\u003c-5q/De.l3di?x\u003c#jbwPGE}peB}\u0026uSGD^ryHf",
            "ln": 7873,
            "col": 12,
            "line": 229
          },
          {
            "b": "jS\u003e}\u0026BAy(iwQ5qv3jm)#arR^HarR^HarR^HarR)Kl1BHGx(^S[x(mu}azbB#xcp/8AV/EAvqZc@A+PGmx(v)g3lQDlarR^HarR^HarR^HazCBgx(!0aB97\u0026dv}v4",
            "ln": 8252,
            "col": 62,
            "line": 235
          },
          {
            "b": "aAI*CBzblbx)Ku3dgdguarR^HarR^HarR^HarR)Kph+k=iV{?ezyoJGB7GConLS8Zr9@V(oJsI7xK#i}at1ZOvSMa3C4CXpCwg(fayO+\u0026B.#nqvru66B98ClvqPZ@",
            "ln": 8761,
            "col": 79,
            "line": 245
          },
          {
            "b": "wQ5qv3jm)#arR^HarUYoBAIRwaAz4mB.(ev3jma+ax8#(xkzd3z/cXtwQ5qtw].r%wGUMeBAg/1Bz(gbuVY\u003e7ByeT2vqPN.wQ5rqvpKy$AV^H/raQq@mSI{OwKQ\u0026=A:-E1z/NlP3jmbIy*?yaawtE6lVl\u003c:wQ5q^A:-/@mr\u0026]{vpKy$AWTy$vqPNwBAzLqvS=^7mr\u0026]{vpKy$AW:3RarR^Ha%Fj1CYW$mv@@\u00264BAzLqvS=^7B0b7nz/3R9zxIRDo^0}:zGGDmBrCgovqPNda%Fir3lQDlay]4}az2!tA:X",
            "ln": 9686,
            "col": 67,
            "line": 260
          },
          {
            "b": "wIdFhzGGDmBp6ckarR^HarR^HarR)Kmr\u0026]{vpKy4zdN^fvp%d)azbUjz6itbzGGDmBp6ckarR^HarR^HarR)Kph+k=iV}{JzGGDmBs}AwB8$=5wPF#dB0bNrwGU@mvR/:*",
            "ln": 10096,
            "col": 27,
            "line": 275
          },
          {
            "b": "arR^HarU-pA+O@#x)Kh%y?l%\u003cwPI{3xjVcbjS)%m3lQDlarR^HarR^HarR^HazbLjaz(gjazCZozdN^fvp%d)uU\u003cB$Buf:KarR^HarR^HarR^HarR^HarR!vw/$/ex(n0lvqYN^c#B3refFFqv@%dX3lQDlarR^HarR^HarR^HarR^HarR^HaAy[muT[1(By/ui",
            "ln": 10831,
            "col": 11,
            "line": 289
          },
          {
            "b": "BrCpsaz#ataAy[muT[1(By/uiiTM#LarR^HarR^HarR^HarR^HarR^HarR^HarUJxxcotWDNZHZB7W3Db4CLeBy/uib03\u0026Rz/fVdzGHplarR^HarR^HarR^HarR^HarR^HarR^HB7GxavqGU7vpB4:uU%v}B75Y)B1Q)uAaJ]$c#B3rdgdguarR^HarR^HarR^HarR^HarUlix\u003ewG4B7]JkByx5%wHIzpxdLf0oIFD8wN/B^x\u003e6\u003eGB8$=5wHN",
            "ln": 11116,
            "col": 34,
            "line": 294
          },
          {
            "b": "ax9x2A+cw9B.\u003e\u003epzdN^fvp%c]xLzKfz/QaCx(k59y*?BcwO#6\u0026azbLjzddJeBzb98avg3ZDsXjgCYmk7BAm^iarR^HarR^HarR^HarR!vw/#eaA+O@#x)Kh%y?l%\u003cwPI{3xjVcB3lQDlarR^HarR^HarR^HarR^HazbLjazC.7wQ2:GzdN^fvp%c]",
            "ln": 13319,
            "col": 18,
            "line": 334
          },
          {
            "b": "arR^HarR^HarR^HarR^HarR^HarR^HA+frmy\u0026\u003c.JB-p(1By=\u003ecxjVf(Bz(8luT)IXy*QQ)BAh88B-.hoc#:irw[=GvaARKuy*QWXy?$KH3jm)#arR^HarR^HarR^HarQ",
            "ln": 14673,
            "col": 17,
            "line": 356
          },
          {
            "b": "xdLfox\u003e8llayPd#az(gje[X:qc)AXIy?j!tau.\u003egb6v%rAW0KKarR^HarR^HarR^HarR^HarR^HarR^HarR^Hy*?ybuV*B3A:JV{B8$=5wGTbUzf6s%arR^HarR^HarR^",
            "ln": 15005,
            "col": 41,
            "line": 361
          },
          {
            "b": "arR^HarR^HarR^HarR^HarR^HarR^Kax8\u0026[az\u003eXhB75Y)ayPwlA+P09By/IoCwhejaAhvtAaK5jA=k=9ayPwlA+P09BzkVh3lQDlarR^HarR^HarR^HarR^HarR^HaAz4mB.(evttnWIB75Y)l3di?x\u003c#jbwPGE#mn)bJm[3=.pFsh.auZ\u0026-vrlJ$",
            "ln": 15414,
            "col": 2,
            "line": 370
          },
          {
            "b": "y-)R7zdN+}arR^HarR^HarR^HarR^HarR^HarR^HBz(8luV6p?wPF$Sax@aUarR^HarR^HarR^HarR^HarR^HarR^Hw]zYjBz(8lazCZoBz(8lB2\u003cTJarR^HarR^HarR^HarR^HarR^HarR^HarR!vw/$/ex(n0lvqYN^d0fxCy+cYtx\u003e8llayPd#ar\u003eYizdK[lx(k5nz/oCM3lQDlarR^HarR^HarR^HarR^HarR^HarR^HarR^HaARKuy*R6*zdN=vvq{f%zE+eqz/oC@b5Q?awG\u003eze",
            "ln": 16199,
            "col": 38,
            "line": 384
          },
          {
            "b": "arR^HarR!EwPS6nzxJ$hB9hqvA%-lYboP{0zF9=%Bz(4toIwe6v@DmbwQ5qtw].r%wGUMeBAg/1Bz(gbuU\u003cK}uT[1(By/YsuUjs!zdN6=CYW$mv@#TfauZ\u0026voIE()zGGDmBvHpVzdMdXBAg/1Bz(gFdgcy?v@bN{B0adIo?/huB75Y)B5MT\u0026B.bD2wKZYGzdMdXBAg/1Bz(gFmSI{OwKgAWA+P09By^)=BAg/1Bz(gGiTM#LarR\u003cLb1l-#A:-E1ayPwlA+P09By/Iow].*bayPdgoIwe6zdN^fvp%d)ayPkdwO#33w].r%wIbe",
            "ln": 17588,
            "col": 2,
            "line": 412
          },
          {
            "b": "mr\u0026]{vpKy4By/Ysay/tcBy/uiazbLjazC.jB-YlVvqH6$3lQDlarR^HarR^HazbLjaz\u003eXhB75Y)azCZozdN^fvp%d)iTM#LarR^HarR^HarR^HarUxgazC[hzGx]dzEWlazdN^fvp%d5ay]g@BsxlTarR^HarR^HarR^HarR^HarR^HA+frmy\u0026\u003c-5q/De.l3di?x\u003c#jb",
            "ln": 18175,
            "col": 15,
            "line": 431
          },
          {
            "b": "B-IvxA+frmy\u0026\u003c.93jn12q!ZbZy?mZbzxIRDo^1p:B8$=5wPF#nwPq\u003c7zEWl2w].r%wGUMeBAg/1Bz(gbuU\u003cK}uU%v}B75Y)B6\u003c01ADL\u0026gv}x1VA:-/@uUaF7A:-E1z/M%-awtE6o\u003ewx!vp%d)q!o@\u003ewO#0?mSI{OwKQ\u0026=A:-E1z/NlP3jmbIy*?yaawtE6o\u003ewx!vp%d)l2Z^OzE=jSvqPNACYW$mv@#Tfc})reo\u003ewx!vp%d)q!o@\u003ewO#0?mSI{OwKQ\u0026=A:-E1z/No/3lQDlar\u00260Nmr\u0026]{vpKy4vruQix\u003c#jbwPF#aA=k!qvqWhYoIDTDwPI{3xjVcbvq{f%zE-",
            "ln": 19086,
            "col": 12,
            "line": 449
          },
          {
            "b": "BAeG!ar\u003elkAaJ]$a{[U:boP{0zF9=%Bz(4toIwe6zdN^fvp%d)ayPkdwO#33w].r%wGUMeBAg/1Bz(gbuU\u003cK}uU%v}B75Y)B6\u0026u{AaJ]$uUjs!zdN6=CYW$mv@#TfauZ\u0026voIFk)B8$=5wPHdRAaJ]$mSI{OwKQ\u0026=A:-E1z/NlP3jmbIy*?yaawtE6mS\u0026J-qE%]*z/fScq/(C*BvHpVzdMdXBAg/1Bz(gFoIwePwPI{3xjVc.wPq\u003c7zEWlEA:-/@mr\u0026]{vpKy$AW:3RarR^Ha%Fj1CYW$mv@@\u00264BAzLqvS=^7B0b7nz/3R9zxIRDo^14\u003cy?$kmwPI*ezGt",
            "ln": 19380,
            "col": 13,
            "line": 459
          },
          {
            "b": "jS\u003e}\u0026Byxiia{[U:boP{0zF9=%Bz(4toIwe6w{4{aaAz4mAbPSnwGV5ovrcDjw].r%wGUMeBAg/1Bz(gbuU\u003cK}uUjB%y*Ri]B8V5nB7FZ1ByxiiuUjs!zdN6=CYW$mv@#TfauZ\u0026voIF00y\u002600XB8V5nB7Fo(vrcDVA:-/@mr\u0026]{vpKy$AWSvz3jpoVvrlGjoIweIB.\u003e\u003e(wPI*ezGxwTzE=jSvqPNACYW$mv@#Tfc})reo\u003ewx!vp%d)q!o@\u003ewO#0?mSI{OwKQ\u0026=A:-E1z/No/3lQDlar\u00260Nmr\u0026]{vpKy4vruQix\u003c#jbwPF#aA=k!qvqWhYoIDTwB.\u003e\u003epA+frhz/fScao",
            "ln": 19680,
            "col": 16,
            "line": 469
          },
          {
            "b": "B98BBjS\u003e}WzE:{#3jn12q!ZbZy?mZbzxIRDo^14\u003cy?$kmwPI*ezGxwiwO#33w].r%wGUMeBAg/1Bz(gbuU\u003cK}uUjB%y*Ri]B8V5nB7FY\u0026zE^9^A:-/@uUaF7A:-E1z/M%-awtE6mS\u0026J-qE%]*z/fScmq=T9A:-/@mr\u0026]{vpKy$AWSvz3jpoVvrlGjmS\u0026PUBzkVhlT:!EnP4vBz!B94B8%/\u003evqPNACYW$mv@#Tfc}nk=zdM1PBAh88B-.g-CYW$mv@#Tfdlm!UarR^Ja%GE2BAg/1BrC1lBAh88B-.hoazbUjz6iCkzEW^5z/cXcvqG:5x(k5jA=kPhwPI]nw=",
            "ln": 19979,
            "col": 12,
            "line": 479
          },
          {
            "b": "l2H%NauZ\u0026]3lQDlarR^Hax9k/zB5w^A+P09By/ICr8lp-uRS)YmlhMcvqPE:vixf5vqPNpazkncvruQic$WHdzdLmvb4+$nv@#B6zEmo\u0026zdK[xawM\u0026)wHPeqarR^HarR^Hq#",
            "ln": 20285,
            "col": 27,
            "line": 489
          },
          {
            "b": "ed9HxarV7t3jn12q!ZbZy?mZbzxJLlzEW^5z/cXcvqG:5x(k5jA=kPhwPI]nw].r%wGUMeBAg/1Bz(gbuUjB#v@#B6zEl)Zy\u00260D)zEmv6z!B94B8$Y2A:-/@uUaF7A:-E1z/M%-avZG\u003ev@#B6zBm\u0026Gy!nIvA=kPhwPI]ZA:-/@mr\u0026]{vpKy$AWSvz3jpoVvrlGjmS\u0026PUBzkVhlT:!EqE%](y\u0026\u0026c!vqPNACYW$mv@#Tfc}nk=zdM1PBAh88B-.g-CYW$mv@#Tfdlm!UarR^Ja%GE2BAg/1BrC1lBAh88B-.hoazbUjz6iCkzEW^5z/cXcvqG:5A+frmy\u0026*!iA:-/@B1OTXa]",
            "ln": 20749,
            "col": 10,
            "line": 497
          },
          {
            "b": "BAe^wA:-/@efDcBA+xJiwO#Qha$K\u003c-EjlPLarR^HarR^Hdj+/GarR^HarR^JBz(8le]\u003eJAB.(dziV@lEzdm3:azbU5zdL:Jd05*ewNxg[z/e])B.#8sc$^akvruQic$WHdzdLmvb64moB.(dzefGp/djDX%3lQDlaBKO73l{V(x(mN1wPR\u003cdazb+lv@#B6zxJB$y?$kmwPJ0gBrCgovqPM#wQ5rqvpKy$ATDe=B-7Yhx(v(@v{%g\u0026uVG.0B.(ebw].r%wNx1[BAg/1Bz(gxjS)jpzEW^5z/d{Jy\u002600XB9hqvmSI{OwKQ\u0026=A:-E1z/NlP3jmbIy*?yaawDA?A+P38l$7gCmr\u0026]{vpKy$AYKKIarR^Ja%GE2BAg/1BrC1lBAh88B-.hoazbUjz6iXbBAh89B0b7nvqPN%e*qF-3jm)#arU9mBAh88B-.hoiV{?8v@${@BAe]Pl2H%NauZ\u0026]Ef}8tarU32vrl0!vrq",
            "ln": 21481,
            "col": 34,
            "line": 515
          },
          {
            "b": "ar\u00260Nmr\u0026]{vpKy4vruQix\u003c#jbwPF#aA=k!qoIwe6Bz\u003e@azxJ!cBAh89B0b14Byu^Ca%Ev3arR^HvruQix\u003c#jbwPG)Pl${dMtxs[befEk@D0IKQaBsCrarR^HarR!9z#",
            "ln": 22531,
            "col": 4,
            "line": 545
          },
          {
            "b": "qCQ1-r5#drvqPE:vixz#BAh89B6\u0026D^ByviMxjVf[BAzKK3lQDlarR^HarR^Haz\u003eXiA+P38uU0O!vjSJBAb](lAcbDez!\u0026{4B0rdTph+2Y3lQDlarR^HasO\u0026GarR^HarR^Hq/De.l3di?x\u003c#jbwPGE$oIF\u003e[pFjbKuQEQ?pe\u003eN/pFBUVmn#\u0026Opc6IlvqPE:vixz#BAh89B6\u0026D^ByviMxjVf[BAzKK3lQDlarR^HarR^Haz\u003eXiA+P38uU0O!vjSJBv@Dj6y?mZ5z/e{7z!\u0026{4B0rdTph+2Y3lQDlarR^HasO\u0026GarR^HarR^Hq/De.l3di?x\u003c#jbwPGE$oIF\u003e[pFjbKuQEQ?pe\u003eO1pGfRNiV@lEzdm3:az\u003eXiA+P38uU0O!vlbJzwPRv5BAe=parR^HarR^HarR^HzdN*fx\u003e8i\u003ewmoN*efDcUz//A7uVZj4wO#MkefEYazE\u003cd$arR^HarR^Qed9HxarR^HarTQ4vqXwMBAh88B-.hoe\u003e!@kuSo/]mnvhSpGpd?uR\u003cS@o\u0026a!@l}76vnLA5\u0026lQs7gmpe}Yk$0:Ry*?f\u0026wmlP$wPR%bv@(0/vrt{sazkncvruQic\u003c?7tarR^HarR^HarUJjBAh89B6\u0026D^ByuZyb4C4\u003exK$K\u003ewNPaRx(m)jByfcdyH}y8a$K\u003ciz/fa[arR^HarR^Hdj+/GarR^HarR!9Aa9SIBAzLqvS=^7B1QcWo\u003cZ\u003c}ogqP.lR*YSr9@E1pFBU+uQNsZk$K:GuQmWWnL.w\u0026y*?f\u0026wmlP$wPR%bv@(0/vrt{sazkncvruQic\u003c?7tarR^HarR^HarUJjBAh89",
            "ln": 22662,
            "col": 41,
            "line": 548
          },
          {
            "b": "pFKFRm(?=evqPE:vixz#BAh89B6\u0026D^ByviMxjVf[BAzKK3lQDlarR^HarR^Haz\u003eXiA+P38uU0O!vjSJBA+eW2z/fobxj2+0yH}y8a$K\u003ciz/fa[arR^HarR^Hdj+/GarR^HarR!9Aa9SIBAzLqvS=^7B1QcWo\u003cZ\u003c}ogqP.lR*YSr9@0*o\u0026aILr7P\u003eXuQNsZk$K:GuQmWWnL.w\u0026y*?f\u0026wmlP$wPR%bv@(0/vrt{sazkncvruQic\u003c?7tarR^HarR^HarUJj",
            "ln": 23412,
            "col": 63,
            "line": 563
          },
          {
            "b": "az\u003eXiA+P38iV}agB97RXwPR%bv@\u003e4DBywC$jS[uSvqPNdwmoN*3lQDlarR^HazbLjaz\u003eXiA+P38uU0O!vixo4az\u003eXiA+P38iTM#LarR^HarR^HarUomAV!?1B7FY*y*?yaazCZozdN*fx\u003e8i\u003ewmoN*e)?%}y*?yauTCA)uU%?4uTC\u00263arR^HarR^HarR^HarR^HwQ5rqvpKy$AV^H/B7Gf1e]tfwA+P38uUaF7A:-E1z/Pi4vq)\u0026iwPPtfvrl0!v@bN{B14CsarR^HarR^HarR^HarR!vw/$VfBAg/1Bz(gX3lQDlarR^HarR^HarR^HarR^HaAz4mB.?",
            "ln": 26580,
            "col": 8,
            "line": 655
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "logging.getLogger"
            ],
            [
              "",
              "logger.setLevel"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "extractor"
            ],
            [
              "",
              "logger.debug"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "safe_json_dumps"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "FRAME_TYPE_MAP.get"
            ],
            [
              "",
              "SERVICE_TYPE_MAP.get"
            ],
            [
              "",
              "module.split"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "logger.warning"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "safe_json_dumps"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "attributes.items"
            ],
            [
              "",
              "safe_extract"
            ],
            [
              "",
              "operation"
            ],
            [
              "",
              "super.extract_from_frame"
            ],
            [
              "",
              "super"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "TextFrameExtractor"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "msg.get"
            ],
            [
              "",
              "_normalize_message_content"
            ],
            [
              "",
              "serializable_messages.append"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "inner.get"
            ],
            [
              "",
              "_normalize_message_content"
            ],
            [
              "",
              "serializable_messages.append"
            ],
            [
              "",
              "serializable_messages.append"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "serializable_messages.append"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "serializable_messages.append"
            ],
            [
              "",
              "logger.debug"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "message.get"
            ],
            [
              "",
              "message.get"
            ],
            [
              "",
              "message.get"
            ],
            [
              "",
              "message.get"
            ],
            [
              "",
              "message.get"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "results.update"
            ],
            [
              "",
              "_get_tool_call_attributes"
            ],
            [
              "",
              "reversed"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "msg.get"
            ],
            [
              "",
              "last_user_message.get"
            ],
            [
              "",
              "last_user_message.get"
            ],
            [
              "",
              "last_user_message.get"
            ],
            [
              "",
              "last_user_message.get"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "tool_names.append"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "tool_names.append"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "tool_names.append"
            ],
            [
              "",
              "safe_json_dumps"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "logger.debug"
            ],
            [
              "",
              "logger.debug"
            ],
            [
              "",
              "LLMContextFrameExtractor"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "message.get"
            ],
            [
              "",
              "message.get"
            ],
            [
              "",
              "message.get"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "LLMMessagesSequenceFrameExtractor"
            ],
            [
              "",
              "LLMMessagesAppendFrameExtractor"
            ],
            [
              "",
              "LLMFullResponseStartFrameExtractor"
            ],
            [
              "",
              "LLMFullResponseEndFrameExtractor"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "safe_json_dumps"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "FunctionCallInProgressFrameExtractor"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "safe_json_dumps"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "safe_json_dumps"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "FunctionCallResultFrameExtractor"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "attributes.items"
            ],
            [
              "",
              "safe_extract"
            ],
            [
              "",
              "operation"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "self.attributes.items"
            ],
            [
              "",
              "safe_extract"
            ],
            [
              "",
              "operation"
            ],
            [
              "",
              "LLMTokenMetricsDataExtractor"
            ],
            [
              "",
              "super.extract_from_metrics_data"
            ],
            [
              "",
              "super"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "results.update"
            ],
            [
              "",
              "_llm_token_metrics_data_extractor.extract_from_metrics_data"
            ],
            [
              "",
              "LLMUsageMetricsDataExtractor"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "TTSUsageMetricsDataExtractor"
            ],
            [
              "",
              "TTFBMetricsDataExtractor"
            ],
            [
              "",
              "ProcessingMetricsDataExtractor"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "self.metrics_extractor_map.get"
            ],
            [
              "",
              "results.update"
            ],
            [
              "",
              "extractor.extract_from_metrics_data"
            ],
            [
              "",
              "MetricsFrameExtractor"
            ],
            [
              "",
              "self.frame_extractor_map.get"
            ],
            [
              "",
              "results.update"
            ],
            [
              "",
              "extractor.extract_from_frame"
            ],
            [
              "",
              "GenericFrameExtractor"
            ],
            [
              "",
              "_generic_frame_extractor.extract_from_frame"
            ],
            [
              "",
              "attributes.items"
            ],
            [
              "",
              "safe_extract"
            ],
            [
              "",
              "operation"
            ],
            [
              "",
              "detect_service_type"
            ],
            [
              "",
              "detect_provider_from_service"
            ],
            [
              "",
              "BaseServiceAttributeExtractor"
            ],
            [
              "",
              "get_model_name"
            ],
            [
              "",
              "detect_provider_from_service"
            ],
            [
              "",
              "detect_provider_from_service"
            ],
            [
              "",
              "get_model_name"
            ],
            [
              "",
              "super.extract_from_service"
            ],
            [
              "",
              "super"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "callable"
            ],
            [
              "",
              "settings.model_dump"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "callable"
            ],
            [
              "",
              "settings.dict"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "safe_json_dumps"
            ],
            [
              "",
              "LLMServiceAttributeExtractor"
            ],
            [
              "",
              "get_model_name"
            ],
            [
              "",
              "detect_provider_from_service"
            ],
            [
              "",
              "get_model_name"
            ],
            [
              "",
              "STTServiceAttributeExtractor"
            ],
            [
              "",
              "get_model_name"
            ],
            [
              "",
              "detect_provider_from_service"
            ],
            [
              "",
              "get_model_name"
            ],
            [
              "",
              "TTSServiceAttributeExtractor"
            ],
            [
              "",
              "get_model_name"
            ],
            [
              "",
              "ImageGenServiceAttributeExtractor"
            ],
            [
              "",
              "get_model_name"
            ],
            [
              "",
              "VisionServiceAttributeExtractor"
            ],
            [
              "",
              "self.service_attribute_extractor_map.get"
            ],
            [
              "",
              "results.update"
            ],
            [
              "",
              "extractor.extract_from_service"
            ],
            [
              "",
              "GenericServiceAttributeExtractor"
            ],
            [
              "",
              "_generic_service_attribute_extractor.extract_from_service"
            ],
            [
              "pipecat.services.ai_service",
              "AIService"
            ],
            [
              "typing",
              "Any"
            ],
            [
              "openinference.semconv.trace",
              "AudioAttributes"
            ],
            [
              "pipecat.frames.frames",
              "AudioRawFrame"
            ],
            [
              "pipecat.transports.base_output",
              "BaseOutputTransport"
            ],
            [
              "typing",
              "Callable"
            ],
            [
              "typing",
              "Dict"
            ],
            [
              "pipecat.frames.frames",
              "Frame"
            ],
            [
              "pipecat.processors.frame_processor",
              "FrameProcessor"
            ],
            [
              "pipecat.frames.frames",
              "FunctionCallFromLLM"
            ],
            [
              "pipecat.frames.frames",
              "FunctionCallInProgressFrame"
            ],
            [
              "pipecat.frames.frames",
              "FunctionCallResultFrame"
            ],
            [
              "pipecat.services.image_service",
              "ImageGenService"
            ],
            [
              "pipecat.frames.frames",
              "InterimTranscriptionFrame"
            ],
            [
              "pipecat.frames.frames",
              "LLMContextFrame"
            ],
            [
              "pipecat.frames.frames",
              "LLMFullResponseEndFrame"
            ],
            [
              "pipecat.frames.frames",
              "LLMFullResponseStartFrame"
            ],
            [
              "pipecat.frames.frames",
              "LLMMessagesAppendFrame"
            ],
            [
              "pipecat.services.llm_service",
              "LLMService"
            ],
            [
              "pipecat.processors.aggregators.llm_context",
              "LLMSpecificMessage"
            ],
            [
              "pipecat.frames.frames",
              "LLMTextFrame"
            ],
            [
              "pipecat.metrics.metrics",
              "LLMTokenUsage"
            ],
            [
              "pipecat.metrics.metrics",
              "LLMUsageMetricsData"
            ],
            [
              "typing",
              "List"
            ],
            [
              "openinference.semconv.trace",
              "MessageAttributes"
            ],
            [
              "pipecat.metrics.metrics",
              "MetricsData"
            ],
            [
              "pipecat.frames.frames",
              "MetricsFrame"
            ],
            [
              "openinference.semconv.trace",
              "OpenInferenceSpanKindValues"
            ],
            [
              "pipecat.metrics.metrics",
              "ProcessingMetricsData"
            ],
            [
              "pipecat.services.stt_service",
              "STTService"
            ],
            [
              "openinference.semconv.trace",
              "SpanAttributes"
            ],
            [
              "pipecat.metrics.metrics",
              "TTFBMetricsData"
            ],
            [
              "pipecat.services.tts_service",
              "TTSService"
            ],
            [
              "pipecat.frames.frames",
              "TTSTextFrame"
            ],
            [
              "pipecat.metrics.metrics",
              "TTSUsageMetricsData"
            ],
            [
              "pipecat.frames.frames",
              "TextFrame"
            ],
            [
              "openinference.semconv.trace",
              "ToolCallAttributes"
            ],
            [
              "pipecat.frames.frames",
              "TranscriptionFrame"
            ],
            [
              "typing",
              "Type"
            ],
            [
              "pipecat.services.vision_service",
              "VisionService"
            ],
            [
              "pipecat.services.websocket_service",
              "WebsocketService"
            ],
            [
              "",
              "logging"
            ],
            [
              "",
              "openinference.instrumentation.helpers"
            ],
            [
              "",
              "openinference.semconv.trace"
            ],
            [
              "",
              "pipecat.frames.frames"
            ],
            [
              "",
              "pipecat.metrics.metrics"
            ],
            [
              "",
              "pipecat.processors.aggregators.llm_context"
            ],
            [
              "",
              "pipecat.processors.frame_processor"
            ],
            [
              "",
              "pipecat.services.ai_service"
            ],
            [
              "",
              "pipecat.services.image_service"
            ],
            [
              "",
              "pipecat.services.llm_service"
            ],
            [
              "",
              "pipecat.services.stt_service"
            ],
            [
              "",
              "pipecat.services.tts_service"
            ],
            [
              "",
              "pipecat.services.vision_service"
            ],
            [
              "",
              "pipecat.services.websocket_service"
            ],
            [
              "",
              "pipecat.transports.base_output"
            ],
            [
              "openinference.instrumentation.helpers",
              "safe_json_dumps"
            ],
            [
              "",
              "typing"
            ]
          ],
          "mbr": [
            "AIService.__name__",
            "AudioAttributes.AUDIO_TRANSCRIPT",
            "AudioRawFrame.__name__",
            "BaseOutputTransport.__name__",
            "FRAME_TYPE_MAP.get",
            "FunctionCallFromLLM.__name__",
            "FunctionCallInProgressFrame.__name__",
            "FunctionCallResultFrame.__name__",
            "ImageGenService.__name__",
            "LLMContextFrame.__name__",
            "LLMService.__name__",
            "MessageAttributes.MESSAGE_CONTENT",
            "MessageAttributes.MESSAGE_NAME",
            "MessageAttributes.MESSAGE_ROLE",
            "OpenInferenceSpanKindValues.CHAIN",
            "OpenInferenceSpanKindValues.CHAIN.value",
            "OpenInferenceSpanKindValues.LLM",
            "OpenInferenceSpanKindValues.LLM.value",
            "SERVICE_TYPE_MAP.get",
            "STTService.__name__",
            "SpanAttributes.INPUT_VALUE",
            "SpanAttributes.LLM_INPUT_MESSAGES",
            "SpanAttributes.LLM_MODEL_NAME",
            "SpanAttributes.LLM_PROVIDER",
            "SpanAttributes.LLM_TOKEN_COUNT_COMPLETION",
            "SpanAttributes.LLM_TOKEN_COUNT_COMPLETION_DETAILS_AUDIO",
            "SpanAttributes.LLM_TOKEN_COUNT_COMPLETION_DETAILS_REASONING",
            "SpanAttributes.LLM_TOKEN_COUNT_PROMPT",
            "SpanAttributes.LLM_TOKEN_COUNT_PROMPT_DETAILS_AUDIO",
            "SpanAttributes.LLM_TOKEN_COUNT_PROMPT_DETAILS_CACHE_READ",
            "SpanAttributes.LLM_TOKEN_COUNT_TOTAL",
            "SpanAttributes.METADATA",
            "SpanAttributes.OPENINFERENCE_SPAN_KIND",
            "SpanAttributes.OUTPUT_VALUE",
            "SpanAttributes.TOOL_NAME",
            "SpanAttributes.USER_ID",
            "TTSService.__name__",
            "TTSTextFrame.__name__",
            "TextFrame.__name__",
            "ToolCallAttributes.TOOL_CALL_FUNCTION_ARGUMENTS_JSON",
            "ToolCallAttributes.TOOL_CALL_FUNCTION_NAME",
            "ToolCallAttributes.TOOL_CALL_ID",
            "TranscriptionFrame.__name__",
            "VisionService.__name__",
            "WebsocketService.__name__",
            "_generic_frame_extractor.extract_from_frame",
            "_generic_service_attribute_extractor.extract_from_service",
            "_llm_token_metrics_data_extractor.extract_from_metrics_data",
            "attributes.items",
            "base_class.__name__",
            "context._messages",
            "context._tools",
            "context.messages",
            "extractor.extract_from_frame",
            "extractor.extract_from_metrics_data",
            "extractor.extract_from_service",
            "frame.__class__",
            "frame.__class__.__mro__",
            "frame.context",
            "frame.data",
            "frame.id",
            "frame.text",
            "function.arguments",
            "function.name",
            "inner.get",
            "last_user_message.get",
            "logger.debug",
            "logger.setLevel",
            "logger.warning",
            "logging.INFO",
            "logging.getLogger",
            "message.get",
            "metrics_data.__class__",
            "metrics_data.__class__.__mro__",
            "metrics_data.value",
            "module.split",
            "msg.content",
            "msg.get",
            "msg.message",
            "msg.name",
            "msg.role",
            "msg_dict.name",
            "results.text",
            "results.update",
            "self._base_attributes",
            "self.attributes",
            "self.attributes.items",
            "self.frame_extractor_map",
            "self.frame_extractor_map.get",
            "self.metrics_extractor_map",
            "self.metrics_extractor_map.get",
            "self.phase",
            "self.service_attribute_extractor_map",
            "self.service_attribute_extractor_map.get",
            "serializable_messages.append",
            "service.__class__",
            "service.__class__.__module__",
            "service.__class__.__mro__",
            "service._settings",
            "settings.__dict__",
            "settings.dict",
            "settings.model_dump",
            "super.extract_from_frame",
            "super.extract_from_metrics_data",
            "super.extract_from_service",
            "tool.function",
            "tool.function.name",
            "tool.name",
            "tool_call.function",
            "tool_call.id",
            "tool_names.append"
          ],
          "tgt": [
            "BaseServiceAttributeExtractor",
            "FRAME_TYPE_MAP.get",
            "FunctionCallInProgressFrameExtractor",
            "FunctionCallResultFrameExtractor",
            "GenericFrameExtractor",
            "GenericServiceAttributeExtractor",
            "ImageGenServiceAttributeExtractor",
            "LLMContextFrameExtractor",
            "LLMFullResponseEndFrameExtractor",
            "LLMFullResponseStartFrameExtractor",
            "LLMMessagesAppendFrameExtractor",
            "LLMMessagesSequenceFrameExtractor",
            "LLMServiceAttributeExtractor",
            "LLMTokenMetricsDataExtractor",
            "LLMUsageMetricsDataExtractor",
            "MetricsFrameExtractor",
            "ProcessingMetricsDataExtractor",
            "SERVICE_TYPE_MAP.get",
            "STTServiceAttributeExtractor",
            "TTFBMetricsDataExtractor",
            "TTSServiceAttributeExtractor",
            "TTSUsageMetricsDataExtractor",
            "TextFrameExtractor",
            "VisionServiceAttributeExtractor",
            "_generic_frame_extractor.extract_from_frame",
            "_generic_service_attribute_extractor.extract_from_service",
            "_get_tool_call_attributes",
            "_llm_token_metrics_data_extractor.extract_from_metrics_data",
            "_normalize_message_content",
            "attributes.items",
            "callable",
            "detect_provider_from_service",
            "detect_service_type",
            "enumerate",
            "extractor",
            "extractor.extract_from_frame",
            "extractor.extract_from_metrics_data",
            "extractor.extract_from_service",
            "get_model_name",
            "getattr",
            "hasattr",
            "inner.get",
            "isinstance",
            "last_user_message.get",
            "len",
            "logger.debug",
            "logger.setLevel",
            "logger.warning",
            "logging.getLogger",
            "message.get",
            "module.split",
            "msg.get",
            "operation",
            "results.update",
            "reversed",
            "safe_extract",
            "safe_json_dumps",
            "self.attributes.items",
            "self.frame_extractor_map.get",
            "self.metrics_extractor_map.get",
            "self.service_attribute_extractor_map.get",
            "serializable_messages.append",
            "settings.dict",
            "settings.model_dump",
            "str",
            "super",
            "super.extract_from_frame",
            "super.extract_from_metrics_data",
            "super.extract_from_service",
            "tool_names.append"
          ],
          "funcs": [
            [
              "get_model_name",
              2493
            ],
            [
              "safe_extract",
              2761
            ],
            [
              "_normalize_message_content",
              3243
            ],
            [
              "_get_tool_call_attributes",
              3465
            ],
            [
              "detect_frame_type",
              4145
            ],
            [
              "detect_service_type",
              4524
            ],
            [
              "detect_service_type_from_class_string",
              4930
            ],
            [
              "detect_provider_from_service",
              5488
            ],
            [
              "extract_from_frame",
              6889
            ],
            [
              "extract_from_frame",
              7520
            ],
            [
              "extract_from_frame",
              9915
            ],
            [
              "extract_from_frame",
              17874
            ],
            [
              "extract_from_metrics_data",
              22083
            ],
            [
              "extract_from_metrics_data",
              23675
            ],
            [
              "extract_from_metrics_data",
              24260
            ],
            [
              "extract_from_frame",
              26388
            ],
            [
              "extract_from_frame",
              27902
            ],
            [
              "extract_attributes_from_frame",
              28325
            ],
            [
              "extract_from_service",
              29007
            ],
            [
              "extract_from_service",
              30900
            ],
            [
              "extract_from_service",
              35266
            ],
            [
              "extract_service_attributes",
              35812
            ]
          ],
          "metrics": {
            "ast": {
              "op.lor": 3,
              "op.land": 17,
              "max_depth": 27,
              "call_count": 211,
              "node_count": 7008,
              "member_count": 111,
              "op_density.lor": 0,
              "op_density.land": 0,
              "max_array_length": 5,
              "max_member_depth": 3,
              "string_return_function_count": 2,
              "string_return_function_ratio": 0.02
            },
            "file": {
              "size": 36040,
              "entropy": 4.53
            },
            "text": {
              "lines": 881,
              "top_char": 101,
              "digit_ratio": 0,
              "space_count": 8927,
              "char_entropy": 4.53,
              "unique_chars": 75,
              "top_char_null": 0,
              "import_density": 6.58,
              "string_density": 0.28,
              "top_char_ratio": 0.08,
              "ascii_art_lines": 2,
              "avg_line_length": 39.91,
              "max_line_length": 100,
              "empty_line_ratio": 0.21,
              "last_line_length": 77,
              "whitespace_ratio": 0.27,
              "identifier_density": 1.6,
              "line_length_stddev": 29.33,
              "max_whitespace_run": 2,
              "normalized_import_count": 1.95,
              "normalized_string_count": 8.42,
              "repeated_char_sequences": 242,
              "suspicious_string_ratio": 0.02,
              "suspicious_comment_ratio": 0.03,
              "normalized_function_count": 0.74,
              "imports_to_functions_ratio": 2.64,
              "strings_to_functions_ratio": 11.36,
              "suspicious_identifier_ratio": 0,
              "normalized_unique_identifiers": 24.63,
              "identifiers_to_functions_ratio": 10.95
            },
            "binds": {
              "count": 115
            },
            "binary": {
              "peak_region_bytes": 25800,
              "peak_region_entropy": 4.83
            },
            "source": {
              "class_count": 25,
              "function_count": 13
            },
            "imports": {
              "count": 58,
              "stdlib_count": 2,
              "stdlib_ratio": 0.03,
              "third_party_count": 56,
              "third_party_ratio": 0.97
            },
            "strings": {
              "bytes": 5167,
              "count": 250,
              "shell": 1,
              "avg_length": 20.67,
              "max_length": 253,
              "avg_entropy": 2.87,
              "empty_count": 1,
              "entropy_stddev": 0.91,
              "embedded_code_candidates": 4
            },
            "comments": {
              "chars": 3148,
              "count": 64,
              "lines": 64,
              "high_entropy": 2,
              "to_code_ratio": 0.08
            },
            "functions": {
              "count": 38,
              "density": 2.5,
              "avg_params": 1.64,
              "code_ratio": 0.45,
              "max_params": 2,
              "length_stddev": 28.03,
              "over_100_lines": 1,
              "avg_name_length": 21.64,
              "avg_length_lines": 18.14,
              "max_length_lines": 141,
              "min_length_lines": 3,
              "high_entropy_names": 10,
              "avg_param_name_length": 6.06
            },
            "identifiers": {
              "count": 1412,
              "unique": 241,
              "avg_length": 15.82,
              "max_length": 44,
              "min_length": 1,
              "avg_entropy": 2.96,
              "reuse_ratio": 0.17,
              "length_stddev": 10.36,
              "sequential_names": 1,
              "single_char_count": 1,
              "single_char_ratio": 0,
              "high_entropy_count": 61,
              "high_entropy_ratio": 0.25,
              "all_lowercase_ratio": 0.59,
              "all_uppercase_ratio": 0.12,
              "double_underscore_count": 6,
              "underscore_prefix_count": 34
            }
          }
        },
        "id": 2,
        "mol": "H₃(Db₄Os)",
        "path": "openinference_instrumentation_pipecat-2.0.2-py3-none-any.whl!!openinference/instrumentation/pipecat/_attributes.py",
        "pid": 0,
        "risk": 6,
        "sha": "dc12f0099dec1efb49e595fd633ce7f6f812c9da32cea2a6dc6fe118bb87e92f",
        "size": 36040,
        "traits": [
          {
            "id": "micro-behaviors/data/archive/extract/tar::python-tar-member-path-guard",
            "atk": "T1560.001",
            "conf": 0.9,
            "crit": 3,
            "desc": "Tar extraction guards member paths",
            "spans": [
              [
                2761,
                17
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/module-exec::module-level-side-effect-call",
            "conf": 0.82,
            "crit": 3,
            "desc": "Python module-level function call syntax",
            "spans": [
              [
                1533,
                29
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/module-exec::python-column0-noarg-call-assignment",
            "conf": 0.84,
            "crit": 3,
            "desc": "Module assigns a no-arg call",
            "spans": [
              [
                9750,
                46
              ],
              [
                17652,
                59
              ],
              [
                19150,
                78
              ],
              [
                19444,
                74
              ],
              [
                19744,
                81
              ],
              [
                20043,
                77
              ],
              [
                20813,
                85
              ],
              [
                21663,
                76
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/wire-marker::completion-token-field",
            "conf": 0.65,
            "crit": 3,
            "desc": "LLM completion-token count field",
            "spans": [
              [
                22866,
                17
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/wire-marker::input-token-field",
            "conf": 0.65,
            "crit": 3,
            "desc": "LLM input-token count field",
            "spans": [
              [
                23170,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/wire-marker::llm-term-reference",
            "conf": 0.88,
            "crit": 3,
            "desc": "Explicit LLM or language-model reference",
            "spans": [
              [
                2255,
                3
              ],
              [
                3622,
                3
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/wire-marker::prompt-token-field",
            "conf": 0.65,
            "crit": 3,
            "desc": "LLM prompt-token count field",
            "spans": [
              [
                22726,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/wire-marker::reasoning-token-field",
            "conf": 0.65,
            "crit": 3,
            "desc": "LLM reasoning-token count field",
            "spans": [
              [
                23476,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/wire-marker::token-usage-field-reference",
            "conf": 0.65,
            "crit": 3,
            "desc": "References an LLM token usage field",
            "uses": [
              3,
              4,
              6,
              7,
              10
            ],
            "spans": [
              [
                22726,
                13
              ],
              [
                22866,
                17
              ],
              [
                23005,
                12
              ],
              [
                23170,
                12
              ],
              [
                23476,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/wire-marker::tool-call-identifier",
            "conf": 0.85,
            "crit": 3,
            "desc": "References the LLM tool_call name",
            "spans": [
              [
                3517,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/wire-marker::total-token-field",
            "conf": 0.65,
            "crit": 3,
            "desc": "LLM total-token count field",
            "spans": [
              [
                23005,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/serialize/schema-object::content-object-field",
            "conf": 0.8,
            "crit": 3,
            "desc": "JSON content object field",
            "spans": [
              [
                11180,
                10
              ]
            ]
          },
          {
            "id": "micro-behaviors/metaprogramming/reflection::python-class-ancestry-access",
            "conf": 0.98,
            "crit": 3,
            "desc": "Accesses Python class base or MRO",
            "spans": [
              [
                4362,
                23
              ],
              [
                4378,
                7
              ],
              [
                4758,
                25
              ],
              [
                26688,
                30
              ]
            ]
          },
          {
            "id": "micro-behaviors/metaprogramming/reflection::python-getattr-call",
            "conf": 0.75,
            "crit": 3,
            "desc": "Python getattr dynamic attribute lookup",
            "spans": [
              [
                2614,
                7
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/user/account::account-id-field",
            "conf": 0.8,
            "crit": 3,
            "desc": "Quoted user identifier label",
            "spans": [
              [
                6263,
                9
              ]
            ]
          },
          {
            "id": "metadata/file/extension/identity::py",
            "conf": 1.0,
            "crit": 2,
            "desc": "File uses a Python artifact extension"
          },
          {
            "id": "metadata/file/line::file-has-30-plus-lines",
            "conf": 0.9,
            "crit": 2,
            "desc": "File has 30 or more lines"
          },
          {
            "id": "metadata/import/python/logging::logging",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports logging",
            "spans": [
              [
                56,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/instrumentation/helpers/safe_json_dumps::safe_json_dumps",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports safe_json_dumps from openinference.instrumentation.helpers",
            "spans": [
              [
                166,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/instrumentation/helpers::openinference/instrumentation/helpers",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports openinference.instrumentation.helpers",
            "spans": [
              [
                121,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/semconv/trace/audioattributes::audioattributes",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports AudioAttributes from openinference.semconv.trace",
            "spans": [
              [
                228,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/semconv/trace/messageattributes::messageattributes",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports MessageAttributes from openinference.semconv.trace",
            "spans": [
              [
                249,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/semconv/trace/openinferencespankindvalues::openinferencespankindvalues",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports OpenInferenceSpanKindValues from openinference.semconv.trace",
            "spans": [
              [
                272,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/semconv/trace/spanattributes::spanattributes",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports SpanAttributes from openinference.semconv.trace",
            "spans": [
              [
                305,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/semconv/trace/toolcallattributes::toolcallattributes",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ToolCallAttributes from openinference.semconv.trace",
            "spans": [
              [
                325,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/semconv/trace::openinference/semconv/trace",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports openinference.semconv.trace",
            "spans": [
              [
                187,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/audiorawframe::audiorawframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports AudioRawFrame from pipecat.frames.frames",
            "spans": [
              [
                387,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/frame::frame",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Frame from pipecat.frames.frames",
            "spans": [
              [
                406,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/functioncallfromllm::functioncallfromllm",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports FunctionCallFromLLM from pipecat.frames.frames",
            "spans": [
              [
                417,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/functioncallinprogressframe::functioncallinprogressframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports FunctionCallInProgressFrame from pipecat.frames.frames",
            "spans": [
              [
                442,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/functioncallresultframe::functioncallresultframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports FunctionCallResultFrame from pipecat.frames.frames",
            "spans": [
              [
                475,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/interimtranscriptionframe::interimtranscriptionframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports InterimTranscriptionFrame from pipecat.frames.frames",
            "spans": [
              [
                504,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/llmcontextframe::llmcontextframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports LLMContextFrame from pipecat.frames.frames",
            "spans": [
              [
                535,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/llmfullresponseendframe::llmfullresponseendframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports LLMFullResponseEndFrame from pipecat.frames.frames",
            "spans": [
              [
                556,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/llmfullresponsestartframe::llmfullresponsestartframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports LLMFullResponseStartFrame from pipecat.frames.frames",
            "spans": [
              [
                585,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/llmmessagesappendframe::llmmessagesappendframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports LLMMessagesAppendFrame from pipecat.frames.frames",
            "spans": [
              [
                616,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/llmtextframe::llmtextframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports LLMTextFrame from pipecat.frames.frames",
            "spans": [
              [
                644,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/metricsframe::metricsframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports MetricsFrame from pipecat.frames.frames",
            "spans": [
              [
                662,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/textframe::textframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports TextFrame from pipecat.frames.frames",
            "spans": [
              [
                680,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/transcriptionframe::transcriptionframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports TranscriptionFrame from pipecat.frames.frames",
            "spans": [
              [
                695,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/ttstextframe::ttstextframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports TTSTextFrame from pipecat.frames.frames",
            "spans": [
              [
                719,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames::pipecat/frames/frames",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.frames.frames",
            "spans": [
              [
                352,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/metrics/metrics/llmtokenusage::llmtokenusage",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports LLMTokenUsage from pipecat.metrics.metrics",
            "spans": [
              [
                777,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/metrics/metrics/llmusagemetricsdata::llmusagemetricsdata",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports LLMUsageMetricsData from pipecat.metrics.metrics",
            "spans": [
              [
                796,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/metrics/metrics/metricsdata::metricsdata",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports MetricsData from pipecat.metrics.metrics",
            "spans": [
              [
                821,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/metrics/metrics/processingmetricsdata::processingmetricsdata",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ProcessingMetricsData from pipecat.metrics.metrics",
            "spans": [
              [
                838,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/metrics/metrics/ttfbmetricsdata::ttfbmetricsdata",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports TTFBMetricsData from pipecat.metrics.metrics",
            "spans": [
              [
                865,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/metrics/metrics/ttsusagemetricsdata::ttsusagemetricsdata",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports TTSUsageMetricsData from pipecat.metrics.metrics",
            "spans": [
              [
                886,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/metrics/metrics::pipecat/metrics/metrics",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.metrics.metrics",
            "spans": [
              [
                740,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/processors/aggregators/llm_context/llmspecificmessage::llmspecificmessage",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports LLMSpecificMessage from pipecat.processors.aggregators.llm_context",
            "spans": [
              [
                964,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/processors/aggregators/llm_context::pipecat/processors/aggregators/llm_context",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.processors.aggregators.llm_context",
            "spans": [
              [
                914,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/processors/frame_processor/frameprocessor::frameprocessor",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports FrameProcessor from pipecat.processors.frame_processor",
            "spans": [
              [
                1030,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/processors/frame_processor::pipecat/processors/frame_processor",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.processors.frame_processor",
            "spans": [
              [
                988,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/ai_service/aiservice::aiservice",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports AIService from pipecat.services.ai_service",
            "spans": [
              [
                1085,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/ai_service::pipecat/services/ai_service",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.services.ai_service",
            "spans": [
              [
                1050,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/image_service/imagegenservice::imagegenservice",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ImageGenService from pipecat.services.image_service",
            "spans": [
              [
                1138,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/image_service::pipecat/services/image_service",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.services.image_service",
            "spans": [
              [
                1100,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/llm_service/llmservice::llmservice",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports LLMService from pipecat.services.llm_service",
            "spans": [
              [
                1195,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/llm_service::pipecat/services/llm_service",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.services.llm_service",
            "spans": [
              [
                1159,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/stt_service/sttservice::sttservice",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports STTService from pipecat.services.stt_service",
            "spans": [
              [
                1247,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/stt_service::pipecat/services/stt_service",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.services.stt_service",
            "spans": [
              [
                1211,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/tts_service/ttsservice::ttsservice",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports TTSService from pipecat.services.tts_service",
            "spans": [
              [
                1299,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/tts_service::pipecat/services/tts_service",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.services.tts_service",
            "spans": [
              [
                1263,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/vision_service/visionservice::visionservice",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports VisionService from pipecat.services.vision_service",
            "spans": [
              [
                1354,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/vision_service::pipecat/services/vision_service",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.services.vision_service",
            "spans": [
              [
                1315,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/websocket_service/websocketservice::websocketservice",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports WebsocketService from pipecat.services.websocket_service",
            "spans": [
              [
                1415,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/websocket_service::pipecat/services/websocket_service",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.services.websocket_service",
            "spans": [
              [
                1373,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/transports/base_output/baseoutputtransport::baseoutputtransport",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports BaseOutputTransport from pipecat.transports.base_output",
            "spans": [
              [
                1475,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/transports/base_output::pipecat/transports/base_output",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.transports.base_output",
            "spans": [
              [
                1437,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/any::any",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Any from typing",
            "spans": [
              [
                83,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/callable::callable",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Callable from typing",
            "spans": [
              [
                88,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/dict::dict",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Dict from typing",
            "spans": [
              [
                98,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/list::list",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports List from typing",
            "spans": [
              [
                104,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/type::type",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Type from typing",
            "spans": [
              [
                110,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing::typing",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports typing",
            "spans": [
              [
                69,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/error-handling::except-keyword-dup",
            "mbc": "C0027",
            "conf": 0.5,
            "crit": 2,
            "desc": "except keyword",
            "spans": [
              [
                3137,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::english-edit-verb-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "English edit-action verb token",
            "spans": [
              [
                8284,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                2556,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                3800,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                13367,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                3338,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                15462,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                5110,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/source/declaration::class-with-base",
            "conf": 0.95,
            "crit": 1,
            "desc": "Python class declared with a base class",
            "spans": [
              [
                7365,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/error-handling::broad-exception-bound-catch",
            "mbc": "C0027",
            "conf": 0.8,
            "crit": 1,
            "desc": "Catches broad Exception into a variable",
            "spans": [
              [
                3137,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/repository-directive::repository-agent-directive-marker",
            "conf": 0.88,
            "crit": 1,
            "desc": "Marks text as an agent directive",
            "spans": [
              [
                8793,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/parse/vocabulary::token-word",
            "conf": 0.45,
            "crit": 1,
            "desc": "Contains the standalone word token",
            "spans": [
              [
                22563,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/serialize/envelope::result-assignment-key",
            "conf": 0.4,
            "crit": 1,
            "desc": "Result field or assignment key",
            "spans": [
              [
                6959,
                0
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "analysis_gaps": [
          "flow-graph-limited",
          "flow-query-incomplete"
        ],
        "ctx": [
          {
            "b": "a%FjbAaJ]UzF0E2wO#0?aA7.gwPz%9AV!$jAV!g)AaJJ/BrCKpAaJ\u003c1zE)(wa%Fir3tBu@z/P}xy\u0026r%0x(mL\u003cx(d*cA=-BCx(dz*w].*bay/tcBy/YsC42AjazCXiz/P}xrbVL-zvf#@z/3Rcvru75x(dA7x(d*cA=-Bmvru75x(dz*w].*baAR)Fx(mMax(d*cA=-A\u0026zH0=Ql${dMefES2B95@QpJgz\u0026z/f01efE(5BsXLlwQ5q*pymCvA=k!qz/xo9By/o1zdN*fC{3*rAbP=saARTjv}u=\u003eB0bNBvpJ\u003eQvq]]/w].*baA8jgzGGDawO(12A^ooEz/fVdCYU6xze:AlBrA}?zGGDmBp8S2z/3RnAaJ{ewO+{{wPR%re{8bxv}u=%ze:AlBrBI3vqVzVw].*baA8jgzFs02wPzv1v}vobzGx]uB.$YcByxo9z/cXize:AlBrBvJrb#zSwPxsArb#zSwKyxNw[+(+w].*baA8jgzFs02wPzv1v}vobzGx]uB.$YcByxo9z/dgvwO=r%A=Svqze:AlBrCTkw[ts:B8L@6woz:dA%=J1z/3RnAaJ{3zF0E2wO#0?e]$Pvv@Dmde{8bxv}u=%ze:AlBrz$sarR^HpJf(.nP5cKA+fb#wM9LRzCaXYwl9bPB.bRB3lQDlax9k/zB5w^A+P09By/IA3mMr]A=k!qAa%o5v{%Eiw].r%wPGFoA:-/@B0bglAbP=sasENtarR^@A:-/@ed9HxarTc@zEW^5z/d{Jy\u002600XB9hqvmSI{OwH[fharR!2oIE()zGGDmBvHpVzdLm9arR^HoIweIB.\u003e\u003e(wPI*ezGxwTzE=jSvqPNb3lQDlawtE6mS\u0026J-qE%]*z/fScq/(C*BvHpVzdLm9arR^HoIweWwQ5q^A:-/@ed9HxarTx\u0026BAh89B4ggUzdLm9arR^Hq/(C*BvHpVzdLm9arR^Hq=DZ\u003cB-.g:A:-/@ed9HxarTT7vqZc@A+PGmx(v(UA:-/@ed9HxarTS.q=v^DA=+(6mSI{OwH[fharR!ar8V+cCYVz}vqPNb3lQDlaxy=@rDz.(q/(C*By!#YAaJD[x(mMMA:-/@ed9HxarTYJl@!qtA-m6#AbYx0q/DqRyIvW0mSI{OwH[fq3tar%z6i!iAaJJ/Bs}GvB7GxnwPz\u0026AvQTs?uVfy{wPz%9AV/7kAbP=savZxWzdMK^B7/b}3tar%z6i!iAaJJ/Bs}GvB7GxnwPz\u0026ABAIRwuVZr%v@2^@xj2N^B7GxnwPw]cze:AlBrBL9A=a\u0026%vpK7!zF8:OB7GxnwPwb\u0026A=k!qAa%o5v{%Eiz^)^0A=#2mB1RPRwPzc!z//u5vru6#v%IB1vSMa3C4CXpx(d*cA=-B7B7GwUz/!VYBy/u1C#4)\u003cwPz%9ATDA0z/3Rox(ES[vrsbvA=kD0B8#nuB1R6BvqPN.Ab](bwPI{hAV/7kAbP=savZxWzdMK:z!0v1B8M7aw].*baAh4lwN/d\u003ce]$PAC4\u003eC$B1Q)nuVP!0C4\u003eC$azCXiz/P}xk$L0^A=#ebwEr3\u0026z/3Rox(ES[vrsbywPz%dv}xZly\u00260@}B7Gxnx\u003e7Y%x(d*cA=-A$oIFC%A=#ebwEr3\u0026z/3Rox(ES[vrsbywPz%dv}xZlB98IhB7Gxnx\u003e7Y%x(d*cA=-B5r8=!cA=#ebwEr3\u0026z/3Rox(ES[vrsbywPz%dv}xZlBAzOhB7Gxnx\u003e7Y%x(d*cA=-B6r8V.bA=#ebwEr3\u0026z/3Rox(ES[vrsbzA:-\u003cbAbP=sB1Q{gB7FY%B-.OBBrCpmAbP=savoHTwLWC\u003cAcln4A:-\u003cbAbP=s3jpx=z/3QHuTX4#A+P09By/Iox(d*cA=-ALarR)KzF%J6iV{)GfFJ[SarR!qwPRG[Byf92A=#ebwNxL8AaHNcarR^HwmY\u003c]v@#70wPz%dv}x1?D2Nt4w].*buT)[XB8$YfBAh8kxdKxjarR!rCYW$mv@#6^BAzLqvS=^7B6\u0026K1z/5\u0026[A:-/@ed9HxarUluBAg/1Byf92A=#ebwNw\u003e/BAh88B-.hoed9*k3l{V(B-qquwPI]npJf(.raP(SzdN*fC{3QnzGGDmBrCa9BywV)az2Olz/P[weG/dGwPIA9vrb{4wQ5f9v@#o)azCZovrlZiv\u003c2o1wmV8)aA}HgA+cw6z/fVdCYX0HzddYjvR3V(A+eW3wN(](zE:(2wPRu\u003cxK$Y%x(k57x\u003ey%*A+fcgayPtpzET/0z/fVdCYX0ly\u0026r%0x(mMoxjVfUz!AY]AWSbIAaJ{ewO+{{wPR%re[n*qBy/Ysa$kc=wPQQSC4CFry\u0026r%0x(mMolScGPnKC^qdgcz#z!AY]AV^H/y\u0026r%0x(mMoxjVfUz!AY]AWUp4zEEx[uTCk?3jpoVvrlGjpJf(.nP5cKA+fb#wLV=RwPz%9AWT[fA=a\u0026%vpK7!zF8:OB7GxnwPxjX3lQDlar\u00260N3lQDlawVD/wPz%9AV/EqvrrS4A+eW3wPF$\u0026AaJ]UzF0E2wO#0?aAIHgzGu}jz/M%%x(ES[vrrS7A:-/@aAhvtv}x.5x(mMo3jm)#arTD?B7GxnwPF#aA:-/@azbCdCoz0vA=l8kxDRndAaJ\u003c1zE\u003c@0zE:(1A+eW3wPF#nAa9T9azbLjawtE6efE[\u003eq.f51zE:\u003e*r8:#YwPz%dv}xZl3lQDlaw3A?y?mD{zGG}xAb](owPw]mAa9SbxLz3#vrb\u003c\u003eC{4rBBz8!rwPI{bz/cW?l)cC?z/xb$vruj4zy#nsarR^Ja%Ev3arR^HwmYu}uTEI+x()Y?c\u003c?7tarR^HarU-py?tj9arR^HarR^HBAg/1wPx*OpF1JavpJ\u003e?ed9HxarQ",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "A+xCOavf)\u003ced9HxarS9]3lQDlarR^Har\u00260N3lQDlarR^Haw3D+Bzkf1x)KtkBzbkdz^)^0A=#2me^.}darR^HarR^)A+xCO3lQDlarR^HarR^HaARTjv}xWwawV@/zB[.TwPzv1v}u^8A:-D?ATA{iarR^HarR^HarUfjzF0P}iV}yxvpJ\u003c\u003ev@Dk",
            "ln": 2568,
            "col": 14,
            "line": 77
          },
          {
            "b": "y-)d%wncd1z/f01aAIHgzxJwfBAh88B-.hoaARJAvpS)\u003eBz\u0026pgy?$knAa9T93lQDlarR^HarR^Hay/tcC4CYnvruj4zEm9*iV}jqBzkVhvqE5@z/f-fA=UVhx(v\u003e",
            "ln": 2773,
            "col": 48,
            "line": 85
          },
          {
            "b": "vS=r\u003cy\u0026r@[w[=6)zEEx[iTM#LarR^HarR^HarR)Ks8@1%wGU/cxcqqmay/LmA+fcgaA}:AyIvW0ay]hbwN/?2A^n=QCw7MdwGV8dwGV57A+PGmazC)tA=(nqx(mMj3lQDlarR^HarR^HaARTHiTM#LarR^HarR^HarR^HarU-py?tqbwmYj)xj2E[xj2m+y?j.LaA8jgzyx4bvS=r\u003cy\u0026r@[w[=6)zEEx[efDcXa$i\u003cwarR^HarR^HarR^HarR!FwO+%huU\u003cT[uU0.SB.ramb0w7LawVD/wPz%9AV/7lx([5$y?XibwftG5AV!\u003egzGYPiB76f8z/cXAv@DmdwPz\u003c2BzkVhuUK50au.\u003eJa$i\u003cwarR^HarR^HarR^HarR!FwO+%huU\u003cT[uU0.SB.ramb0w7LawuY^azbt7wJy@XwmYj)xj2E[xj2m+y?mG)zdObrjV$}LdgdguarR^HarR^HarUluv}xR3avQJ+wPh:9z/cXaB0b3P3lQDlarR^HarR^HarR^Haz+$exjV9owPz*fAWUJzlVm9-wft=dBrCHvwO@S3wNY^{az+$eazbt7wJy@XwQL:K3jm)#arR^HarU-py?tqbvpKy[C4C34Aa9T9iV{?8v@${?zGE1GaAITBefEt{v@${@BAe]Pl2H%N",
            "ln": 4522,
            "col": 14,
            "line": 118
          },
          {
            "b": "v{%g\u0026B08(yz/M$tvrb{%Bs?0ox(4r5A+f5}BzkVhB7/obdgdguarR^HarR)Kra]#!aAITyA+fqmd05%uC4\u003eC$uUK44aAIHgzEm9}w]xavw]zYjoIwe6B8UM9B0a[nvqf*$zF78lz/oCmv{%g\u0026ay/tbAbo9cx(v\u003e@arR^HarR^HB7Gf1e)\u0026Bhzc}v6",
            "ln": 5823,
            "col": 50,
            "line": 146
          },
          {
            "b": "awM\u0026)wEn+!arR!qwO95(y\u0026r@[wmYj)xdd?jy?tjvzdN^fvp%djaAITBdiHiaawM\u0026)wJyevarR^HarR^Ja%GZ0xcp.@vS=razdN^fvp%c]Bz\u0026plx(4u6vqYP#y\u0026r%0wPxy",
            "ln": 6395,
            "col": 53,
            "line": 156
          },
          {
            "b": "w/#eay?tqbwmYj)xj2E[xj2m+y?kTmarR^HarR^HarR^HBzkP6B97\u0026cA3dp^wmoN\u003eBzkP6e]CPKc[c=.B8LVeA=2lbc[bGCarR^HarR^HarR!yz!AA[x(mG8jS[tXtygEazdN^gvqP$it{aGhwPI{3xjVG@zxYAgarR^HarR^HarR!FwO+%huU0.SB.t5$z!AA?x(4ukCxdztwHIwkxj2E?zE\u003em7arR^HarR^HarR^HB7Gf1e)\u0026d2vS=r\u003cy\u0026r@[w[=6)e[O{xB7=%J3lQDlarR^HazCBgB7Gf1e)\u0026^kA:\u0026%dwJyevarR^HarR^HarR!yz!AY]AS",
            "ln": 6511,
            "col": 10,
            "line": 160
          },
          {
            "b": "EjMHZwPz%dv}x1?D2NsQaBwfvA=#ebwNxL8AaKCwdgcz8arR^HarR!vw/#eaA=#ebwNxL8AaHeazxHtKy\u00260@jefDcTBAwYTar\u003e]HB0r4]3lQDlarR^HarR^Har@1EzFTOvBzblbwGUP9vqPM#BA}?pB0bWvy?$knByxiiayMylAa9SB3lQDlarR^HarR^Har@9NoIweFz/fVdCYVz}vqPM#c})redgdguarR^HarR^HarR)Nax8k",
            "ln": 11399,
            "col": 40,
            "line": 282
          },
          {
            "b": "AaJ]$c$WHdzdLtwwQ5qC3jm)#arR^HarR^HarR)KrD8FSBy=N-CXIkvx(mMaq/De.3lQDlarR^HarR^Haz2wgwJyevarR^HarR^HarR^HarR^KavQJ%A:-E1ayPd#ayL",
            "ln": 16087,
            "col": 47,
            "line": 363
          },
          {
            "b": "By!#\u0026z/{evB-YUKarR^HarR^HarR^HarR^HarR^HarR^HboP:1aARgtBrCHABz#wAaz\u003eW#zGu}xxLzJgoIwe6v{%g\u0026az++cwO=SmBAh8dxjV9{wft#jz!{LavqG+33lQDlarR^HarR^HarR^HarR^HarR^Har@1cBz(hhayMykwObH]wO#0?aARJABzbxfaAIHgzxK1saARKuy-)j@y\u00261env{%l$vR3W3vrb{%By!#9B-7-3AV/7r3lQDl",
            "ln": 18083,
            "col": 36,
            "line": 403
          },
          {
            "b": "arR^HarR^HarR^HarR!FwO+%huU\u003cT[uU0.SB.r9farR^HarR^HarR^HarR^HarR^HarR^HarR^Hw*euuoIwe6A+frhz/fScaz2C3wN({cx([2hzF{UtwQ5qtz/{evB-X-Tar?dnarR^HarR^HarR^HarR^HarR^HarR^HarR!sb6d\u003cAA+PA7aAIHgzxKpEwPz%dv}x1YwpkOeB0bBuBy/uix\u003c\u003e*2Bz(8lay!?@y-)X9A+fcga{]CnarR^HarR^H",
            "ln": 18289,
            "col": 10,
            "line": 406
          },
          {
            "b": "zGGDguUjs!zdN6}Aa9l/A%-l%arR^HarR^HarR^HarR^HarR^Kavy6-y?m9#aA.:pAV/EnCYU6uA=k!qoIwe6z/{evB-X:rz/M%]oIDTJAa9R\u003earR^HarR^HarR^HarR^HarR^HB8UM9uUKy\u0026z^az]v}fT#B.\u003eGdwN]d^B-.OBBrU0kd)k1!A:-/@e{7VHBp6ckarR^HarR^HarR^HarR^HarUxgaz#ataAIagw?ECby\u00269J[zEWH9wmY*?x(i",
            "ln": 19357,
            "col": 77,
            "line": 425
          },
          {
            "b": "arR^HarR^HarR^HarR^HarR^HarR^Har@1cBz(hhaAhvtv}x.5x(mMaBzkP6azbLjaA.:pazCZouUj1\u0026x(^@{B8UM9aARJAv{%g-B.\u003eGdwGUM4wm6B)zdK4%arR^HarR^HarR^HarR^HarR^HarR^HarR!FAa9S\u003ex(mK3toX3bz!0v1B7]J8uVZ10wNxH\u0026v@Dl}",
            "ln": 21047,
            "col": 4,
            "line": 461
          },
          {
            "b": "vg1b1arR^HarR\u003cLa{]CnarR^HarUopvqPM#jS[ozByu!lA:-/@3lQDlarR^HaARKuy*QWXy\u00260D)wfs2TxjVf[BAzKKw].r%wH[@FBz(8luT)IXy*Q)!a$K\u003ciz/fbn3jm)#arR^HarUxgaz#ataARKuy*QWXy\u00260D)wi75uarR^HarR^HarR!FwO+%huU\u003cT[uU0.SB.rama%n1cz/oCmw].r%wGVhhBzbPnBrCWzz!@=\u003cvqG:!x\u003efmEDUdo",
            "ln": 21598,
            "col": 40,
            "line": 473
          },
          {
            "b": "ar\u003elmxlw65zGG}zefEYazE\u003em7arR^HarR^HarR^HA+frmy\u0026*^.azkncvruQic$WHdzdLmvb64moB.(dzefEYazE\u003em73lQDlarR^HarR^HaAIagw?ECbz!AA/wNY^{c$TUCaARKuy*QWXy?$kaA:-/@e]\u003eJAB.(dxjS]8(wPJ0gBBttZ3lQDlarR^HarR^HaAIagw?ECbz!AA/wNY^{c\u003c?7tarR^HarR^HarR^HarUnuarU=Az!@=\u003cvqG:5B75V(uUTU2zEl{%ze:LAvrc16zdNQbB15j{aBwfrw[ts:B8L@6wov",
            "ln": 23211,
            "col": 39,
            "line": 511
          },
          {
            "b": "vqWYswPRo/BAzLqvS=^7c@U7[zB5w^A+P09By/ICr8lp-uRS)YmjYM[B-7Yhx(v(@zEEx[dgcz8arR^HarR!EwPS6nzxK1tvqVzVarR^HwmYu}uUj1\u0026x(^@{Bz(8luVQf{zu",
            "ln": 26237,
            "col": 11,
            "line": 585
          },
          {
            "b": "Aa9T9efFwqB8JgxwPP5by*?BcwO#6\u0026aA8yAAclmBzdN^fvp%d)azbLjzddI[arR^HarR^HarR^Hx\u003ewGewPz%dv}x1?D2NsqjV%]iy\u00260@jiTM#LarR^HarR^HarR^HarU-A",
            "ln": 31630,
            "col": 24,
            "line": 721
          },
          {
            "b": "wPG)tarR^HarR^HarR^HB8UM9uTX4#A+P09By/ICB-p(1By=\u003ewwO+%huTWFQx([6czEEu*B8UM9uTX4#A+P09By/Ix3lQDlarR^HaAIagw?ECjB-IwbB8UM9auZ\u0026*wO.",
            "ln": 33282,
            "col": 42,
            "line": 758
          },
          {
            "b": "x\u003eho(Bz\u003eI#x(mTaxGvn.B7Gxnx\u003e7ZYx\u003eho(Bz\u003eI#x(mTaxNI6N3lQDlarR^HazbLjaAIamC4\u003eC$uUK3[x(k5mwPz%dv}x1Ywoha1z^N9\u003czFsf9iTM#LarR^HarR^HarU-py?tqbw[=c%B7!{4Aa9SjB7Gxnx\u003e7ZYx\u003eeU13lQDlarR^Har@1cwPP5pB-IvxzdN/$wmoN*3lQC",
            "ln": 36088,
            "col": 42,
            "line": 827
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "logging.getLogger.setLevel"
            ],
            [
              "",
              "logging.getLogger"
            ],
            [
              "",
              "logging.getLogger"
            ],
            [
              "",
              "super.__init__"
            ],
            [
              "",
              "super"
            ],
            [
              "",
              "UserBotLatencyObserver"
            ],
            [
              "",
              "self._latency_observer.event_handler"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "additional_span_attributes.items"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "open"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "logger.error"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "datetime.now.isoformat"
            ],
            [
              "",
              "datetime.now"
            ],
            [
              "",
              "self._debug_log_file.write"
            ],
            [
              "",
              "self._debug_log_file.flush"
            ],
            [
              "",
              "logger.debug"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._debug_log_file.close"
            ],
            [
              "",
              "logger.error"
            ],
            [
              "",
              "super.on_push_frame"
            ],
            [
              "",
              "super"
            ],
            [
              "",
              "self._latency_observer.on_push_frame"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._finish_span"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._handle_service_frame"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self._handle_service_frame"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self._handle_service_frame"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self._handle_tool_frame"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self._handle_service_frame"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self._handle_service_frame"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self._handle_service_frame"
            ],
            [
              "",
              "logger.debug"
            ],
            [
              "",
              "detect_service_type"
            ],
            [
              "",
              "id"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._finish_span"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._finish_span"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "service_type.upper"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "service_type.upper"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._start_turn"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._create_service_span"
            ],
            [
              "",
              "time.time_ns"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "span.set_attributes"
            ],
            [
              "",
              "extract_attributes_from_frame"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self._turn_bot_text.append"
            ],
            [
              "",
              "extract_attributes_from_frame"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self._turn_user_text.append"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "time.time_ns"
            ],
            [
              "",
              "active_span.set_attribute"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "span_info.get.strip"
            ],
            [
              "",
              "span_info.get"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._finish_span"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "frame_attrs.items"
            ],
            [
              "",
              "detect_service_type_from_class_string"
            ],
            [
              "",
              "frame_attrs.items"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "active_span.set_attribute"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._start_turn"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._create_tool_span"
            ],
            [
              "",
              "extract_attributes_from_frame"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "safe_json_dumps"
            ],
            [
              "",
              "safe_json_dumps"
            ],
            [
              "",
              "safe_json_dumps"
            ],
            [
              "",
              "time.time_ns"
            ],
            [
              "",
              "frame_attrs.items"
            ],
            [
              "",
              "span.set_attribute"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._finish_tool_span"
            ],
            [
              "",
              "self._completed_tool_calls.add"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "trace_api.set_span_in_context"
            ],
            [
              "",
              "self._tracer.start_span"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "trace_api.set_span_in_context"
            ],
            [
              "",
              "self._tracer.start_span"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._log_debug"
            ],
            [
              "",
              "self._tracer.start_span"
            ],
            [
              "",
              "span.set_attribute"
            ],
            [
              "",
              "span.set_attribute"
            ],
            [
              "",
              "self._active_spans.pop"
            ],
            [
              "",
              "span_info.get"
            ],
            [
              "",
              "int"
            ],
            [
              "",
              "time.time_ns"
            ],
            [
              "",
              "span_info.get"
            ],
            [
              "",
              "span_info.get"
            ],
            [
              "",
              "span_info.get"
            ],
            [
              "",
              "span.set_attribute"
            ],
            [
              "",
              "span.set_attribute"
            ],
            [
              "",
              "span.set_attribute"
            ],
            [
              "",
              "span.set_status"
            ],
            [
              "",
              "trace_api.Status"
            ],
            [
              "",
              "span.end"
            ],
            [
              "",
              "int"
            ],
            [
              "",
              "trace_api.set_span_in_context"
            ],
            [
              "",
              "self._tracer.start_span"
            ],
            [
              "",
              "self._tracer.start_span"
            ],
            [
              "",
              "span.set_attribute"
            ],
            [
              "",
              "extract_service_attributes"
            ],
            [
              "",
              "span.set_attributes"
            ],
            [
              "",
              "self._active_spans.pop"
            ],
            [
              "",
              "span_info.get"
            ],
            [
              "",
              "span_info.get"
            ],
            [
              "",
              "int"
            ],
            [
              "",
              "time.time_ns"
            ],
            [
              "",
              "span_info.get"
            ],
            [
              "",
              "span_info.get"
            ],
            [
              "",
              "span.set_attribute"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "span.set_attribute"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "span.set_attribute"
            ],
            [
              "",
              "span.set_attribute"
            ],
            [
              "",
              "time.time_ns"
            ],
            [
              "",
              "span.set_attribute"
            ],
            [
              "",
              "span.set_status"
            ],
            [
              "",
              "trace_api.Status"
            ],
            [
              "",
              "span.end"
            ],
            [
              "",
              "int"
            ],
            [
              "",
              "super._start_turn"
            ],
            [
              "",
              "super"
            ],
            [
              "",
              "time.time_ns"
            ],
            [
              "",
              "span_attributes.update"
            ],
            [
              "",
              "self._tracer.start_span"
            ],
            [
              "",
              "Context"
            ],
            [
              "",
              "self._turn_span.set_attribute"
            ],
            [
              "",
              "super._end_turn"
            ],
            [
              "",
              "super"
            ],
            [
              "",
              "time.time_ns"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "self._turn_span.set_attribute"
            ],
            [
              "",
              "join_space.join"
            ],
            [
              "",
              "self._turn_span.set_attribute"
            ],
            [
              "",
              "self._turn_span.set_attribute"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "self._active_spans.keys"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "self._finish_span"
            ],
            [
              "",
              "self._turn_span.set_attribute"
            ],
            [
              "",
              "self._turn_span.set_attribute"
            ],
            [
              "",
              "self._turn_span.set_attribute"
            ],
            [
              "",
              "self._turn_span.set_status"
            ],
            [
              "",
              "trace_api.Status"
            ],
            [
              "",
              "self._turn_span.end"
            ],
            [
              "",
              "int"
            ],
            [
              "",
              "self._completed_tool_calls.clear"
            ],
            [
              "",
              "._attributes"
            ],
            [
              "._attributes",
              "._attributes.detect_service_type"
            ],
            [
              "._attributes",
              "._attributes.detect_service_type_from_class_string"
            ],
            [
              "._attributes",
              "._attributes.extract_attributes_from_frame"
            ],
            [
              "._attributes",
              "._attributes.extract_service_attributes"
            ],
            [
              "pipecat.services.ai_service",
              "AIService"
            ],
            [
              "typing",
              "Any"
            ],
            [
              "pipecat.transports.base_output",
              "BaseOutputTransport"
            ],
            [
              "opentelemetry.context",
              "Context"
            ],
            [
              "typing",
              "Dict"
            ],
            [
              "pipecat.frames.frames",
              "Frame"
            ],
            [
              "pipecat.processors.frame_processor",
              "FrameProcessor"
            ],
            [
              "pipecat.observers.base_observer",
              "FramePushed"
            ],
            [
              "pipecat.frames.frames",
              "FunctionCallResultFrame"
            ],
            [
              "pipecat.frames.frames",
              "LLMContextFrame"
            ],
            [
              "pipecat.frames.frames",
              "LLMFullResponseEndFrame"
            ],
            [
              "pipecat.frames.frames",
              "LLMFullResponseStartFrame"
            ],
            [
              "pipecat.services.llm_service",
              "LLMService"
            ],
            [
              "pipecat.frames.frames",
              "LLMTextFrame"
            ],
            [
              "typing",
              "List"
            ],
            [
              "pipecat.frames.frames",
              "MetricsFrame"
            ],
            [
              "openinference.instrumentation",
              "OITracer"
            ],
            [
              "openinference.semconv.trace",
              "OpenInferenceSpanKindValues"
            ],
            [
              "typing",
              "Optional"
            ],
            [
              "pipecat.frames.frames",
              "STTMuteFrame"
            ],
            [
              "pipecat.services.stt_service",
              "STTService"
            ],
            [
              "typing",
              "Set"
            ],
            [
              "opentelemetry.trace",
              "Span"
            ],
            [
              "openinference.semconv.trace",
              "SpanAttributes"
            ],
            [
              "pipecat.frames.frames",
              "StartFrame"
            ],
            [
              "pipecat.services.tts_service",
              "TTSService"
            ],
            [
              "pipecat.frames.frames",
              "TTSStartedFrame"
            ],
            [
              "pipecat.frames.frames",
              "TTSTextFrame"
            ],
            [
              "typing",
              "TextIO"
            ],
            [
              "contextvars",
              "Token"
            ],
            [
              "openinference.instrumentation",
              "TraceConfig"
            ],
            [
              "pipecat.frames.frames",
              "TranscriptionFrame"
            ],
            [
              "pipecat.observers.turn_tracking_observer",
              "TurnTrackingObserver"
            ],
            [
              "pipecat.observers.user_bot_latency_observer",
              "UserBotLatencyObserver"
            ],
            [
              "pipecat.frames.frames",
              "VADUserStartedSpeakingFrame"
            ],
            [
              "pipecat.frames.frames",
              "VADUserStoppedSpeakingFrame"
            ],
            [
              "",
              "contextvars"
            ],
            [
              "",
              "datetime"
            ],
            [
              "datetime",
              "datetime"
            ],
            [
              "",
              "logging"
            ],
            [
              "",
              "openinference.instrumentation"
            ],
            [
              "",
              "openinference.instrumentation.helpers"
            ],
            [
              "",
              "openinference.semconv.trace"
            ],
            [
              "",
              "opentelemetry"
            ],
            [
              "",
              "opentelemetry.context"
            ],
            [
              "",
              "opentelemetry.trace"
            ],
            [
              "",
              "pipecat.frames.frames"
            ],
            [
              "",
              "pipecat.observers.base_observer"
            ],
            [
              "",
              "pipecat.observers.turn_tracking_observer"
            ],
            [
              "",
              "pipecat.observers.user_bot_latency_observer"
            ],
            [
              "",
              "pipecat.processors.frame_processor"
            ],
            [
              "",
              "pipecat.services.ai_service"
            ],
            [
              "",
              "pipecat.services.llm_service"
            ],
            [
              "",
              "pipecat.services.stt_service"
            ],
            [
              "",
              "pipecat.services.tts_service"
            ],
            [
              "",
              "pipecat.transports.base_output"
            ],
            [
              "openinference.instrumentation.helpers",
              "safe_json_dumps"
            ],
            [
              "",
              "time"
            ],
            [
              "opentelemetry",
              "trace"
            ],
            [
              "",
              "typing"
            ]
          ],
          "mbr": [
            "OpenInferenceSpanKindValues.CHAIN",
            "OpenInferenceSpanKindValues.CHAIN.value",
            "OpenInferenceSpanKindValues.TOOL",
            "OpenInferenceSpanKindValues.TOOL.value",
            "SpanAttributes.INPUT_VALUE",
            "SpanAttributes.OPENINFERENCE_SPAN_KIND",
            "SpanAttributes.OUTPUT_VALUE",
            "SpanAttributes.SESSION_ID",
            "SpanAttributes.TOOL_NAME",
            "SpanAttributes.TOOL_PARAMETERS",
            "active_span.set_attribute",
            "additional_span_attributes.items",
            "data.destination",
            "data.frame",
            "data.source",
            "data.source.__class__",
            "data.source.__class__.__name__",
            "datetime.now",
            "datetime.now.isoformat",
            "frame.__class__",
            "frame.__class__.__name__",
            "frame.includes_inter_frame_spaces",
            "frame.mute",
            "frame.skip_tts",
            "frame.text",
            "frame_attrs.items",
            "join_space.join",
            "logger.debug",
            "logger.error",
            "logging.CRITICAL",
            "logging.getLogger",
            "logging.getLogger.setLevel",
            "self._active_spans",
            "self._active_spans.keys",
            "self._active_spans.pop",
            "self._active_stt_service_id",
            "self._active_tts_service_id",
            "self._additional_span_attributes",
            "self._completed_tool_calls",
            "self._completed_tool_calls.add",
            "self._completed_tool_calls.clear",
            "self._config",
            "self._conversation_id",
            "self._create_service_span",
            "self._create_tool_span",
            "self._debug_log_file",
            "self._debug_log_file.close",
            "self._debug_log_file.flush",
            "self._debug_log_file.write",
            "self._finish_span",
            "self._finish_tool_span",
            "self._handle_service_frame",
            "self._handle_tool_frame",
            "self._is_turn_active",
            "self._last_frames",
            "self._last_user_to_bot_latency",
            "self._latency_observer",
            "self._latency_observer.event_handler",
            "self._latency_observer.on_push_frame",
            "self._llm_includes_inter_frame_spaces",
            "self._llm_span_awaiting_tool_calls",
            "self._llm_span_awaiting_tool_calls.service_id",
            "self._llm_span_awaiting_tool_calls.span",
            "self._log_debug",
            "self._seen_vad_user_stopped_speaking_frame",
            "self._start_turn",
            "self._stt_includes_inter_frame_spaces",
            "self._tracer",
            "self._tracer.start_span",
            "self._tts_includes_inter_frame_spaces",
            "self._turn_bot_text",
            "self._turn_bot_text.append",
            "self._turn_context_token",
            "self._turn_count",
            "self._turn_span",
            "self._turn_span.end",
            "self._turn_span.set_attribute",
            "self._turn_span.set_status",
            "self._turn_start_time",
            "self._turn_user_text",
            "self._turn_user_text.append",
            "self._verbose",
            "service.__class__",
            "service.__class__.__name__",
            "service_type.upper",
            "span.end",
            "span.set_attribute",
            "span.set_attributes",
            "span.set_status",
            "span_attributes.update",
            "span_info.accumulated_input",
            "span_info.accumulated_output",
            "span_info.frame_count",
            "span_info.get",
            "span_info.get.strip",
            "span_info.processing_time_seconds",
            "span_info.span",
            "span_info.start_time_ns",
            "super.__init__",
            "super._end_turn",
            "super._start_turn",
            "super.on_push_frame",
            "time.time_ns",
            "trace_api.Status",
            "trace_api.StatusCode",
            "trace_api.StatusCode.OK",
            "trace_api.set_span_in_context"
          ],
          "tgt": [
            "Context",
            "UserBotLatencyObserver",
            "active_span.set_attribute",
            "additional_span_attributes.items",
            "datetime.now",
            "datetime.now.isoformat",
            "detect_service_type",
            "detect_service_type_from_class_string",
            "extract_attributes_from_frame",
            "extract_service_attributes",
            "frame_attrs.items",
            "getattr",
            "id",
            "int",
            "isinstance",
            "join_space.join",
            "len",
            "list",
            "logger.debug",
            "logger.error",
            "logging.getLogger",
            "logging.getLogger.setLevel",
            "open",
            "safe_json_dumps",
            "self._active_spans.keys",
            "self._active_spans.pop",
            "self._completed_tool_calls.add",
            "self._completed_tool_calls.clear",
            "self._create_service_span",
            "self._create_tool_span",
            "self._debug_log_file.close",
            "self._debug_log_file.flush",
            "self._debug_log_file.write",
            "self._finish_span",
            "self._finish_tool_span",
            "self._handle_service_frame",
            "self._handle_tool_frame",
            "self._latency_observer.event_handler",
            "self._latency_observer.on_push_frame",
            "self._log_debug",
            "self._start_turn",
            "self._tracer.start_span",
            "self._turn_bot_text.append",
            "self._turn_span.end",
            "self._turn_span.set_attribute",
            "self._turn_span.set_status",
            "self._turn_user_text.append",
            "service_type.upper",
            "set",
            "span.end",
            "span.set_attribute",
            "span.set_attributes",
            "span.set_status",
            "span_attributes.update",
            "span_info.get",
            "span_info.get.strip",
            "str",
            "super",
            "super.__init__",
            "super._end_turn",
            "super._start_turn",
            "super.on_push_frame",
            "time.time_ns",
            "trace_api.Status",
            "trace_api.set_span_in_context"
          ],
          "funcs": [
            [
              "__init__",
              2200
            ],
            [
              "_on_latency_measured",
              3791
            ],
            [
              "_log_debug",
              6406
            ],
            [
              "__del__",
              6793
            ],
            [
              "on_push_frame",
              7144
            ],
            [
              "_handle_service_frame",
              10814
            ],
            [
              "_handle_tool_frame",
              21282
            ],
            [
              "_create_tool_span",
              24343
            ],
            [
              "_finish_tool_span",
              26321
            ],
            [
              "_create_service_span",
              27862
            ],
            [
              "_finish_span",
              29597
            ],
            [
              "_start_turn",
              32432
            ],
            [
              "_end_turn",
              33931
            ]
          ],
          "metrics": {
            "ast": {
              "op.add": 12,
              "op.bor": 2,
              "op.div": 4,
              "op.lor": 2,
              "op.mul": 4,
              "op.sub": 3,
              "op.land": 12,
              "max_depth": 22,
              "call_count": 219,
              "node_count": 6089,
              "member_count": 107,
              "op_density.add": 0,
              "op_density.bor": 0,
              "op_density.div": 0,
              "op_density.lor": 0,
              "op_density.mul": 0,
              "op_density.sub": 0,
              "op_density.land": 0,
              "max_array_length": 4,
              "max_concat_chain": 4,
              "max_member_depth": 4
            },
            "file": {
              "size": 37148,
              "entropy": 4.31
            },
            "text": {
              "lines": 849,
              "top_char": 101,
              "digit_ratio": 0,
              "space_count": 11250,
              "char_entropy": 4.31,
              "unique_chars": 82,
              "top_char_null": 0,
              "import_density": 7.66,
              "string_density": 0.2,
              "top_char_ratio": 0.07,
              "avg_line_length": 42.76,
              "max_line_length": 114,
              "non_ascii_ratio": 0,
              "empty_line_ratio": 0.16,
              "last_line_length": 42,
              "whitespace_ratio": 0.33,
              "identifier_density": 1.55,
              "line_length_stddev": 28.73,
              "max_whitespace_run": 5,
              "normalized_import_count": 2.23,
              "normalized_string_count": 5.87,
              "repeated_char_sequences": 406,
              "suspicious_string_ratio": 0.02,
              "suspicious_comment_ratio": 0.04,
              "normalized_function_count": 0.45,
              "imports_to_functions_ratio": 5,
              "strings_to_functions_ratio": 13.15,
              "suspicious_identifier_ratio": 0.01,
              "normalized_unique_identifiers": 23.84,
              "identifiers_to_functions_ratio": 17.85
            },
            "binds": {
              "count": 126
            },
            "binary": {
              "peak_region_bytes": 23552,
              "peak_region_entropy": 4.63
            },
            "source": {
              "class_count": 1,
              "function_count": 13
            },
            "imports": {
              "count": 65,
              "aliased": 1,
              "relative": 5,
              "stdlib_count": 5,
              "stdlib_ratio": 0.08,
              "relative_ratio": 0.08,
              "third_party_count": 60,
              "third_party_ratio": 0.92
            },
            "strings": {
              "sql": 1,
              "bytes": 6896,
              "count": 171,
              "avg_length": 40.33,
              "max_length": 734,
              "avg_entropy": 3.27,
              "empty_count": 11,
              "entropy_stddev": 1.12,
              "embedded_code_candidates": 2
            },
            "comments": {
              "chars": 5270,
              "count": 126,
              "empty": 5,
              "lines": 121,
              "base64": 5,
              "to_code_ratio": 0.17
            },
            "functions": {
              "count": 14,
              "nested": 1,
              "density": 1.53,
              "avg_params": 2.77,
              "code_ratio": 0.91,
              "max_params": 10,
              "length_stddev": 48.67,
              "over_100_lines": 1,
              "avg_name_length": 14.08,
              "avg_length_lines": 59.54,
              "max_length_lines": 197,
              "min_length_lines": 2,
              "avg_nesting_depth": 0.08,
              "many_params_count": 1,
              "max_nesting_depth": 1,
              "high_entropy_names": 3,
              "avg_param_name_length": 8.28
            },
            "identifiers": {
              "count": 1314,
              "unique": 232,
              "avg_length": 11.37,
              "max_length": 37,
              "min_length": 1,
              "avg_entropy": 2.74,
              "reuse_ratio": 0.18,
              "length_stddev": 7.17,
              "sequential_names": 3,
              "single_char_count": 3,
              "single_char_ratio": 0.01,
              "high_entropy_count": 29,
              "high_entropy_ratio": 0.13,
              "all_lowercase_ratio": 0.78,
              "all_uppercase_ratio": 0.04,
              "double_underscore_count": 4,
              "underscore_prefix_count": 41
            }
          }
        },
        "id": 3,
        "mol": "H₃(Db₄F)",
        "path": "openinference_instrumentation_pipecat-2.0.2-py3-none-any.whl!!openinference/instrumentation/pipecat/_observer.py",
        "pid": 0,
        "risk": 4,
        "sha": "05871ff2b60fb071866d656ce504b204cdfd8243e79a3a9d0a75e791708c1b2c",
        "size": 37148,
        "traits": [
          {
            "id": "micro-behaviors/data/control-flow/error-handling::broad-exception-near-file-open",
            "mbc": "C0027",
            "conf": 0.85,
            "crit": 3,
            "desc": "Broad exception near writable-file open",
            "uses": [
              6,
              84
            ],
            "spans": [
              [
                4679,
                29
              ],
              [
                4896,
                22
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/module-exec::module-level-side-effect-call",
            "conf": 0.82,
            "crit": 3,
            "desc": "Python module-level function call syntax",
            "spans": [
              [
                1784,
                69
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/agent::llm-model-call-phrase",
            "conf": 0.84,
            "crit": 3,
            "desc": "Text refers to LLM/model calls",
            "spans": [
              [
                18147,
                8
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/agent::llm-output-response-reference",
            "conf": 0.86,
            "crit": 3,
            "desc": "LLM response or output reference",
            "spans": [
              [
                18353,
                12
              ],
              [
                19421,
                10
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/wire-marker::llm-term-reference",
            "conf": 0.88,
            "crit": 3,
            "desc": "Explicit LLM or language-model reference",
            "spans": [
              [
                2093,
                3
              ],
              [
                11463,
                3
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/wire-marker::tool-call-identifier",
            "conf": 0.85,
            "crit": 3,
            "desc": "References the LLM tool_call name",
            "spans": [
              [
                23316,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/file/open::write-append-create-mode",
            "conf": 0.85,
            "crit": 3,
            "desc": "Python file opened for write or append",
            "spans": [
              [
                4679,
                29
              ]
            ]
          },
          {
            "id": "micro-behaviors/metaprogramming/reflection::python-getattr-call",
            "conf": 0.75,
            "crit": 3,
            "desc": "Python getattr dynamic attribute lookup",
            "spans": [
              [
                21662,
                7
              ]
            ]
          },
          {
            "id": "metadata/file/extension/identity::py",
            "conf": 1.0,
            "crit": 2,
            "desc": "File uses a Python artifact extension"
          },
          {
            "id": "metadata/file/line::file-has-30-plus-lines",
            "conf": 0.9,
            "crit": 2,
            "desc": "File has 30 or more lines"
          },
          {
            "id": "metadata/import/python/contextvars/token::token",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Token from contextvars",
            "spans": [
              [
                104,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/contextvars::contextvars",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports contextvars",
            "spans": [
              [
                85,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/datetime/datetime::datetime",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports datetime from datetime",
            "spans": [
              [
                131,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/datetime::datetime",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports datetime",
            "spans": [
              [
                115,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/logging::logging",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports logging",
            "spans": [
              [
                60,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/instrumentation/helpers/safe_json_dumps::safe_json_dumps",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports safe_json_dumps from openinference.instrumentation.helpers",
            "spans": [
              [
                438,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/instrumentation/helpers::openinference/instrumentation/helpers",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports openinference.instrumentation.helpers",
            "spans": [
              [
                393,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/instrumentation/oitracer::oitracer",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports OITracer from openinference.instrumentation",
            "spans": [
              [
                366,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/instrumentation/traceconfig::traceconfig",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports TraceConfig from openinference.instrumentation",
            "spans": [
              [
                376,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/instrumentation::openinference/instrumentation",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports openinference.instrumentation",
            "spans": [
              [
                329,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/semconv/trace/openinferencespankindvalues::openinferencespankindvalues",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports OpenInferenceSpanKindValues from openinference.semconv.trace",
            "spans": [
              [
                500,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/semconv/trace/spanattributes::spanattributes",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports SpanAttributes from openinference.semconv.trace",
            "spans": [
              [
                533,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/openinference/semconv/trace::openinference/semconv/trace",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports openinference.semconv.trace",
            "spans": [
              [
                459,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/opentelemetry/context/context::context",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Context from opentelemetry.context",
            "spans": [
              [
                278,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/opentelemetry/context::opentelemetry/context",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports opentelemetry.context",
            "spans": [
              [
                249,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/opentelemetry/trace/span::span",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Span from opentelemetry.trace",
            "spans": [
              [
                318,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/opentelemetry/trace::opentelemetry/trace",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports opentelemetry.trace",
            "spans": [
              [
                291,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/opentelemetry/trace::trace_api",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports trace from opentelemetry as trace_api",
            "spans": [
              [
                225,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/opentelemetry::opentelemetry",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports opentelemetry",
            "spans": [
              [
                204,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/frame::frame",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Frame from pipecat.frames.frames",
            "spans": [
              [
                591,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/functioncallresultframe::functioncallresultframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports FunctionCallResultFrame from pipecat.frames.frames",
            "spans": [
              [
                602,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/llmcontextframe::llmcontextframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports LLMContextFrame from pipecat.frames.frames",
            "spans": [
              [
                631,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/llmfullresponseendframe::llmfullresponseendframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports LLMFullResponseEndFrame from pipecat.frames.frames",
            "spans": [
              [
                652,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/llmfullresponsestartframe::llmfullresponsestartframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports LLMFullResponseStartFrame from pipecat.frames.frames",
            "spans": [
              [
                681,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/llmtextframe::llmtextframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports LLMTextFrame from pipecat.frames.frames",
            "spans": [
              [
                712,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/metricsframe::metricsframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports MetricsFrame from pipecat.frames.frames",
            "spans": [
              [
                730,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/startframe::startframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports StartFrame from pipecat.frames.frames",
            "spans": [
              [
                748,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/sttmuteframe::sttmuteframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports STTMuteFrame from pipecat.frames.frames",
            "spans": [
              [
                764,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/transcriptionframe::transcriptionframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports TranscriptionFrame from pipecat.frames.frames",
            "spans": [
              [
                782,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/ttsstartedframe::ttsstartedframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports TTSStartedFrame from pipecat.frames.frames",
            "spans": [
              [
                806,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/ttstextframe::ttstextframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports TTSTextFrame from pipecat.frames.frames",
            "spans": [
              [
                827,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/vaduserstartedspeakingframe::vaduserstartedspeakingframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports VADUserStartedSpeakingFrame from pipecat.frames.frames",
            "spans": [
              [
                845,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames/vaduserstoppedspeakingframe::vaduserstoppedspeakingframe",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports VADUserStoppedSpeakingFrame from pipecat.frames.frames",
            "spans": [
              [
                878,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/frames/frames::pipecat/frames/frames",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.frames.frames",
            "spans": [
              [
                556,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/observers/base_observer/framepushed::framepushed",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports FramePushed from pipecat.observers.base_observer",
            "spans": [
              [
                953,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/observers/base_observer::pipecat/observers/base_observer",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.observers.base_observer",
            "spans": [
              [
                914,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/observers/turn_tracking_observer/turntrackingobserver::turntrackingobserver",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports TurnTrackingObserver from pipecat.observers.turn_tracking_observer",
            "spans": [
              [
                1018,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/observers/turn_tracking_observer::pipecat/observers/turn_tracking_observer",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.observers.turn_tracking_observer",
            "spans": [
              [
                970,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/observers/user_bot_latency_observer/userbotlatencyobserver::userbotlatencyobserver",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports UserBotLatencyObserver from pipecat.observers.user_bot_latency_observer",
            "spans": [
              [
                1095,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/observers/user_bot_latency_observer::pipecat/observers/user_bot_latency_observer",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.observers.user_bot_latency_observer",
            "spans": [
              [
                1044,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/processors/frame_processor/frameprocessor::frameprocessor",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports FrameProcessor from pipecat.processors.frame_processor",
            "spans": [
              [
                1165,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/processors/frame_processor::pipecat/processors/frame_processor",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.processors.frame_processor",
            "spans": [
              [
                1123,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/ai_service/aiservice::aiservice",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports AIService from pipecat.services.ai_service",
            "spans": [
              [
                1220,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/ai_service::pipecat/services/ai_service",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.services.ai_service",
            "spans": [
              [
                1185,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/llm_service/llmservice::llmservice",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports LLMService from pipecat.services.llm_service",
            "spans": [
              [
                1271,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/llm_service::pipecat/services/llm_service",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.services.llm_service",
            "spans": [
              [
                1235,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/stt_service/sttservice::sttservice",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports STTService from pipecat.services.stt_service",
            "spans": [
              [
                1323,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/stt_service::pipecat/services/stt_service",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.services.stt_service",
            "spans": [
              [
                1287,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/tts_service/ttsservice::ttsservice",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports TTSService from pipecat.services.tts_service",
            "spans": [
              [
                1375,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/services/tts_service::pipecat/services/tts_service",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.services.tts_service",
            "spans": [
              [
                1339,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/transports/base_output/baseoutputtransport::baseoutputtransport",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports BaseOutputTransport from pipecat.transports.base_output",
            "spans": [
              [
                1429,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/pipecat/transports/base_output::pipecat/transports/base_output",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports pipecat.transports.base_output",
            "spans": [
              [
                1391,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/1/_attributes/detect_service_type::detect_service_type",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ._attributes.detect_service_type from ._attributes",
            "spans": [
              [
                1495,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/1/_attributes/detect_service_type_from_class_string::detect_service_type_from_class_string",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ._attributes.detect_service_type_from_class_string from ._attributes",
            "spans": [
              [
                1520,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/1/_attributes/extract_attributes_from_frame::extract_attributes_from_frame",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ._attributes.extract_attributes_from_frame from ._attributes",
            "spans": [
              [
                1563,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/1/_attributes/extract_service_attributes::extract_service_attributes",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ._attributes.extract_service_attributes from ._attributes",
            "spans": [
              [
                1598,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/1/_attributes::relative/1/_attributes",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ._attributes",
            "spans": [
              [
                1455,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/time::time",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports time",
            "spans": [
              [
                75,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/any::any",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Any from typing",
            "spans": [
              [
                159,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/dict::dict",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Dict from typing",
            "spans": [
              [
                164,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/list::list",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports List from typing",
            "spans": [
              [
                170,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/optional::optional",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Optional from typing",
            "spans": [
              [
                176,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/set::set",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports Set from typing",
            "spans": [
              [
                186,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing/textio::textio",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports TextIO from typing",
            "spans": [
              [
                191,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/typing::typing",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports typing",
            "spans": [
              [
                145,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/error-handling::except-keyword-dup",
            "mbc": "C0027",
            "conf": 0.5,
            "crit": 2,
            "desc": "except keyword",
            "spans": [
              [
                4896,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::english-edit-verb-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "English edit-action verb token",
            "spans": [
              [
                2805,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                2616,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                1743,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                1966,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                26,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                2158,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                5871,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/source/declaration::class-with-base",
            "conf": 0.95,
            "crit": 1,
            "desc": "Python class declared with a base class",
            "spans": [
              [
                1894,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/error-handling::broad-exception-bound-catch",
            "mbc": "C0027",
            "conf": 0.8,
            "crit": 1,
            "desc": "Catches broad Exception into a variable",
            "spans": [
              [
                4896,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/codegen::llm-generation-source-write",
            "conf": 0.88,
            "crit": 1,
            "desc": "Mentions writing source code or a script",
            "spans": [
              [
                4554,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/repository-directive::control-action-prose-fragment",
            "conf": 0.88,
            "crit": 1,
            "desc": "Control-action verb followed by prose",
            "spans": [
              [
                1631,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/repository-directive::repository-agent-directive-marker",
            "conf": 0.88,
            "crit": 1,
            "desc": "Marks text as an agent directive",
            "spans": [
              [
                6427,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/parse/vocabulary::token-word",
            "conf": 0.45,
            "crit": 1,
            "desc": "Contains the standalone word token",
            "spans": [
              [
                104,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/serialize/envelope::result-assignment-key",
            "conf": 0.4,
            "crit": 1,
            "desc": "Result field or assignment key",
            "spans": [
              [
                23243,
                0
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "DM)3hz/ZhBBy/qkiWeJ*Aa{HEb5Q?awG\u003ceVz/xo9x(mJ]A+fb#wI4RlB98CBzdNQbvruj4zy]*wAaJJ/BrSmWC4CYnx(v(kiWcsifFka8efY4QvR/+1xK$ZYvrrXOf/I6JhzE6Ah8u^cvp%dUwmo+8b04zeb5yXfwPI%2C4CYnx(v(kiWcsifFka8efXIB",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 815,
              "entropy": 4.68
            },
            "binary": {
              "peak_region_bytes": 815,
              "peak_region_entropy": 4.68
            },
            "registry": {
              "age_days": 0,
              "published_at": 1787615253,
              "releases_24h": 1,
              "releases_48h": 1,
              "is_deprecated": 0,
              "release_count": 13,
              "package_age_days": 228,
              "first_published_at": 1767844321,
              "vulnerability_count": 0,
              "previous_published_at": 1785429508,
              "days_since_previous_release": 25
            }
          }
        },
        "id": 9,
        "mol": "Md",
        "path": "openinference-instrumentation-pipecat@2.0.2.registry.json",
        "pid": 0,
        "rel": "registry",
        "risk": 1,
        "role": "sidecar",
        "sha": "c4c2a3b91463bd72e6e68f12b173e24b568dddf184d59827d252f4894e4e16ca",
        "size": 815,
        "traits": [
          {
            "id": "metadata/registry::freshly-published",
            "conf": 1.0,
            "crit": 3,
            "desc": "Release published within seven days",
            "spans": [
              [
                0,
                24
              ]
            ]
          }
        ],
        "type": "registry"
      }
    ],
    "rev": "b59b7",
    "v": "8"
  }
}