@od-oneapp/ai-platform 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +235 -0
- package/dist/agents-base.d.mts +12 -0
- package/dist/agents-base.d.mts.map +1 -0
- package/dist/agents-base.mjs +20 -0
- package/dist/agents-base.mjs.map +1 -0
- package/dist/agents-control-flow.d.mts +115 -0
- package/dist/agents-control-flow.d.mts.map +1 -0
- package/dist/agents-control-flow.mjs +514 -0
- package/dist/agents-control-flow.mjs.map +1 -0
- package/dist/agents-coordinator.d.mts +11 -0
- package/dist/agents-coordinator.d.mts.map +1 -0
- package/dist/agents-coordinator.mjs +12 -0
- package/dist/agents-coordinator.mjs.map +1 -0
- package/dist/agents-experimental.d.mts +153 -0
- package/dist/agents-experimental.d.mts.map +1 -0
- package/dist/agents-experimental.mjs +580 -0
- package/dist/agents-experimental.mjs.map +1 -0
- package/dist/agents-fallback.d.mts +10 -0
- package/dist/agents-fallback.d.mts.map +1 -0
- package/dist/agents-fallback.mjs +15 -0
- package/dist/agents-fallback.mjs.map +1 -0
- package/dist/agents-multi-swarm.d.mts +9 -0
- package/dist/agents-multi-swarm.d.mts.map +1 -0
- package/dist/agents-multi-swarm.mjs +44 -0
- package/dist/agents-multi-swarm.mjs.map +1 -0
- package/dist/agents-multi.d.mts +10 -0
- package/dist/agents-multi.d.mts.map +1 -0
- package/dist/agents-multi.mjs +44 -0
- package/dist/agents-multi.mjs.map +1 -0
- package/dist/agents-observability.d.mts +161 -0
- package/dist/agents-observability.d.mts.map +1 -0
- package/dist/agents-observability.mjs +550 -0
- package/dist/agents-observability.mjs.map +1 -0
- package/dist/agents-patterns.d.mts +9 -0
- package/dist/agents-patterns.d.mts.map +1 -0
- package/dist/agents-patterns.mjs +18 -0
- package/dist/agents-patterns.mjs.map +1 -0
- package/dist/agents-persistence.d.mts +234 -0
- package/dist/agents-persistence.d.mts.map +1 -0
- package/dist/agents-persistence.mjs +447 -0
- package/dist/agents-persistence.mjs.map +1 -0
- package/dist/agents-triage.d.mts +11 -0
- package/dist/agents-triage.d.mts.map +1 -0
- package/dist/agents-triage.mjs +13 -0
- package/dist/agents-triage.mjs.map +1 -0
- package/dist/agents-workflows.d.mts +9 -0
- package/dist/agents-workflows.d.mts.map +1 -0
- package/dist/agents-workflows.mjs +9 -0
- package/dist/agents-workflows.mjs.map +1 -0
- package/dist/agents.d.mts +30 -0
- package/dist/agents.d.mts.map +1 -0
- package/dist/agents.mjs +50 -0
- package/dist/agents.mjs.map +1 -0
- package/dist/aggregation-8KJF1uzp.d.mts +276 -0
- package/dist/aggregation-8KJF1uzp.d.mts.map +1 -0
- package/dist/aggregation-BDop87kL.mjs +1180 -0
- package/dist/aggregation-BDop87kL.mjs.map +1 -0
- package/dist/ai-runtime-CDzQztTt.mjs +85 -0
- package/dist/ai-runtime-CDzQztTt.mjs.map +1 -0
- package/dist/ai-runtime-DIwOEc6g.d.mts +56 -0
- package/dist/ai-runtime-DIwOEc6g.d.mts.map +1 -0
- package/dist/ai-sdk-error-integration-D0GDqrM0.d.mts +553 -0
- package/dist/ai-sdk-error-integration-D0GDqrM0.d.mts.map +1 -0
- package/dist/approval-queue-BcDDQ4oQ.mjs +104 -0
- package/dist/approval-queue-BcDDQ4oQ.mjs.map +1 -0
- package/dist/approval-queue-CiKiFT9z.d.mts +21 -0
- package/dist/approval-queue-CiKiFT9z.d.mts.map +1 -0
- package/dist/audio-BzvN7r10.d.mts +79 -0
- package/dist/audio-BzvN7r10.d.mts.map +1 -0
- package/dist/audio-vBG_62ME.mjs +226 -0
- package/dist/audio-vBG_62ME.mjs.map +1 -0
- package/dist/audit-logger-Bb2JIcIk.d.mts +12 -0
- package/dist/audit-logger-Bb2JIcIk.d.mts.map +1 -0
- package/dist/audit-logger-CHIP8bRO.mjs +596 -0
- package/dist/audit-logger-CHIP8bRO.mjs.map +1 -0
- package/dist/auto-resume-BpUNbPtp.d.mts +160 -0
- package/dist/auto-resume-BpUNbPtp.d.mts.map +1 -0
- package/dist/auto-resume-BuFRNvAX.mjs +638 -0
- package/dist/auto-resume-BuFRNvAX.mjs.map +1 -0
- package/dist/budget-guard-C83KCH9V.d.mts +52 -0
- package/dist/budget-guard-C83KCH9V.d.mts.map +1 -0
- package/dist/budget-guard-d_b5rq4u.mjs +158 -0
- package/dist/budget-guard-d_b5rq4u.mjs.map +1 -0
- package/dist/budget-guard-gyhJS00s.mjs +234 -0
- package/dist/budget-guard-gyhJS00s.mjs.map +1 -0
- package/dist/buffer-BC8mvXHE.d.mts +98 -0
- package/dist/buffer-BC8mvXHE.d.mts.map +1 -0
- package/dist/buffer-CefJGbRy.mjs +289 -0
- package/dist/buffer-CefJGbRy.mjs.map +1 -0
- package/dist/caching-adapters.d.mts +5 -0
- package/dist/caching-adapters.mjs +3 -0
- package/dist/caching-strategies.d.mts +52 -0
- package/dist/caching-strategies.d.mts.map +1 -0
- package/dist/caching-strategies.mjs +703 -0
- package/dist/caching-strategies.mjs.map +1 -0
- package/dist/caching.d.mts +14 -0
- package/dist/caching.d.mts.map +1 -0
- package/dist/caching.mjs +15 -0
- package/dist/caching.mjs.map +1 -0
- package/dist/catalog.d.mts +19 -0
- package/dist/catalog.d.mts.map +1 -0
- package/dist/catalog.mjs +1114 -0
- package/dist/catalog.mjs.map +1 -0
- package/dist/chunk-CkzbjWQW.mjs +20 -0
- package/dist/circuit-breaker-DoKWPORd.mjs +262 -0
- package/dist/circuit-breaker-DoKWPORd.mjs.map +1 -0
- package/dist/circuit-breaker-Mey3E7tW.d.mts +64 -0
- package/dist/circuit-breaker-Mey3E7tW.d.mts.map +1 -0
- package/dist/citation-generator-C-9RpbHq.mjs +103 -0
- package/dist/citation-generator-C-9RpbHq.mjs.map +1 -0
- package/dist/citation-generator-CDSymDs_.d.mts +18 -0
- package/dist/citation-generator-CDSymDs_.d.mts.map +1 -0
- package/dist/client-CpacYDIE.mjs +882 -0
- package/dist/client-CpacYDIE.mjs.map +1 -0
- package/dist/client.d.mts +103 -0
- package/dist/client.d.mts.map +1 -0
- package/dist/client.mjs +470 -0
- package/dist/client.mjs.map +1 -0
- package/dist/compliance-approval-queue-DQGLojAm.mjs +172 -0
- package/dist/compliance-approval-queue-DQGLojAm.mjs.map +1 -0
- package/dist/compliance-approval-queue-IrMxFfSJ.d.mts +99 -0
- package/dist/compliance-approval-queue-IrMxFfSJ.d.mts.map +1 -0
- package/dist/compliance-wrapper-CrOMHhHN.mjs +528 -0
- package/dist/compliance-wrapper-CrOMHhHN.mjs.map +1 -0
- package/dist/conditions-DmQ6Y1Wt.mjs +179 -0
- package/dist/conditions-DmQ6Y1Wt.mjs.map +1 -0
- package/dist/conditions-zDrKfrc3.d.mts +42 -0
- package/dist/conditions-zDrKfrc3.d.mts.map +1 -0
- package/dist/console-BGMxxPZN.mjs +181 -0
- package/dist/console-BGMxxPZN.mjs.map +1 -0
- package/dist/console-DqEqZd4A.d.mts +76 -0
- package/dist/console-DqEqZd4A.d.mts.map +1 -0
- package/dist/controller-BOy3-xbC.mjs +501 -0
- package/dist/controller-BOy3-xbC.mjs.map +1 -0
- package/dist/controller-Y0NGosbJ.d.mts +104 -0
- package/dist/controller-Y0NGosbJ.d.mts.map +1 -0
- package/dist/coordinator-agent-BglqZLwo.d.mts +54 -0
- package/dist/coordinator-agent-BglqZLwo.d.mts.map +1 -0
- package/dist/coordinator-agent-WFWBRL-G.mjs +236 -0
- package/dist/coordinator-agent-WFWBRL-G.mjs.map +1 -0
- package/dist/crypto-8ABhc3TD.mjs +40 -0
- package/dist/crypto-8ABhc3TD.mjs.map +1 -0
- package/dist/environment-CSoJb0SW.mjs +255 -0
- package/dist/environment-CSoJb0SW.mjs.map +1 -0
- package/dist/error-handling-DNVkm6RY.mjs +1334 -0
- package/dist/error-handling-DNVkm6RY.mjs.map +1 -0
- package/dist/errors-CQ8tF4dP.mjs +985 -0
- package/dist/errors-CQ8tF4dP.mjs.map +1 -0
- package/dist/errors-CfYdVeum.d.mts +212 -0
- package/dist/errors-CfYdVeum.d.mts.map +1 -0
- package/dist/errors-Dtn-UeRi.mjs +61 -0
- package/dist/errors-Dtn-UeRi.mjs.map +1 -0
- package/dist/evaluator-Cs84qkr8.mjs +91 -0
- package/dist/evaluator-Cs84qkr8.mjs.map +1 -0
- package/dist/evaluator-optimizer-De67_mJC.mjs +1086 -0
- package/dist/evaluator-optimizer-De67_mJC.mjs.map +1 -0
- package/dist/evaluator-optimizer-pattern-B5939s2Z.mjs +367 -0
- package/dist/evaluator-optimizer-pattern-B5939s2Z.mjs.map +1 -0
- package/dist/evaluator-optimizer-pattern-D1AJrzBD.d.mts +72 -0
- package/dist/evaluator-optimizer-pattern-D1AJrzBD.d.mts.map +1 -0
- package/dist/factory-DP6VSl8C.mjs +307 -0
- package/dist/factory-DP6VSl8C.mjs.map +1 -0
- package/dist/generative-ui-catalog.d.mts +8 -0
- package/dist/generative-ui-catalog.d.mts.map +1 -0
- package/dist/generative-ui-catalog.mjs +679 -0
- package/dist/generative-ui-catalog.mjs.map +1 -0
- package/dist/generative-ui-registry.d.mts +195 -0
- package/dist/generative-ui-registry.d.mts.map +1 -0
- package/dist/generative-ui-registry.mjs +250 -0
- package/dist/generative-ui-registry.mjs.map +1 -0
- package/dist/generative-ui-stream.d.mts +23 -0
- package/dist/generative-ui-stream.d.mts.map +1 -0
- package/dist/generative-ui-stream.mjs +219 -0
- package/dist/generative-ui-stream.mjs.map +1 -0
- package/dist/generative-ui-types.d.mts +123 -0
- package/dist/generative-ui-types.d.mts.map +1 -0
- package/dist/generative-ui-types.mjs +1 -0
- package/dist/generative-ui.d.mts +13 -0
- package/dist/generative-ui.d.mts.map +1 -0
- package/dist/generative-ui.mjs +21 -0
- package/dist/generative-ui.mjs.map +1 -0
- package/dist/governance-audit.d.mts +3 -0
- package/dist/governance-audit.mjs +3 -0
- package/dist/governance-compliance.d.mts +5 -0
- package/dist/governance-compliance.mjs +4 -0
- package/dist/governance-policies.d.mts +4 -0
- package/dist/governance-policies.mjs +4 -0
- package/dist/governance-tenancy.d.mts +3 -0
- package/dist/governance-tenancy.mjs +3 -0
- package/dist/governance.d.mts +88 -0
- package/dist/governance.d.mts.map +1 -0
- package/dist/governance.mjs +432 -0
- package/dist/governance.mjs.map +1 -0
- package/dist/grounding-attribution.d.mts +63 -0
- package/dist/grounding-attribution.d.mts.map +1 -0
- package/dist/grounding-attribution.mjs +259 -0
- package/dist/grounding-attribution.mjs.map +1 -0
- package/dist/grounding-citation.d.mts +2 -0
- package/dist/grounding-citation.mjs +3 -0
- package/dist/grounding-context.d.mts +9 -0
- package/dist/grounding-context.d.mts.map +1 -0
- package/dist/grounding-context.mjs +19 -0
- package/dist/grounding-context.mjs.map +1 -0
- package/dist/grounding-embed.d.mts +102 -0
- package/dist/grounding-embed.d.mts.map +1 -0
- package/dist/grounding-embed.mjs +417 -0
- package/dist/grounding-embed.mjs.map +1 -0
- package/dist/grounding-hallucination.d.mts +44 -0
- package/dist/grounding-hallucination.d.mts.map +1 -0
- package/dist/grounding-hallucination.mjs +115 -0
- package/dist/grounding-hallucination.mjs.map +1 -0
- package/dist/grounding-proof-map.d.mts +9 -0
- package/dist/grounding-proof-map.d.mts.map +1 -0
- package/dist/grounding-proof-map.mjs +26 -0
- package/dist/grounding-proof-map.mjs.map +1 -0
- package/dist/grounding-rag.d.mts +10 -0
- package/dist/grounding-rag.d.mts.map +1 -0
- package/dist/grounding-rag.mjs +27 -0
- package/dist/grounding-rag.mjs.map +1 -0
- package/dist/grounding-verification.d.mts +48 -0
- package/dist/grounding-verification.d.mts.map +1 -0
- package/dist/grounding-verification.mjs +224 -0
- package/dist/grounding-verification.mjs.map +1 -0
- package/dist/grounding.d.mts +24 -0
- package/dist/grounding.d.mts.map +1 -0
- package/dist/grounding.mjs +77 -0
- package/dist/grounding.mjs.map +1 -0
- package/dist/hitl-active-learning.d.mts +41 -0
- package/dist/hitl-active-learning.d.mts.map +1 -0
- package/dist/hitl-active-learning.mjs +178 -0
- package/dist/hitl-active-learning.mjs.map +1 -0
- package/dist/hitl-annotation.d.mts +74 -0
- package/dist/hitl-annotation.d.mts.map +1 -0
- package/dist/hitl-annotation.mjs +170 -0
- package/dist/hitl-annotation.mjs.map +1 -0
- package/dist/hitl-approval.d.mts +2 -0
- package/dist/hitl-approval.mjs +3 -0
- package/dist/hitl-feedback.d.mts +59 -0
- package/dist/hitl-feedback.d.mts.map +1 -0
- package/dist/hitl-feedback.mjs +137 -0
- package/dist/hitl-feedback.mjs.map +1 -0
- package/dist/hitl-review.d.mts +2 -0
- package/dist/hitl-review.mjs +3 -0
- package/dist/hitl.d.mts +14 -0
- package/dist/hitl.d.mts.map +1 -0
- package/dist/hitl.mjs +22 -0
- package/dist/hitl.mjs.map +1 -0
- package/dist/index-B17HT-VL.d.mts +285 -0
- package/dist/index-B17HT-VL.d.mts.map +1 -0
- package/dist/index-BDwgsK9B.d.mts +101 -0
- package/dist/index-BDwgsK9B.d.mts.map +1 -0
- package/dist/index-BGgMn_Ev.d.mts +2615 -0
- package/dist/index-BGgMn_Ev.d.mts.map +1 -0
- package/dist/index-DOqe5r9G.d.mts +318 -0
- package/dist/index-DOqe5r9G.d.mts.map +1 -0
- package/dist/index-DotINT7o.d.mts +1004 -0
- package/dist/index-DotINT7o.d.mts.map +1 -0
- package/dist/index-URlW7aD1.d.mts +67 -0
- package/dist/index-URlW7aD1.d.mts.map +1 -0
- package/dist/index.d.mts +64 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +46 -0
- package/dist/index.mjs.map +1 -0
- package/dist/integrations-blob-storage.d.mts +25 -0
- package/dist/integrations-blob-storage.d.mts.map +1 -0
- package/dist/integrations-blob-storage.mjs +3 -0
- package/dist/integrations-notifications.d.mts +2 -0
- package/dist/integrations-notifications.mjs +3 -0
- package/dist/integrations-rate-limit.d.mts +27 -0
- package/dist/integrations-rate-limit.d.mts.map +1 -0
- package/dist/integrations-rate-limit.mjs +30 -0
- package/dist/integrations-rate-limit.mjs.map +1 -0
- package/dist/integrations-redis.d.mts +3 -0
- package/dist/integrations-redis.mjs +3 -0
- package/dist/integrations-stream.d.mts +14 -0
- package/dist/integrations-stream.d.mts.map +1 -0
- package/dist/integrations-stream.mjs +3 -0
- package/dist/integrations.d.mts +7 -0
- package/dist/integrations.mjs +7 -0
- package/dist/log-adapter-BLegSZtz.d.mts +16 -0
- package/dist/log-adapter-BLegSZtz.d.mts.map +1 -0
- package/dist/log-adapter-PPe_2Pwv.mjs +28 -0
- package/dist/log-adapter-PPe_2Pwv.mjs.map +1 -0
- package/dist/loop-BOYEtr2g.mjs +520 -0
- package/dist/loop-BOYEtr2g.mjs.map +1 -0
- package/dist/loop-C-tBBOqi.d.mts +219 -0
- package/dist/loop-C-tBBOqi.d.mts.map +1 -0
- package/dist/middleware-5wQ9bANW.mjs +306 -0
- package/dist/middleware-5wQ9bANW.mjs.map +1 -0
- package/dist/middleware-C1apSrj0.mjs +613 -0
- package/dist/middleware-C1apSrj0.mjs.map +1 -0
- package/dist/middleware-C7k0uItW.d.mts +9 -0
- package/dist/middleware-C7k0uItW.d.mts.map +1 -0
- package/dist/middleware-CZQCTHfl.mjs +366 -0
- package/dist/middleware-CZQCTHfl.mjs.map +1 -0
- package/dist/models.d.mts +11 -0
- package/dist/models.d.mts.map +1 -0
- package/dist/models.mjs +32 -0
- package/dist/models.mjs.map +1 -0
- package/dist/observability-analytics.d.mts +107 -0
- package/dist/observability-analytics.d.mts.map +1 -0
- package/dist/observability-analytics.mjs +409 -0
- package/dist/observability-analytics.mjs.map +1 -0
- package/dist/observability-cost.d.mts +10 -0
- package/dist/observability-cost.d.mts.map +1 -0
- package/dist/observability-cost.mjs +15 -0
- package/dist/observability-cost.mjs.map +1 -0
- package/dist/observability-telemetry.d.mts +111 -0
- package/dist/observability-telemetry.d.mts.map +1 -0
- package/dist/observability-telemetry.mjs +343 -0
- package/dist/observability-telemetry.mjs.map +1 -0
- package/dist/observability-tracing.d.mts +10 -0
- package/dist/observability-tracing.d.mts.map +1 -0
- package/dist/observability-tracing.mjs +17 -0
- package/dist/observability-tracing.mjs.map +1 -0
- package/dist/observability.d.mts +15 -0
- package/dist/observability.d.mts.map +1 -0
- package/dist/observability.mjs +17 -0
- package/dist/observability.mjs.map +1 -0
- package/dist/optimizer-DhXXpci6.mjs +97 -0
- package/dist/optimizer-DhXXpci6.mjs.map +1 -0
- package/dist/output-multimodal.d.mts +9 -0
- package/dist/output-multimodal.d.mts.map +1 -0
- package/dist/output-multimodal.mjs +18 -0
- package/dist/output-multimodal.mjs.map +1 -0
- package/dist/output.d.mts +11 -0
- package/dist/output.d.mts.map +1 -0
- package/dist/output.mjs +40 -0
- package/dist/output.mjs.map +1 -0
- package/dist/pii-filter-3AxmYSiu.d.mts +23 -0
- package/dist/pii-filter-3AxmYSiu.d.mts.map +1 -0
- package/dist/pipelines.d.mts +448 -0
- package/dist/pipelines.d.mts.map +1 -0
- package/dist/pipelines.mjs +1534 -0
- package/dist/pipelines.mjs.map +1 -0
- package/dist/prompt-injection-DQXchzsV.d.mts +8 -0
- package/dist/prompt-injection-DQXchzsV.d.mts.map +1 -0
- package/dist/prompt-injection-RpoLPwSa.mjs +52 -0
- package/dist/prompt-injection-RpoLPwSa.mjs.map +1 -0
- package/dist/prompts.d.mts +192 -0
- package/dist/prompts.d.mts.map +1 -0
- package/dist/prompts.mjs +732 -0
- package/dist/prompts.mjs.map +1 -0
- package/dist/protocol-DfBiEsnl.d.mts +112 -0
- package/dist/protocol-DfBiEsnl.d.mts.map +1 -0
- package/dist/quota-manager-0iPMkQWN.d.mts +62 -0
- package/dist/quota-manager-0iPMkQWN.d.mts.map +1 -0
- package/dist/quota-manager-D_N7FuQ2.mjs +180 -0
- package/dist/quota-manager-D_N7FuQ2.mjs.map +1 -0
- package/dist/redaction-utils-DcQwsiNh.mjs +438 -0
- package/dist/redaction-utils-DcQwsiNh.mjs.map +1 -0
- package/dist/redis-CpsSrF8K.mjs +102 -0
- package/dist/redis-CpsSrF8K.mjs.map +1 -0
- package/dist/redis-CwguYFGh.d.mts +33 -0
- package/dist/redis-CwguYFGh.d.mts.map +1 -0
- package/dist/registry-CsD3iTIx.mjs +190 -0
- package/dist/registry-CsD3iTIx.mjs.map +1 -0
- package/dist/registry-DVPWzkXR.d.mts +36 -0
- package/dist/registry-DVPWzkXR.d.mts.map +1 -0
- package/dist/reranking-BpWYhYzl.d.mts +72 -0
- package/dist/reranking-BpWYhYzl.d.mts.map +1 -0
- package/dist/reranking-Ck8aKZW7.mjs +331 -0
- package/dist/reranking-Ck8aKZW7.mjs.map +1 -0
- package/dist/resumable-adapter-CO1HtsgJ.mjs +21 -0
- package/dist/resumable-adapter-CO1HtsgJ.mjs.map +1 -0
- package/dist/review-trigger-DmAsiQlM.d.mts +24 -0
- package/dist/review-trigger-DmAsiQlM.d.mts.map +1 -0
- package/dist/review-trigger-DwXfpww9.mjs +112 -0
- package/dist/review-trigger-DwXfpww9.mjs.map +1 -0
- package/dist/safe-context-BynhkTKR.d.mts +54 -0
- package/dist/safe-context-BynhkTKR.d.mts.map +1 -0
- package/dist/safe-context-C5A3Wv3b.mjs +143 -0
- package/dist/safe-context-C5A3Wv3b.mjs.map +1 -0
- package/dist/schema-Bu2noOZ4.mjs +27 -0
- package/dist/schema-Bu2noOZ4.mjs.map +1 -0
- package/dist/schema-CwFvuCnA.mjs +97 -0
- package/dist/schema-CwFvuCnA.mjs.map +1 -0
- package/dist/schema-Wz-1-ro9.d.mts +37 -0
- package/dist/schema-Wz-1-ro9.d.mts.map +1 -0
- package/dist/schemas-CxQtxIga.mjs +62 -0
- package/dist/schemas-CxQtxIga.mjs.map +1 -0
- package/dist/schemas-DBOhxgW7.d.mts +32 -0
- package/dist/schemas-DBOhxgW7.d.mts.map +1 -0
- package/dist/schemas-Dp_OCqBt.d.mts +63 -0
- package/dist/schemas-Dp_OCqBt.d.mts.map +1 -0
- package/dist/schemas-SwCsnT0z.mjs +83 -0
- package/dist/schemas-SwCsnT0z.mjs.map +1 -0
- package/dist/sdk-errors.d.mts +2 -0
- package/dist/sdk-errors.mjs +3 -0
- package/dist/sdk-experimental.d.mts +59 -0
- package/dist/sdk-experimental.d.mts.map +1 -0
- package/dist/sdk-experimental.mjs +193 -0
- package/dist/sdk-experimental.mjs.map +1 -0
- package/dist/sdk-stop-conditions.d.mts +3 -0
- package/dist/sdk-stop-conditions.mjs +3 -0
- package/dist/sdk.d.mts +15 -0
- package/dist/sdk.d.mts.map +1 -0
- package/dist/sdk.mjs +50 -0
- package/dist/sdk.mjs.map +1 -0
- package/dist/security-guardrails.d.mts +3 -0
- package/dist/security-guardrails.mjs +3 -0
- package/dist/security-injection.d.mts +2 -0
- package/dist/security-injection.mjs +3 -0
- package/dist/security.d.mts +12 -0
- package/dist/security.d.mts.map +1 -0
- package/dist/security.mjs +18 -0
- package/dist/security.mjs.map +1 -0
- package/dist/server.d.mts +420 -0
- package/dist/server.d.mts.map +1 -0
- package/dist/server.mjs +2225 -0
- package/dist/server.mjs.map +1 -0
- package/dist/shared.d.mts +2 -0
- package/dist/shared.mjs +3 -0
- package/dist/streaming-control.d.mts +2 -0
- package/dist/streaming-control.mjs +4 -0
- package/dist/streaming-core.d.mts +4 -0
- package/dist/streaming-core.mjs +3 -0
- package/dist/streaming-infra-resilience.d.mts +120 -0
- package/dist/streaming-infra-resilience.d.mts.map +1 -0
- package/dist/streaming-infra-resilience.mjs +358 -0
- package/dist/streaming-infra-resilience.mjs.map +1 -0
- package/dist/streaming-infra-transport.d.mts +57 -0
- package/dist/streaming-infra-transport.d.mts.map +1 -0
- package/dist/streaming-infra-transport.mjs +488 -0
- package/dist/streaming-infra-transport.mjs.map +1 -0
- package/dist/streaming-infra.d.mts +5 -0
- package/dist/streaming-infra.mjs +5 -0
- package/dist/streaming.d.mts +17 -0
- package/dist/streaming.d.mts.map +1 -0
- package/dist/streaming.mjs +71 -0
- package/dist/streaming.mjs.map +1 -0
- package/dist/telemetry-2eKMojIb.mjs +1046 -0
- package/dist/telemetry-2eKMojIb.mjs.map +1 -0
- package/dist/telemetry-C2t03dwD.d.mts +59 -0
- package/dist/telemetry-C2t03dwD.d.mts.map +1 -0
- package/dist/tool-Btbththq.d.mts +253 -0
- package/dist/tool-Btbththq.d.mts.map +1 -0
- package/dist/tool-JSf8JXZ8.mjs +1150 -0
- package/dist/tool-JSf8JXZ8.mjs.map +1 -0
- package/dist/tool-safety-CZO8a4D4.d.mts +60 -0
- package/dist/tool-safety-CZO8a4D4.d.mts.map +1 -0
- package/dist/tool-safety-DXtYDXod.mjs +319 -0
- package/dist/tool-safety-DXtYDXod.mjs.map +1 -0
- package/dist/tools-BuS2Uv0q.mjs +1708 -0
- package/dist/tools-BuS2Uv0q.mjs.map +1 -0
- package/dist/tools-approval.d.mts +99 -0
- package/dist/tools-approval.d.mts.map +1 -0
- package/dist/tools-approval.mjs +395 -0
- package/dist/tools-approval.mjs.map +1 -0
- package/dist/tools-compliance.d.mts +67 -0
- package/dist/tools-compliance.d.mts.map +1 -0
- package/dist/tools-compliance.mjs +330 -0
- package/dist/tools-compliance.mjs.map +1 -0
- package/dist/tools-computer.d.mts +25 -0
- package/dist/tools-computer.d.mts.map +1 -0
- package/dist/tools-computer.mjs +64 -0
- package/dist/tools-computer.mjs.map +1 -0
- package/dist/tools-core.d.mts +3 -0
- package/dist/tools-core.mjs +3 -0
- package/dist/tools-mcp.d.mts +3 -0
- package/dist/tools-mcp.mjs +5 -0
- package/dist/tools-superpowers.d.mts +2 -0
- package/dist/tools-superpowers.mjs +3 -0
- package/dist/tools.d.mts +401 -0
- package/dist/tools.d.mts.map +1 -0
- package/dist/tools.mjs +1921 -0
- package/dist/tools.mjs.map +1 -0
- package/dist/transport-selector-D-Ib05X1.mjs +1936 -0
- package/dist/transport-selector-D-Ib05X1.mjs.map +1 -0
- package/dist/triage-agent-BEsXg5sw.d.mts +63 -0
- package/dist/triage-agent-BEsXg5sw.d.mts.map +1 -0
- package/dist/triage-agent-CBsfX-HW.mjs +167 -0
- package/dist/triage-agent-CBsfX-HW.mjs.map +1 -0
- package/dist/types-BPnq3GQo.d.mts +23 -0
- package/dist/types-BPnq3GQo.d.mts.map +1 -0
- package/dist/types-BjWgimpY.d.mts +16 -0
- package/dist/types-BjWgimpY.d.mts.map +1 -0
- package/dist/types-BxD-5btB.d.mts +41 -0
- package/dist/types-BxD-5btB.d.mts.map +1 -0
- package/dist/types-By-r93bE.d.mts +36 -0
- package/dist/types-By-r93bE.d.mts.map +1 -0
- package/dist/types-CLBWFRZN.d.mts +69 -0
- package/dist/types-CLBWFRZN.d.mts.map +1 -0
- package/dist/types-CQ0HFd0u.d.mts +62 -0
- package/dist/types-CQ0HFd0u.d.mts.map +1 -0
- package/dist/types-D3zJb59_.d.mts +47 -0
- package/dist/types-D3zJb59_.d.mts.map +1 -0
- package/dist/types-DJnugQX0.d.mts +80 -0
- package/dist/types-DJnugQX0.d.mts.map +1 -0
- package/dist/types-DbUfMCnT.d.mts +70 -0
- package/dist/types-DbUfMCnT.d.mts.map +1 -0
- package/dist/upstash-adapter-D96Caq2O.mjs +22 -0
- package/dist/upstash-adapter-D96Caq2O.mjs.map +1 -0
- package/dist/upstash-adapter-DD4433dx.d.mts +8 -0
- package/dist/upstash-adapter-DD4433dx.d.mts.map +1 -0
- package/dist/utils-BlYhcD6M.mjs +319 -0
- package/dist/utils-BlYhcD6M.mjs.map +1 -0
- package/dist/utils-DpJGOb3y.d.mts +120 -0
- package/dist/utils-DpJGOb3y.d.mts.map +1 -0
- package/dist/vercel-blob-adapter-CkOXLT2D.mjs +25 -0
- package/dist/vercel-blob-adapter-CkOXLT2D.mjs.map +1 -0
- package/dist/xai-CbV_dCnP.mjs +1600 -0
- package/dist/xai-CbV_dCnP.mjs.map +1 -0
- package/package.json +479 -0
- package/src/agents/base/factory.ts +382 -0
- package/src/agents/base/index.ts +8 -0
- package/src/agents/base/schemas.ts +117 -0
- package/src/agents/base/types.ts +192 -0
- package/src/agents/control-flow/index.ts +683 -0
- package/src/agents/coordinator/coordinator-agent.ts +381 -0
- package/src/agents/coordinator/index.ts +6 -0
- package/src/agents/default-agent.ts +211 -0
- package/src/agents/evaluator-optimizer/README.md +612 -0
- package/src/agents/evaluator-optimizer/evaluator-optimizer.example.ts +437 -0
- package/src/agents/evaluator-optimizer/evaluator.ts +282 -0
- package/src/agents/evaluator-optimizer/index.test.ts +416 -0
- package/src/agents/evaluator-optimizer/index.ts +519 -0
- package/src/agents/evaluator-optimizer/optimizer.ts +322 -0
- package/src/agents/evaluator-optimizer/schema.ts +302 -0
- package/src/agents/evaluator-optimizer/utils.ts +42 -0
- package/src/agents/experimental/index.ts +1095 -0
- package/src/agents/experimental/types.ts +212 -0
- package/src/agents/fallback/index.ts +18 -0
- package/src/agents/fallback/recovery/circuit-breaker.ts +166 -0
- package/src/agents/fallback/strategies/model-fallback.ts +192 -0
- package/src/agents/fallback/types.ts +87 -0
- package/src/agents/governance-agent.ts +446 -0
- package/src/agents/index.ts +79 -0
- package/src/agents/multi/coordination/index.ts +6 -0
- package/src/agents/multi/coordination/message-bus.ts +144 -0
- package/src/agents/multi/index.ts +6 -0
- package/src/agents/multi/state/index.ts +162 -0
- package/src/agents/multi/supervisor/index.ts +7 -0
- package/src/agents/multi/supervisor/supervisor.ts +254 -0
- package/src/agents/multi/swarm/aggregation.ts +466 -0
- package/src/agents/multi/swarm/communication.ts +388 -0
- package/src/agents/multi/swarm/coordination.ts +380 -0
- package/src/agents/multi/swarm/index.ts +73 -0
- package/src/agents/multi/swarm/swarm-executor.ts +479 -0
- package/src/agents/multi/types.ts +181 -0
- package/src/agents/observability/index.ts +914 -0
- package/src/agents/orchestrator.ts +218 -0
- package/src/agents/patterns/README.md +512 -0
- package/src/agents/patterns/evaluator-optimizer-pattern.example.ts +455 -0
- package/src/agents/patterns/evaluator-optimizer-pattern.ts +653 -0
- package/src/agents/patterns/index.ts +26 -0
- package/src/agents/persistence/index.ts +726 -0
- package/src/agents/tools/index.ts +291 -0
- package/src/agents/tools/mcp.ts +188 -0
- package/src/agents/triage/index.ts +6 -0
- package/src/agents/triage/triage-agent.ts +280 -0
- package/src/agents/workflows/index.ts +6 -0
- package/src/agents/workflows/interfaces.ts +36 -0
- package/src/agents/workflows/schema.ts +20 -0
- package/src/caching/adapters/index.ts +7 -0
- package/src/caching/adapters/memory.ts +77 -0
- package/src/caching/adapters/redis.ts +60 -0
- package/src/caching/index.ts +17 -0
- package/src/caching/middleware.ts +452 -0
- package/src/caching/strategies/index.ts +1008 -0
- package/src/caching/types.ts +47 -0
- package/src/catalog.ts +921 -0
- package/src/client/chat-usage.ts +53 -0
- package/src/client/hooks.ts +343 -0
- package/src/client/index.ts +36 -0
- package/src/client/message-utils.ts +29 -0
- package/src/client/use-generative-ui.ts +174 -0
- package/src/client/utils.ts +66 -0
- package/src/generative-ui/catalog.ts +653 -0
- package/src/generative-ui/index.ts +82 -0
- package/src/generative-ui/registry.ts +273 -0
- package/src/generative-ui/stream.ts +324 -0
- package/src/generative-ui/types.ts +376 -0
- package/src/governance/audit/audit-logger.ts +239 -0
- package/src/governance/audit/audit-schema.ts +82 -0
- package/src/governance/audit/index.ts +6 -0
- package/src/governance/compliance/abac/policy-engine.ts +175 -0
- package/src/governance/compliance/abac/types.ts +40 -0
- package/src/governance/compliance/approval/compliance-approval-queue.ts +217 -0
- package/src/governance/compliance/index.ts +16 -0
- package/src/governance/compliance/schemas.ts +68 -0
- package/src/governance/compliance/types.ts +143 -0
- package/src/governance/compliance/validators/phi-detector.ts +145 -0
- package/src/governance/compliance/validators/redaction-utils.ts +176 -0
- package/src/governance/compliance/validators/safe-harbor.ts +135 -0
- package/src/governance/entitlements/index.ts +585 -0
- package/src/governance/entitlements/middleware.ts +651 -0
- package/src/governance/entitlements/rate-limiter.ts +711 -0
- package/src/governance/index.ts +32 -0
- package/src/governance/policies/guardrails.ts +1121 -0
- package/src/governance/policies/index.ts +42 -0
- package/src/governance/policies/loop-controls.ts +136 -0
- package/src/governance/policies/telemetry.ts +63 -0
- package/src/governance/tenancy/index.ts +30 -0
- package/src/governance/tenancy/isolation/context.ts +92 -0
- package/src/governance/tenancy/isolation/index.ts +13 -0
- package/src/governance/tenancy/quotas/index.ts +11 -0
- package/src/governance/tenancy/quotas/quota-manager.ts +180 -0
- package/src/governance/tenancy/types.ts +66 -0
- package/src/governance/types.ts +16 -0
- package/src/governance/versioning/index.ts +573 -0
- package/src/grounding/attribution/index.ts +424 -0
- package/src/grounding/citation/citation-generator.ts +174 -0
- package/src/grounding/citation/index.ts +12 -0
- package/src/grounding/context/index.ts +32 -0
- package/src/grounding/context/safe-context.ts +116 -0
- package/src/grounding/context/types.ts +62 -0
- package/src/grounding/context-engineering/error-handling.ts +359 -0
- package/src/grounding/context-engineering/index.ts +23 -0
- package/src/grounding/context-engineering/memory.ts +559 -0
- package/src/grounding/context-engineering/tool-masking.ts +338 -0
- package/src/grounding/embed/index.ts +704 -0
- package/src/grounding/embed/reranking.ts +604 -0
- package/src/grounding/hallucination/index.ts +223 -0
- package/src/grounding/index.ts +82 -0
- package/src/grounding/proof-map/applyPatch.ts +172 -0
- package/src/grounding/proof-map/index.ts +41 -0
- package/src/grounding/proof-map/loop.ts +275 -0
- package/src/grounding/proof-map/schema.ts +217 -0
- package/src/grounding/rag/__tests__/pipeline.test.ts +274 -0
- package/src/grounding/rag/__tests__/tool.test.ts +202 -0
- package/src/grounding/rag/__tests__/trace.test.ts +229 -0
- package/src/grounding/rag/circuit-breaker.ts +152 -0
- package/src/grounding/rag/index.ts +64 -0
- package/src/grounding/rag/pipeline.ts +602 -0
- package/src/grounding/rag/tool.ts +281 -0
- package/src/grounding/rag/trace.ts +503 -0
- package/src/grounding/rag/types.ts +284 -0
- package/src/grounding/retrieval/in-memory-store.ts +107 -0
- package/src/grounding/sources/index.ts +943 -0
- package/src/grounding/tests/applyPatch.test.ts +194 -0
- package/src/grounding/tests/loop.test.ts +141 -0
- package/src/grounding/tests/schema.test.ts +160 -0
- package/src/grounding/types.ts +100 -0
- package/src/grounding/verification/index.ts +419 -0
- package/src/hitl/active-learning/index.ts +332 -0
- package/src/hitl/annotation/index.ts +362 -0
- package/src/hitl/approval/approval-queue.ts +132 -0
- package/src/hitl/approval/index.ts +5 -0
- package/src/hitl/feedback/index.ts +284 -0
- package/src/hitl/index.ts +69 -0
- package/src/hitl/review/index.ts +6 -0
- package/src/hitl/review/review-trigger.ts +162 -0
- package/src/hitl/types.ts +126 -0
- package/src/index.ts +125 -0
- package/src/integrations/blob-storage/index.ts +7 -0
- package/src/integrations/blob-storage/types.ts +28 -0
- package/src/integrations/blob-storage/vercel-blob-adapter.ts +35 -0
- package/src/integrations/index.ts +15 -0
- package/src/integrations/notifications/index.ts +7 -0
- package/src/integrations/notifications/log-adapter.ts +30 -0
- package/src/integrations/notifications/types.ts +27 -0
- package/src/integrations/rate-limit/index.ts +7 -0
- package/src/integrations/rate-limit/types.ts +26 -0
- package/src/integrations/rate-limit/upstash-adapter.ts +45 -0
- package/src/integrations/redis/index.ts +7 -0
- package/src/integrations/redis/types.ts +67 -0
- package/src/integrations/redis/upstash-adapter.ts +18 -0
- package/src/integrations/stream/index.ts +7 -0
- package/src/integrations/stream/resumable-adapter.ts +20 -0
- package/src/integrations/stream/types.ts +21 -0
- package/src/internal/__tests__/hallucination.test.ts +162 -0
- package/src/internal/__tests__/models.test.ts +104 -0
- package/src/internal/__tests__/sdk-errors.test.ts +201 -0
- package/src/internal/__tests__/stop-conditions.test.ts +210 -0
- package/src/internal/shared/ai-types.ts +942 -0
- package/src/internal/testing/evaluators.ts +575 -0
- package/src/internal/testing/index.ts +960 -0
- package/src/internal/ui/data-parts.ts +511 -0
- package/src/internal/ui/type-guards.ts +344 -0
- package/src/internal/ui-factories/__tests__/ui-factories.test.ts +548 -0
- package/src/internal/ui-factories/artifact-factory.ts +667 -0
- package/src/internal/ui-factories/index.ts +82 -0
- package/src/internal/ui-factories/shimmer-manager.ts +220 -0
- package/src/internal/ui-factories/status-helpers.ts +149 -0
- package/src/internal/ui-factories/tool-renderer.ts +167 -0
- package/src/internal/ui-factories/types.ts +235 -0
- package/src/models/capabilities.ts +88 -0
- package/src/models/index.ts +16 -0
- package/src/models/provider-factory.ts +229 -0
- package/src/models/providers/anthropic.ts +539 -0
- package/src/models/providers/google.ts +354 -0
- package/src/models/providers/index.ts +21 -0
- package/src/models/providers/openai.ts +346 -0
- package/src/models/providers/perplexity.ts +276 -0
- package/src/models/providers/shared.ts +90 -0
- package/src/models/providers/xai.ts +269 -0
- package/src/models/registry.ts +208 -0
- package/src/models/routing/index.ts +45 -0
- package/src/models/routing/intent-router.ts +143 -0
- package/src/models/routing/model-router.ts +300 -0
- package/src/models/routing/types.ts +106 -0
- package/src/models/types.ts +23 -0
- package/src/observability/analytics/index.ts +593 -0
- package/src/observability/cost/index.ts +16 -0
- package/src/observability/cost/tracking/budget-guard.ts +110 -0
- package/src/observability/cost/tracking/usage-tracker.ts +120 -0
- package/src/observability/cost/types.ts +85 -0
- package/src/observability/index.ts +17 -0
- package/src/observability/telemetry/index.ts +508 -0
- package/src/observability/tracing/index.ts +30 -0
- package/src/observability/tracing/otel/ai-instrumentation.ts +193 -0
- package/src/observability/tracing/otel/exporters/console.ts +58 -0
- package/src/observability/tracing/otel/exporters/index.ts +6 -0
- package/src/observability/tracing/provenance.ts +769 -0
- package/src/observability/tracing/types.ts +92 -0
- package/src/output/__tests__/output.test.ts +737 -0
- package/src/output/element-stream.ts +678 -0
- package/src/output/errors.ts +108 -0
- package/src/output/factories.ts +392 -0
- package/src/output/index.ts +98 -0
- package/src/output/multimodal/EXPORTS.md +306 -0
- package/src/output/multimodal/IMPLEMENTATION_SUMMARY.md +421 -0
- package/src/output/multimodal/README.md +349 -0
- package/src/output/multimodal/SETUP_GUIDE.md +472 -0
- package/src/output/multimodal/audio.ts +650 -0
- package/src/output/multimodal/image.ts +22 -0
- package/src/output/multimodal/index.ts +32 -0
- package/src/output/multimodal/providers.example.ts +375 -0
- package/src/output/validator.ts +495 -0
- package/src/pipelines/adapters/trace-storage-blob.ts +458 -0
- package/src/pipelines/adapters/trace-storage-memory.ts +319 -0
- package/src/pipelines/defaults.ts +109 -0
- package/src/pipelines/index.ts +24 -0
- package/src/pipelines/message-transforms.ts +107 -0
- package/src/pipelines/multi-step-wrapper.ts +433 -0
- package/src/pipelines/pipeline-presets.ts +339 -0
- package/src/pipelines/step-executor.ts +257 -0
- package/src/pipelines/storage-factory.ts +85 -0
- package/src/pipelines/trace-storage-interface.ts +216 -0
- package/src/pipelines/types.ts +255 -0
- package/src/pipelines/validation.ts +323 -0
- package/src/prompts/index.ts +271 -0
- package/src/prompts/model-variants.ts +410 -0
- package/src/prompts/templates.ts +327 -0
- package/src/sdk/errors/base.ts +296 -0
- package/src/sdk/errors/index.ts +31 -0
- package/src/sdk/errors/utils.ts +148 -0
- package/src/sdk/experimental/index.ts +286 -0
- package/src/sdk/index.ts +25 -0
- package/src/sdk/middleware/ai-middleware.ts +95 -0
- package/src/sdk/middleware/cache.ts +154 -0
- package/src/sdk/middleware/circuit-breaker.ts +388 -0
- package/src/sdk/middleware/compose.ts +81 -0
- package/src/sdk/middleware/deduplication.ts +307 -0
- package/src/sdk/middleware/index.ts +660 -0
- package/src/sdk/middleware/model-middleware.ts +200 -0
- package/src/sdk/stop-conditions/conditions.ts +209 -0
- package/src/sdk/stop-conditions/index.ts +35 -0
- package/src/sdk/stop-conditions/types.ts +59 -0
- package/src/security/guardrails/index.ts +6 -0
- package/src/security/guardrails/middleware.ts +465 -0
- package/src/security/guardrails/pii-filter.ts +396 -0
- package/src/security/index.ts +33 -0
- package/src/security/injection/index.ts +5 -0
- package/src/security/injection/prompt-injection.ts +64 -0
- package/src/security/types.ts +85 -0
- package/src/server/cache/crypto.ts +47 -0
- package/src/server/cache/performance.ts +79 -0
- package/src/server/error-handler.ts +93 -0
- package/src/server/errors.ts +73 -0
- package/src/server/helpers.ts +944 -0
- package/src/server/http.ts +156 -0
- package/src/server/index.ts +12 -0
- package/src/server/messages/__tests__/messages.test.ts +720 -0
- package/src/server/messages/converter.ts +245 -0
- package/src/server/messages/data-parts.ts +338 -0
- package/src/server/messages/extraction.ts +328 -0
- package/src/server/messages/index.ts +126 -0
- package/src/server/messages/types.ts +355 -0
- package/src/server/messages/window.ts +450 -0
- package/src/server/rate-limit/env.ts +8 -0
- package/src/server/rate-limit/rate-limit.ts +165 -0
- package/src/server/routes/HEALTH_CHECK.md +502 -0
- package/src/server/routes/IMPLEMENTATION_SUMMARY.md +432 -0
- package/src/server/routes/QUICK_START.md +327 -0
- package/src/server/routes/README.md +357 -0
- package/src/server/routes/__tests__/routes.test.ts +628 -0
- package/src/server/routes/agent-route.ts +224 -0
- package/src/server/routes/agent-routes.ts +191 -0
- package/src/server/routes/embed-config.ts +181 -0
- package/src/server/routes/health-check.example.ts +507 -0
- package/src/server/routes/health-check.test.ts +533 -0
- package/src/server/routes/health-check.ts +639 -0
- package/src/server/routes/health-check.types.ts +217 -0
- package/src/server/routes/index.ts +32 -0
- package/src/server/routes/types.ts +274 -0
- package/src/shared/__tests__/schemas.test.ts +317 -0
- package/src/shared/ai-runtime.ts +139 -0
- package/src/shared/ai-types.ts +133 -0
- package/src/shared/index.ts +30 -0
- package/src/shared/sdk-runtime.ts +198 -0
- package/src/shared/sdk-types.ts +301 -0
- package/src/streaming/control/__tests__/streaming-control.test.ts +708 -0
- package/src/streaming/control/budget-guard.ts +264 -0
- package/src/streaming/control/controller.ts +255 -0
- package/src/streaming/control/index.ts +105 -0
- package/src/streaming/control/smoothing.ts +201 -0
- package/src/streaming/control/step-limit.ts +215 -0
- package/src/streaming/control/types.ts +234 -0
- package/src/streaming/core/auto-resume.ts +276 -0
- package/src/streaming/core/index.ts +85 -0
- package/src/streaming/core/multi-step.ts +471 -0
- package/src/streaming/core/protocol.ts +194 -0
- package/src/streaming/core/types.ts +182 -0
- package/src/streaming/index.ts +97 -0
- package/src/streaming/infra/backpressure/buffer.ts +210 -0
- package/src/streaming/infra/backpressure/index.ts +6 -0
- package/src/streaming/infra/index.ts +75 -0
- package/src/streaming/infra/multiplexing/index.ts +311 -0
- package/src/streaming/infra/resilience/index.ts +684 -0
- package/src/streaming/infra/transform/index.ts +15 -0
- package/src/streaming/infra/transform/stream-transforms.ts +166 -0
- package/src/streaming/infra/transport/index.ts +774 -0
- package/src/streaming/infra/types.ts +118 -0
- package/src/streaming/infra-extra/types.ts +118 -0
- package/src/tools/advanced/caching.ts +299 -0
- package/src/tools/advanced/generator.ts +267 -0
- package/src/tools/advanced/hitl.ts +251 -0
- package/src/tools/advanced/index.ts +9 -0
- package/src/tools/advanced/llm-tool.ts +208 -0
- package/src/tools/approval/FILES.md +449 -0
- package/src/tools/approval/IMPLEMENTATION_SUMMARY.md +567 -0
- package/src/tools/approval/QUICK_START.md +362 -0
- package/src/tools/approval/README.md +514 -0
- package/src/tools/approval/advanced-approval-queue.ts +7 -0
- package/src/tools/approval/approval.example.ts +571 -0
- package/src/tools/approval/in-memory-queue.ts +405 -0
- package/src/tools/approval/index.ts +737 -0
- package/src/tools/approval/middleware.ts +590 -0
- package/src/tools/approval/queue-factory.ts +162 -0
- package/src/tools/approval/redis-queue.ts +327 -0
- package/src/tools/approval/testing.ts +493 -0
- package/src/tools/approval/types.ts +221 -0
- package/src/tools/approval/with-approval.ts +366 -0
- package/src/tools/artifacts/artifact-tools.ts +273 -0
- package/src/tools/artifacts/index.ts +6 -0
- package/src/tools/compliance/compliance-wrapper.ts +789 -0
- package/src/tools/compliance/create-compliant-stream.ts +226 -0
- package/src/tools/compliance/index.ts +8 -0
- package/src/tools/compliance/phi-redaction.ts +406 -0
- package/src/tools/compliance/tool-wrapper.ts +306 -0
- package/src/tools/computer/index.ts +99 -0
- package/src/tools/computer/types.ts +41 -0
- package/src/tools/core/abort.ts +202 -0
- package/src/tools/core/factory.ts +197 -0
- package/src/tools/core/index.ts +8 -0
- package/src/tools/core/tool-safety.ts +112 -0
- package/src/tools/generic/index.ts +9 -0
- package/src/tools/generic/json-schema-tool.ts +301 -0
- package/src/tools/generic/tiptap-context.ts +619 -0
- package/src/tools/generic/web-search-tool.ts +82 -0
- package/src/tools/generic/web-search.ts +142 -0
- package/src/tools/index.ts +36 -0
- package/src/tools/mcp/ai-sdk-error-integration.ts +401 -0
- package/src/tools/mcp/client.ts +988 -0
- package/src/tools/mcp/connection-manager.ts +380 -0
- package/src/tools/mcp/connection-pool.ts +408 -0
- package/src/tools/mcp/edge-runtime.ts +318 -0
- package/src/tools/mcp/environment.ts +310 -0
- package/src/tools/mcp/index.ts +20 -0
- package/src/tools/mcp/next-pattern.ts +401 -0
- package/src/tools/mcp/stream-lifecycle-integration.ts +617 -0
- package/src/tools/mcp/tool-cache.ts +359 -0
- package/src/tools/mcp/transport-selector.ts +492 -0
- package/src/tools/mcp/transports.ts +99 -0
- package/src/tools/simple-factory.ts +55 -0
- package/src/tools/superpowers/index.ts +122 -0
- package/src/tools/superpowers/prompts/index.ts +533 -0
- package/src/tools/superpowers/schemas/index.ts +701 -0
- package/src/tools/superpowers/tools/index.ts +721 -0
- package/src/tools/validation-wrapper.ts +97 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
//#region src/sdk/stop-conditions/conditions.ts
|
|
2
|
+
/**
|
|
3
|
+
* Stop when step count reaches a threshold
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { stepCountIs } from "@od-oneapp/ai-platform";
|
|
8
|
+
*
|
|
9
|
+
* const result = await generateText({
|
|
10
|
+
* model,
|
|
11
|
+
* prompt,
|
|
12
|
+
* maxSteps: 10,
|
|
13
|
+
* stopWhen: stepCountIs(5),
|
|
14
|
+
* });
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
function stepCountIs(count) {
|
|
18
|
+
return (context) => context.stepCount >= count;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Stop when a specific tool is called
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* import { hasToolCall } from "@od-oneapp/ai-platform";
|
|
26
|
+
*
|
|
27
|
+
* const result = await generateText({
|
|
28
|
+
* model,
|
|
29
|
+
* prompt,
|
|
30
|
+
* tools: { submit, search, analyze },
|
|
31
|
+
* stopWhen: hasToolCall("submit"),
|
|
32
|
+
* });
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
function hasToolCall(toolName) {
|
|
36
|
+
const toolNames = Array.isArray(toolName) ? toolName : [toolName];
|
|
37
|
+
return (context) => {
|
|
38
|
+
if (!context.toolCalls) return false;
|
|
39
|
+
return context.toolCalls.some((call) => toolNames.includes(call.toolName));
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Stop when no tools are called (model finished reasoning)
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* import { noToolCalls } from "@od-oneapp/ai-platform";
|
|
48
|
+
*
|
|
49
|
+
* const result = await generateText({
|
|
50
|
+
* model,
|
|
51
|
+
* prompt,
|
|
52
|
+
* tools: { search, analyze },
|
|
53
|
+
* stopWhen: noToolCalls(),
|
|
54
|
+
* });
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
function noToolCalls() {
|
|
58
|
+
return (context) => {
|
|
59
|
+
return !context.toolCalls || context.toolCalls.length === 0;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Stop when generated text contains a pattern
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* import { textContains } from "@od-oneapp/ai-platform";
|
|
68
|
+
*
|
|
69
|
+
* const result = await generateText({
|
|
70
|
+
* model,
|
|
71
|
+
* prompt: "Think step by step and say DONE when finished",
|
|
72
|
+
* stopWhen: textContains(/\bDONE\b/i),
|
|
73
|
+
* });
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
function textContains(pattern) {
|
|
77
|
+
const regex = typeof pattern === "string" ? new RegExp(pattern) : pattern;
|
|
78
|
+
return (context) => {
|
|
79
|
+
if (!context.text) return false;
|
|
80
|
+
return regex.test(context.text);
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Stop when text matches exactly
|
|
85
|
+
*/
|
|
86
|
+
function textEquals(text) {
|
|
87
|
+
return (context) => {
|
|
88
|
+
return context.text?.trim() === text.trim();
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Stop when text ends with a specific suffix
|
|
93
|
+
*/
|
|
94
|
+
function textEndsWith(suffix) {
|
|
95
|
+
return (context) => {
|
|
96
|
+
return context.text?.trimEnd().endsWith(suffix) ?? false;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Stop when any condition is met (OR)
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```ts
|
|
104
|
+
* import { anyOf, hasToolCall, noToolCalls } from "@od-oneapp/ai-platform";
|
|
105
|
+
*
|
|
106
|
+
* const result = await generateText({
|
|
107
|
+
* model,
|
|
108
|
+
* prompt,
|
|
109
|
+
* stopWhen: anyOf(hasToolCall("complete"), noToolCalls()),
|
|
110
|
+
* });
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
function anyOf(...conditions) {
|
|
114
|
+
return async (context) => {
|
|
115
|
+
for (const condition of conditions) if (await condition(context)) return true;
|
|
116
|
+
return false;
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Stop when all conditions are met (AND)
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```ts
|
|
124
|
+
* import { allOf, stepCountIs, noToolCalls } from "@od-oneapp/ai-platform";
|
|
125
|
+
*
|
|
126
|
+
* const result = await generateText({
|
|
127
|
+
* model,
|
|
128
|
+
* prompt,
|
|
129
|
+
* stopWhen: allOf(stepCountIs(3), noToolCalls()),
|
|
130
|
+
* });
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
function allOf(...conditions) {
|
|
134
|
+
return async (context) => {
|
|
135
|
+
for (const condition of conditions) if (!await condition(context)) return false;
|
|
136
|
+
return true;
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Negate a condition
|
|
141
|
+
*/
|
|
142
|
+
function not(condition) {
|
|
143
|
+
return async (context) => {
|
|
144
|
+
return !await condition(context);
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Stop after a timeout (in milliseconds)
|
|
149
|
+
*/
|
|
150
|
+
function afterTimeout(timeoutMs) {
|
|
151
|
+
const startTime = Date.now();
|
|
152
|
+
return () => {
|
|
153
|
+
return Date.now() - startTime >= timeoutMs;
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Stop when a tool result contains specific data
|
|
158
|
+
*/
|
|
159
|
+
function toolResultContains(toolName, predicate) {
|
|
160
|
+
return (context) => {
|
|
161
|
+
if (!context.toolResults) return false;
|
|
162
|
+
return context.toolResults.some((result) => {
|
|
163
|
+
if (result.toolName !== toolName) return false;
|
|
164
|
+
return predicate("output" in result ? result.output : result.result);
|
|
165
|
+
});
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Stop when metadata matches a condition
|
|
170
|
+
*/
|
|
171
|
+
function whenMetadata(predicate) {
|
|
172
|
+
return (context) => {
|
|
173
|
+
return predicate(context.metadata || {});
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
//#endregion
|
|
178
|
+
export { noToolCalls as a, textContains as c, toolResultContains as d, whenMetadata as f, hasToolCall as i, textEndsWith as l, allOf as n, not as o, anyOf as r, stepCountIs as s, afterTimeout as t, textEquals as u };
|
|
179
|
+
//# sourceMappingURL=conditions-DmQ6Y1Wt.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conditions-DmQ6Y1Wt.mjs","names":[],"sources":["../src/sdk/stop-conditions/conditions.ts"],"sourcesContent":["/**\n * Predefined stop conditions for agentic loops\n *\n * These utilities align with Vercel AI SDK v6 stopWhen patterns\n */\n\nimport type { StopCondition, StopConditionContext } from './types';\n\n/**\n * Stop when step count reaches a threshold\n *\n * @example\n * ```ts\n * import { stepCountIs } from \"@od-oneapp/ai-platform\";\n *\n * const result = await generateText({\n * model,\n * prompt,\n * maxSteps: 10,\n * stopWhen: stepCountIs(5),\n * });\n * ```\n */\nexport function stepCountIs(count: number): StopCondition {\n return (context: StopConditionContext) => context.stepCount >= count;\n}\n\n/**\n * Stop when a specific tool is called\n *\n * @example\n * ```ts\n * import { hasToolCall } from \"@od-oneapp/ai-platform\";\n *\n * const result = await generateText({\n * model,\n * prompt,\n * tools: { submit, search, analyze },\n * stopWhen: hasToolCall(\"submit\"),\n * });\n * ```\n */\nexport function hasToolCall(toolName: string | string[]): StopCondition {\n const toolNames = Array.isArray(toolName) ? toolName : [toolName];\n\n return (context: StopConditionContext) => {\n if (!context.toolCalls) return false;\n return context.toolCalls.some(call => toolNames.includes(call.toolName));\n };\n}\n\n/**\n * Stop when no tools are called (model finished reasoning)\n *\n * @example\n * ```ts\n * import { noToolCalls } from \"@od-oneapp/ai-platform\";\n *\n * const result = await generateText({\n * model,\n * prompt,\n * tools: { search, analyze },\n * stopWhen: noToolCalls(),\n * });\n * ```\n */\nexport function noToolCalls(): StopCondition {\n return (context: StopConditionContext) => {\n return !context.toolCalls || context.toolCalls.length === 0;\n };\n}\n\n/**\n * Stop when generated text contains a pattern\n *\n * @example\n * ```ts\n * import { textContains } from \"@od-oneapp/ai-platform\";\n *\n * const result = await generateText({\n * model,\n * prompt: \"Think step by step and say DONE when finished\",\n * stopWhen: textContains(/\\bDONE\\b/i),\n * });\n * ```\n */\nexport function textContains(pattern: RegExp | string): StopCondition {\n const regex = typeof pattern === 'string' ? new RegExp(pattern) : pattern;\n\n return (context: StopConditionContext) => {\n if (!context.text) return false;\n return regex.test(context.text);\n };\n}\n\n/**\n * Stop when text matches exactly\n */\nexport function textEquals(text: string): StopCondition {\n return (context: StopConditionContext) => {\n return context.text?.trim() === text.trim();\n };\n}\n\n/**\n * Stop when text ends with a specific suffix\n */\nexport function textEndsWith(suffix: string): StopCondition {\n return (context: StopConditionContext) => {\n return context.text?.trimEnd().endsWith(suffix) ?? false;\n };\n}\n\n/**\n * Stop when any condition is met (OR)\n *\n * @example\n * ```ts\n * import { anyOf, hasToolCall, noToolCalls } from \"@od-oneapp/ai-platform\";\n *\n * const result = await generateText({\n * model,\n * prompt,\n * stopWhen: anyOf(hasToolCall(\"complete\"), noToolCalls()),\n * });\n * ```\n */\nexport function anyOf(...conditions: StopCondition[]): StopCondition {\n return async (context: StopConditionContext) => {\n for (const condition of conditions) {\n const result = await condition(context);\n if (result) return true;\n }\n return false;\n };\n}\n\n/**\n * Stop when all conditions are met (AND)\n *\n * @example\n * ```ts\n * import { allOf, stepCountIs, noToolCalls } from \"@od-oneapp/ai-platform\";\n *\n * const result = await generateText({\n * model,\n * prompt,\n * stopWhen: allOf(stepCountIs(3), noToolCalls()),\n * });\n * ```\n */\nexport function allOf(...conditions: StopCondition[]): StopCondition {\n return async (context: StopConditionContext) => {\n for (const condition of conditions) {\n const result = await condition(context);\n if (!result) return false;\n }\n return true;\n };\n}\n\n/**\n * Negate a condition\n */\nexport function not(condition: StopCondition): StopCondition {\n return async (context: StopConditionContext) => {\n return !(await condition(context));\n };\n}\n\n/**\n * Stop after a timeout (in milliseconds)\n */\nexport function afterTimeout(timeoutMs: number): StopCondition {\n const startTime = Date.now();\n\n return () => {\n return Date.now() - startTime >= timeoutMs;\n };\n}\n\n/**\n * Stop when a tool result contains specific data\n */\nexport function toolResultContains(\n toolName: string,\n predicate: (result: unknown) => boolean,\n): StopCondition {\n return (context: StopConditionContext) => {\n if (!context.toolResults) return false;\n\n return context.toolResults.some(result => {\n if (result.toolName !== toolName) return false;\n const payload = 'output' in result ? result.output : (result as { result?: unknown }).result;\n return predicate(payload);\n });\n };\n}\n\n/**\n * Stop when metadata matches a condition\n */\nexport function whenMetadata(\n predicate: (metadata: Record<string, unknown>) => boolean,\n): StopCondition {\n return (context: StopConditionContext) => {\n return predicate(context.metadata || {});\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAuBA,SAAgB,YAAY,OAA8B;AACxD,SAAQ,YAAkC,QAAQ,aAAa;;;;;;;;;;;;;;;;;AAkBjE,SAAgB,YAAY,UAA4C;CACtE,MAAM,YAAY,MAAM,QAAQ,SAAS,GAAG,WAAW,CAAC,SAAS;AAEjE,SAAQ,YAAkC;AACxC,MAAI,CAAC,QAAQ,UAAW,QAAO;AAC/B,SAAO,QAAQ,UAAU,MAAK,SAAQ,UAAU,SAAS,KAAK,SAAS,CAAC;;;;;;;;;;;;;;;;;;AAmB5E,SAAgB,cAA6B;AAC3C,SAAQ,YAAkC;AACxC,SAAO,CAAC,QAAQ,aAAa,QAAQ,UAAU,WAAW;;;;;;;;;;;;;;;;;AAkB9D,SAAgB,aAAa,SAAyC;CACpE,MAAM,QAAQ,OAAO,YAAY,WAAW,IAAI,OAAO,QAAQ,GAAG;AAElE,SAAQ,YAAkC;AACxC,MAAI,CAAC,QAAQ,KAAM,QAAO;AAC1B,SAAO,MAAM,KAAK,QAAQ,KAAK;;;;;;AAOnC,SAAgB,WAAW,MAA6B;AACtD,SAAQ,YAAkC;AACxC,SAAO,QAAQ,MAAM,MAAM,KAAK,KAAK,MAAM;;;;;;AAO/C,SAAgB,aAAa,QAA+B;AAC1D,SAAQ,YAAkC;AACxC,SAAO,QAAQ,MAAM,SAAS,CAAC,SAAS,OAAO,IAAI;;;;;;;;;;;;;;;;;AAkBvD,SAAgB,MAAM,GAAG,YAA4C;AACnE,QAAO,OAAO,YAAkC;AAC9C,OAAK,MAAM,aAAa,WAEtB,KADe,MAAM,UAAU,QAAQ,CAC3B,QAAO;AAErB,SAAO;;;;;;;;;;;;;;;;;AAkBX,SAAgB,MAAM,GAAG,YAA4C;AACnE,QAAO,OAAO,YAAkC;AAC9C,OAAK,MAAM,aAAa,WAEtB,KAAI,CADW,MAAM,UAAU,QAAQ,CAC1B,QAAO;AAEtB,SAAO;;;;;;AAOX,SAAgB,IAAI,WAAyC;AAC3D,QAAO,OAAO,YAAkC;AAC9C,SAAO,CAAE,MAAM,UAAU,QAAQ;;;;;;AAOrC,SAAgB,aAAa,WAAkC;CAC7D,MAAM,YAAY,KAAK,KAAK;AAE5B,cAAa;AACX,SAAO,KAAK,KAAK,GAAG,aAAa;;;;;;AAOrC,SAAgB,mBACd,UACA,WACe;AACf,SAAQ,YAAkC;AACxC,MAAI,CAAC,QAAQ,YAAa,QAAO;AAEjC,SAAO,QAAQ,YAAY,MAAK,WAAU;AACxC,OAAI,OAAO,aAAa,SAAU,QAAO;AAEzC,UAAO,UADS,YAAY,SAAS,OAAO,SAAU,OAAgC,OAC7D;IACzB;;;;;;AAON,SAAgB,aACd,WACe;AACf,SAAQ,YAAkC;AACxC,SAAO,UAAU,QAAQ,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Zi as SDKToolCallPart, la as SDKToolResultPart } from "./ai-runtime-DIwOEc6g.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/sdk/stop-conditions/types.d.ts
|
|
4
|
+
interface StopConditionContext {
|
|
5
|
+
stepCount: number;
|
|
6
|
+
maxSteps: number;
|
|
7
|
+
toolCalls?: SDKToolCallPart[];
|
|
8
|
+
toolResults?: SDKToolResultPart[];
|
|
9
|
+
text?: string;
|
|
10
|
+
response?: unknown;
|
|
11
|
+
metadata?: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
type StopCondition = (context: StopConditionContext) => boolean | Promise<boolean>;
|
|
14
|
+
interface StopConditionResult {
|
|
15
|
+
shouldStop: boolean;
|
|
16
|
+
reason?: string;
|
|
17
|
+
condition?: string;
|
|
18
|
+
}
|
|
19
|
+
interface StopConditionOptions {
|
|
20
|
+
maxSteps?: number;
|
|
21
|
+
stopOnToolCall?: string | string[];
|
|
22
|
+
stopOnNoToolCalls?: boolean;
|
|
23
|
+
stopOnTextPattern?: RegExp | string;
|
|
24
|
+
customConditions?: StopCondition[];
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/sdk/stop-conditions/conditions.d.ts
|
|
28
|
+
declare function stepCountIs(count: number): StopCondition;
|
|
29
|
+
declare function hasToolCall(toolName: string | string[]): StopCondition;
|
|
30
|
+
declare function noToolCalls(): StopCondition;
|
|
31
|
+
declare function textContains(pattern: RegExp | string): StopCondition;
|
|
32
|
+
declare function textEquals(text: string): StopCondition;
|
|
33
|
+
declare function textEndsWith(suffix: string): StopCondition;
|
|
34
|
+
declare function anyOf(...conditions: StopCondition[]): StopCondition;
|
|
35
|
+
declare function allOf(...conditions: StopCondition[]): StopCondition;
|
|
36
|
+
declare function not(condition: StopCondition): StopCondition;
|
|
37
|
+
declare function afterTimeout(timeoutMs: number): StopCondition;
|
|
38
|
+
declare function toolResultContains(toolName: string, predicate: (result: unknown) => boolean): StopCondition;
|
|
39
|
+
declare function whenMetadata(predicate: (metadata: Record<string, unknown>) => boolean): StopCondition;
|
|
40
|
+
//#endregion
|
|
41
|
+
export { noToolCalls as a, textContains as c, toolResultContains as d, whenMetadata as f, StopConditionResult as g, StopConditionOptions as h, hasToolCall as i, textEndsWith as l, StopConditionContext as m, allOf as n, not as o, StopCondition as p, anyOf as r, stepCountIs as s, afterTimeout as t, textEquals as u };
|
|
42
|
+
//# sourceMappingURL=conditions-zDrKfrc3.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conditions-zDrKfrc3.d.mts","names":[],"sources":["../src/sdk/stop-conditions/types.ts","../src/sdk/stop-conditions/conditions.ts"],"mappings":";;;UASiB,oBAAA;EAEf,SAAA;EAEA,QAAA;EAEA,SAAA,GAAY,eAAA;EAEZ,WAAA,GAAc,iBAAA;EAEd,IAAA;EAEA,QAAA;EAEA,QAAA,GAAW,MAAA;AAAA;AAAA,KAOD,aAAA,IAAiB,OAAA,EAAS,oBAAA,eAAmC,OAAA;AAAA,UAKxD,mBAAA;EAEf,UAAA;EAEA,MAAA;EAEA,SAAA;AAAA;AAAA,UAMe,oBAAA;EAEf,QAAA;EAEA,cAAA;EAEA,iBAAA;EAEA,iBAAA,GAAoB,MAAA;EAEpB,gBAAA,GAAmB,aAAA;AAAA;;;iBClCL,WAAA,CAAY,KAAA,WAAgB,aAAA;AAAA,iBAmB5B,WAAA,CAAY,QAAA,sBAA8B,aAAA;AAAA,iBAwB1C,WAAA,CAAA,GAAe,aAAA;AAAA,iBAoBf,YAAA,CAAa,OAAA,EAAS,MAAA,YAAkB,aAAA;AAAA,iBAYxC,UAAA,CAAW,IAAA,WAAe,aAAA;AAAA,iBAS1B,YAAA,CAAa,MAAA,WAAiB,aAAA;AAAA,iBAoB9B,KAAA,CAAA,GAAS,UAAA,EAAY,aAAA,KAAkB,aAAA;AAAA,iBAwBvC,KAAA,CAAA,GAAS,UAAA,EAAY,aAAA,KAAkB,aAAA;AAAA,iBAavC,GAAA,CAAI,SAAA,EAAW,aAAA,GAAgB,aAAA;AAAA,iBAS/B,YAAA,CAAa,SAAA,WAAoB,aAAA;AAAA,iBAWjC,kBAAA,CACd,QAAA,UACA,SAAA,GAAY,MAAA,wBACX,aAAA;AAAA,iBAea,YAAA,CACd,SAAA,GAAY,QAAA,EAAU,MAAA,gCACrB,aAAA"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { logError, logInfo } from "@od-oneapp/shared/logs";
|
|
3
|
+
|
|
4
|
+
//#region src/observability/tracing/otel/ai-instrumentation.ts
|
|
5
|
+
/**
|
|
6
|
+
* AI instrumentation for OpenTelemetry
|
|
7
|
+
* Compatible with Vercel AI SDK's experimental_telemetry
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Global trace context (AsyncLocalStorage would be better in production)
|
|
11
|
+
*/
|
|
12
|
+
let currentContext = null;
|
|
13
|
+
const getUsageTotal = (value) => {
|
|
14
|
+
if (typeof value === "number") return value;
|
|
15
|
+
if (value && typeof value === "object" && "total" in value) {
|
|
16
|
+
const { total } = value;
|
|
17
|
+
return typeof total === "number" ? total : 0;
|
|
18
|
+
}
|
|
19
|
+
return 0;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Generate a random hex string for IDs
|
|
23
|
+
*/
|
|
24
|
+
function generateId(length) {
|
|
25
|
+
return randomUUID().replace(/-/g, "").slice(0, length);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get or create trace context
|
|
29
|
+
*/
|
|
30
|
+
function getTraceContext() {
|
|
31
|
+
if (!currentContext) currentContext = {
|
|
32
|
+
traceId: generateId(32),
|
|
33
|
+
spanId: generateId(16)
|
|
34
|
+
};
|
|
35
|
+
return currentContext;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Set trace context (for propagation from headers)
|
|
39
|
+
*/
|
|
40
|
+
function setTraceContext(context) {
|
|
41
|
+
currentContext = context;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Create a new span
|
|
45
|
+
*/
|
|
46
|
+
function createSpan(name, attributes = {}) {
|
|
47
|
+
const context = getTraceContext();
|
|
48
|
+
const parentSpanId = context.spanId;
|
|
49
|
+
const spanId = generateId(16);
|
|
50
|
+
currentContext = {
|
|
51
|
+
...context,
|
|
52
|
+
spanId
|
|
53
|
+
};
|
|
54
|
+
return {
|
|
55
|
+
spanId,
|
|
56
|
+
parentSpanId,
|
|
57
|
+
traceId: context.traceId,
|
|
58
|
+
name,
|
|
59
|
+
startTime: Date.now(),
|
|
60
|
+
endTime: 0,
|
|
61
|
+
status: "ok",
|
|
62
|
+
attributes
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* End a span and export it
|
|
67
|
+
*/
|
|
68
|
+
async function endSpan(span, config, error) {
|
|
69
|
+
span.endTime = Date.now();
|
|
70
|
+
if (error) {
|
|
71
|
+
span.status = "error";
|
|
72
|
+
span.error = error.message;
|
|
73
|
+
}
|
|
74
|
+
if (config.sampleRate !== void 0 && Math.random() > config.sampleRate) return;
|
|
75
|
+
await Promise.all(config.exporters.map((exporter) => Promise.resolve().then(() => exporter.exportSpan(span)).catch((err) => logError(`[Tracing] Export error (${exporter.name})`, { error: err instanceof Error ? err : new Error(String(err)) }))));
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Setup AI instrumentation
|
|
79
|
+
* Returns telemetry config compatible with Vercel AI SDK
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```ts
|
|
83
|
+
* import { experimental_telemetry } from "ai";
|
|
84
|
+
*
|
|
85
|
+
* const telemetry = await setupAIInstrumentation({
|
|
86
|
+
* serviceName: "my-ai-app",
|
|
87
|
+
* exporters: [langfuseExporter, axiomExporter],
|
|
88
|
+
* sampleRate: 1.0,
|
|
89
|
+
* });
|
|
90
|
+
*
|
|
91
|
+
* const result = await generateText({
|
|
92
|
+
* model: anthropic("claude-sonnet-4-20250514"),
|
|
93
|
+
* prompt: "Hello",
|
|
94
|
+
* experimental_telemetry: telemetry,
|
|
95
|
+
* });
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
async function setupAIInstrumentation(config) {
|
|
99
|
+
try {
|
|
100
|
+
await Promise.all(config.exporters.map((e) => e.init()));
|
|
101
|
+
} catch (err) {
|
|
102
|
+
logError("[Tracing] Exporter init error", { error: err instanceof Error ? err : new Error(String(err)) });
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
isEnabled: true,
|
|
106
|
+
functionId: config.serviceName,
|
|
107
|
+
metadata: { serviceName: config.serviceName },
|
|
108
|
+
recordInputs: config.recordContent ?? false,
|
|
109
|
+
recordOutputs: config.recordContent ?? false
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Create instrumentation middleware for AI SDK
|
|
114
|
+
*/
|
|
115
|
+
function createTracingMiddleware(config) {
|
|
116
|
+
return {
|
|
117
|
+
specificationVersion: "v3",
|
|
118
|
+
wrapGenerate: async ({ doGenerate, params }) => {
|
|
119
|
+
const span = createSpan("ai.generate", {
|
|
120
|
+
"gen_ai.request.model": params.model,
|
|
121
|
+
"gen_ai.request.temperature": params.temperature,
|
|
122
|
+
"gen_ai.request.max_tokens": params.maxOutputTokens
|
|
123
|
+
});
|
|
124
|
+
try {
|
|
125
|
+
const result = await doGenerate();
|
|
126
|
+
const inputTokens = getUsageTotal(result.usage?.inputTokens);
|
|
127
|
+
const outputTokens = getUsageTotal(result.usage?.outputTokens);
|
|
128
|
+
if (inputTokens > 0) span.attributes["gen_ai.usage.input_tokens"] = inputTokens;
|
|
129
|
+
if (outputTokens > 0) span.attributes["gen_ai.usage.output_tokens"] = outputTokens;
|
|
130
|
+
if (result.finishReason !== void 0) span.attributes["gen_ai.response.finish_reasons"] = [String(result.finishReason)];
|
|
131
|
+
await endSpan(span, config);
|
|
132
|
+
return result;
|
|
133
|
+
} catch (error) {
|
|
134
|
+
await endSpan(span, config, error);
|
|
135
|
+
throw error;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
//#endregion
|
|
142
|
+
//#region src/observability/tracing/otel/exporters/console.ts
|
|
143
|
+
/**
|
|
144
|
+
* Console exporter for development and debugging
|
|
145
|
+
*/
|
|
146
|
+
/**
|
|
147
|
+
* Console exporter - logs spans to console
|
|
148
|
+
* Useful for development and debugging
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```ts
|
|
152
|
+
* const exporter = new ConsoleExporter({ pretty: true });
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
var ConsoleExporter = class {
|
|
156
|
+
name = "console";
|
|
157
|
+
pretty;
|
|
158
|
+
constructor(options = {}) {
|
|
159
|
+
this.pretty = options.pretty ?? true;
|
|
160
|
+
}
|
|
161
|
+
async init() {
|
|
162
|
+
logInfo("[ConsoleExporter] Initialized");
|
|
163
|
+
}
|
|
164
|
+
async exportSpan(span) {
|
|
165
|
+
const duration = span.endTime - span.startTime;
|
|
166
|
+
if (this.pretty) {
|
|
167
|
+
logInfo(`[Span] ${span.name} (${duration}ms) ${span.status === "error" ? "❌" : "✓"}`);
|
|
168
|
+
if (span.attributes["gen_ai.request.model"]) logInfo(` Model: ${span.attributes["gen_ai.request.model"]}`);
|
|
169
|
+
if (span.attributes["gen_ai.usage.input_tokens"]) logInfo(` Tokens: ${span.attributes["gen_ai.usage.input_tokens"]} in / ${span.attributes["gen_ai.usage.output_tokens"]} out`);
|
|
170
|
+
if (span.error) logInfo(` Error: ${span.error}`);
|
|
171
|
+
} else logInfo(JSON.stringify(span));
|
|
172
|
+
}
|
|
173
|
+
async flush() {}
|
|
174
|
+
async shutdown() {
|
|
175
|
+
logInfo("[ConsoleExporter] Shutdown");
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
//#endregion
|
|
180
|
+
export { getTraceContext as a, endSpan as i, createSpan as n, setTraceContext as o, createTracingMiddleware as r, setupAIInstrumentation as s, ConsoleExporter as t };
|
|
181
|
+
//# sourceMappingURL=console-BGMxxPZN.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-BGMxxPZN.mjs","names":[],"sources":["../src/observability/tracing/otel/ai-instrumentation.ts","../src/observability/tracing/otel/exporters/console.ts"],"sourcesContent":["/**\n * AI instrumentation for OpenTelemetry\n * Compatible with Vercel AI SDK's experimental_telemetry\n */\n\nimport { randomUUID } from 'node:crypto';\n\nimport { logError } from '@repo/shared/logs';\n\nimport type { WrapGenerateArgs } from '../../../sdk/middleware/model-middleware';\nimport type { SDKLanguageModelV3Middleware } from '../../../shared';\nimport type { AIInstrumentationConfig, AISpan, AISpanAttributes, TraceContext } from '../types';\n\n/**\n * Global trace context (AsyncLocalStorage would be better in production)\n */\nlet currentContext: TraceContext | null = null;\n\nconst getUsageTotal = (value: unknown): number => {\n if (typeof value === 'number') return value;\n if (value && typeof value === 'object' && 'total' in value) {\n const { total } = value as { total?: unknown };\n return typeof total === 'number' ? total : 0;\n }\n return 0;\n};\n\n/**\n * Generate a random hex string for IDs\n */\nfunction generateId(length: number): string {\n return randomUUID().replace(/-/g, '').slice(0, length);\n}\n\n/**\n * Get or create trace context\n */\nexport function getTraceContext(): TraceContext {\n if (!currentContext) {\n currentContext = {\n traceId: generateId(32),\n spanId: generateId(16),\n };\n }\n return currentContext;\n}\n\n/**\n * Set trace context (for propagation from headers)\n */\nexport function setTraceContext(context: TraceContext): void {\n currentContext = context;\n}\n\n/**\n * Create a new span\n */\nexport function createSpan(name: string, attributes: Record<string, unknown> = {}): AISpan {\n const context = getTraceContext();\n const parentSpanId = context.spanId;\n\n // Update current context with new span\n const spanId = generateId(16);\n currentContext = { ...context, spanId };\n\n return {\n spanId,\n parentSpanId,\n traceId: context.traceId,\n name,\n startTime: Date.now(),\n endTime: 0,\n status: 'ok',\n attributes: attributes as AISpanAttributes,\n };\n}\n\n/**\n * End a span and export it\n */\nexport async function endSpan(\n span: AISpan,\n config: AIInstrumentationConfig,\n error?: Error,\n): Promise<void> {\n span.endTime = Date.now();\n\n if (error) {\n span.status = 'error';\n span.error = error.message;\n }\n\n // Sample check\n if (config.sampleRate !== undefined && Math.random() > config.sampleRate) {\n return;\n }\n\n // Export to all exporters\n await Promise.all(\n config.exporters.map(exporter =>\n Promise.resolve()\n .then(() => exporter.exportSpan(span))\n .catch(err =>\n logError(`[Tracing] Export error (${exporter.name})`, {\n error: err instanceof Error ? err : new Error(String(err)),\n }),\n ),\n ),\n );\n}\n\n/**\n * Setup AI instrumentation\n * Returns telemetry config compatible with Vercel AI SDK\n *\n * @example\n * ```ts\n * import { experimental_telemetry } from \"ai\";\n *\n * const telemetry = await setupAIInstrumentation({\n * serviceName: \"my-ai-app\",\n * exporters: [langfuseExporter, axiomExporter],\n * sampleRate: 1.0,\n * });\n *\n * const result = await generateText({\n * model: anthropic(\"claude-sonnet-4-20250514\"),\n * prompt: \"Hello\",\n * experimental_telemetry: telemetry,\n * });\n * ```\n */\nexport async function setupAIInstrumentation(config: AIInstrumentationConfig) {\n // Initialize all exporters\n try {\n await Promise.all(config.exporters.map(e => e.init()));\n } catch (err) {\n logError('[Tracing] Exporter init error', {\n error: err instanceof Error ? err : new Error(String(err)),\n });\n // Continue with degraded config - initialization failures are logged but don't block setup\n }\n\n return {\n isEnabled: true,\n functionId: config.serviceName,\n metadata: {\n serviceName: config.serviceName,\n },\n recordInputs: config.recordContent ?? false,\n recordOutputs: config.recordContent ?? false,\n };\n}\n\n/**\n * Create instrumentation middleware for AI SDK\n */\nexport function createTracingMiddleware(\n config: AIInstrumentationConfig,\n): SDKLanguageModelV3Middleware {\n return {\n specificationVersion: 'v3',\n wrapGenerate: async ({ doGenerate, params }: WrapGenerateArgs) => {\n const span = createSpan('ai.generate', {\n 'gen_ai.request.model': (params as Record<string, unknown>).model,\n 'gen_ai.request.temperature': (params as Record<string, unknown>).temperature,\n 'gen_ai.request.max_tokens': (params as Record<string, unknown>).maxOutputTokens,\n });\n\n try {\n const result = await doGenerate();\n\n const inputTokens = getUsageTotal(result.usage?.inputTokens);\n const outputTokens = getUsageTotal(result.usage?.outputTokens);\n if (inputTokens > 0) {\n span.attributes['gen_ai.usage.input_tokens'] = inputTokens;\n }\n if (outputTokens > 0) {\n span.attributes['gen_ai.usage.output_tokens'] = outputTokens;\n }\n if (result.finishReason !== undefined) {\n span.attributes['gen_ai.response.finish_reasons'] = [String(result.finishReason)];\n }\n\n await endSpan(span, config);\n return result;\n } catch (error) {\n await endSpan(span, config, error as Error);\n throw error;\n }\n },\n };\n}\n","/**\n * Console exporter for development and debugging\n */\n\nimport { logInfo } from '@repo/shared/logs';\n\nimport type { TelemetryExporter, AISpan } from '../../types';\n\n/**\n * Console exporter - logs spans to console\n * Useful for development and debugging\n *\n * @example\n * ```ts\n * const exporter = new ConsoleExporter({ pretty: true });\n * ```\n */\nexport class ConsoleExporter implements TelemetryExporter {\n name = 'console';\n private pretty: boolean;\n\n constructor(options: { pretty?: boolean } = {}) {\n this.pretty = options.pretty ?? true;\n }\n\n async init(): Promise<void> {\n logInfo('[ConsoleExporter] Initialized');\n }\n\n async exportSpan(span: AISpan): Promise<void> {\n const duration = span.endTime - span.startTime;\n\n if (this.pretty) {\n logInfo(`[Span] ${span.name} (${duration}ms) ${span.status === 'error' ? '❌' : '✓'}`);\n if (span.attributes['gen_ai.request.model']) {\n logInfo(` Model: ${span.attributes['gen_ai.request.model']}`);\n }\n if (span.attributes['gen_ai.usage.input_tokens']) {\n logInfo(\n ` Tokens: ${span.attributes['gen_ai.usage.input_tokens']} in / ${span.attributes['gen_ai.usage.output_tokens']} out`,\n );\n }\n if (span.error) {\n logInfo(` Error: ${span.error}`);\n }\n } else {\n logInfo(JSON.stringify(span));\n }\n }\n\n async flush(): Promise<void> {\n // Console doesn't buffer\n }\n\n async shutdown(): Promise<void> {\n logInfo('[ConsoleExporter] Shutdown');\n }\n}\n"],"mappings":";;;;;;;;;;;AAgBA,IAAI,iBAAsC;AAE1C,MAAM,iBAAiB,UAA2B;AAChD,KAAI,OAAO,UAAU,SAAU,QAAO;AACtC,KAAI,SAAS,OAAO,UAAU,YAAY,WAAW,OAAO;EAC1D,MAAM,EAAE,UAAU;AAClB,SAAO,OAAO,UAAU,WAAW,QAAQ;;AAE7C,QAAO;;;;;AAMT,SAAS,WAAW,QAAwB;AAC1C,QAAO,YAAY,CAAC,QAAQ,MAAM,GAAG,CAAC,MAAM,GAAG,OAAO;;;;;AAMxD,SAAgB,kBAAgC;AAC9C,KAAI,CAAC,eACH,kBAAiB;EACf,SAAS,WAAW,GAAG;EACvB,QAAQ,WAAW,GAAG;EACvB;AAEH,QAAO;;;;;AAMT,SAAgB,gBAAgB,SAA6B;AAC3D,kBAAiB;;;;;AAMnB,SAAgB,WAAW,MAAc,aAAsC,EAAE,EAAU;CACzF,MAAM,UAAU,iBAAiB;CACjC,MAAM,eAAe,QAAQ;CAG7B,MAAM,SAAS,WAAW,GAAG;AAC7B,kBAAiB;EAAE,GAAG;EAAS;EAAQ;AAEvC,QAAO;EACL;EACA;EACA,SAAS,QAAQ;EACjB;EACA,WAAW,KAAK,KAAK;EACrB,SAAS;EACT,QAAQ;EACI;EACb;;;;;AAMH,eAAsB,QACpB,MACA,QACA,OACe;AACf,MAAK,UAAU,KAAK,KAAK;AAEzB,KAAI,OAAO;AACT,OAAK,SAAS;AACd,OAAK,QAAQ,MAAM;;AAIrB,KAAI,OAAO,eAAe,UAAa,KAAK,QAAQ,GAAG,OAAO,WAC5D;AAIF,OAAM,QAAQ,IACZ,OAAO,UAAU,KAAI,aACnB,QAAQ,SAAS,CACd,WAAW,SAAS,WAAW,KAAK,CAAC,CACrC,OAAM,QACL,SAAS,2BAA2B,SAAS,KAAK,IAAI,EACpD,OAAO,eAAe,QAAQ,MAAM,IAAI,MAAM,OAAO,IAAI,CAAC,EAC3D,CAAC,CACH,CACJ,CACF;;;;;;;;;;;;;;;;;;;;;;;AAwBH,eAAsB,uBAAuB,QAAiC;AAE5E,KAAI;AACF,QAAM,QAAQ,IAAI,OAAO,UAAU,KAAI,MAAK,EAAE,MAAM,CAAC,CAAC;UAC/C,KAAK;AACZ,WAAS,iCAAiC,EACxC,OAAO,eAAe,QAAQ,MAAM,IAAI,MAAM,OAAO,IAAI,CAAC,EAC3D,CAAC;;AAIJ,QAAO;EACL,WAAW;EACX,YAAY,OAAO;EACnB,UAAU,EACR,aAAa,OAAO,aACrB;EACD,cAAc,OAAO,iBAAiB;EACtC,eAAe,OAAO,iBAAiB;EACxC;;;;;AAMH,SAAgB,wBACd,QAC8B;AAC9B,QAAO;EACL,sBAAsB;EACtB,cAAc,OAAO,EAAE,YAAY,aAA+B;GAChE,MAAM,OAAO,WAAW,eAAe;IACrC,wBAAyB,OAAmC;IAC5D,8BAA+B,OAAmC;IAClE,6BAA8B,OAAmC;IAClE,CAAC;AAEF,OAAI;IACF,MAAM,SAAS,MAAM,YAAY;IAEjC,MAAM,cAAc,cAAc,OAAO,OAAO,YAAY;IAC5D,MAAM,eAAe,cAAc,OAAO,OAAO,aAAa;AAC9D,QAAI,cAAc,EAChB,MAAK,WAAW,+BAA+B;AAEjD,QAAI,eAAe,EACjB,MAAK,WAAW,gCAAgC;AAElD,QAAI,OAAO,iBAAiB,OAC1B,MAAK,WAAW,oCAAoC,CAAC,OAAO,OAAO,aAAa,CAAC;AAGnF,UAAM,QAAQ,MAAM,OAAO;AAC3B,WAAO;YACA,OAAO;AACd,UAAM,QAAQ,MAAM,QAAQ,MAAe;AAC3C,UAAM;;;EAGX;;;;;;;;;;;;;;;;;AC9KH,IAAa,kBAAb,MAA0D;CACxD,OAAO;CACP,AAAQ;CAER,YAAY,UAAgC,EAAE,EAAE;AAC9C,OAAK,SAAS,QAAQ,UAAU;;CAGlC,MAAM,OAAsB;AAC1B,UAAQ,gCAAgC;;CAG1C,MAAM,WAAW,MAA6B;EAC5C,MAAM,WAAW,KAAK,UAAU,KAAK;AAErC,MAAI,KAAK,QAAQ;AACf,WAAQ,UAAU,KAAK,KAAK,IAAI,SAAS,MAAM,KAAK,WAAW,UAAU,MAAM,MAAM;AACrF,OAAI,KAAK,WAAW,wBAClB,SAAQ,YAAY,KAAK,WAAW,0BAA0B;AAEhE,OAAI,KAAK,WAAW,6BAClB,SACE,aAAa,KAAK,WAAW,6BAA6B,QAAQ,KAAK,WAAW,8BAA8B,MACjH;AAEH,OAAI,KAAK,MACP,SAAQ,YAAY,KAAK,QAAQ;QAGnC,SAAQ,KAAK,UAAU,KAAK,CAAC;;CAIjC,MAAM,QAAuB;CAI7B,MAAM,WAA0B;AAC9B,UAAQ,6BAA6B"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Ur as SDKLanguageModelV3Middleware } from "./ai-runtime-DIwOEc6g.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/observability/tracing/types.d.ts
|
|
4
|
+
interface TelemetryExporter {
|
|
5
|
+
name: string;
|
|
6
|
+
init(): Promise<void>;
|
|
7
|
+
exportSpan(span: AISpan): Promise<void>;
|
|
8
|
+
flush(): Promise<void>;
|
|
9
|
+
shutdown(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
interface AISpan {
|
|
12
|
+
spanId: string;
|
|
13
|
+
parentSpanId?: string;
|
|
14
|
+
traceId: string;
|
|
15
|
+
name: string;
|
|
16
|
+
startTime: number;
|
|
17
|
+
endTime: number;
|
|
18
|
+
status: 'ok' | 'error';
|
|
19
|
+
error?: string;
|
|
20
|
+
attributes: AISpanAttributes;
|
|
21
|
+
}
|
|
22
|
+
interface AISpanAttributes {
|
|
23
|
+
'gen_ai.request.model'?: string;
|
|
24
|
+
'gen_ai.system'?: string;
|
|
25
|
+
'gen_ai.usage.input_tokens'?: number;
|
|
26
|
+
'gen_ai.usage.output_tokens'?: number;
|
|
27
|
+
'gen_ai.request.temperature'?: number;
|
|
28
|
+
'gen_ai.request.max_tokens'?: number;
|
|
29
|
+
'gen_ai.response.finish_reasons'?: string[];
|
|
30
|
+
'user.id'?: string;
|
|
31
|
+
'session.id'?: string;
|
|
32
|
+
[key: string]: unknown;
|
|
33
|
+
}
|
|
34
|
+
interface TraceContext {
|
|
35
|
+
traceId: string;
|
|
36
|
+
spanId: string;
|
|
37
|
+
traceFlags?: number;
|
|
38
|
+
}
|
|
39
|
+
interface AIInstrumentationConfig {
|
|
40
|
+
serviceName: string;
|
|
41
|
+
exporters: TelemetryExporter[];
|
|
42
|
+
sampleRate?: number;
|
|
43
|
+
recordContent?: boolean;
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/observability/tracing/otel/ai-instrumentation.d.ts
|
|
47
|
+
declare function getTraceContext(): TraceContext;
|
|
48
|
+
declare function setTraceContext(context: TraceContext): void;
|
|
49
|
+
declare function createSpan(name: string, attributes?: Record<string, unknown>): AISpan;
|
|
50
|
+
declare function endSpan(span: AISpan, config: AIInstrumentationConfig, error?: Error): Promise<void>;
|
|
51
|
+
declare function setupAIInstrumentation(config: AIInstrumentationConfig): Promise<{
|
|
52
|
+
isEnabled: boolean;
|
|
53
|
+
functionId: string;
|
|
54
|
+
metadata: {
|
|
55
|
+
serviceName: string;
|
|
56
|
+
};
|
|
57
|
+
recordInputs: boolean;
|
|
58
|
+
recordOutputs: boolean;
|
|
59
|
+
}>;
|
|
60
|
+
declare function createTracingMiddleware(config: AIInstrumentationConfig): SDKLanguageModelV3Middleware;
|
|
61
|
+
//#endregion
|
|
62
|
+
//#region src/observability/tracing/otel/exporters/console.d.ts
|
|
63
|
+
declare class ConsoleExporter implements TelemetryExporter {
|
|
64
|
+
name: string;
|
|
65
|
+
private pretty;
|
|
66
|
+
constructor(options?: {
|
|
67
|
+
pretty?: boolean;
|
|
68
|
+
});
|
|
69
|
+
init(): Promise<void>;
|
|
70
|
+
exportSpan(span: AISpan): Promise<void>;
|
|
71
|
+
flush(): Promise<void>;
|
|
72
|
+
shutdown(): Promise<void>;
|
|
73
|
+
}
|
|
74
|
+
//#endregion
|
|
75
|
+
export { getTraceContext as a, AIInstrumentationConfig as c, TelemetryExporter as d, TraceContext as f, endSpan as i, AISpan as l, createSpan as n, setTraceContext as o, createTracingMiddleware as r, setupAIInstrumentation as s, ConsoleExporter as t, AISpanAttributes as u };
|
|
76
|
+
//# sourceMappingURL=console-DqEqZd4A.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-DqEqZd4A.d.mts","names":[],"sources":["../src/observability/tracing/types.ts","../src/observability/tracing/otel/ai-instrumentation.ts","../src/observability/tracing/otel/exporters/console.ts"],"mappings":";;;UAOiB,iBAAA;EAEf,IAAA;EAEA,IAAA,IAAQ,OAAA;EAER,UAAA,CAAW,IAAA,EAAM,MAAA,GAAS,OAAA;EAE1B,KAAA,IAAS,OAAA;EAET,QAAA,IAAY,OAAA;AAAA;AAAA,UAMG,MAAA;EAEf,MAAA;EAEA,YAAA;EAEA,OAAA;EAEA,IAAA;EAEA,SAAA;EAEA,OAAA;EAEA,MAAA;EAEA,KAAA;EAEA,UAAA,EAAY,gBAAA;AAAA;AAAA,UAMG,gBAAA;EAEf,sBAAA;EAEA,eAAA;EAEA,2BAAA;EAEA,4BAAA;EAEA,4BAAA;EAEA,2BAAA;EAEA,gCAAA;EAEA,SAAA;EAEA,YAAA;EAAA,CAEC,GAAA;AAAA;AAAA,UAMc,YAAA;EACf,OAAA;EACA,MAAA;EACA,UAAA;AAAA;AAAA,UAMe,uBAAA;EAEf,WAAA;EAEA,SAAA,EAAW,iBAAA;EAEX,UAAA;EAEA,aAAA;AAAA;;;iBCrDc,eAAA,CAAA,GAAmB,YAAA;AAAA,iBAanB,eAAA,CAAgB,OAAA,EAAS,YAAA;AAAA,iBAOzB,UAAA,CAAW,IAAA,UAAc,UAAA,GAAY,MAAA,oBAA+B,MAAA;AAAA,iBAuB9D,OAAA,CACpB,IAAA,EAAM,MAAA,EACN,MAAA,EAAQ,uBAAA,EACR,KAAA,GAAQ,KAAA,GACP,OAAA;AAAA,iBAgDmB,sBAAA,CAAuB,MAAA,EAAQ,uBAAA,GAAuB,OAAA;;;;;;;;;iBAyB5D,uBAAA,CACd,MAAA,EAAQ,uBAAA,GACP,4BAAA;;;cC9IU,eAAA,YAA2B,iBAAA;EACtC,IAAA;EAAA,QACQ,MAAA;cAEI,OAAA;IAAW,MAAA;EAAA;EAIjB,IAAA,CAAA,GAAQ,OAAA;EAIR,UAAA,CAAW,IAAA,EAAM,MAAA,GAAS,OAAA;EAqB1B,KAAA,CAAA,GAAS,OAAA;EAIT,QAAA,CAAA,GAAY,OAAA;AAAA"}
|