@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,650 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview AI SDK v6 Compatible Audio Module
|
|
3
|
+
*
|
|
4
|
+
* Provides top-level convenience functions for speech generation and transcription
|
|
5
|
+
* that match the Vercel AI SDK v6 patterns, supporting multiple providers including
|
|
6
|
+
* OpenAI, ElevenLabs, and others.
|
|
7
|
+
*
|
|
8
|
+
* Mirrors the AI SDK's experimental_generateSpeech and experimental_transcribe APIs
|
|
9
|
+
* with unified type definitions and provider abstractions.
|
|
10
|
+
*
|
|
11
|
+
* @module @od-oneapp/ai-platform/output/multimodal/audio
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Supported speech generation models
|
|
16
|
+
*/
|
|
17
|
+
export type SpeechModel =
|
|
18
|
+
| 'tts-1'
|
|
19
|
+
| 'tts-1-hd'
|
|
20
|
+
| 'gpt-4o-mini-tts'
|
|
21
|
+
| 'eleven_multilingual_v2'
|
|
22
|
+
| 'eleven_turbo_v2'
|
|
23
|
+
| 'lmnt'
|
|
24
|
+
| string;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Supported transcription models
|
|
28
|
+
*/
|
|
29
|
+
export type TranscriptionModel =
|
|
30
|
+
| 'whisper-1'
|
|
31
|
+
| 'eleven_multilingual_v2'
|
|
32
|
+
| 'deepgram'
|
|
33
|
+
| 'assemblyai'
|
|
34
|
+
| 'groq'
|
|
35
|
+
| string;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Audio output format for speech generation
|
|
39
|
+
*/
|
|
40
|
+
export type AudioFormat = 'mp3' | 'wav' | 'opus';
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Supported voice identifiers for speech generation
|
|
44
|
+
*/
|
|
45
|
+
export type Voice = 'alloy' | 'echo' | 'fable' | 'onyx' | 'nova' | 'shimmer' | string;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Options for speech generation (text-to-speech)
|
|
49
|
+
*
|
|
50
|
+
* Matches AI SDK's generateSpeech pattern while supporting multiple providers.
|
|
51
|
+
*/
|
|
52
|
+
export interface GenerateSpeechOptions {
|
|
53
|
+
/**
|
|
54
|
+
* The speech model to use (e.g., "tts-1-hd", "eleven_multilingual_v2")
|
|
55
|
+
*/
|
|
56
|
+
model: SpeechModel;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* The text to convert to speech
|
|
60
|
+
*/
|
|
61
|
+
text: string;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Voice identifier for the synthesis
|
|
65
|
+
* @default "alloy"
|
|
66
|
+
*/
|
|
67
|
+
voice?: Voice;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Speech speed adjustment (0.25 to 4.0)
|
|
71
|
+
* @default 1.0
|
|
72
|
+
*/
|
|
73
|
+
speed?: number;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Output audio format
|
|
77
|
+
* @default "mp3"
|
|
78
|
+
*/
|
|
79
|
+
format?: AudioFormat;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Maximum timeout in milliseconds
|
|
83
|
+
* @default 30000
|
|
84
|
+
*/
|
|
85
|
+
timeout?: number;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Additional provider-specific options
|
|
89
|
+
*/
|
|
90
|
+
config?: Record<string, unknown>;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Result from speech generation
|
|
95
|
+
*
|
|
96
|
+
* Matches AI SDK's GenerateSpeechResult pattern.
|
|
97
|
+
*/
|
|
98
|
+
export interface GenerateSpeechResult {
|
|
99
|
+
/**
|
|
100
|
+
* The generated audio as Uint8Array or ArrayBuffer
|
|
101
|
+
*/
|
|
102
|
+
audio: Uint8Array | ArrayBuffer;
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* The audio format of the result
|
|
106
|
+
*/
|
|
107
|
+
format: AudioFormat;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Total duration in seconds (if available from provider)
|
|
111
|
+
*/
|
|
112
|
+
duration?: number;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Provider metadata
|
|
116
|
+
*/
|
|
117
|
+
metadata?: {
|
|
118
|
+
provider?: string;
|
|
119
|
+
modelUsed?: string;
|
|
120
|
+
voiceUsed?: string;
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Options for speech-to-text transcription
|
|
126
|
+
*
|
|
127
|
+
* Matches AI SDK's transcribe pattern while supporting multiple providers.
|
|
128
|
+
*/
|
|
129
|
+
export interface TranscribeOptions {
|
|
130
|
+
/**
|
|
131
|
+
* The transcription model to use (e.g., "whisper-1")
|
|
132
|
+
*/
|
|
133
|
+
model: TranscriptionModel;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* The audio data to transcribe
|
|
137
|
+
* Can be Uint8Array, ArrayBuffer, ReadableStream, or File/Blob
|
|
138
|
+
*/
|
|
139
|
+
audio: Uint8Array | ArrayBuffer | ReadableStream<Uint8Array> | File | Blob;
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Language code (e.g., "en", "es", "fr")
|
|
143
|
+
* If not provided, model will auto-detect
|
|
144
|
+
*/
|
|
145
|
+
language?: string;
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Optional prompt to guide transcription
|
|
149
|
+
*/
|
|
150
|
+
prompt?: string;
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Include timestamped segments in result
|
|
154
|
+
* @default false
|
|
155
|
+
*/
|
|
156
|
+
timestamps?: boolean;
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Maximum timeout in milliseconds
|
|
160
|
+
* @default 60000
|
|
161
|
+
*/
|
|
162
|
+
timeout?: number;
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Additional provider-specific options
|
|
166
|
+
*/
|
|
167
|
+
config?: Record<string, unknown>;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Timestamped segment from transcription
|
|
172
|
+
*/
|
|
173
|
+
export interface TranscriptionSegment {
|
|
174
|
+
/**
|
|
175
|
+
* Start time in seconds
|
|
176
|
+
*/
|
|
177
|
+
start: number;
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* End time in seconds
|
|
181
|
+
*/
|
|
182
|
+
end: number;
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Transcribed text for this segment
|
|
186
|
+
*/
|
|
187
|
+
text: string;
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Confidence score (0-1) if available
|
|
191
|
+
*/
|
|
192
|
+
confidence?: number;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Result from transcription (speech-to-text)
|
|
197
|
+
*
|
|
198
|
+
* Matches AI SDK's TranscribeResult pattern.
|
|
199
|
+
*/
|
|
200
|
+
export interface TranscribeResult {
|
|
201
|
+
/**
|
|
202
|
+
* Full transcribed text
|
|
203
|
+
*/
|
|
204
|
+
text: string;
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Timestamped segments (if requested)
|
|
208
|
+
*/
|
|
209
|
+
segments?: TranscriptionSegment[];
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Detected language code (if available)
|
|
213
|
+
*/
|
|
214
|
+
language?: string;
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* Duration of audio in seconds (if available)
|
|
218
|
+
*/
|
|
219
|
+
duration?: number;
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Provider metadata
|
|
223
|
+
*/
|
|
224
|
+
metadata?: {
|
|
225
|
+
provider?: string;
|
|
226
|
+
modelUsed?: string;
|
|
227
|
+
confidence?: number;
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Provider interface for speech generation
|
|
233
|
+
*
|
|
234
|
+
* Implement this interface for each speech provider (OpenAI, ElevenLabs, etc.)
|
|
235
|
+
*/
|
|
236
|
+
export interface SpeechProvider {
|
|
237
|
+
/**
|
|
238
|
+
* Generate speech from text
|
|
239
|
+
*/
|
|
240
|
+
generateSpeech(
|
|
241
|
+
text: string,
|
|
242
|
+
options: Omit<GenerateSpeechOptions, 'model' | 'text'>,
|
|
243
|
+
): Promise<GenerateSpeechResult>;
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Stream speech generation (optional)
|
|
247
|
+
*/
|
|
248
|
+
streamSpeech?(
|
|
249
|
+
text: string,
|
|
250
|
+
options: Omit<GenerateSpeechOptions, 'model' | 'text'>,
|
|
251
|
+
): AsyncGenerator<Uint8Array>;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Provider interface for transcription
|
|
256
|
+
*
|
|
257
|
+
* Implement this interface for each transcription provider
|
|
258
|
+
*/
|
|
259
|
+
export interface TranscriptionProvider {
|
|
260
|
+
/**
|
|
261
|
+
* Transcribe audio to text
|
|
262
|
+
*/
|
|
263
|
+
transcribe(
|
|
264
|
+
audio: Uint8Array | ArrayBuffer | ReadableStream<Uint8Array> | File | Blob,
|
|
265
|
+
options: Omit<TranscribeOptions, 'model' | 'audio'>,
|
|
266
|
+
): Promise<TranscribeResult>;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* Provider registry for managing multiple provider implementations
|
|
271
|
+
*/
|
|
272
|
+
interface ProviderRegistry {
|
|
273
|
+
speechProviders: Map<string, SpeechProvider>;
|
|
274
|
+
transcriptionProviders: Map<string, TranscriptionProvider>;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
// Global provider registry
|
|
278
|
+
const providerRegistry: ProviderRegistry = {
|
|
279
|
+
speechProviders: new Map(),
|
|
280
|
+
transcriptionProviders: new Map(),
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Register a speech provider
|
|
285
|
+
*
|
|
286
|
+
* @param modelPrefix The model name prefix (e.g., "tts-1", "eleven_")
|
|
287
|
+
* @param provider The provider implementation
|
|
288
|
+
*/
|
|
289
|
+
export function registerSpeechProvider(modelPrefix: string, provider: SpeechProvider): void {
|
|
290
|
+
providerRegistry.speechProviders.set(modelPrefix, provider);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Register a transcription provider
|
|
295
|
+
*
|
|
296
|
+
* @param modelPrefix The model name prefix (e.g., "whisper", "deepgram")
|
|
297
|
+
* @param provider The provider implementation
|
|
298
|
+
*/
|
|
299
|
+
export function registerTranscriptionProvider(
|
|
300
|
+
modelPrefix: string,
|
|
301
|
+
provider: TranscriptionProvider,
|
|
302
|
+
): void {
|
|
303
|
+
providerRegistry.transcriptionProviders.set(modelPrefix, provider);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* Get the appropriate speech provider for a model
|
|
308
|
+
*
|
|
309
|
+
* @param model The model identifier
|
|
310
|
+
* @returns The provider or null if not found
|
|
311
|
+
*/
|
|
312
|
+
function getSpeechProvider(model: SpeechModel): SpeechProvider | null {
|
|
313
|
+
// Try exact match first
|
|
314
|
+
const direct = providerRegistry.speechProviders.get(model);
|
|
315
|
+
if (direct) {
|
|
316
|
+
return direct;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
// Try prefix match (e.g., "tts-1" matches "tts-1-hd")
|
|
320
|
+
for (const [prefix, provider] of Array.from(providerRegistry.speechProviders.entries())) {
|
|
321
|
+
if (model.startsWith(prefix)) {
|
|
322
|
+
return provider;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
return null;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Get the appropriate transcription provider for a model
|
|
331
|
+
*
|
|
332
|
+
* @param model The model identifier
|
|
333
|
+
* @returns The provider or null if not found
|
|
334
|
+
*/
|
|
335
|
+
function getTranscriptionProvider(model: TranscriptionModel): TranscriptionProvider | null {
|
|
336
|
+
// Try exact match first
|
|
337
|
+
const direct = providerRegistry.transcriptionProviders.get(model);
|
|
338
|
+
if (direct) {
|
|
339
|
+
return direct;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
// Try prefix match
|
|
343
|
+
for (const [prefix, provider] of Array.from(providerRegistry.transcriptionProviders.entries())) {
|
|
344
|
+
if (model.startsWith(prefix)) {
|
|
345
|
+
return provider;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
return null;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
/**
|
|
353
|
+
* Top-level convenience function for speech generation (text-to-speech)
|
|
354
|
+
*
|
|
355
|
+
* Matches the Vercel AI SDK v6 `experimental_generateSpeech` pattern.
|
|
356
|
+
*
|
|
357
|
+
* @param options Configuration for speech generation
|
|
358
|
+
* @returns Promise<GenerateSpeechResult> The generated audio and metadata
|
|
359
|
+
*
|
|
360
|
+
* @example
|
|
361
|
+
* ```typescript
|
|
362
|
+
* const result = await generateSpeech({
|
|
363
|
+
* model: "tts-1-hd",
|
|
364
|
+
* text: "Hello, how can I help you today?",
|
|
365
|
+
* voice: "alloy",
|
|
366
|
+
* format: "mp3"
|
|
367
|
+
* });
|
|
368
|
+
* console.log(result.audio); // Uint8Array with audio data
|
|
369
|
+
* ```
|
|
370
|
+
*/
|
|
371
|
+
export async function generateSpeech(
|
|
372
|
+
options: GenerateSpeechOptions,
|
|
373
|
+
): Promise<GenerateSpeechResult> {
|
|
374
|
+
const { model, timeout = 30000, ...restOptions } = options;
|
|
375
|
+
|
|
376
|
+
// Validate input
|
|
377
|
+
if (!model) {
|
|
378
|
+
throw new Error('Model is required for speech generation');
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
if (!options.text) {
|
|
382
|
+
throw new Error('Text is required for speech generation');
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
// Get provider
|
|
386
|
+
const provider = getSpeechProvider(model);
|
|
387
|
+
if (!provider) {
|
|
388
|
+
throw new Error(
|
|
389
|
+
`No speech provider registered for model: ${model}. ` +
|
|
390
|
+
`Available providers: ${Array.from(providerRegistry.speechProviders.keys()).join(', ')}`,
|
|
391
|
+
);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
// Create timeout promise
|
|
395
|
+
const timeoutPromise = new Promise<never>((resolve, reject) => {
|
|
396
|
+
void resolve;
|
|
397
|
+
setTimeout(
|
|
398
|
+
() => reject(new Error(`Speech generation timeout after ${timeout}ms for model: ${model}`)),
|
|
399
|
+
timeout,
|
|
400
|
+
);
|
|
401
|
+
});
|
|
402
|
+
|
|
403
|
+
// Execute with timeout
|
|
404
|
+
return Promise.race([provider.generateSpeech(options.text, restOptions), timeoutPromise]);
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
/**
|
|
408
|
+
* Stream speech generation (text-to-speech)
|
|
409
|
+
*
|
|
410
|
+
* Provides streaming audio output for progressive playback.
|
|
411
|
+
* Supports providers that implement streaming.
|
|
412
|
+
*
|
|
413
|
+
* @param options Configuration for speech generation
|
|
414
|
+
* @returns AsyncGenerator that yields audio chunks as Uint8Array
|
|
415
|
+
*
|
|
416
|
+
* @example
|
|
417
|
+
* ```typescript
|
|
418
|
+
* for await (const chunk of streamSpeech({
|
|
419
|
+
* model: "tts-1",
|
|
420
|
+
* text: "Hello world",
|
|
421
|
+
* voice: "nova"
|
|
422
|
+
* })) {
|
|
423
|
+
* audioBuffer.write(chunk);
|
|
424
|
+
* }
|
|
425
|
+
* ```
|
|
426
|
+
*/
|
|
427
|
+
export async function* streamSpeech(options: GenerateSpeechOptions): AsyncGenerator<Uint8Array> {
|
|
428
|
+
const { model, timeout = 30000, ...restOptions } = options;
|
|
429
|
+
|
|
430
|
+
// Validate input
|
|
431
|
+
if (!model) {
|
|
432
|
+
throw new Error('Model is required for speech generation');
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
if (!options.text) {
|
|
436
|
+
throw new Error('Text is required for speech generation');
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
// Get provider
|
|
440
|
+
const provider = getSpeechProvider(model);
|
|
441
|
+
if (!provider) {
|
|
442
|
+
throw new Error(
|
|
443
|
+
`No speech provider registered for model: ${model}. ` +
|
|
444
|
+
`Available providers: ${Array.from(providerRegistry.speechProviders.keys()).join(', ')}`,
|
|
445
|
+
);
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
// Check if provider supports streaming
|
|
449
|
+
if (!provider.streamSpeech) {
|
|
450
|
+
throw new Error(
|
|
451
|
+
`Provider for model ${model} does not support streaming. ` +
|
|
452
|
+
`Use generateSpeech() for non-streaming audio generation.`,
|
|
453
|
+
);
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
// Create timeout mechanism for generator
|
|
457
|
+
const timeoutController = new AbortController();
|
|
458
|
+
const timeoutId = setTimeout(() => {
|
|
459
|
+
timeoutController.abort();
|
|
460
|
+
}, timeout);
|
|
461
|
+
|
|
462
|
+
try {
|
|
463
|
+
for await (const chunk of provider.streamSpeech(options.text, restOptions)) {
|
|
464
|
+
if (timeoutController.signal.aborted) {
|
|
465
|
+
throw new Error(`Speech generation timeout after ${timeout}ms for model: ${model}`);
|
|
466
|
+
}
|
|
467
|
+
yield chunk;
|
|
468
|
+
}
|
|
469
|
+
} finally {
|
|
470
|
+
clearTimeout(timeoutId);
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
/**
|
|
475
|
+
* Top-level convenience function for transcription (speech-to-text)
|
|
476
|
+
*
|
|
477
|
+
* Matches the Vercel AI SDK v6 `experimental_transcribe` pattern.
|
|
478
|
+
*
|
|
479
|
+
* @param options Configuration for transcription
|
|
480
|
+
* @returns Promise<TranscribeResult> Transcribed text and metadata
|
|
481
|
+
*
|
|
482
|
+
* @example
|
|
483
|
+
* ```typescript
|
|
484
|
+
* const result = await transcribe({
|
|
485
|
+
* model: "whisper-1",
|
|
486
|
+
* audio: audioBuffer,
|
|
487
|
+
* language: "en",
|
|
488
|
+
* timestamps: true
|
|
489
|
+
* });
|
|
490
|
+
* console.log(result.text); // Full transcribed text
|
|
491
|
+
* console.log(result.segments); // Timestamped segments
|
|
492
|
+
* ```
|
|
493
|
+
*/
|
|
494
|
+
export async function transcribe(options: TranscribeOptions): Promise<TranscribeResult> {
|
|
495
|
+
const { model, timeout = 60000, ...restOptions } = options;
|
|
496
|
+
|
|
497
|
+
// Validate input
|
|
498
|
+
if (!model) {
|
|
499
|
+
throw new Error('Model is required for transcription');
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
if (!options.audio) {
|
|
503
|
+
throw new Error('Audio data is required for transcription');
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
// Get provider
|
|
507
|
+
const provider = getTranscriptionProvider(model);
|
|
508
|
+
if (!provider) {
|
|
509
|
+
throw new Error(
|
|
510
|
+
`No transcription provider registered for model: ${model}. ` +
|
|
511
|
+
`Available providers: ${Array.from(providerRegistry.transcriptionProviders.keys()).join(', ')}`,
|
|
512
|
+
);
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
// Create timeout promise
|
|
516
|
+
const timeoutPromise = new Promise<never>((resolve, reject) => {
|
|
517
|
+
void resolve;
|
|
518
|
+
setTimeout(
|
|
519
|
+
() => reject(new Error(`Transcription timeout after ${timeout}ms for model: ${model}`)),
|
|
520
|
+
timeout,
|
|
521
|
+
);
|
|
522
|
+
});
|
|
523
|
+
|
|
524
|
+
// Execute with timeout
|
|
525
|
+
return Promise.race([provider.transcribe(options.audio, restOptions), timeoutPromise]);
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* Convert audio to Uint8Array if necessary
|
|
530
|
+
*
|
|
531
|
+
* Helper function for normalizing audio input across different formats.
|
|
532
|
+
*
|
|
533
|
+
* @param audio Input audio in various formats
|
|
534
|
+
* @returns Uint8Array representation of audio
|
|
535
|
+
*/
|
|
536
|
+
export async function normalizeAudioInput(
|
|
537
|
+
audio: Uint8Array | ArrayBuffer | ReadableStream<Uint8Array> | File | Blob,
|
|
538
|
+
): Promise<Uint8Array> {
|
|
539
|
+
// Already Uint8Array
|
|
540
|
+
if (audio instanceof Uint8Array) {
|
|
541
|
+
return audio;
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
// ArrayBuffer
|
|
545
|
+
if (audio instanceof ArrayBuffer) {
|
|
546
|
+
return new Uint8Array(audio);
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
// File or Blob
|
|
550
|
+
if (audio instanceof File || audio instanceof Blob) {
|
|
551
|
+
const buffer = await audio.arrayBuffer();
|
|
552
|
+
return new Uint8Array(buffer);
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
// ReadableStream
|
|
556
|
+
if (audio instanceof ReadableStream) {
|
|
557
|
+
const chunks: Uint8Array[] = [];
|
|
558
|
+
const reader = audio.getReader();
|
|
559
|
+
|
|
560
|
+
try {
|
|
561
|
+
while (true) {
|
|
562
|
+
const { done, value } = await reader.read();
|
|
563
|
+
if (done) break;
|
|
564
|
+
chunks.push(value);
|
|
565
|
+
}
|
|
566
|
+
} finally {
|
|
567
|
+
reader.releaseLock();
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
// Combine chunks
|
|
571
|
+
const totalLength = chunks.reduce((acc, chunk) => acc + chunk.length, 0);
|
|
572
|
+
const result = new Uint8Array(totalLength);
|
|
573
|
+
let offset = 0;
|
|
574
|
+
|
|
575
|
+
for (const chunk of chunks) {
|
|
576
|
+
result.set(chunk, offset);
|
|
577
|
+
offset += chunk.length;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
return result;
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
throw new Error(
|
|
584
|
+
'Invalid audio input: must be Uint8Array, ArrayBuffer, ReadableStream, File, or Blob',
|
|
585
|
+
);
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* Configuration interface for initializing providers
|
|
590
|
+
*/
|
|
591
|
+
export interface AudioProviderConfig {
|
|
592
|
+
speechProviders?: {
|
|
593
|
+
[modelPrefix: string]: SpeechProvider;
|
|
594
|
+
};
|
|
595
|
+
transcriptionProviders?: {
|
|
596
|
+
[modelPrefix: string]: TranscriptionProvider;
|
|
597
|
+
};
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
/**
|
|
601
|
+
* Initialize audio providers
|
|
602
|
+
*
|
|
603
|
+
* Call this function with your provider implementations to set up the module.
|
|
604
|
+
*
|
|
605
|
+
* @param config Provider configuration
|
|
606
|
+
*
|
|
607
|
+
* @example
|
|
608
|
+
* ```typescript
|
|
609
|
+
* initializeAudioProviders({
|
|
610
|
+
* speechProviders: {
|
|
611
|
+
* "tts-1": openaiSpeechProvider,
|
|
612
|
+
* "eleven_": elevenLabsSpeechProvider
|
|
613
|
+
* },
|
|
614
|
+
* transcriptionProviders: {
|
|
615
|
+
* "whisper": openaiTranscriptionProvider,
|
|
616
|
+
* "deepgram": deepgramProvider
|
|
617
|
+
* }
|
|
618
|
+
* });
|
|
619
|
+
* ```
|
|
620
|
+
*/
|
|
621
|
+
export function initializeAudioProviders(config: AudioProviderConfig): void {
|
|
622
|
+
if (config.speechProviders) {
|
|
623
|
+
for (const [key, provider] of Object.entries(config.speechProviders)) {
|
|
624
|
+
registerSpeechProvider(key, provider);
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
if (config.transcriptionProviders) {
|
|
629
|
+
for (const [key, provider] of Object.entries(config.transcriptionProviders)) {
|
|
630
|
+
registerTranscriptionProvider(key, provider);
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
/**
|
|
636
|
+
* Get registered providers (for debugging/monitoring)
|
|
637
|
+
*
|
|
638
|
+
* @returns Current provider registry state
|
|
639
|
+
*/
|
|
640
|
+
export function getRegisteredProviders(): {
|
|
641
|
+
speechProviders: string[];
|
|
642
|
+
transcriptionProviders: string[];
|
|
643
|
+
} {
|
|
644
|
+
return {
|
|
645
|
+
speechProviders: Array.from(providerRegistry.speechProviders.keys()),
|
|
646
|
+
transcriptionProviders: Array.from(providerRegistry.transcriptionProviders.keys()),
|
|
647
|
+
};
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
// Types are already exported above in their definitions
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Multimodal Image Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides wrappers for image generation.
|
|
5
|
+
*
|
|
6
|
+
* @module @od-oneapp/ai-platform/multimodal/image
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { generateImage } from '../../shared';
|
|
10
|
+
|
|
11
|
+
// Re-export generateImage, potentially adding middleware/compliance wrappers later.
|
|
12
|
+
export { generateImage };
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Standard inputs for image generation to normalize across models.
|
|
16
|
+
*/
|
|
17
|
+
export interface ImageGenerationOptions {
|
|
18
|
+
prompt: string;
|
|
19
|
+
aspectRatio?: '1:1' | '16:9' | '4:3';
|
|
20
|
+
size?: string;
|
|
21
|
+
n?: number;
|
|
22
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Multimodal output module exports
|
|
3
|
+
*
|
|
4
|
+
* Barrel export for audio and speech/transcription functionality.
|
|
5
|
+
*
|
|
6
|
+
* @module @od-oneapp/ai-platform/output/multimodal
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
// Functions
|
|
11
|
+
generateSpeech,
|
|
12
|
+
streamSpeech,
|
|
13
|
+
transcribe,
|
|
14
|
+
normalizeAudioInput,
|
|
15
|
+
initializeAudioProviders,
|
|
16
|
+
getRegisteredProviders,
|
|
17
|
+
registerSpeechProvider,
|
|
18
|
+
registerTranscriptionProvider,
|
|
19
|
+
// Types
|
|
20
|
+
type GenerateSpeechOptions,
|
|
21
|
+
type GenerateSpeechResult,
|
|
22
|
+
type TranscribeOptions,
|
|
23
|
+
type TranscribeResult,
|
|
24
|
+
type TranscriptionSegment,
|
|
25
|
+
type SpeechProvider,
|
|
26
|
+
type TranscriptionProvider,
|
|
27
|
+
type AudioProviderConfig,
|
|
28
|
+
type SpeechModel,
|
|
29
|
+
type TranscriptionModel,
|
|
30
|
+
type AudioFormat,
|
|
31
|
+
type Voice,
|
|
32
|
+
} from './audio';
|