@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 @@
|
|
|
1
|
+
{"version":3,"file":"approval-queue-BcDDQ4oQ.mjs","names":[],"sources":["../src/hitl/approval/approval-queue.ts"],"sourcesContent":["/**\n * In-memory approval queue for HITL workflows\n */\n\nimport type { ApprovalQueue, ApprovalRequest, ApprovalResponse } from '../types';\n\n/**\n * In-memory approval queue implementation\n *\n * @example\n * ```ts\n * const queue = new InMemoryApprovalQueue();\n *\n * // Submit for approval\n * const requestId = await queue.submit({\n * id: \"req-1\",\n * type: \"action\",\n * content: { action: \"delete_user\", userId: \"123\" },\n * context: \"User requested account deletion\",\n * priority: \"high\",\n * createdAt: new Date(),\n * });\n *\n * // Wait for approval\n * const response = await queue.waitForApproval(requestId, 30000);\n * if (response.status === \"approved\") {\n * // Proceed with action\n * }\n * ```\n */\nexport class InMemoryApprovalQueue implements ApprovalQueue {\n private requests = new Map<string, ApprovalRequest>();\n private responses = new Map<string, ApprovalResponse>();\n private waiters = new Map<\n string,\n Array<{\n resolve: (response: ApprovalResponse) => void;\n reject: (error: Error) => void;\n }>\n >();\n\n async submit<T>(request: ApprovalRequest<T>): Promise<string> {\n this.requests.set(request.id, request as ApprovalRequest);\n return request.id;\n }\n\n async get(requestId: string): Promise<ApprovalRequest | null> {\n return this.requests.get(requestId) || null;\n }\n\n async listPending(\n options: { limit?: number; priority?: string } = {},\n ): Promise<ApprovalRequest[]> {\n const { limit = 100, priority } = options;\n\n let pending = Array.from(this.requests.values()).filter(req => !this.responses.has(req.id));\n\n if (priority) {\n pending = pending.filter(req => req.priority === priority);\n }\n\n // Sort by priority and creation time\n const priorityOrder = { critical: 0, high: 1, medium: 2, low: 3 };\n pending.sort((a, b) => {\n const priorityDiff =\n (priorityOrder[a.priority || 'medium'] || 2) - (priorityOrder[b.priority || 'medium'] || 2);\n if (priorityDiff !== 0) return priorityDiff;\n return a.createdAt.getTime() - b.createdAt.getTime();\n });\n\n return pending.slice(0, limit);\n }\n\n async respond<T>(response: ApprovalResponse<T>): Promise<void> {\n this.responses.set(response.requestId, response as ApprovalResponse);\n\n // Notify waiters\n const waiters = this.waiters.get(response.requestId) || [];\n for (const waiter of waiters) {\n waiter.resolve(response as ApprovalResponse);\n }\n this.waiters.delete(response.requestId);\n }\n\n async waitForApproval<T>(requestId: string, timeoutMs = 30000): Promise<ApprovalResponse<T>> {\n // Check if already responded\n const existing = this.responses.get(requestId);\n if (existing) {\n return existing as ApprovalResponse<T>;\n }\n\n return new Promise((resolve, reject) => {\n const waiters = this.waiters.get(requestId) || [];\n\n const timer = setTimeout(() => {\n const idx = waiters.indexOf(waiter);\n if (idx >= 0) waiters.splice(idx, 1);\n reject(new Error(`Approval timeout: ${requestId}`));\n }, timeoutMs);\n\n const wrappedResolve = (response: ApprovalResponse) => {\n clearTimeout(timer);\n resolve(response as ApprovalResponse<T>);\n };\n\n const wrappedReject = (error: Error) => {\n clearTimeout(timer);\n reject(error);\n };\n\n const waiter = { resolve: wrappedResolve, reject: wrappedReject };\n waiters.push(waiter);\n this.waiters.set(requestId, waiters);\n });\n }\n\n /**\n * Get response for a request\n */\n getResponse(requestId: string): ApprovalResponse | undefined {\n return this.responses.get(requestId);\n }\n\n /**\n * Clear all requests and responses\n */\n clear(): void {\n this.requests.clear();\n this.responses.clear();\n this.waiters.clear();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,IAAa,wBAAb,MAA4D;CAC1D,AAAQ,2BAAW,IAAI,KAA8B;CACrD,AAAQ,4BAAY,IAAI,KAA+B;CACvD,AAAQ,0BAAU,IAAI,KAMnB;CAEH,MAAM,OAAU,SAA8C;AAC5D,OAAK,SAAS,IAAI,QAAQ,IAAI,QAA2B;AACzD,SAAO,QAAQ;;CAGjB,MAAM,IAAI,WAAoD;AAC5D,SAAO,KAAK,SAAS,IAAI,UAAU,IAAI;;CAGzC,MAAM,YACJ,UAAiD,EAAE,EACvB;EAC5B,MAAM,EAAE,QAAQ,KAAK,aAAa;EAElC,IAAI,UAAU,MAAM,KAAK,KAAK,SAAS,QAAQ,CAAC,CAAC,QAAO,QAAO,CAAC,KAAK,UAAU,IAAI,IAAI,GAAG,CAAC;AAE3F,MAAI,SACF,WAAU,QAAQ,QAAO,QAAO,IAAI,aAAa,SAAS;EAI5D,MAAM,gBAAgB;GAAE,UAAU;GAAG,MAAM;GAAG,QAAQ;GAAG,KAAK;GAAG;AACjE,UAAQ,MAAM,GAAG,MAAM;GACrB,MAAM,gBACH,cAAc,EAAE,YAAY,aAAa,MAAM,cAAc,EAAE,YAAY,aAAa;AAC3F,OAAI,iBAAiB,EAAG,QAAO;AAC/B,UAAO,EAAE,UAAU,SAAS,GAAG,EAAE,UAAU,SAAS;IACpD;AAEF,SAAO,QAAQ,MAAM,GAAG,MAAM;;CAGhC,MAAM,QAAW,UAA8C;AAC7D,OAAK,UAAU,IAAI,SAAS,WAAW,SAA6B;EAGpE,MAAM,UAAU,KAAK,QAAQ,IAAI,SAAS,UAAU,IAAI,EAAE;AAC1D,OAAK,MAAM,UAAU,QACnB,QAAO,QAAQ,SAA6B;AAE9C,OAAK,QAAQ,OAAO,SAAS,UAAU;;CAGzC,MAAM,gBAAmB,WAAmB,YAAY,KAAqC;EAE3F,MAAM,WAAW,KAAK,UAAU,IAAI,UAAU;AAC9C,MAAI,SACF,QAAO;AAGT,SAAO,IAAI,SAAS,SAAS,WAAW;GACtC,MAAM,UAAU,KAAK,QAAQ,IAAI,UAAU,IAAI,EAAE;GAEjD,MAAM,QAAQ,iBAAiB;IAC7B,MAAM,MAAM,QAAQ,QAAQ,OAAO;AACnC,QAAI,OAAO,EAAG,SAAQ,OAAO,KAAK,EAAE;AACpC,2BAAO,IAAI,MAAM,qBAAqB,YAAY,CAAC;MAClD,UAAU;GAEb,MAAM,kBAAkB,aAA+B;AACrD,iBAAa,MAAM;AACnB,YAAQ,SAAgC;;GAG1C,MAAM,iBAAiB,UAAiB;AACtC,iBAAa,MAAM;AACnB,WAAO,MAAM;;GAGf,MAAM,SAAS;IAAE,SAAS;IAAgB,QAAQ;IAAe;AACjE,WAAQ,KAAK,OAAO;AACpB,QAAK,QAAQ,IAAI,WAAW,QAAQ;IACpC;;;;;CAMJ,YAAY,WAAiD;AAC3D,SAAO,KAAK,UAAU,IAAI,UAAU;;;;;CAMtC,QAAc;AACZ,OAAK,SAAS,OAAO;AACrB,OAAK,UAAU,OAAO;AACtB,OAAK,QAAQ,OAAO"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { n as ApprovalRequest, r as ApprovalResponse, t as ApprovalQueue } from "./types-CQ0HFd0u.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/hitl/approval/approval-queue.d.ts
|
|
4
|
+
declare class InMemoryApprovalQueue implements ApprovalQueue {
|
|
5
|
+
private requests;
|
|
6
|
+
private responses;
|
|
7
|
+
private waiters;
|
|
8
|
+
submit<T>(request: ApprovalRequest<T>): Promise<string>;
|
|
9
|
+
get(requestId: string): Promise<ApprovalRequest | null>;
|
|
10
|
+
listPending(options?: {
|
|
11
|
+
limit?: number;
|
|
12
|
+
priority?: string;
|
|
13
|
+
}): Promise<ApprovalRequest[]>;
|
|
14
|
+
respond<T>(response: ApprovalResponse<T>): Promise<void>;
|
|
15
|
+
waitForApproval<T>(requestId: string, timeoutMs?: number): Promise<ApprovalResponse<T>>;
|
|
16
|
+
getResponse(requestId: string): ApprovalResponse | undefined;
|
|
17
|
+
clear(): void;
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { InMemoryApprovalQueue as t };
|
|
21
|
+
//# sourceMappingURL=approval-queue-CiKiFT9z.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-queue-CiKiFT9z.d.mts","names":[],"sources":["../src/hitl/approval/approval-queue.ts"],"mappings":";;;cA8Ba,qBAAA,YAAiC,aAAA;EAAA,QACpC,QAAA;EAAA,QACA,SAAA;EAAA,QACA,OAAA;EAQF,MAAA,GAAA,CAAU,OAAA,EAAS,eAAA,CAAgB,CAAA,IAAK,OAAA;EAKxC,GAAA,CAAI,SAAA,WAAoB,OAAA,CAAQ,eAAA;EAIhC,WAAA,CACJ,OAAA;IAAW,KAAA;IAAgB,QAAA;EAAA,IAC1B,OAAA,CAAQ,eAAA;EAqBL,OAAA,GAAA,CAAW,QAAA,EAAU,gBAAA,CAAiB,CAAA,IAAK,OAAA;EAW3C,eAAA,GAAA,CAAmB,SAAA,UAAmB,SAAA,YAAoB,OAAA,CAAQ,gBAAA,CAAiB,CAAA;EAmCzF,WAAA,CAAY,SAAA,WAAoB,gBAAA;EAOhC,KAAA,CAAA;AAAA"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
//#region src/output/multimodal/audio.d.ts
|
|
2
|
+
type SpeechModel = 'tts-1' | 'tts-1-hd' | 'gpt-4o-mini-tts' | 'eleven_multilingual_v2' | 'eleven_turbo_v2' | 'lmnt' | string;
|
|
3
|
+
type TranscriptionModel = 'whisper-1' | 'eleven_multilingual_v2' | 'deepgram' | 'assemblyai' | 'groq' | string;
|
|
4
|
+
type AudioFormat = 'mp3' | 'wav' | 'opus';
|
|
5
|
+
type Voice = 'alloy' | 'echo' | 'fable' | 'onyx' | 'nova' | 'shimmer' | string;
|
|
6
|
+
interface GenerateSpeechOptions {
|
|
7
|
+
model: SpeechModel;
|
|
8
|
+
text: string;
|
|
9
|
+
voice?: Voice;
|
|
10
|
+
speed?: number;
|
|
11
|
+
format?: AudioFormat;
|
|
12
|
+
timeout?: number;
|
|
13
|
+
config?: Record<string, unknown>;
|
|
14
|
+
}
|
|
15
|
+
interface GenerateSpeechResult {
|
|
16
|
+
audio: Uint8Array | ArrayBuffer;
|
|
17
|
+
format: AudioFormat;
|
|
18
|
+
duration?: number;
|
|
19
|
+
metadata?: {
|
|
20
|
+
provider?: string;
|
|
21
|
+
modelUsed?: string;
|
|
22
|
+
voiceUsed?: string;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
interface TranscribeOptions {
|
|
26
|
+
model: TranscriptionModel;
|
|
27
|
+
audio: Uint8Array | ArrayBuffer | ReadableStream<Uint8Array> | File | Blob;
|
|
28
|
+
language?: string;
|
|
29
|
+
prompt?: string;
|
|
30
|
+
timestamps?: boolean;
|
|
31
|
+
timeout?: number;
|
|
32
|
+
config?: Record<string, unknown>;
|
|
33
|
+
}
|
|
34
|
+
interface TranscriptionSegment {
|
|
35
|
+
start: number;
|
|
36
|
+
end: number;
|
|
37
|
+
text: string;
|
|
38
|
+
confidence?: number;
|
|
39
|
+
}
|
|
40
|
+
interface TranscribeResult {
|
|
41
|
+
text: string;
|
|
42
|
+
segments?: TranscriptionSegment[];
|
|
43
|
+
language?: string;
|
|
44
|
+
duration?: number;
|
|
45
|
+
metadata?: {
|
|
46
|
+
provider?: string;
|
|
47
|
+
modelUsed?: string;
|
|
48
|
+
confidence?: number;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
interface SpeechProvider {
|
|
52
|
+
generateSpeech(text: string, options: Omit<GenerateSpeechOptions, 'model' | 'text'>): Promise<GenerateSpeechResult>;
|
|
53
|
+
streamSpeech?(text: string, options: Omit<GenerateSpeechOptions, 'model' | 'text'>): AsyncGenerator<Uint8Array>;
|
|
54
|
+
}
|
|
55
|
+
interface TranscriptionProvider {
|
|
56
|
+
transcribe(audio: Uint8Array | ArrayBuffer | ReadableStream<Uint8Array> | File | Blob, options: Omit<TranscribeOptions, 'model' | 'audio'>): Promise<TranscribeResult>;
|
|
57
|
+
}
|
|
58
|
+
declare function registerSpeechProvider(modelPrefix: string, provider: SpeechProvider): void;
|
|
59
|
+
declare function registerTranscriptionProvider(modelPrefix: string, provider: TranscriptionProvider): void;
|
|
60
|
+
declare function generateSpeech(options: GenerateSpeechOptions): Promise<GenerateSpeechResult>;
|
|
61
|
+
declare function streamSpeech(options: GenerateSpeechOptions): AsyncGenerator<Uint8Array>;
|
|
62
|
+
declare function transcribe(options: TranscribeOptions): Promise<TranscribeResult>;
|
|
63
|
+
declare function normalizeAudioInput(audio: Uint8Array | ArrayBuffer | ReadableStream<Uint8Array> | File | Blob): Promise<Uint8Array>;
|
|
64
|
+
interface AudioProviderConfig {
|
|
65
|
+
speechProviders?: {
|
|
66
|
+
[modelPrefix: string]: SpeechProvider;
|
|
67
|
+
};
|
|
68
|
+
transcriptionProviders?: {
|
|
69
|
+
[modelPrefix: string]: TranscriptionProvider;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
declare function initializeAudioProviders(config: AudioProviderConfig): void;
|
|
73
|
+
declare function getRegisteredProviders(): {
|
|
74
|
+
speechProviders: string[];
|
|
75
|
+
transcriptionProviders: string[];
|
|
76
|
+
};
|
|
77
|
+
//#endregion
|
|
78
|
+
export { registerSpeechProvider as _, SpeechModel as a, transcribe as b, TranscribeResult as c, TranscriptionSegment as d, Voice as f, normalizeAudioInput as g, initializeAudioProviders as h, GenerateSpeechResult as i, TranscriptionModel as l, getRegisteredProviders as m, AudioProviderConfig as n, SpeechProvider as o, generateSpeech as p, GenerateSpeechOptions as r, TranscribeOptions as s, AudioFormat as t, TranscriptionProvider as u, registerTranscriptionProvider as v, streamSpeech as y };
|
|
79
|
+
//# sourceMappingURL=audio-BzvN7r10.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio-BzvN7r10.d.mts","names":[],"sources":["../src/output/multimodal/audio.ts"],"mappings":";KAgBY,WAAA;AAAA,KAYA,kBAAA;AAAA,KAWA,WAAA;AAAA,KAKA,KAAA;AAAA,UAOK,qBAAA;EAIf,KAAA,EAAO,WAAA;EAKP,IAAA;EAMA,KAAA,GAAQ,KAAA;EAMR,KAAA;EAMA,MAAA,GAAS,WAAA;EAMT,OAAA;EAKA,MAAA,GAAS,MAAA;AAAA;AAAA,UAQM,oBAAA;EAIf,KAAA,EAAO,UAAA,GAAa,WAAA;EAKpB,MAAA,EAAQ,WAAA;EAKR,QAAA;EAKA,QAAA;IACE,QAAA;IACA,SAAA;IACA,SAAA;EAAA;AAAA;AAAA,UASa,iBAAA;EAIf,KAAA,EAAO,kBAAA;EAMP,KAAA,EAAO,UAAA,GAAa,WAAA,GAAc,cAAA,CAAe,UAAA,IAAc,IAAA,GAAO,IAAA;EAMtE,QAAA;EAKA,MAAA;EAMA,UAAA;EAMA,OAAA;EAKA,MAAA,GAAS,MAAA;AAAA;AAAA,UAMM,oBAAA;EAIf,KAAA;EAKA,GAAA;EAKA,IAAA;EAKA,UAAA;AAAA;AAAA,UAQe,gBAAA;EAIf,IAAA;EAKA,QAAA,GAAW,oBAAA;EAKX,QAAA;EAKA,QAAA;EAKA,QAAA;IACE,QAAA;IACA,SAAA;IACA,UAAA;EAAA;AAAA;AAAA,UASa,cAAA;EAIf,cAAA,CACE,IAAA,UACA,OAAA,EAAS,IAAA,CAAK,qBAAA,sBACb,OAAA,CAAQ,oBAAA;EAKX,YAAA,EACE,IAAA,UACA,OAAA,EAAS,IAAA,CAAK,qBAAA,sBACb,cAAA,CAAe,UAAA;AAAA;AAAA,UAQH,qBAAA;EAIf,UAAA,CACE,KAAA,EAAO,UAAA,GAAa,WAAA,GAAc,cAAA,CAAe,UAAA,IAAc,IAAA,GAAO,IAAA,EACtE,OAAA,EAAS,IAAA,CAAK,iBAAA,uBACb,OAAA,CAAQ,gBAAA;AAAA;AAAA,iBAuBG,sBAAA,CAAuB,WAAA,UAAqB,QAAA,EAAU,cAAA;AAAA,iBAUtD,6BAAA,CACd,WAAA,UACA,QAAA,EAAU,qBAAA;AAAA,iBAsEU,cAAA,CACpB,OAAA,EAAS,qBAAA,GACR,OAAA,CAAQ,oBAAA;AAAA,iBAsDY,YAAA,CAAa,OAAA,EAAS,qBAAA,GAAwB,cAAA,CAAe,UAAA;AAAA,iBAmE9D,UAAA,CAAW,OAAA,EAAS,iBAAA,GAAoB,OAAA,CAAQ,gBAAA;AAAA,iBA0ChD,mBAAA,CACpB,KAAA,EAAO,UAAA,GAAa,WAAA,GAAc,cAAA,CAAe,UAAA,IAAc,IAAA,GAAO,IAAA,GACrE,OAAA,CAAQ,UAAA;AAAA,UAqDM,mBAAA;EACf,eAAA;IAAA,CACG,WAAA,WAAsB,cAAA;EAAA;EAEzB,sBAAA;IAAA,CACG,WAAA,WAAsB,qBAAA;EAAA;AAAA;AAAA,iBAyBX,wBAAA,CAAyB,MAAA,EAAQ,mBAAA;AAAA,iBAmBjC,sBAAA,CAAA;EACd,eAAA;EACA,sBAAA;AAAA"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
//#region src/output/multimodal/audio.ts
|
|
2
|
+
const providerRegistry = {
|
|
3
|
+
speechProviders: /* @__PURE__ */ new Map(),
|
|
4
|
+
transcriptionProviders: /* @__PURE__ */ new Map()
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Register a speech provider
|
|
8
|
+
*
|
|
9
|
+
* @param modelPrefix The model name prefix (e.g., "tts-1", "eleven_")
|
|
10
|
+
* @param provider The provider implementation
|
|
11
|
+
*/
|
|
12
|
+
function registerSpeechProvider(modelPrefix, provider) {
|
|
13
|
+
providerRegistry.speechProviders.set(modelPrefix, provider);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Register a transcription provider
|
|
17
|
+
*
|
|
18
|
+
* @param modelPrefix The model name prefix (e.g., "whisper", "deepgram")
|
|
19
|
+
* @param provider The provider implementation
|
|
20
|
+
*/
|
|
21
|
+
function registerTranscriptionProvider(modelPrefix, provider) {
|
|
22
|
+
providerRegistry.transcriptionProviders.set(modelPrefix, provider);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get the appropriate speech provider for a model
|
|
26
|
+
*
|
|
27
|
+
* @param model The model identifier
|
|
28
|
+
* @returns The provider or null if not found
|
|
29
|
+
*/
|
|
30
|
+
function getSpeechProvider(model) {
|
|
31
|
+
const direct = providerRegistry.speechProviders.get(model);
|
|
32
|
+
if (direct) return direct;
|
|
33
|
+
for (const [prefix, provider] of Array.from(providerRegistry.speechProviders.entries())) if (model.startsWith(prefix)) return provider;
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get the appropriate transcription provider for a model
|
|
38
|
+
*
|
|
39
|
+
* @param model The model identifier
|
|
40
|
+
* @returns The provider or null if not found
|
|
41
|
+
*/
|
|
42
|
+
function getTranscriptionProvider(model) {
|
|
43
|
+
const direct = providerRegistry.transcriptionProviders.get(model);
|
|
44
|
+
if (direct) return direct;
|
|
45
|
+
for (const [prefix, provider] of Array.from(providerRegistry.transcriptionProviders.entries())) if (model.startsWith(prefix)) return provider;
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Top-level convenience function for speech generation (text-to-speech)
|
|
50
|
+
*
|
|
51
|
+
* Matches the Vercel AI SDK v6 `experimental_generateSpeech` pattern.
|
|
52
|
+
*
|
|
53
|
+
* @param options Configuration for speech generation
|
|
54
|
+
* @returns Promise<GenerateSpeechResult> The generated audio and metadata
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* const result = await generateSpeech({
|
|
59
|
+
* model: "tts-1-hd",
|
|
60
|
+
* text: "Hello, how can I help you today?",
|
|
61
|
+
* voice: "alloy",
|
|
62
|
+
* format: "mp3"
|
|
63
|
+
* });
|
|
64
|
+
* console.log(result.audio); // Uint8Array with audio data
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
async function generateSpeech(options) {
|
|
68
|
+
const { model, timeout = 3e4, ...restOptions } = options;
|
|
69
|
+
if (!model) throw new Error("Model is required for speech generation");
|
|
70
|
+
if (!options.text) throw new Error("Text is required for speech generation");
|
|
71
|
+
const provider = getSpeechProvider(model);
|
|
72
|
+
if (!provider) throw new Error(`No speech provider registered for model: ${model}. Available providers: ${Array.from(providerRegistry.speechProviders.keys()).join(", ")}`);
|
|
73
|
+
const timeoutPromise = new Promise((resolve, reject) => {
|
|
74
|
+
setTimeout(() => reject(/* @__PURE__ */ new Error(`Speech generation timeout after ${timeout}ms for model: ${model}`)), timeout);
|
|
75
|
+
});
|
|
76
|
+
return Promise.race([provider.generateSpeech(options.text, restOptions), timeoutPromise]);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Stream speech generation (text-to-speech)
|
|
80
|
+
*
|
|
81
|
+
* Provides streaming audio output for progressive playback.
|
|
82
|
+
* Supports providers that implement streaming.
|
|
83
|
+
*
|
|
84
|
+
* @param options Configuration for speech generation
|
|
85
|
+
* @returns AsyncGenerator that yields audio chunks as Uint8Array
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```typescript
|
|
89
|
+
* for await (const chunk of streamSpeech({
|
|
90
|
+
* model: "tts-1",
|
|
91
|
+
* text: "Hello world",
|
|
92
|
+
* voice: "nova"
|
|
93
|
+
* })) {
|
|
94
|
+
* audioBuffer.write(chunk);
|
|
95
|
+
* }
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
async function* streamSpeech(options) {
|
|
99
|
+
const { model, timeout = 3e4, ...restOptions } = options;
|
|
100
|
+
if (!model) throw new Error("Model is required for speech generation");
|
|
101
|
+
if (!options.text) throw new Error("Text is required for speech generation");
|
|
102
|
+
const provider = getSpeechProvider(model);
|
|
103
|
+
if (!provider) throw new Error(`No speech provider registered for model: ${model}. Available providers: ${Array.from(providerRegistry.speechProviders.keys()).join(", ")}`);
|
|
104
|
+
if (!provider.streamSpeech) throw new Error(`Provider for model ${model} does not support streaming. Use generateSpeech() for non-streaming audio generation.`);
|
|
105
|
+
const timeoutController = new AbortController();
|
|
106
|
+
const timeoutId = setTimeout(() => {
|
|
107
|
+
timeoutController.abort();
|
|
108
|
+
}, timeout);
|
|
109
|
+
try {
|
|
110
|
+
for await (const chunk of provider.streamSpeech(options.text, restOptions)) {
|
|
111
|
+
if (timeoutController.signal.aborted) throw new Error(`Speech generation timeout after ${timeout}ms for model: ${model}`);
|
|
112
|
+
yield chunk;
|
|
113
|
+
}
|
|
114
|
+
} finally {
|
|
115
|
+
clearTimeout(timeoutId);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Top-level convenience function for transcription (speech-to-text)
|
|
120
|
+
*
|
|
121
|
+
* Matches the Vercel AI SDK v6 `experimental_transcribe` pattern.
|
|
122
|
+
*
|
|
123
|
+
* @param options Configuration for transcription
|
|
124
|
+
* @returns Promise<TranscribeResult> Transcribed text and metadata
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```typescript
|
|
128
|
+
* const result = await transcribe({
|
|
129
|
+
* model: "whisper-1",
|
|
130
|
+
* audio: audioBuffer,
|
|
131
|
+
* language: "en",
|
|
132
|
+
* timestamps: true
|
|
133
|
+
* });
|
|
134
|
+
* console.log(result.text); // Full transcribed text
|
|
135
|
+
* console.log(result.segments); // Timestamped segments
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
async function transcribe(options) {
|
|
139
|
+
const { model, timeout = 6e4, ...restOptions } = options;
|
|
140
|
+
if (!model) throw new Error("Model is required for transcription");
|
|
141
|
+
if (!options.audio) throw new Error("Audio data is required for transcription");
|
|
142
|
+
const provider = getTranscriptionProvider(model);
|
|
143
|
+
if (!provider) throw new Error(`No transcription provider registered for model: ${model}. Available providers: ${Array.from(providerRegistry.transcriptionProviders.keys()).join(", ")}`);
|
|
144
|
+
const timeoutPromise = new Promise((resolve, reject) => {
|
|
145
|
+
setTimeout(() => reject(/* @__PURE__ */ new Error(`Transcription timeout after ${timeout}ms for model: ${model}`)), timeout);
|
|
146
|
+
});
|
|
147
|
+
return Promise.race([provider.transcribe(options.audio, restOptions), timeoutPromise]);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Convert audio to Uint8Array if necessary
|
|
151
|
+
*
|
|
152
|
+
* Helper function for normalizing audio input across different formats.
|
|
153
|
+
*
|
|
154
|
+
* @param audio Input audio in various formats
|
|
155
|
+
* @returns Uint8Array representation of audio
|
|
156
|
+
*/
|
|
157
|
+
async function normalizeAudioInput(audio) {
|
|
158
|
+
if (audio instanceof Uint8Array) return audio;
|
|
159
|
+
if (audio instanceof ArrayBuffer) return new Uint8Array(audio);
|
|
160
|
+
if (audio instanceof File || audio instanceof Blob) {
|
|
161
|
+
const buffer = await audio.arrayBuffer();
|
|
162
|
+
return new Uint8Array(buffer);
|
|
163
|
+
}
|
|
164
|
+
if (audio instanceof ReadableStream) {
|
|
165
|
+
const chunks = [];
|
|
166
|
+
const reader = audio.getReader();
|
|
167
|
+
try {
|
|
168
|
+
while (true) {
|
|
169
|
+
const { done, value } = await reader.read();
|
|
170
|
+
if (done) break;
|
|
171
|
+
chunks.push(value);
|
|
172
|
+
}
|
|
173
|
+
} finally {
|
|
174
|
+
reader.releaseLock();
|
|
175
|
+
}
|
|
176
|
+
const totalLength = chunks.reduce((acc, chunk) => acc + chunk.length, 0);
|
|
177
|
+
const result = new Uint8Array(totalLength);
|
|
178
|
+
let offset = 0;
|
|
179
|
+
for (const chunk of chunks) {
|
|
180
|
+
result.set(chunk, offset);
|
|
181
|
+
offset += chunk.length;
|
|
182
|
+
}
|
|
183
|
+
return result;
|
|
184
|
+
}
|
|
185
|
+
throw new Error("Invalid audio input: must be Uint8Array, ArrayBuffer, ReadableStream, File, or Blob");
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Initialize audio providers
|
|
189
|
+
*
|
|
190
|
+
* Call this function with your provider implementations to set up the module.
|
|
191
|
+
*
|
|
192
|
+
* @param config Provider configuration
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```typescript
|
|
196
|
+
* initializeAudioProviders({
|
|
197
|
+
* speechProviders: {
|
|
198
|
+
* "tts-1": openaiSpeechProvider,
|
|
199
|
+
* "eleven_": elevenLabsSpeechProvider
|
|
200
|
+
* },
|
|
201
|
+
* transcriptionProviders: {
|
|
202
|
+
* "whisper": openaiTranscriptionProvider,
|
|
203
|
+
* "deepgram": deepgramProvider
|
|
204
|
+
* }
|
|
205
|
+
* });
|
|
206
|
+
* ```
|
|
207
|
+
*/
|
|
208
|
+
function initializeAudioProviders(config) {
|
|
209
|
+
if (config.speechProviders) for (const [key, provider] of Object.entries(config.speechProviders)) registerSpeechProvider(key, provider);
|
|
210
|
+
if (config.transcriptionProviders) for (const [key, provider] of Object.entries(config.transcriptionProviders)) registerTranscriptionProvider(key, provider);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Get registered providers (for debugging/monitoring)
|
|
214
|
+
*
|
|
215
|
+
* @returns Current provider registry state
|
|
216
|
+
*/
|
|
217
|
+
function getRegisteredProviders() {
|
|
218
|
+
return {
|
|
219
|
+
speechProviders: Array.from(providerRegistry.speechProviders.keys()),
|
|
220
|
+
transcriptionProviders: Array.from(providerRegistry.transcriptionProviders.keys())
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
//#endregion
|
|
225
|
+
export { registerSpeechProvider as a, transcribe as c, normalizeAudioInput as i, getRegisteredProviders as n, registerTranscriptionProvider as o, initializeAudioProviders as r, streamSpeech as s, generateSpeech as t };
|
|
226
|
+
//# sourceMappingURL=audio-vBG_62ME.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio-vBG_62ME.mjs","names":[],"sources":["../src/output/multimodal/audio.ts"],"sourcesContent":["/**\n * @fileoverview AI SDK v6 Compatible Audio Module\n *\n * Provides top-level convenience functions for speech generation and transcription\n * that match the Vercel AI SDK v6 patterns, supporting multiple providers including\n * OpenAI, ElevenLabs, and others.\n *\n * Mirrors the AI SDK's experimental_generateSpeech and experimental_transcribe APIs\n * with unified type definitions and provider abstractions.\n *\n * @module @od-oneapp/ai-platform/output/multimodal/audio\n */\n\n/**\n * Supported speech generation models\n */\nexport type SpeechModel =\n | 'tts-1'\n | 'tts-1-hd'\n | 'gpt-4o-mini-tts'\n | 'eleven_multilingual_v2'\n | 'eleven_turbo_v2'\n | 'lmnt'\n | string;\n\n/**\n * Supported transcription models\n */\nexport type TranscriptionModel =\n | 'whisper-1'\n | 'eleven_multilingual_v2'\n | 'deepgram'\n | 'assemblyai'\n | 'groq'\n | string;\n\n/**\n * Audio output format for speech generation\n */\nexport type AudioFormat = 'mp3' | 'wav' | 'opus';\n\n/**\n * Supported voice identifiers for speech generation\n */\nexport type Voice = 'alloy' | 'echo' | 'fable' | 'onyx' | 'nova' | 'shimmer' | string;\n\n/**\n * Options for speech generation (text-to-speech)\n *\n * Matches AI SDK's generateSpeech pattern while supporting multiple providers.\n */\nexport interface GenerateSpeechOptions {\n /**\n * The speech model to use (e.g., \"tts-1-hd\", \"eleven_multilingual_v2\")\n */\n model: SpeechModel;\n\n /**\n * The text to convert to speech\n */\n text: string;\n\n /**\n * Voice identifier for the synthesis\n * @default \"alloy\"\n */\n voice?: Voice;\n\n /**\n * Speech speed adjustment (0.25 to 4.0)\n * @default 1.0\n */\n speed?: number;\n\n /**\n * Output audio format\n * @default \"mp3\"\n */\n format?: AudioFormat;\n\n /**\n * Maximum timeout in milliseconds\n * @default 30000\n */\n timeout?: number;\n\n /**\n * Additional provider-specific options\n */\n config?: Record<string, unknown>;\n}\n\n/**\n * Result from speech generation\n *\n * Matches AI SDK's GenerateSpeechResult pattern.\n */\nexport interface GenerateSpeechResult {\n /**\n * The generated audio as Uint8Array or ArrayBuffer\n */\n audio: Uint8Array | ArrayBuffer;\n\n /**\n * The audio format of the result\n */\n format: AudioFormat;\n\n /**\n * Total duration in seconds (if available from provider)\n */\n duration?: number;\n\n /**\n * Provider metadata\n */\n metadata?: {\n provider?: string;\n modelUsed?: string;\n voiceUsed?: string;\n };\n}\n\n/**\n * Options for speech-to-text transcription\n *\n * Matches AI SDK's transcribe pattern while supporting multiple providers.\n */\nexport interface TranscribeOptions {\n /**\n * The transcription model to use (e.g., \"whisper-1\")\n */\n model: TranscriptionModel;\n\n /**\n * The audio data to transcribe\n * Can be Uint8Array, ArrayBuffer, ReadableStream, or File/Blob\n */\n audio: Uint8Array | ArrayBuffer | ReadableStream<Uint8Array> | File | Blob;\n\n /**\n * Language code (e.g., \"en\", \"es\", \"fr\")\n * If not provided, model will auto-detect\n */\n language?: string;\n\n /**\n * Optional prompt to guide transcription\n */\n prompt?: string;\n\n /**\n * Include timestamped segments in result\n * @default false\n */\n timestamps?: boolean;\n\n /**\n * Maximum timeout in milliseconds\n * @default 60000\n */\n timeout?: number;\n\n /**\n * Additional provider-specific options\n */\n config?: Record<string, unknown>;\n}\n\n/**\n * Timestamped segment from transcription\n */\nexport interface TranscriptionSegment {\n /**\n * Start time in seconds\n */\n start: number;\n\n /**\n * End time in seconds\n */\n end: number;\n\n /**\n * Transcribed text for this segment\n */\n text: string;\n\n /**\n * Confidence score (0-1) if available\n */\n confidence?: number;\n}\n\n/**\n * Result from transcription (speech-to-text)\n *\n * Matches AI SDK's TranscribeResult pattern.\n */\nexport interface TranscribeResult {\n /**\n * Full transcribed text\n */\n text: string;\n\n /**\n * Timestamped segments (if requested)\n */\n segments?: TranscriptionSegment[];\n\n /**\n * Detected language code (if available)\n */\n language?: string;\n\n /**\n * Duration of audio in seconds (if available)\n */\n duration?: number;\n\n /**\n * Provider metadata\n */\n metadata?: {\n provider?: string;\n modelUsed?: string;\n confidence?: number;\n };\n}\n\n/**\n * Provider interface for speech generation\n *\n * Implement this interface for each speech provider (OpenAI, ElevenLabs, etc.)\n */\nexport interface SpeechProvider {\n /**\n * Generate speech from text\n */\n generateSpeech(\n text: string,\n options: Omit<GenerateSpeechOptions, 'model' | 'text'>,\n ): Promise<GenerateSpeechResult>;\n\n /**\n * Stream speech generation (optional)\n */\n streamSpeech?(\n text: string,\n options: Omit<GenerateSpeechOptions, 'model' | 'text'>,\n ): AsyncGenerator<Uint8Array>;\n}\n\n/**\n * Provider interface for transcription\n *\n * Implement this interface for each transcription provider\n */\nexport interface TranscriptionProvider {\n /**\n * Transcribe audio to text\n */\n transcribe(\n audio: Uint8Array | ArrayBuffer | ReadableStream<Uint8Array> | File | Blob,\n options: Omit<TranscribeOptions, 'model' | 'audio'>,\n ): Promise<TranscribeResult>;\n}\n\n/**\n * Provider registry for managing multiple provider implementations\n */\ninterface ProviderRegistry {\n speechProviders: Map<string, SpeechProvider>;\n transcriptionProviders: Map<string, TranscriptionProvider>;\n}\n\n// Global provider registry\nconst providerRegistry: ProviderRegistry = {\n speechProviders: new Map(),\n transcriptionProviders: new Map(),\n};\n\n/**\n * Register a speech provider\n *\n * @param modelPrefix The model name prefix (e.g., \"tts-1\", \"eleven_\")\n * @param provider The provider implementation\n */\nexport function registerSpeechProvider(modelPrefix: string, provider: SpeechProvider): void {\n providerRegistry.speechProviders.set(modelPrefix, provider);\n}\n\n/**\n * Register a transcription provider\n *\n * @param modelPrefix The model name prefix (e.g., \"whisper\", \"deepgram\")\n * @param provider The provider implementation\n */\nexport function registerTranscriptionProvider(\n modelPrefix: string,\n provider: TranscriptionProvider,\n): void {\n providerRegistry.transcriptionProviders.set(modelPrefix, provider);\n}\n\n/**\n * Get the appropriate speech provider for a model\n *\n * @param model The model identifier\n * @returns The provider or null if not found\n */\nfunction getSpeechProvider(model: SpeechModel): SpeechProvider | null {\n // Try exact match first\n const direct = providerRegistry.speechProviders.get(model);\n if (direct) {\n return direct;\n }\n\n // Try prefix match (e.g., \"tts-1\" matches \"tts-1-hd\")\n for (const [prefix, provider] of Array.from(providerRegistry.speechProviders.entries())) {\n if (model.startsWith(prefix)) {\n return provider;\n }\n }\n\n return null;\n}\n\n/**\n * Get the appropriate transcription provider for a model\n *\n * @param model The model identifier\n * @returns The provider or null if not found\n */\nfunction getTranscriptionProvider(model: TranscriptionModel): TranscriptionProvider | null {\n // Try exact match first\n const direct = providerRegistry.transcriptionProviders.get(model);\n if (direct) {\n return direct;\n }\n\n // Try prefix match\n for (const [prefix, provider] of Array.from(providerRegistry.transcriptionProviders.entries())) {\n if (model.startsWith(prefix)) {\n return provider;\n }\n }\n\n return null;\n}\n\n/**\n * Top-level convenience function for speech generation (text-to-speech)\n *\n * Matches the Vercel AI SDK v6 `experimental_generateSpeech` pattern.\n *\n * @param options Configuration for speech generation\n * @returns Promise<GenerateSpeechResult> The generated audio and metadata\n *\n * @example\n * ```typescript\n * const result = await generateSpeech({\n * model: \"tts-1-hd\",\n * text: \"Hello, how can I help you today?\",\n * voice: \"alloy\",\n * format: \"mp3\"\n * });\n * console.log(result.audio); // Uint8Array with audio data\n * ```\n */\nexport async function generateSpeech(\n options: GenerateSpeechOptions,\n): Promise<GenerateSpeechResult> {\n const { model, timeout = 30000, ...restOptions } = options;\n\n // Validate input\n if (!model) {\n throw new Error('Model is required for speech generation');\n }\n\n if (!options.text) {\n throw new Error('Text is required for speech generation');\n }\n\n // Get provider\n const provider = getSpeechProvider(model);\n if (!provider) {\n throw new Error(\n `No speech provider registered for model: ${model}. ` +\n `Available providers: ${Array.from(providerRegistry.speechProviders.keys()).join(', ')}`,\n );\n }\n\n // Create timeout promise\n const timeoutPromise = new Promise<never>((resolve, reject) => {\n void resolve;\n setTimeout(\n () => reject(new Error(`Speech generation timeout after ${timeout}ms for model: ${model}`)),\n timeout,\n );\n });\n\n // Execute with timeout\n return Promise.race([provider.generateSpeech(options.text, restOptions), timeoutPromise]);\n}\n\n/**\n * Stream speech generation (text-to-speech)\n *\n * Provides streaming audio output for progressive playback.\n * Supports providers that implement streaming.\n *\n * @param options Configuration for speech generation\n * @returns AsyncGenerator that yields audio chunks as Uint8Array\n *\n * @example\n * ```typescript\n * for await (const chunk of streamSpeech({\n * model: \"tts-1\",\n * text: \"Hello world\",\n * voice: \"nova\"\n * })) {\n * audioBuffer.write(chunk);\n * }\n * ```\n */\nexport async function* streamSpeech(options: GenerateSpeechOptions): AsyncGenerator<Uint8Array> {\n const { model, timeout = 30000, ...restOptions } = options;\n\n // Validate input\n if (!model) {\n throw new Error('Model is required for speech generation');\n }\n\n if (!options.text) {\n throw new Error('Text is required for speech generation');\n }\n\n // Get provider\n const provider = getSpeechProvider(model);\n if (!provider) {\n throw new Error(\n `No speech provider registered for model: ${model}. ` +\n `Available providers: ${Array.from(providerRegistry.speechProviders.keys()).join(', ')}`,\n );\n }\n\n // Check if provider supports streaming\n if (!provider.streamSpeech) {\n throw new Error(\n `Provider for model ${model} does not support streaming. ` +\n `Use generateSpeech() for non-streaming audio generation.`,\n );\n }\n\n // Create timeout mechanism for generator\n const timeoutController = new AbortController();\n const timeoutId = setTimeout(() => {\n timeoutController.abort();\n }, timeout);\n\n try {\n for await (const chunk of provider.streamSpeech(options.text, restOptions)) {\n if (timeoutController.signal.aborted) {\n throw new Error(`Speech generation timeout after ${timeout}ms for model: ${model}`);\n }\n yield chunk;\n }\n } finally {\n clearTimeout(timeoutId);\n }\n}\n\n/**\n * Top-level convenience function for transcription (speech-to-text)\n *\n * Matches the Vercel AI SDK v6 `experimental_transcribe` pattern.\n *\n * @param options Configuration for transcription\n * @returns Promise<TranscribeResult> Transcribed text and metadata\n *\n * @example\n * ```typescript\n * const result = await transcribe({\n * model: \"whisper-1\",\n * audio: audioBuffer,\n * language: \"en\",\n * timestamps: true\n * });\n * console.log(result.text); // Full transcribed text\n * console.log(result.segments); // Timestamped segments\n * ```\n */\nexport async function transcribe(options: TranscribeOptions): Promise<TranscribeResult> {\n const { model, timeout = 60000, ...restOptions } = options;\n\n // Validate input\n if (!model) {\n throw new Error('Model is required for transcription');\n }\n\n if (!options.audio) {\n throw new Error('Audio data is required for transcription');\n }\n\n // Get provider\n const provider = getTranscriptionProvider(model);\n if (!provider) {\n throw new Error(\n `No transcription provider registered for model: ${model}. ` +\n `Available providers: ${Array.from(providerRegistry.transcriptionProviders.keys()).join(', ')}`,\n );\n }\n\n // Create timeout promise\n const timeoutPromise = new Promise<never>((resolve, reject) => {\n void resolve;\n setTimeout(\n () => reject(new Error(`Transcription timeout after ${timeout}ms for model: ${model}`)),\n timeout,\n );\n });\n\n // Execute with timeout\n return Promise.race([provider.transcribe(options.audio, restOptions), timeoutPromise]);\n}\n\n/**\n * Convert audio to Uint8Array if necessary\n *\n * Helper function for normalizing audio input across different formats.\n *\n * @param audio Input audio in various formats\n * @returns Uint8Array representation of audio\n */\nexport async function normalizeAudioInput(\n audio: Uint8Array | ArrayBuffer | ReadableStream<Uint8Array> | File | Blob,\n): Promise<Uint8Array> {\n // Already Uint8Array\n if (audio instanceof Uint8Array) {\n return audio;\n }\n\n // ArrayBuffer\n if (audio instanceof ArrayBuffer) {\n return new Uint8Array(audio);\n }\n\n // File or Blob\n if (audio instanceof File || audio instanceof Blob) {\n const buffer = await audio.arrayBuffer();\n return new Uint8Array(buffer);\n }\n\n // ReadableStream\n if (audio instanceof ReadableStream) {\n const chunks: Uint8Array[] = [];\n const reader = audio.getReader();\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n chunks.push(value);\n }\n } finally {\n reader.releaseLock();\n }\n\n // Combine chunks\n const totalLength = chunks.reduce((acc, chunk) => acc + chunk.length, 0);\n const result = new Uint8Array(totalLength);\n let offset = 0;\n\n for (const chunk of chunks) {\n result.set(chunk, offset);\n offset += chunk.length;\n }\n\n return result;\n }\n\n throw new Error(\n 'Invalid audio input: must be Uint8Array, ArrayBuffer, ReadableStream, File, or Blob',\n );\n}\n\n/**\n * Configuration interface for initializing providers\n */\nexport interface AudioProviderConfig {\n speechProviders?: {\n [modelPrefix: string]: SpeechProvider;\n };\n transcriptionProviders?: {\n [modelPrefix: string]: TranscriptionProvider;\n };\n}\n\n/**\n * Initialize audio providers\n *\n * Call this function with your provider implementations to set up the module.\n *\n * @param config Provider configuration\n *\n * @example\n * ```typescript\n * initializeAudioProviders({\n * speechProviders: {\n * \"tts-1\": openaiSpeechProvider,\n * \"eleven_\": elevenLabsSpeechProvider\n * },\n * transcriptionProviders: {\n * \"whisper\": openaiTranscriptionProvider,\n * \"deepgram\": deepgramProvider\n * }\n * });\n * ```\n */\nexport function initializeAudioProviders(config: AudioProviderConfig): void {\n if (config.speechProviders) {\n for (const [key, provider] of Object.entries(config.speechProviders)) {\n registerSpeechProvider(key, provider);\n }\n }\n\n if (config.transcriptionProviders) {\n for (const [key, provider] of Object.entries(config.transcriptionProviders)) {\n registerTranscriptionProvider(key, provider);\n }\n }\n}\n\n/**\n * Get registered providers (for debugging/monitoring)\n *\n * @returns Current provider registry state\n */\nexport function getRegisteredProviders(): {\n speechProviders: string[];\n transcriptionProviders: string[];\n} {\n return {\n speechProviders: Array.from(providerRegistry.speechProviders.keys()),\n transcriptionProviders: Array.from(providerRegistry.transcriptionProviders.keys()),\n };\n}\n\n// Types are already exported above in their definitions\n"],"mappings":";AAqRA,MAAM,mBAAqC;CACzC,iCAAiB,IAAI,KAAK;CAC1B,wCAAwB,IAAI,KAAK;CAClC;;;;;;;AAQD,SAAgB,uBAAuB,aAAqB,UAAgC;AAC1F,kBAAiB,gBAAgB,IAAI,aAAa,SAAS;;;;;;;;AAS7D,SAAgB,8BACd,aACA,UACM;AACN,kBAAiB,uBAAuB,IAAI,aAAa,SAAS;;;;;;;;AASpE,SAAS,kBAAkB,OAA2C;CAEpE,MAAM,SAAS,iBAAiB,gBAAgB,IAAI,MAAM;AAC1D,KAAI,OACF,QAAO;AAIT,MAAK,MAAM,CAAC,QAAQ,aAAa,MAAM,KAAK,iBAAiB,gBAAgB,SAAS,CAAC,CACrF,KAAI,MAAM,WAAW,OAAO,CAC1B,QAAO;AAIX,QAAO;;;;;;;;AAST,SAAS,yBAAyB,OAAyD;CAEzF,MAAM,SAAS,iBAAiB,uBAAuB,IAAI,MAAM;AACjE,KAAI,OACF,QAAO;AAIT,MAAK,MAAM,CAAC,QAAQ,aAAa,MAAM,KAAK,iBAAiB,uBAAuB,SAAS,CAAC,CAC5F,KAAI,MAAM,WAAW,OAAO,CAC1B,QAAO;AAIX,QAAO;;;;;;;;;;;;;;;;;;;;;AAsBT,eAAsB,eACpB,SAC+B;CAC/B,MAAM,EAAE,OAAO,UAAU,KAAO,GAAG,gBAAgB;AAGnD,KAAI,CAAC,MACH,OAAM,IAAI,MAAM,0CAA0C;AAG5D,KAAI,CAAC,QAAQ,KACX,OAAM,IAAI,MAAM,yCAAyC;CAI3D,MAAM,WAAW,kBAAkB,MAAM;AACzC,KAAI,CAAC,SACH,OAAM,IAAI,MACR,4CAA4C,MAAM,yBACxB,MAAM,KAAK,iBAAiB,gBAAgB,MAAM,CAAC,CAAC,KAAK,KAAK,GACzF;CAIH,MAAM,iBAAiB,IAAI,SAAgB,SAAS,WAAW;AAE7D,mBACQ,uBAAO,IAAI,MAAM,mCAAmC,QAAQ,gBAAgB,QAAQ,CAAC,EAC3F,QACD;GACD;AAGF,QAAO,QAAQ,KAAK,CAAC,SAAS,eAAe,QAAQ,MAAM,YAAY,EAAE,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;AAuB3F,gBAAuB,aAAa,SAA4D;CAC9F,MAAM,EAAE,OAAO,UAAU,KAAO,GAAG,gBAAgB;AAGnD,KAAI,CAAC,MACH,OAAM,IAAI,MAAM,0CAA0C;AAG5D,KAAI,CAAC,QAAQ,KACX,OAAM,IAAI,MAAM,yCAAyC;CAI3D,MAAM,WAAW,kBAAkB,MAAM;AACzC,KAAI,CAAC,SACH,OAAM,IAAI,MACR,4CAA4C,MAAM,yBACxB,MAAM,KAAK,iBAAiB,gBAAgB,MAAM,CAAC,CAAC,KAAK,KAAK,GACzF;AAIH,KAAI,CAAC,SAAS,aACZ,OAAM,IAAI,MACR,sBAAsB,MAAM,uFAE7B;CAIH,MAAM,oBAAoB,IAAI,iBAAiB;CAC/C,MAAM,YAAY,iBAAiB;AACjC,oBAAkB,OAAO;IACxB,QAAQ;AAEX,KAAI;AACF,aAAW,MAAM,SAAS,SAAS,aAAa,QAAQ,MAAM,YAAY,EAAE;AAC1E,OAAI,kBAAkB,OAAO,QAC3B,OAAM,IAAI,MAAM,mCAAmC,QAAQ,gBAAgB,QAAQ;AAErF,SAAM;;WAEA;AACR,eAAa,UAAU;;;;;;;;;;;;;;;;;;;;;;;AAwB3B,eAAsB,WAAW,SAAuD;CACtF,MAAM,EAAE,OAAO,UAAU,KAAO,GAAG,gBAAgB;AAGnD,KAAI,CAAC,MACH,OAAM,IAAI,MAAM,sCAAsC;AAGxD,KAAI,CAAC,QAAQ,MACX,OAAM,IAAI,MAAM,2CAA2C;CAI7D,MAAM,WAAW,yBAAyB,MAAM;AAChD,KAAI,CAAC,SACH,OAAM,IAAI,MACR,mDAAmD,MAAM,yBAC/B,MAAM,KAAK,iBAAiB,uBAAuB,MAAM,CAAC,CAAC,KAAK,KAAK,GAChG;CAIH,MAAM,iBAAiB,IAAI,SAAgB,SAAS,WAAW;AAE7D,mBACQ,uBAAO,IAAI,MAAM,+BAA+B,QAAQ,gBAAgB,QAAQ,CAAC,EACvF,QACD;GACD;AAGF,QAAO,QAAQ,KAAK,CAAC,SAAS,WAAW,QAAQ,OAAO,YAAY,EAAE,eAAe,CAAC;;;;;;;;;;AAWxF,eAAsB,oBACpB,OACqB;AAErB,KAAI,iBAAiB,WACnB,QAAO;AAIT,KAAI,iBAAiB,YACnB,QAAO,IAAI,WAAW,MAAM;AAI9B,KAAI,iBAAiB,QAAQ,iBAAiB,MAAM;EAClD,MAAM,SAAS,MAAM,MAAM,aAAa;AACxC,SAAO,IAAI,WAAW,OAAO;;AAI/B,KAAI,iBAAiB,gBAAgB;EACnC,MAAM,SAAuB,EAAE;EAC/B,MAAM,SAAS,MAAM,WAAW;AAEhC,MAAI;AACF,UAAO,MAAM;IACX,MAAM,EAAE,MAAM,UAAU,MAAM,OAAO,MAAM;AAC3C,QAAI,KAAM;AACV,WAAO,KAAK,MAAM;;YAEZ;AACR,UAAO,aAAa;;EAItB,MAAM,cAAc,OAAO,QAAQ,KAAK,UAAU,MAAM,MAAM,QAAQ,EAAE;EACxE,MAAM,SAAS,IAAI,WAAW,YAAY;EAC1C,IAAI,SAAS;AAEb,OAAK,MAAM,SAAS,QAAQ;AAC1B,UAAO,IAAI,OAAO,OAAO;AACzB,aAAU,MAAM;;AAGlB,SAAO;;AAGT,OAAM,IAAI,MACR,sFACD;;;;;;;;;;;;;;;;;;;;;;;AAoCH,SAAgB,yBAAyB,QAAmC;AAC1E,KAAI,OAAO,gBACT,MAAK,MAAM,CAAC,KAAK,aAAa,OAAO,QAAQ,OAAO,gBAAgB,CAClE,wBAAuB,KAAK,SAAS;AAIzC,KAAI,OAAO,uBACT,MAAK,MAAM,CAAC,KAAK,aAAa,OAAO,QAAQ,OAAO,uBAAuB,CACzE,+BAA8B,KAAK,SAAS;;;;;;;AAUlD,SAAgB,yBAGd;AACA,QAAO;EACL,iBAAiB,MAAM,KAAK,iBAAiB,gBAAgB,MAAM,CAAC;EACpE,wBAAwB,MAAM,KAAK,iBAAiB,uBAAuB,MAAM,CAAC;EACnF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { t as AuditLogger } from "./types-DJnugQX0.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/governance/audit/audit-logger.d.ts
|
|
4
|
+
declare function createAuditLogger(type?: 'memory' | 'console'): AuditLogger;
|
|
5
|
+
declare function getAuditLogger(): AuditLogger;
|
|
6
|
+
declare function setAuditLogger(logger: AuditLogger): void;
|
|
7
|
+
declare function logGeneration(actor: string, input: string, output: unknown, metadata?: Record<string, unknown>): Promise<void>;
|
|
8
|
+
declare function logToolCall(actor: string, toolName: string, args: unknown, result: unknown, metadata?: Record<string, unknown>): Promise<void>;
|
|
9
|
+
declare function logRedaction(actor: string, detections: unknown, metadata?: Record<string, unknown>): Promise<void>;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { logToolCall as a, logRedaction as i, getAuditLogger as n, setAuditLogger as o, logGeneration as r, createAuditLogger as t };
|
|
12
|
+
//# sourceMappingURL=audit-logger-Bb2JIcIk.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-logger-Bb2JIcIk.d.mts","names":[],"sources":["../src/governance/audit/audit-logger.ts"],"mappings":";;;iBAyIgB,iBAAA,CAAkB,IAAA,0BAAwC,WAAA;AAAA,iBAkB1D,cAAA,CAAA,GAAkB,WAAA;AAAA,iBAUlB,cAAA,CAAe,MAAA,EAAQ,WAAA;AAAA,iBAOjB,aAAA,CACpB,KAAA,UACA,KAAA,UACA,MAAA,WACA,QAAA,GAAW,MAAA,oBACV,OAAA;AAAA,iBAiBmB,WAAA,CACpB,KAAA,UACA,QAAA,UACA,IAAA,WACA,MAAA,WACA,QAAA,GAAW,MAAA,oBACV,OAAA;AAAA,iBAqBmB,YAAA,CACpB,KAAA,UACA,UAAA,WACA,QAAA,GAAW,MAAA,oBACV,OAAA"}
|