@mastra/core 0.13.2 → 0.14.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -44
- package/dist/agent/agent.types.d.ts +12 -2
- package/dist/agent/agent.types.d.ts.map +1 -1
- package/dist/agent/index.cjs +14 -14
- package/dist/agent/index.d.ts +17 -17
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +2 -2
- package/dist/agent/input-processor/index.cjs +28 -0
- package/dist/agent/input-processor/index.js +3 -0
- package/dist/agent/input-processor/processors/index.d.ts +4 -4
- package/dist/agent/input-processor/processors/index.d.ts.map +1 -1
- package/dist/agent/input-processor/processors/language-detector.d.ts +6 -139
- package/dist/agent/input-processor/processors/language-detector.d.ts.map +1 -1
- package/dist/agent/input-processor/processors/moderation.d.ts +5 -94
- package/dist/agent/input-processor/processors/moderation.d.ts.map +1 -1
- package/dist/agent/input-processor/processors/pii-detector.d.ts +6 -164
- package/dist/agent/input-processor/processors/pii-detector.d.ts.map +1 -1
- package/dist/agent/input-processor/processors/prompt-injection-detector.d.ts +6 -96
- package/dist/agent/input-processor/processors/prompt-injection-detector.d.ts.map +1 -1
- package/dist/agent/input-processor/processors/unicode-normalizer.d.ts +9 -25
- package/dist/agent/input-processor/processors/unicode-normalizer.d.ts.map +1 -1
- package/dist/agent/message-list/index.d.ts +138 -39
- package/dist/agent/message-list/index.d.ts.map +1 -1
- package/dist/agent/message-list/types.d.ts +3 -0
- package/dist/agent/message-list/types.d.ts.map +1 -0
- package/dist/agent/message-list/utils/ai-v4-v5/core-model-message.d.ts +3 -0
- package/dist/agent/message-list/utils/ai-v4-v5/core-model-message.d.ts.map +1 -0
- package/dist/agent/message-list/utils/ai-v4-v5/ui-message.d.ts +3 -0
- package/dist/agent/message-list/utils/ai-v4-v5/ui-message.d.ts.map +1 -0
- package/dist/agent/message-list/utils/ai-v5/tool.d.ts +16 -0
- package/dist/agent/message-list/utils/ai-v5/tool.d.ts.map +1 -0
- package/dist/agent/types.d.ts +34 -4
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/ai-tracing/base.d.ts +22 -7
- package/dist/ai-tracing/base.d.ts.map +1 -1
- package/dist/ai-tracing/default.d.ts +3 -3
- package/dist/ai-tracing/default.d.ts.map +1 -1
- package/dist/ai-tracing/index.cjs +253 -72
- package/dist/ai-tracing/index.cjs.map +1 -1
- package/dist/ai-tracing/index.d.ts +1 -0
- package/dist/ai-tracing/index.d.ts.map +1 -1
- package/dist/ai-tracing/index.js +243 -71
- package/dist/ai-tracing/index.js.map +1 -1
- package/dist/ai-tracing/no-op.d.ts +39 -7
- package/dist/ai-tracing/no-op.d.ts.map +1 -1
- package/dist/ai-tracing/registry.d.ts +29 -4
- package/dist/ai-tracing/registry.d.ts.map +1 -1
- package/dist/ai-tracing/types.d.ts +112 -53
- package/dist/ai-tracing/types.d.ts.map +1 -1
- package/dist/ai-tracing/utils.d.ts +24 -0
- package/dist/ai-tracing/utils.d.ts.map +1 -0
- package/dist/base.cjs +2 -2
- package/dist/base.js +1 -1
- package/dist/bundler/index.cjs +2 -2
- package/dist/bundler/index.js +1 -1
- package/dist/{chunk-N3VGOJZV.cjs → chunk-4BMFOQDC.cjs} +27 -47
- package/dist/chunk-4BMFOQDC.cjs.map +1 -0
- package/dist/{chunk-MTRRRTB4.js → chunk-4XDSHUFK.js} +7 -6
- package/dist/chunk-4XDSHUFK.js.map +1 -0
- package/dist/{chunk-SSJVFUBZ.js → chunk-67L5DRLO.js} +3 -3
- package/dist/{chunk-SSJVFUBZ.js.map → chunk-67L5DRLO.js.map} +1 -1
- package/dist/{chunk-FUERFM46.js → chunk-6GF5M4GX.js} +3 -3
- package/dist/{chunk-FUERFM46.js.map → chunk-6GF5M4GX.js.map} +1 -1
- package/dist/{chunk-7E2SNI5D.cjs → chunk-7AXX55C5.cjs} +5 -5
- package/dist/chunk-7AXX55C5.cjs.map +1 -0
- package/dist/{chunk-6W6LYR7M.js → chunk-7XGDFDZ2.js} +3 -3
- package/dist/{chunk-6W6LYR7M.js.map → chunk-7XGDFDZ2.js.map} +1 -1
- package/dist/{chunk-R4HT5XUH.cjs → chunk-ASJVWHIK.cjs} +993 -124
- package/dist/chunk-ASJVWHIK.cjs.map +1 -0
- package/dist/{chunk-ZDZ57MIU.js → chunk-AWILTHBM.js} +3 -3
- package/dist/{chunk-ZDZ57MIU.js.map → chunk-AWILTHBM.js.map} +1 -1
- package/dist/{chunk-DDYSOZ25.js → chunk-AYXRNQH3.js} +3 -3
- package/dist/{chunk-DDYSOZ25.js.map → chunk-AYXRNQH3.js.map} +1 -1
- package/dist/{chunk-U2CK6AN5.cjs → chunk-BCCEYWAV.cjs} +4 -4
- package/dist/{chunk-U2CK6AN5.cjs.map → chunk-BCCEYWAV.cjs.map} +1 -1
- package/dist/{chunk-MH64VYGF.cjs → chunk-CSTWQQ3C.cjs} +14 -13
- package/dist/chunk-CSTWQQ3C.cjs.map +1 -0
- package/dist/{chunk-FTPL7ILZ.js → chunk-CWZDKGJ6.js} +3 -3
- package/dist/{chunk-FTPL7ILZ.js.map → chunk-CWZDKGJ6.js.map} +1 -1
- package/dist/{chunk-MVSUZXER.cjs → chunk-D7P76YH6.cjs} +4 -4
- package/dist/{chunk-MVSUZXER.cjs.map → chunk-D7P76YH6.cjs.map} +1 -1
- package/dist/{chunk-IL5SHDY4.js → chunk-DAMIFZPW.js} +949 -103
- package/dist/chunk-DAMIFZPW.js.map +1 -0
- package/dist/{chunk-KLXRYVVQ.cjs → chunk-DVI6XHUC.cjs} +4 -4
- package/dist/{chunk-KLXRYVVQ.cjs.map → chunk-DVI6XHUC.cjs.map} +1 -1
- package/dist/chunk-ELKY3FEM.cjs +14 -0
- package/dist/{chunk-IP5NGA2S.cjs.map → chunk-ELKY3FEM.cjs.map} +1 -1
- package/dist/{chunk-TOODGJKM.js → chunk-GZVSHXPP.js} +3 -3
- package/dist/chunk-GZVSHXPP.js.map +1 -0
- package/dist/{chunk-WA3SWCXD.cjs → chunk-I4XP6RAN.cjs} +9 -9
- package/dist/{chunk-WA3SWCXD.cjs.map → chunk-I4XP6RAN.cjs.map} +1 -1
- package/dist/{chunk-PLVSXEQP.cjs → chunk-IAP4IWKM.cjs} +4 -4
- package/dist/{chunk-PLVSXEQP.cjs.map → chunk-IAP4IWKM.cjs.map} +1 -1
- package/dist/{chunk-YT4RGZYO.cjs → chunk-KXCUCBEI.cjs} +8 -8
- package/dist/{chunk-YT4RGZYO.cjs.map → chunk-KXCUCBEI.cjs.map} +1 -1
- package/dist/{chunk-Z74LG5VH.cjs → chunk-LFAAEOQC.cjs} +21 -4
- package/dist/chunk-LFAAEOQC.cjs.map +1 -0
- package/dist/{chunk-DK7AVDMI.cjs → chunk-LVVAUDVQ.cjs} +4 -4
- package/dist/{chunk-DK7AVDMI.cjs.map → chunk-LVVAUDVQ.cjs.map} +1 -1
- package/dist/{chunk-HBMZEZTO.js → chunk-ON4S33NP.js} +3 -3
- package/dist/{chunk-HBMZEZTO.js.map → chunk-ON4S33NP.js.map} +1 -1
- package/dist/{chunk-L6YBPFYF.js → chunk-OPT2L5AM.js} +1089 -81
- package/dist/chunk-OPT2L5AM.js.map +1 -0
- package/dist/{chunk-N2KMAW6T.js → chunk-P7WF6NQU.js} +20 -4
- package/dist/chunk-P7WF6NQU.js.map +1 -0
- package/dist/{chunk-KEMW2BER.js → chunk-PY4MHJTE.js} +3 -3
- package/dist/{chunk-KEMW2BER.js.map → chunk-PY4MHJTE.js.map} +1 -1
- package/dist/{chunk-TZVJV7EV.js → chunk-QSJZLHWA.js} +5 -5
- package/dist/{chunk-TZVJV7EV.js.map → chunk-QSJZLHWA.js.map} +1 -1
- package/dist/{chunk-DCOKWJ5G.cjs → chunk-RJCNC57P.cjs} +1110 -79
- package/dist/chunk-RJCNC57P.cjs.map +1 -0
- package/dist/{chunk-LMW44O4V.cjs → chunk-RPV7GQAX.cjs} +4 -4
- package/dist/{chunk-LMW44O4V.cjs.map → chunk-RPV7GQAX.cjs.map} +1 -1
- package/dist/{chunk-TZOR5M7H.js → chunk-RYCRCJCY.js} +25 -45
- package/dist/chunk-RYCRCJCY.js.map +1 -0
- package/dist/{chunk-IDDUQR6P.cjs → chunk-V5WKCX3G.cjs} +3 -3
- package/dist/chunk-V5WKCX3G.cjs.map +1 -0
- package/dist/{chunk-6AR2Z5ZG.js → chunk-X3GXU6TZ.js} +3 -3
- package/dist/chunk-X3GXU6TZ.js.map +1 -0
- package/dist/deployer/index.cjs +2 -2
- package/dist/deployer/index.js +1 -1
- package/dist/index.cjs +74 -70
- package/dist/index.js +14 -14
- package/dist/llm/index.d.ts +2 -1
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/model/base.types.d.ts +2 -6
- package/dist/llm/model/base.types.d.ts.map +1 -1
- package/dist/llm/model/index.d.ts +0 -1
- package/dist/llm/model/index.d.ts.map +1 -1
- package/dist/llm/model/model.d.ts +3 -2
- package/dist/llm/model/model.d.ts.map +1 -1
- package/dist/llm/model/model.loop.d.ts +25 -0
- package/dist/llm/model/model.loop.d.ts.map +1 -0
- package/dist/llm/model/model.loop.types.d.ts +39 -0
- package/dist/llm/model/model.loop.types.d.ts.map +1 -0
- package/dist/llm/model/shared.types.d.ts +8 -0
- package/dist/llm/model/shared.types.d.ts.map +1 -0
- package/dist/logger/constants.d.ts +1 -1
- package/dist/logger/index.cjs +6 -6
- package/dist/logger/index.js +1 -1
- package/dist/loop/index.cjs +2848 -0
- package/dist/loop/index.cjs.map +1 -0
- package/dist/loop/index.d.ts +2 -0
- package/dist/loop/index.d.ts.map +1 -0
- package/dist/loop/index.js +2842 -0
- package/dist/loop/index.js.map +1 -0
- package/dist/loop/loop.d.ts +5 -0
- package/dist/loop/loop.d.ts.map +1 -0
- package/dist/loop/telemetry/index.d.ts +36 -0
- package/dist/loop/telemetry/index.d.ts.map +1 -0
- package/dist/loop/telemetry/noop.d.ts +3 -0
- package/dist/loop/telemetry/noop.d.ts.map +1 -0
- package/dist/loop/test-utils/fullStream.d.ts +6 -0
- package/dist/loop/test-utils/fullStream.d.ts.map +1 -0
- package/dist/loop/test-utils/generateText.d.ts +6 -0
- package/dist/loop/test-utils/generateText.d.ts.map +1 -0
- package/dist/loop/test-utils/mockTracer.d.ts +47 -0
- package/dist/loop/test-utils/mockTracer.d.ts.map +1 -0
- package/dist/loop/test-utils/options.d.ts +6 -0
- package/dist/loop/test-utils/options.d.ts.map +1 -0
- package/dist/loop/test-utils/resultObject.d.ts +6 -0
- package/dist/loop/test-utils/resultObject.d.ts.map +1 -0
- package/dist/loop/test-utils/streamObject.d.ts +6 -0
- package/dist/loop/test-utils/streamObject.d.ts.map +1 -0
- package/dist/loop/test-utils/telemetry.d.ts +6 -0
- package/dist/loop/test-utils/telemetry.d.ts.map +1 -0
- package/dist/loop/test-utils/textStream.d.ts +6 -0
- package/dist/loop/test-utils/textStream.d.ts.map +1 -0
- package/dist/loop/test-utils/toUIMessageStream.d.ts +6 -0
- package/dist/loop/test-utils/toUIMessageStream.d.ts.map +1 -0
- package/dist/loop/test-utils/tools.d.ts +6 -0
- package/dist/loop/test-utils/tools.d.ts.map +1 -0
- package/dist/loop/test-utils/utils.d.ts +40 -0
- package/dist/loop/test-utils/utils.d.ts.map +1 -0
- package/dist/loop/types.d.ts +68 -0
- package/dist/loop/types.d.ts.map +1 -0
- package/dist/loop/workflow/llm-execution.d.ts +80 -0
- package/dist/loop/workflow/llm-execution.d.ts.map +1 -0
- package/dist/loop/workflow/outer-llm-step.d.ts +43 -0
- package/dist/loop/workflow/outer-llm-step.d.ts.map +1 -0
- package/dist/loop/workflow/run-state.d.ts +24 -0
- package/dist/loop/workflow/run-state.d.ts.map +1 -0
- package/dist/loop/workflow/schema.d.ts +80 -0
- package/dist/loop/workflow/schema.d.ts.map +1 -0
- package/dist/loop/workflow/stream.d.ts +6 -0
- package/dist/loop/workflow/stream.d.ts.map +1 -0
- package/dist/loop/workflow/tool-call-step.d.ts +41 -0
- package/dist/loop/workflow/tool-call-step.d.ts.map +1 -0
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.d.ts +4 -5
- package/dist/mastra/index.d.ts.map +1 -1
- package/dist/mastra/index.js +1 -1
- package/dist/mcp/index.cjs +4 -4
- package/dist/mcp/index.js +2 -2
- package/dist/memory/index.cjs +4 -4
- package/dist/memory/index.js +1 -1
- package/dist/network/index.cjs +6 -6
- package/dist/network/index.cjs.map +1 -1
- package/dist/network/index.js +3 -3
- package/dist/network/index.js.map +1 -1
- package/dist/network/network.d.ts +8 -7
- package/dist/network/network.d.ts.map +1 -1
- package/dist/network/vNext/index.cjs +21 -21
- package/dist/network/vNext/index.cjs.map +1 -1
- package/dist/network/vNext/index.d.ts +7 -7
- package/dist/network/vNext/index.d.ts.map +1 -1
- package/dist/network/vNext/index.js +7 -7
- package/dist/network/vNext/index.js.map +1 -1
- package/dist/processors/index.cjs +512 -0
- package/dist/processors/index.cjs.map +1 -0
- package/dist/processors/index.d.ts +38 -0
- package/dist/processors/index.d.ts.map +1 -0
- package/dist/processors/index.js +481 -0
- package/dist/processors/index.js.map +1 -0
- package/dist/processors/processors/batch-parts.d.ts +42 -0
- package/dist/processors/processors/batch-parts.d.ts.map +1 -0
- package/dist/processors/processors/index.d.ts +10 -0
- package/dist/processors/processors/index.d.ts.map +1 -0
- package/dist/processors/processors/language-detector.d.ts +151 -0
- package/dist/processors/processors/language-detector.d.ts.map +1 -0
- package/dist/processors/processors/moderation.d.ts +130 -0
- package/dist/processors/processors/moderation.d.ts.map +1 -0
- package/dist/processors/processors/pii-detector.d.ts +197 -0
- package/dist/processors/processors/pii-detector.d.ts.map +1 -0
- package/dist/processors/processors/prompt-injection-detector.d.ts +108 -0
- package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -0
- package/dist/processors/processors/structured-output.d.ts +42 -0
- package/dist/processors/processors/structured-output.d.ts.map +1 -0
- package/dist/processors/processors/system-prompt-scrubber.d.ts +92 -0
- package/dist/processors/processors/system-prompt-scrubber.d.ts.map +1 -0
- package/dist/processors/processors/token-limiter.d.ts +66 -0
- package/dist/processors/processors/token-limiter.d.ts.map +1 -0
- package/dist/processors/processors/unicode-normalizer.d.ts +34 -0
- package/dist/processors/processors/unicode-normalizer.d.ts.map +1 -0
- package/dist/processors/runner.d.ts +41 -0
- package/dist/processors/runner.d.ts.map +1 -0
- package/dist/relevance/index.cjs +4 -4
- package/dist/relevance/index.js +1 -1
- package/dist/scores/index.cjs +5 -5
- package/dist/scores/index.js +2 -2
- package/dist/server/index.cjs +2 -2
- package/dist/server/index.js +1 -1
- package/dist/storage/domains/operations/base.d.ts.map +1 -1
- package/dist/storage/index.cjs +15 -17
- package/dist/storage/index.cjs.map +1 -1
- package/dist/storage/index.js +4 -6
- package/dist/storage/index.js.map +1 -1
- package/dist/stream/aisdk/v4/transform.d.ts +26 -0
- package/dist/stream/aisdk/v4/transform.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/compat.d.ts +159 -0
- package/dist/stream/aisdk/v5/compat.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/execute.d.ts +29 -0
- package/dist/stream/aisdk/v5/execute.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/file.d.ts +38 -0
- package/dist/stream/aisdk/v5/file.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/input.d.ts +15 -0
- package/dist/stream/aisdk/v5/input.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/object/schema.d.ts +4 -0
- package/dist/stream/aisdk/v5/object/schema.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/object/stream-object.d.ts +34 -0
- package/dist/stream/aisdk/v5/object/stream-object.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/output-helpers.d.ts +76 -0
- package/dist/stream/aisdk/v5/output-helpers.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/output.d.ts +119 -0
- package/dist/stream/aisdk/v5/output.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/test-utils.d.ts +19 -0
- package/dist/stream/aisdk/v5/test-utils.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/transform.d.ts +31 -0
- package/dist/stream/aisdk/v5/transform.d.ts.map +1 -0
- package/dist/stream/base/input.d.ts +1 -1
- package/dist/stream/base/output.d.ts +89 -0
- package/dist/stream/base/output.d.ts.map +1 -0
- package/dist/stream/types.d.ts +30 -0
- package/dist/stream/types.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.cjs +2 -2
- package/dist/test-utils/llm-mock.cjs.map +1 -1
- package/dist/test-utils/llm-mock.d.ts +2 -2
- package/dist/test-utils/llm-mock.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.js +2 -2
- package/dist/test-utils/llm-mock.js.map +1 -1
- package/dist/tools/tool-builder/builder.d.ts +3 -2
- package/dist/tools/tool-builder/builder.d.ts.map +1 -1
- package/dist/tools/types.d.ts +9 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tts/index.cjs +2 -2
- package/dist/tts/index.js +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.cjs +19 -15
- package/dist/utils.d.ts +3 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/vector/index.cjs +2 -2
- package/dist/vector/index.js +1 -1
- package/dist/voice/index.cjs +4 -4
- package/dist/voice/index.js +1 -1
- package/dist/workflows/default.d.ts.map +1 -1
- package/dist/workflows/index.cjs +10 -10
- package/dist/workflows/index.js +1 -1
- package/dist/workflows/legacy/index.cjs +22 -22
- package/dist/workflows/legacy/index.js +1 -1
- package/loop.d.ts +1 -0
- package/package.json +16 -1
- package/processors.d.ts +1 -0
- package/dist/agent/input-processor/processors/index.cjs +0 -28
- package/dist/agent/input-processor/processors/index.js +0 -3
- package/dist/agent/input-processor/runner.d.ts +0 -4
- package/dist/agent/input-processor/runner.d.ts.map +0 -1
- package/dist/chunk-6AR2Z5ZG.js.map +0 -1
- package/dist/chunk-7E2SNI5D.cjs.map +0 -1
- package/dist/chunk-DCOKWJ5G.cjs.map +0 -1
- package/dist/chunk-IDDUQR6P.cjs.map +0 -1
- package/dist/chunk-IL5SHDY4.js.map +0 -1
- package/dist/chunk-IP5NGA2S.cjs +0 -14
- package/dist/chunk-L6YBPFYF.js.map +0 -1
- package/dist/chunk-MH64VYGF.cjs.map +0 -1
- package/dist/chunk-MTRRRTB4.js.map +0 -1
- package/dist/chunk-N2KMAW6T.js.map +0 -1
- package/dist/chunk-N3VGOJZV.cjs.map +0 -1
- package/dist/chunk-R4HT5XUH.cjs.map +0 -1
- package/dist/chunk-TOODGJKM.js.map +0 -1
- package/dist/chunk-TZOR5M7H.js.map +0 -1
- package/dist/chunk-Z74LG5VH.cjs.map +0 -1
- package/dist/llm/model/base.d.ts +0 -26
- package/dist/llm/model/base.d.ts.map +0 -1
- /package/dist/agent/input-processor/{processors/index.cjs.map → index.cjs.map} +0 -0
- /package/dist/agent/input-processor/{processors/index.js.map → index.js.map} +0 -0
|
@@ -1,38 +1,49 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunk3BFAQTC3_cjs = require('../chunk-3BFAQTC3.cjs');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var chunkKXCUCBEI_cjs = require('../chunk-KXCUCBEI.cjs');
|
|
5
|
+
var chunkV5WKCX3G_cjs = require('../chunk-V5WKCX3G.cjs');
|
|
6
6
|
|
|
7
7
|
// src/ai-tracing/no-op.ts
|
|
8
8
|
var NoOpAISpan = class _NoOpAISpan {
|
|
9
9
|
id;
|
|
10
10
|
name;
|
|
11
11
|
type;
|
|
12
|
-
|
|
12
|
+
attributes;
|
|
13
|
+
parent;
|
|
13
14
|
trace;
|
|
14
15
|
traceId;
|
|
15
16
|
startTime;
|
|
16
17
|
endTime;
|
|
17
18
|
aiTracing;
|
|
19
|
+
input;
|
|
20
|
+
output;
|
|
21
|
+
errorInfo;
|
|
22
|
+
metadata;
|
|
18
23
|
constructor(options, aiTracing) {
|
|
19
24
|
this.id = "no-op";
|
|
20
25
|
this.name = options.name;
|
|
21
26
|
this.type = options.type;
|
|
27
|
+
this.attributes = options.attributes || {};
|
|
22
28
|
this.metadata = options.metadata;
|
|
29
|
+
this.parent = options.parent;
|
|
23
30
|
this.trace = options.parent ? options.parent.trace : this;
|
|
24
31
|
this.traceId = "no-op-trace";
|
|
25
32
|
this.startTime = /* @__PURE__ */ new Date();
|
|
26
33
|
this.aiTracing = aiTracing;
|
|
34
|
+
this.input = options.input;
|
|
35
|
+
}
|
|
36
|
+
end(_options) {
|
|
27
37
|
}
|
|
28
|
-
|
|
38
|
+
error(_options) {
|
|
29
39
|
}
|
|
30
|
-
|
|
40
|
+
createChildSpan(options) {
|
|
41
|
+
return new _NoOpAISpan({ ...options, parent: this }, this.aiTracing);
|
|
31
42
|
}
|
|
32
|
-
|
|
33
|
-
return new _NoOpAISpan({ type, name, metadata, parent: this }, this.aiTracing);
|
|
43
|
+
update(_options) {
|
|
34
44
|
}
|
|
35
|
-
|
|
45
|
+
get isRootSpan() {
|
|
46
|
+
return !this.parent;
|
|
36
47
|
}
|
|
37
48
|
};
|
|
38
49
|
|
|
@@ -62,12 +73,26 @@ var AITracingEventType = /* @__PURE__ */ ((AITracingEventType2) => {
|
|
|
62
73
|
})(AITracingEventType || {});
|
|
63
74
|
|
|
64
75
|
// src/ai-tracing/base.ts
|
|
65
|
-
var MastraAITracing = class extends
|
|
76
|
+
var MastraAITracing = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
66
77
|
config;
|
|
67
78
|
constructor(config) {
|
|
68
|
-
super({ component:
|
|
69
|
-
this.config =
|
|
70
|
-
|
|
79
|
+
super({ component: chunkV5WKCX3G_cjs.RegisteredLogger.AI_TRACING, name: config.serviceName });
|
|
80
|
+
this.config = {
|
|
81
|
+
serviceName: config.serviceName,
|
|
82
|
+
instanceName: config.instanceName,
|
|
83
|
+
sampling: config.sampling ?? { type: "always" /* ALWAYS */ },
|
|
84
|
+
exporters: config.exporters ?? [],
|
|
85
|
+
processors: config.processors ?? []
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Override setLogger to add AI tracing specific initialization log
|
|
90
|
+
*/
|
|
91
|
+
__setLogger(logger) {
|
|
92
|
+
super.__setLogger(logger);
|
|
93
|
+
this.logger.debug(
|
|
94
|
+
`[AI Tracing] Initialized [service=${this.config.serviceName}] [instance=${this.config.instanceName}] [sampling=${this.config.sampling.type}]`
|
|
95
|
+
);
|
|
71
96
|
}
|
|
72
97
|
// ============================================================================
|
|
73
98
|
// Protected getters for clean config access
|
|
@@ -84,18 +109,21 @@ var MastraAITracing = class extends chunkYT4RGZYO_cjs.MastraBase {
|
|
|
84
109
|
/**
|
|
85
110
|
* Start a new span of a specific AISpanType
|
|
86
111
|
*/
|
|
87
|
-
startSpan(
|
|
88
|
-
|
|
89
|
-
|
|
112
|
+
startSpan(options) {
|
|
113
|
+
const { type, name, input, attributes, metadata, parent, startOptions } = options;
|
|
114
|
+
const { runtimeContext } = startOptions || {};
|
|
115
|
+
if (!this.shouldSample({ runtimeContext })) {
|
|
116
|
+
return new NoOpAISpan({ type, name, input, attributes, metadata, parent }, this);
|
|
90
117
|
}
|
|
91
|
-
const
|
|
118
|
+
const spanOptions = {
|
|
92
119
|
type,
|
|
93
120
|
name,
|
|
121
|
+
input,
|
|
122
|
+
attributes,
|
|
94
123
|
metadata,
|
|
95
124
|
parent
|
|
96
125
|
};
|
|
97
|
-
const span = this.createSpan(
|
|
98
|
-
span.trace = parent ? parent.trace : span;
|
|
126
|
+
const span = this.createSpan(spanOptions);
|
|
99
127
|
this.wireSpanLifecycle(span);
|
|
100
128
|
this.emitSpanStarted(span);
|
|
101
129
|
return span;
|
|
@@ -140,12 +168,12 @@ var MastraAITracing = class extends chunkYT4RGZYO_cjs.MastraBase {
|
|
|
140
168
|
wireSpanLifecycle(span) {
|
|
141
169
|
const originalEnd = span.end.bind(span);
|
|
142
170
|
const originalUpdate = span.update.bind(span);
|
|
143
|
-
span.end = (
|
|
144
|
-
originalEnd(
|
|
171
|
+
span.end = (options) => {
|
|
172
|
+
originalEnd(options);
|
|
145
173
|
this.emitSpanEnded(span);
|
|
146
174
|
};
|
|
147
|
-
span.update = (
|
|
148
|
-
originalUpdate(
|
|
175
|
+
span.update = (options) => {
|
|
176
|
+
originalUpdate(options);
|
|
149
177
|
this.emitSpanUpdated(span);
|
|
150
178
|
};
|
|
151
179
|
}
|
|
@@ -188,7 +216,7 @@ var MastraAITracing = class extends chunkYT4RGZYO_cjs.MastraBase {
|
|
|
188
216
|
try {
|
|
189
217
|
processedSpan = processor.process(processedSpan);
|
|
190
218
|
} catch (error) {
|
|
191
|
-
this.logger.error(`Processor error [name=${processor.name}]`, error);
|
|
219
|
+
this.logger.error(`[AI Tracing] Processor error [name=${processor.name}]`, error);
|
|
192
220
|
}
|
|
193
221
|
}
|
|
194
222
|
return processedSpan;
|
|
@@ -203,7 +231,7 @@ var MastraAITracing = class extends chunkYT4RGZYO_cjs.MastraBase {
|
|
|
203
231
|
const processedSpan = this.processSpan(span);
|
|
204
232
|
if (processedSpan) {
|
|
205
233
|
this.exportEvent({ type: "span_started" /* SPAN_STARTED */, span: processedSpan }).catch((error) => {
|
|
206
|
-
this.logger.error("Failed to export span_started event", error);
|
|
234
|
+
this.logger.error("[AI Tracing] Failed to export span_started event", error);
|
|
207
235
|
});
|
|
208
236
|
}
|
|
209
237
|
}
|
|
@@ -214,7 +242,7 @@ var MastraAITracing = class extends chunkYT4RGZYO_cjs.MastraBase {
|
|
|
214
242
|
const processedSpan = this.processSpan(span);
|
|
215
243
|
if (processedSpan) {
|
|
216
244
|
this.exportEvent({ type: "span_ended" /* SPAN_ENDED */, span: processedSpan }).catch((error) => {
|
|
217
|
-
this.logger.error("Failed to export span_ended event", error);
|
|
245
|
+
this.logger.error("[AI Tracing] Failed to export span_ended event", error);
|
|
218
246
|
});
|
|
219
247
|
}
|
|
220
248
|
}
|
|
@@ -225,7 +253,7 @@ var MastraAITracing = class extends chunkYT4RGZYO_cjs.MastraBase {
|
|
|
225
253
|
const processedSpan = this.processSpan(span);
|
|
226
254
|
if (processedSpan) {
|
|
227
255
|
this.exportEvent({ type: "span_updated" /* SPAN_UPDATED */, span: processedSpan }).catch((error) => {
|
|
228
|
-
this.logger.error("Failed to export span_updated event", error);
|
|
256
|
+
this.logger.error("[AI Tracing] Failed to export span_updated event", error);
|
|
229
257
|
});
|
|
230
258
|
}
|
|
231
259
|
}
|
|
@@ -237,10 +265,10 @@ var MastraAITracing = class extends chunkYT4RGZYO_cjs.MastraBase {
|
|
|
237
265
|
try {
|
|
238
266
|
if (exporter.exportEvent) {
|
|
239
267
|
await exporter.exportEvent(event);
|
|
240
|
-
this.logger.debug(`Event exported [exporter=${exporter.name}] [type=${event.type}]`);
|
|
268
|
+
this.logger.debug(`[AI Tracing] Event exported [exporter=${exporter.name}] [type=${event.type}]`);
|
|
241
269
|
}
|
|
242
270
|
} catch (error) {
|
|
243
|
-
this.logger.error(`Export error [exporter=${exporter.name}]`, error);
|
|
271
|
+
this.logger.error(`[AI Tracing] Export error [exporter=${exporter.name}]`, error);
|
|
244
272
|
}
|
|
245
273
|
});
|
|
246
274
|
await Promise.allSettled(exportPromises);
|
|
@@ -252,17 +280,17 @@ var MastraAITracing = class extends chunkYT4RGZYO_cjs.MastraBase {
|
|
|
252
280
|
* Initialize AI tracing (called by Mastra during component registration)
|
|
253
281
|
*/
|
|
254
282
|
async init() {
|
|
255
|
-
this.logger.debug(`AI Tracing
|
|
256
|
-
this.logger.info(`AI Tracing
|
|
283
|
+
this.logger.debug(`[AI Tracing] Initialization started [name=${this.name}]`);
|
|
284
|
+
this.logger.info(`[AI Tracing] Initialized successfully [name=${this.name}]`);
|
|
257
285
|
}
|
|
258
286
|
/**
|
|
259
287
|
* Shutdown AI tracing and clean up resources
|
|
260
288
|
*/
|
|
261
289
|
async shutdown() {
|
|
262
|
-
this.logger.debug(`AI Tracing
|
|
290
|
+
this.logger.debug(`[AI Tracing] Shutdown started [name=${this.name}]`);
|
|
263
291
|
const shutdownPromises = [...this.exporters.map((e) => e.shutdown()), ...this.processors.map((p) => p.shutdown())];
|
|
264
292
|
await Promise.allSettled(shutdownPromises);
|
|
265
|
-
this.logger.info(`AI Tracing
|
|
293
|
+
this.logger.info(`[AI Tracing] Shutdown completed [name=${this.name}]`);
|
|
266
294
|
}
|
|
267
295
|
};
|
|
268
296
|
|
|
@@ -293,61 +321,96 @@ var DefaultAISpan = class {
|
|
|
293
321
|
id;
|
|
294
322
|
name;
|
|
295
323
|
type;
|
|
296
|
-
|
|
324
|
+
attributes;
|
|
325
|
+
parent;
|
|
297
326
|
trace;
|
|
298
327
|
traceId;
|
|
299
328
|
startTime;
|
|
300
329
|
endTime;
|
|
301
330
|
aiTracing;
|
|
331
|
+
input;
|
|
332
|
+
output;
|
|
333
|
+
errorInfo;
|
|
334
|
+
metadata;
|
|
302
335
|
constructor(options, aiTracing) {
|
|
303
336
|
this.id = generateSpanId();
|
|
304
337
|
this.name = options.name;
|
|
305
338
|
this.type = options.type;
|
|
339
|
+
this.attributes = options.attributes || {};
|
|
306
340
|
this.metadata = options.metadata;
|
|
341
|
+
this.parent = options.parent;
|
|
307
342
|
this.trace = options.parent ? options.parent.trace : this;
|
|
308
343
|
this.startTime = /* @__PURE__ */ new Date();
|
|
309
344
|
this.aiTracing = aiTracing;
|
|
345
|
+
this.input = options.input;
|
|
310
346
|
if (!options.parent) {
|
|
311
347
|
this.traceId = generateTraceId();
|
|
312
348
|
} else {
|
|
313
349
|
this.traceId = options.parent.trace.traceId;
|
|
314
350
|
}
|
|
315
351
|
}
|
|
316
|
-
end(
|
|
352
|
+
end(options) {
|
|
317
353
|
this.endTime = /* @__PURE__ */ new Date();
|
|
318
|
-
if (
|
|
319
|
-
this.
|
|
354
|
+
if (options?.output !== void 0) {
|
|
355
|
+
this.output = options.output;
|
|
356
|
+
}
|
|
357
|
+
if (options?.attributes) {
|
|
358
|
+
this.attributes = { ...this.attributes, ...options.attributes };
|
|
359
|
+
}
|
|
360
|
+
if (options?.metadata) {
|
|
361
|
+
this.metadata = { ...this.metadata, ...options.metadata };
|
|
320
362
|
}
|
|
321
363
|
}
|
|
322
|
-
error(
|
|
323
|
-
const
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
}
|
|
364
|
+
error(options) {
|
|
365
|
+
const { error, endSpan = true, attributes, metadata } = options;
|
|
366
|
+
this.errorInfo = error instanceof chunk3BFAQTC3_cjs.MastraError ? {
|
|
367
|
+
id: error.id,
|
|
368
|
+
details: error.details,
|
|
369
|
+
category: error.category,
|
|
370
|
+
domain: error.domain,
|
|
371
|
+
message: error.message
|
|
331
372
|
} : {
|
|
332
|
-
|
|
333
|
-
message: error.message
|
|
334
|
-
}
|
|
373
|
+
message: error.message
|
|
335
374
|
};
|
|
375
|
+
if (attributes) {
|
|
376
|
+
this.attributes = { ...this.attributes, ...attributes };
|
|
377
|
+
}
|
|
378
|
+
if (metadata) {
|
|
379
|
+
this.metadata = { ...this.metadata, ...metadata };
|
|
380
|
+
}
|
|
336
381
|
if (endSpan) {
|
|
337
|
-
this.end(
|
|
382
|
+
this.end();
|
|
338
383
|
} else {
|
|
339
|
-
this.update(
|
|
384
|
+
this.update({});
|
|
340
385
|
}
|
|
341
386
|
}
|
|
342
|
-
createChildSpan(
|
|
343
|
-
return this.aiTracing.startSpan(
|
|
387
|
+
createChildSpan(options) {
|
|
388
|
+
return this.aiTracing.startSpan({
|
|
389
|
+
...options,
|
|
390
|
+
parent: this
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
update(options) {
|
|
394
|
+
if (options?.input !== void 0) {
|
|
395
|
+
this.input = options.input;
|
|
396
|
+
}
|
|
397
|
+
if (options?.output !== void 0) {
|
|
398
|
+
this.output = options.output;
|
|
399
|
+
}
|
|
400
|
+
if (options?.attributes) {
|
|
401
|
+
this.attributes = { ...this.attributes, ...options.attributes };
|
|
402
|
+
}
|
|
403
|
+
if (options?.metadata) {
|
|
404
|
+
this.metadata = { ...this.metadata, ...options.metadata };
|
|
405
|
+
}
|
|
344
406
|
}
|
|
345
|
-
|
|
346
|
-
|
|
407
|
+
get isRootSpan() {
|
|
408
|
+
return !this.parent;
|
|
347
409
|
}
|
|
348
410
|
async export() {
|
|
349
411
|
return JSON.stringify({
|
|
350
412
|
id: this.id,
|
|
413
|
+
attributes: this.attributes,
|
|
351
414
|
metadata: this.metadata,
|
|
352
415
|
startTime: this.startTime,
|
|
353
416
|
endTime: this.endTime,
|
|
@@ -402,12 +465,16 @@ var SensitiveDataFilter = class {
|
|
|
402
465
|
};
|
|
403
466
|
try {
|
|
404
467
|
const filteredSpan = { ...span };
|
|
468
|
+
filteredSpan.attributes = deepFilter(span.attributes);
|
|
405
469
|
filteredSpan.metadata = deepFilter(span.metadata);
|
|
470
|
+
filteredSpan.input = deepFilter(span.input);
|
|
471
|
+
filteredSpan.output = deepFilter(span.output);
|
|
472
|
+
filteredSpan.errorInfo = deepFilter(span.errorInfo);
|
|
406
473
|
return filteredSpan;
|
|
407
474
|
} catch (error) {
|
|
408
475
|
const safeSpan = { ...span };
|
|
409
|
-
safeSpan.
|
|
410
|
-
"[FILTERING_ERROR]": "
|
|
476
|
+
safeSpan.attributes = {
|
|
477
|
+
"[FILTERING_ERROR]": "Attributes were completely redacted due to filtering error",
|
|
411
478
|
"[ERROR_MESSAGE]": error instanceof Error ? error.message : "Unknown filtering error"
|
|
412
479
|
};
|
|
413
480
|
return safeSpan;
|
|
@@ -423,19 +490,21 @@ var DefaultConsoleExporter = class {
|
|
|
423
490
|
if (logger) {
|
|
424
491
|
this.logger = logger;
|
|
425
492
|
} else {
|
|
426
|
-
this.logger = new
|
|
427
|
-
name: "default-console-exporter"
|
|
493
|
+
this.logger = new chunkV5WKCX3G_cjs.ConsoleLogger({
|
|
494
|
+
name: "default-console-exporter",
|
|
495
|
+
level: chunkV5WKCX3G_cjs.LogLevel.INFO
|
|
496
|
+
// Set to INFO so that info() calls actually log
|
|
428
497
|
});
|
|
429
498
|
}
|
|
430
499
|
}
|
|
431
500
|
async exportEvent(event) {
|
|
432
501
|
const span = event.span;
|
|
433
|
-
const
|
|
502
|
+
const formatAttributes = (attributes) => {
|
|
434
503
|
try {
|
|
435
|
-
return JSON.stringify(
|
|
504
|
+
return JSON.stringify(attributes, null, 2);
|
|
436
505
|
} catch (error) {
|
|
437
506
|
const errMsg = error instanceof Error ? error.message : "Unknown formatting error";
|
|
438
|
-
return `[Unable to serialize
|
|
507
|
+
return `[Unable to serialize attributes: ${errMsg}]`;
|
|
439
508
|
}
|
|
440
509
|
};
|
|
441
510
|
const formatDuration = (startTime, endTime) => {
|
|
@@ -450,7 +519,10 @@ var DefaultConsoleExporter = class {
|
|
|
450
519
|
this.logger.info(` Name: ${span.name}`);
|
|
451
520
|
this.logger.info(` ID: ${span.id}`);
|
|
452
521
|
this.logger.info(` Trace ID: ${span.traceId}`);
|
|
453
|
-
|
|
522
|
+
if (span.input !== void 0) {
|
|
523
|
+
this.logger.info(` Input: ${formatAttributes(span.input)}`);
|
|
524
|
+
}
|
|
525
|
+
this.logger.info(` Attributes: ${formatAttributes(span.attributes)}`);
|
|
454
526
|
this.logger.info("\u2500".repeat(80));
|
|
455
527
|
break;
|
|
456
528
|
case "span_ended" /* SPAN_ENDED */:
|
|
@@ -461,7 +533,16 @@ var DefaultConsoleExporter = class {
|
|
|
461
533
|
this.logger.info(` ID: ${span.id}`);
|
|
462
534
|
this.logger.info(` Duration: ${duration}`);
|
|
463
535
|
this.logger.info(` Trace ID: ${span.traceId}`);
|
|
464
|
-
|
|
536
|
+
if (span.input !== void 0) {
|
|
537
|
+
this.logger.info(` Input: ${formatAttributes(span.input)}`);
|
|
538
|
+
}
|
|
539
|
+
if (span.output !== void 0) {
|
|
540
|
+
this.logger.info(` Output: ${formatAttributes(span.output)}`);
|
|
541
|
+
}
|
|
542
|
+
if (span.errorInfo) {
|
|
543
|
+
this.logger.info(` Error: ${formatAttributes(span.errorInfo)}`);
|
|
544
|
+
}
|
|
545
|
+
this.logger.info(` Attributes: ${formatAttributes(span.attributes)}`);
|
|
465
546
|
this.logger.info("\u2500".repeat(80));
|
|
466
547
|
break;
|
|
467
548
|
case "span_updated" /* SPAN_UPDATED */:
|
|
@@ -470,7 +551,16 @@ var DefaultConsoleExporter = class {
|
|
|
470
551
|
this.logger.info(` Name: ${span.name}`);
|
|
471
552
|
this.logger.info(` ID: ${span.id}`);
|
|
472
553
|
this.logger.info(` Trace ID: ${span.traceId}`);
|
|
473
|
-
|
|
554
|
+
if (span.input !== void 0) {
|
|
555
|
+
this.logger.info(` Input: ${formatAttributes(span.input)}`);
|
|
556
|
+
}
|
|
557
|
+
if (span.output !== void 0) {
|
|
558
|
+
this.logger.info(` Output: ${formatAttributes(span.output)}`);
|
|
559
|
+
}
|
|
560
|
+
if (span.errorInfo) {
|
|
561
|
+
this.logger.info(` Error: ${formatAttributes(span.errorInfo)}`);
|
|
562
|
+
}
|
|
563
|
+
this.logger.info(` Updated Attributes: ${formatAttributes(span.attributes)}`);
|
|
474
564
|
this.logger.info("\u2500".repeat(80));
|
|
475
565
|
break;
|
|
476
566
|
default:
|
|
@@ -483,6 +573,7 @@ var DefaultConsoleExporter = class {
|
|
|
483
573
|
};
|
|
484
574
|
var aiTracingDefaultConfig = {
|
|
485
575
|
serviceName: "mastra-ai-service",
|
|
576
|
+
instanceName: "default",
|
|
486
577
|
sampling: { type: "always" /* ALWAYS */ },
|
|
487
578
|
exporters: [new DefaultConsoleExporter()],
|
|
488
579
|
// Uses its own fallback logger
|
|
@@ -504,10 +595,14 @@ var DefaultAITracing = class extends MastraAITracing {
|
|
|
504
595
|
var AITracingRegistry = class {
|
|
505
596
|
instances = /* @__PURE__ */ new Map();
|
|
506
597
|
defaultInstance;
|
|
598
|
+
selector;
|
|
507
599
|
/**
|
|
508
600
|
* Register a tracing instance
|
|
509
601
|
*/
|
|
510
602
|
register(name, instance, isDefault = false) {
|
|
603
|
+
if (this.instances.has(name)) {
|
|
604
|
+
throw new Error(`AI Tracing instance '${name}' already registered`);
|
|
605
|
+
}
|
|
511
606
|
this.instances.set(name, instance);
|
|
512
607
|
if (isDefault || !this.defaultInstance) {
|
|
513
608
|
this.defaultInstance = instance;
|
|
@@ -517,8 +612,29 @@ var AITracingRegistry = class {
|
|
|
517
612
|
* Get a tracing instance by name
|
|
518
613
|
*/
|
|
519
614
|
get(name) {
|
|
520
|
-
|
|
521
|
-
|
|
615
|
+
return this.instances.get(name);
|
|
616
|
+
}
|
|
617
|
+
/**
|
|
618
|
+
* Get the default tracing instance
|
|
619
|
+
*/
|
|
620
|
+
getDefault() {
|
|
621
|
+
return this.defaultInstance;
|
|
622
|
+
}
|
|
623
|
+
/**
|
|
624
|
+
* Set the tracing selector function
|
|
625
|
+
*/
|
|
626
|
+
setSelector(selector) {
|
|
627
|
+
this.selector = selector;
|
|
628
|
+
}
|
|
629
|
+
/**
|
|
630
|
+
* Get the selected tracing instance based on context
|
|
631
|
+
*/
|
|
632
|
+
getSelected(context) {
|
|
633
|
+
if (this.selector) {
|
|
634
|
+
const selected = this.selector(context, this.instances);
|
|
635
|
+
if (selected && this.instances.has(selected)) {
|
|
636
|
+
return this.instances.get(selected);
|
|
637
|
+
}
|
|
522
638
|
}
|
|
523
639
|
return this.defaultInstance;
|
|
524
640
|
}
|
|
@@ -526,19 +642,23 @@ var AITracingRegistry = class {
|
|
|
526
642
|
* Unregister a tracing instance
|
|
527
643
|
*/
|
|
528
644
|
unregister(name) {
|
|
529
|
-
const instance = this.instances.get(name);
|
|
530
|
-
if (instance && instance === this.defaultInstance) {
|
|
531
|
-
const remaining = Array.from(this.instances.values()).filter((i) => i !== instance);
|
|
532
|
-
this.defaultInstance = remaining[0];
|
|
533
|
-
}
|
|
534
645
|
return this.instances.delete(name);
|
|
535
646
|
}
|
|
536
647
|
/**
|
|
537
|
-
*
|
|
648
|
+
* Shutdown all instances and clear the registry
|
|
649
|
+
*/
|
|
650
|
+
async shutdown() {
|
|
651
|
+
const shutdownPromises = Array.from(this.instances.values()).map((instance) => instance.shutdown());
|
|
652
|
+
await Promise.allSettled(shutdownPromises);
|
|
653
|
+
this.instances.clear();
|
|
654
|
+
}
|
|
655
|
+
/**
|
|
656
|
+
* Clear all instances without shutdown
|
|
538
657
|
*/
|
|
539
658
|
clear() {
|
|
540
659
|
this.instances.clear();
|
|
541
660
|
this.defaultInstance = void 0;
|
|
661
|
+
this.selector = void 0;
|
|
542
662
|
}
|
|
543
663
|
/**
|
|
544
664
|
* Get all registered instances
|
|
@@ -554,12 +674,27 @@ function registerAITracing(name, instance, isDefault = false) {
|
|
|
554
674
|
function getAITracing(name) {
|
|
555
675
|
return aiTracingRegistry.get(name);
|
|
556
676
|
}
|
|
677
|
+
function getDefaultAITracing() {
|
|
678
|
+
return aiTracingRegistry.getDefault();
|
|
679
|
+
}
|
|
680
|
+
function setAITracingSelector(selector) {
|
|
681
|
+
aiTracingRegistry.setSelector(selector);
|
|
682
|
+
}
|
|
683
|
+
function getSelectedAITracing(context) {
|
|
684
|
+
return aiTracingRegistry.getSelected(context);
|
|
685
|
+
}
|
|
557
686
|
function unregisterAITracing(name) {
|
|
558
687
|
return aiTracingRegistry.unregister(name);
|
|
559
688
|
}
|
|
689
|
+
async function shutdownAITracingRegistry() {
|
|
690
|
+
await aiTracingRegistry.shutdown();
|
|
691
|
+
}
|
|
560
692
|
function clearAITracingRegistry() {
|
|
561
693
|
aiTracingRegistry.clear();
|
|
562
694
|
}
|
|
695
|
+
function getAllAITracing() {
|
|
696
|
+
return aiTracingRegistry.getAll();
|
|
697
|
+
}
|
|
563
698
|
function hasAITracing(name) {
|
|
564
699
|
const tracing = getAITracing(name);
|
|
565
700
|
if (!tracing) return false;
|
|
@@ -567,6 +702,43 @@ function hasAITracing(name) {
|
|
|
567
702
|
const sampling = config.sampling;
|
|
568
703
|
return sampling.type !== "never" /* NEVER */;
|
|
569
704
|
}
|
|
705
|
+
function isAITracingInstance(obj) {
|
|
706
|
+
return obj instanceof MastraAITracing;
|
|
707
|
+
}
|
|
708
|
+
function setupAITracing(config) {
|
|
709
|
+
const entries = Object.entries(config.instances);
|
|
710
|
+
entries.forEach(([name, tracingDef], index) => {
|
|
711
|
+
const instance = isAITracingInstance(tracingDef) ? tracingDef : new DefaultAITracing({ ...tracingDef, instanceName: name });
|
|
712
|
+
const isDefault = index === 0;
|
|
713
|
+
registerAITracing(name, instance, isDefault);
|
|
714
|
+
});
|
|
715
|
+
if (config.selector) {
|
|
716
|
+
setAITracingSelector(config.selector);
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
// src/ai-tracing/utils.ts
|
|
721
|
+
function sanitizeMetadata(metadata) {
|
|
722
|
+
if (!metadata) return {};
|
|
723
|
+
const sanitized = {};
|
|
724
|
+
for (const [key, value] of Object.entries(metadata)) {
|
|
725
|
+
if (isSerializable(value)) {
|
|
726
|
+
sanitized[key] = value;
|
|
727
|
+
}
|
|
728
|
+
}
|
|
729
|
+
return sanitized;
|
|
730
|
+
}
|
|
731
|
+
function isSerializable(value) {
|
|
732
|
+
try {
|
|
733
|
+
JSON.stringify(value);
|
|
734
|
+
return true;
|
|
735
|
+
} catch {
|
|
736
|
+
return false;
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
function omitKeys(obj, keysToOmit) {
|
|
740
|
+
return Object.fromEntries(Object.entries(obj).filter(([key]) => !keysToOmit.includes(key)));
|
|
741
|
+
}
|
|
570
742
|
|
|
571
743
|
exports.AISpanType = AISpanType;
|
|
572
744
|
exports.AITracingEventType = AITracingEventType;
|
|
@@ -578,8 +750,17 @@ exports.SensitiveDataFilter = SensitiveDataFilter;
|
|
|
578
750
|
exports.aiTracingDefaultConfig = aiTracingDefaultConfig;
|
|
579
751
|
exports.clearAITracingRegistry = clearAITracingRegistry;
|
|
580
752
|
exports.getAITracing = getAITracing;
|
|
753
|
+
exports.getAllAITracing = getAllAITracing;
|
|
754
|
+
exports.getDefaultAITracing = getDefaultAITracing;
|
|
755
|
+
exports.getSelectedAITracing = getSelectedAITracing;
|
|
581
756
|
exports.hasAITracing = hasAITracing;
|
|
757
|
+
exports.isSerializable = isSerializable;
|
|
758
|
+
exports.omitKeys = omitKeys;
|
|
582
759
|
exports.registerAITracing = registerAITracing;
|
|
760
|
+
exports.sanitizeMetadata = sanitizeMetadata;
|
|
761
|
+
exports.setAITracingSelector = setAITracingSelector;
|
|
762
|
+
exports.setupAITracing = setupAITracing;
|
|
763
|
+
exports.shutdownAITracingRegistry = shutdownAITracingRegistry;
|
|
583
764
|
exports.unregisterAITracing = unregisterAITracing;
|
|
584
765
|
//# sourceMappingURL=index.cjs.map
|
|
585
766
|
//# sourceMappingURL=index.cjs.map
|