@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,306 @@
|
|
|
1
|
+
# Module Exports Reference
|
|
2
|
+
|
|
3
|
+
## Public API - Main Functions
|
|
4
|
+
|
|
5
|
+
### Speech Generation
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
export async function generateSpeech(options: GenerateSpeechOptions): Promise<GenerateSpeechResult>;
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Generate speech from text with timeout protection and provider selection.
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
export async function* streamSpeech(
|
|
15
|
+
options: GenerateSpeechOptions
|
|
16
|
+
): AsyncGenerator<Uint8Array>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Stream speech generation for progressive audio delivery.
|
|
20
|
+
|
|
21
|
+
### Transcription
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
export async function transcribe(options: TranscribeOptions): Promise<TranscribeResult>;
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Transcribe audio to text with optional timestamps.
|
|
28
|
+
|
|
29
|
+
### Audio Utilities
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
export async function normalizeAudioInput(
|
|
33
|
+
audio: Uint8Array | ArrayBuffer | ReadableStream<Uint8Array> | File | Blob
|
|
34
|
+
): Promise<Uint8Array>;
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Convert various audio formats to Uint8Array.
|
|
38
|
+
|
|
39
|
+
### Provider Management
|
|
40
|
+
|
|
41
|
+
```typescript
|
|
42
|
+
export function registerSpeechProvider(modelPrefix: string, provider: SpeechProvider): void;
|
|
43
|
+
|
|
44
|
+
export function registerTranscriptionProvider(modelPrefix: string, provider: TranscriptionProvider): void;
|
|
45
|
+
|
|
46
|
+
export function initializeAudioProviders(config: AudioProviderConfig): void;
|
|
47
|
+
|
|
48
|
+
export function getRegisteredProviders(): {
|
|
49
|
+
speechProviders: string[];
|
|
50
|
+
transcriptionProviders: string[];
|
|
51
|
+
};
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Public Types - Options & Results
|
|
55
|
+
|
|
56
|
+
### Input Options
|
|
57
|
+
|
|
58
|
+
```typescript
|
|
59
|
+
export interface GenerateSpeechOptions {
|
|
60
|
+
model: SpeechModel;
|
|
61
|
+
text: string;
|
|
62
|
+
voice?: Voice;
|
|
63
|
+
speed?: number;
|
|
64
|
+
format?: AudioFormat;
|
|
65
|
+
timeout?: number;
|
|
66
|
+
config?: Record<string, unknown>;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export interface TranscribeOptions {
|
|
70
|
+
model: TranscriptionModel;
|
|
71
|
+
audio: Uint8Array | ArrayBuffer | ReadableStream<Uint8Array> | File | Blob;
|
|
72
|
+
language?: string;
|
|
73
|
+
prompt?: string;
|
|
74
|
+
timestamps?: boolean;
|
|
75
|
+
timeout?: number;
|
|
76
|
+
config?: Record<string, unknown>;
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Output Results
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
export interface GenerateSpeechResult {
|
|
84
|
+
audio: Uint8Array | ArrayBuffer;
|
|
85
|
+
format: AudioFormat;
|
|
86
|
+
duration?: number;
|
|
87
|
+
metadata?: {
|
|
88
|
+
provider?: string;
|
|
89
|
+
modelUsed?: string;
|
|
90
|
+
voiceUsed?: string;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export interface TranscribeResult {
|
|
95
|
+
text: string;
|
|
96
|
+
segments?: TranscriptionSegment[];
|
|
97
|
+
language?: string;
|
|
98
|
+
duration?: number;
|
|
99
|
+
metadata?: {
|
|
100
|
+
provider?: string;
|
|
101
|
+
modelUsed?: string;
|
|
102
|
+
confidence?: number;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export interface TranscriptionSegment {
|
|
107
|
+
start: number;
|
|
108
|
+
end: number;
|
|
109
|
+
text: string;
|
|
110
|
+
confidence?: number;
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Type Definitions
|
|
115
|
+
|
|
116
|
+
### Model Types
|
|
117
|
+
|
|
118
|
+
```typescript
|
|
119
|
+
export type SpeechModel =
|
|
120
|
+
| "tts-1"
|
|
121
|
+
| "tts-1-hd"
|
|
122
|
+
| "gpt-4o-mini-tts"
|
|
123
|
+
| "eleven_multilingual_v2"
|
|
124
|
+
| "eleven_turbo_v2"
|
|
125
|
+
| "lmnt"
|
|
126
|
+
| string;
|
|
127
|
+
|
|
128
|
+
export type TranscriptionModel = "whisper-1" | "eleven_multilingual_v2" | "deepgram" | "assemblyai" | "groq" | string;
|
|
129
|
+
|
|
130
|
+
export type AudioFormat = "mp3" | "wav" | "opus";
|
|
131
|
+
|
|
132
|
+
export type Voice = "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | string;
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Provider Interfaces - Implementation Contracts
|
|
136
|
+
|
|
137
|
+
### Speech Provider
|
|
138
|
+
|
|
139
|
+
```typescript
|
|
140
|
+
export interface SpeechProvider {
|
|
141
|
+
generateSpeech(text: string, options: Omit<GenerateSpeechOptions, "model" | "text">): Promise<GenerateSpeechResult>;
|
|
142
|
+
|
|
143
|
+
streamSpeech?(text: string, options: Omit<GenerateSpeechOptions, "model" | "text">): AsyncGenerator<Uint8Array>;
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Transcription Provider
|
|
148
|
+
|
|
149
|
+
```typescript
|
|
150
|
+
export interface TranscriptionProvider {
|
|
151
|
+
transcribe(
|
|
152
|
+
audio: Uint8Array | ArrayBuffer | ReadableStream<Uint8Array> | File | Blob,
|
|
153
|
+
options: Omit<TranscribeOptions, "model" | "audio">
|
|
154
|
+
): Promise<TranscribeResult>;
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Configuration Interfaces
|
|
159
|
+
|
|
160
|
+
### Provider Configuration
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
export interface AudioProviderConfig {
|
|
164
|
+
speechProviders?: {
|
|
165
|
+
[modelPrefix: string]: SpeechProvider;
|
|
166
|
+
};
|
|
167
|
+
transcriptionProviders?: {
|
|
168
|
+
[modelPrefix: string]: TranscriptionProvider;
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Import Examples
|
|
174
|
+
|
|
175
|
+
### All-in-one import
|
|
176
|
+
|
|
177
|
+
```typescript
|
|
178
|
+
import {
|
|
179
|
+
generateSpeech,
|
|
180
|
+
streamSpeech,
|
|
181
|
+
transcribe,
|
|
182
|
+
normalizeAudioInput,
|
|
183
|
+
registerSpeechProvider,
|
|
184
|
+
registerTranscriptionProvider,
|
|
185
|
+
initializeAudioProviders,
|
|
186
|
+
getRegisteredProviders,
|
|
187
|
+
type GenerateSpeechOptions,
|
|
188
|
+
type GenerateSpeechResult,
|
|
189
|
+
type TranscribeOptions,
|
|
190
|
+
type TranscribeResult,
|
|
191
|
+
type TranscriptionSegment,
|
|
192
|
+
type SpeechProvider,
|
|
193
|
+
type TranscriptionProvider,
|
|
194
|
+
type AudioProviderConfig,
|
|
195
|
+
type SpeechModel,
|
|
196
|
+
type TranscriptionModel,
|
|
197
|
+
type AudioFormat,
|
|
198
|
+
type Voice
|
|
199
|
+
} from "@repo/ai-platform/output/multimodal";
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Minimal import
|
|
203
|
+
|
|
204
|
+
```typescript
|
|
205
|
+
import { generateSpeech, transcribe, initializeAudioProviders } from "@repo/ai-platform/output/multimodal";
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Example providers
|
|
209
|
+
|
|
210
|
+
```typescript
|
|
211
|
+
import {
|
|
212
|
+
OpenAISpeechProvider,
|
|
213
|
+
OpenAITranscriptionProvider,
|
|
214
|
+
ElevenLabsSpeechProvider
|
|
215
|
+
} from "@repo/ai-platform/output/multimodal/providers.example";
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## Hidden Internal Exports (Not for Public Use)
|
|
219
|
+
|
|
220
|
+
The following are used internally but not exposed in public API:
|
|
221
|
+
|
|
222
|
+
- `providerRegistry` - Internal provider storage
|
|
223
|
+
- `getSpeechProvider()` - Internal provider lookup
|
|
224
|
+
- `getTranscriptionProvider()` - Internal provider lookup
|
|
225
|
+
- `ProviderRegistry` interface - Internal registry interface
|
|
226
|
+
|
|
227
|
+
## Module Files
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
@repo/ai-platform/output/multimodal
|
|
231
|
+
├── audio.ts # Core module
|
|
232
|
+
├── index.ts # Barrel export (use this)
|
|
233
|
+
├── providers.example.ts # Reference implementations
|
|
234
|
+
├── README.md # Full documentation
|
|
235
|
+
├── SETUP_GUIDE.md # Quick start guide
|
|
236
|
+
├── IMPLEMENTATION_SUMMARY.md # Technical details
|
|
237
|
+
└── EXPORTS.md # This file
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
## Import Patterns
|
|
241
|
+
|
|
242
|
+
### From barrel export (recommended)
|
|
243
|
+
|
|
244
|
+
```typescript
|
|
245
|
+
import { generateSpeech } from "@repo/ai-platform/output/multimodal";
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### Direct imports
|
|
249
|
+
|
|
250
|
+
```typescript
|
|
251
|
+
import { generateSpeech } from "@repo/ai-platform/output/multimodal/audio";
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Example providers (optional)
|
|
255
|
+
|
|
256
|
+
```typescript
|
|
257
|
+
import { OpenAISpeechProvider } from "@repo/ai-platform/output/multimodal/providers.example";
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
## Backward Compatibility
|
|
261
|
+
|
|
262
|
+
The module is designed to match:
|
|
263
|
+
|
|
264
|
+
- **Vercel AI SDK v6**: `experimental_generateSpeech` and `experimental_transcribe` patterns
|
|
265
|
+
- **@ai-sdk/\* providers**: Compatible with official Vercel AI SDK providers
|
|
266
|
+
- **Node.js/Browser**: Works in both environments
|
|
267
|
+
|
|
268
|
+
## Default Values
|
|
269
|
+
|
|
270
|
+
```typescript
|
|
271
|
+
// GenerateSpeechOptions
|
|
272
|
+
timeout: 30000; // 30 seconds
|
|
273
|
+
voice: "alloy";
|
|
274
|
+
speed: 1.0;
|
|
275
|
+
format: "mp3";
|
|
276
|
+
|
|
277
|
+
// TranscribeOptions
|
|
278
|
+
timeout: 60000; // 60 seconds
|
|
279
|
+
timestamps: false;
|
|
280
|
+
language: undefined; // Auto-detect
|
|
281
|
+
prompt: undefined;
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
## Error Types
|
|
285
|
+
|
|
286
|
+
Errors thrown by functions:
|
|
287
|
+
|
|
288
|
+
- `Error: Model is required for speech generation`
|
|
289
|
+
- `Error: Text is required for speech generation`
|
|
290
|
+
- `Error: Audio data is required for transcription`
|
|
291
|
+
- `Error: No speech provider registered for model: {model}`
|
|
292
|
+
- `Error: No transcription provider registered for model: {model}`
|
|
293
|
+
- `Error: Speech generation timeout after {timeout}ms`
|
|
294
|
+
- `Error: Transcription timeout after {timeout}ms`
|
|
295
|
+
- `Error: Provider for model {model} does not support streaming`
|
|
296
|
+
- `Error: Invalid audio input: must be Uint8Array, ArrayBuffer, ReadableStream, File, or Blob`
|
|
297
|
+
|
|
298
|
+
## Export Statistics
|
|
299
|
+
|
|
300
|
+
- **Public Functions**: 6
|
|
301
|
+
- **Public Types**: 4
|
|
302
|
+
- **Public Interfaces**: 7
|
|
303
|
+
- **Union Types**: 4
|
|
304
|
+
- **Total Exported**: 21 items
|
|
305
|
+
- **Total Lines of Code**: 687 (audio.ts)
|
|
306
|
+
- **Documentation Lines**: 1210 (README + SETUP + SUMMARY)
|
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
# AI SDK v6 Compatible Audio Module - Implementation Summary
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This implementation provides AI SDK v6 compatible wrapper functions for speech generation (text-to-speech) and
|
|
6
|
+
transcription (speech-to-text) functionality in the `@repo/ai-platform` package.
|
|
7
|
+
|
|
8
|
+
## Files Created
|
|
9
|
+
|
|
10
|
+
### 1. `/src/output/multimodal/audio.ts` (Main Module)
|
|
11
|
+
|
|
12
|
+
**Size**: ~16KB | **Lines**: 750+
|
|
13
|
+
|
|
14
|
+
The core module containing:
|
|
15
|
+
|
|
16
|
+
#### Type Definitions
|
|
17
|
+
|
|
18
|
+
- `SpeechModel` - Union type for supported speech models (OpenAI, ElevenLabs, LMNT, Hume)
|
|
19
|
+
- `TranscriptionModel` - Union type for transcription models (Whisper, Deepgram, AssemblyAI, Groq, Rev.ai)
|
|
20
|
+
- `AudioFormat` - Audio output format type ('mp3' | 'wav' | 'opus')
|
|
21
|
+
- `Voice` - Supported voice identifiers
|
|
22
|
+
|
|
23
|
+
#### Interface Definitions
|
|
24
|
+
|
|
25
|
+
- `GenerateSpeechOptions` - Configuration for speech generation with model, text, voice, speed, format, timeout, and
|
|
26
|
+
config
|
|
27
|
+
- `GenerateSpeechResult` - Result object with audio (Uint8Array | ArrayBuffer), format, duration, and metadata
|
|
28
|
+
- `TranscribeOptions` - Configuration for transcription with model, audio, language, prompt, timestamps, timeout
|
|
29
|
+
- `TranscribeResult` - Result with text, segments, language, duration, and metadata
|
|
30
|
+
- `TranscriptionSegment` - Timestamped segments with start, end, text, and confidence
|
|
31
|
+
- `SpeechProvider` - Interface for speech provider implementations with generateSpeech() and optional streamSpeech()
|
|
32
|
+
- `TranscriptionProvider` - Interface for transcription provider implementations
|
|
33
|
+
- `AudioProviderConfig` - Configuration for provider initialization
|
|
34
|
+
|
|
35
|
+
#### Core Functions
|
|
36
|
+
|
|
37
|
+
**`generateSpeech(options: GenerateSpeechOptions): Promise<GenerateSpeechResult>`**
|
|
38
|
+
|
|
39
|
+
- Top-level convenience function matching AI SDK v6 pattern
|
|
40
|
+
- Validates model and text inputs
|
|
41
|
+
- Resolves appropriate provider
|
|
42
|
+
- Implements timeout protection (default: 30 seconds)
|
|
43
|
+
- Returns audio data with metadata
|
|
44
|
+
|
|
45
|
+
**`streamSpeech(options: GenerateSpeechOptions): AsyncGenerator<Uint8Array>`**
|
|
46
|
+
|
|
47
|
+
- Streaming variant for progressive audio playback
|
|
48
|
+
- Supports providers implementing streamSpeech()
|
|
49
|
+
- Timeout handling for async generators
|
|
50
|
+
- Yields audio chunks as Uint8Array
|
|
51
|
+
|
|
52
|
+
**`transcribe(options: TranscribeOptions): Promise<TranscribeResult>`**
|
|
53
|
+
|
|
54
|
+
- Top-level convenience function for speech-to-text
|
|
55
|
+
- Supports multiple audio input formats (Uint8Array, ArrayBuffer, ReadableStream, File, Blob)
|
|
56
|
+
- Optional timestamp segments for detailed timing information
|
|
57
|
+
- Timeout protection (default: 60 seconds)
|
|
58
|
+
|
|
59
|
+
**`normalizeAudioInput(audio: AudioInput): Promise<Uint8Array>`**
|
|
60
|
+
|
|
61
|
+
- Helper function for converting various audio formats to Uint8Array
|
|
62
|
+
- Handles: Uint8Array, ArrayBuffer, ReadableStream, File, Blob
|
|
63
|
+
- Automatic chunk combining for streams
|
|
64
|
+
|
|
65
|
+
#### Provider Management Functions
|
|
66
|
+
|
|
67
|
+
**`registerSpeechProvider(modelPrefix: string, provider: SpeechProvider): void`**
|
|
68
|
+
|
|
69
|
+
- Register single speech provider
|
|
70
|
+
- Prefix-based model matching
|
|
71
|
+
|
|
72
|
+
**`registerTranscriptionProvider(modelPrefix: string, provider: TranscriptionProvider): void`**
|
|
73
|
+
|
|
74
|
+
- Register single transcription provider
|
|
75
|
+
|
|
76
|
+
**`initializeAudioProviders(config: AudioProviderConfig): void`**
|
|
77
|
+
|
|
78
|
+
- Bulk provider initialization
|
|
79
|
+
- Convenient setup function
|
|
80
|
+
|
|
81
|
+
**`getRegisteredProviders(): {speechProviders: string[], transcriptionProviders: string[]}`**
|
|
82
|
+
|
|
83
|
+
- Debugging/monitoring support
|
|
84
|
+
- Returns list of registered model prefixes
|
|
85
|
+
|
|
86
|
+
#### Implementation Details
|
|
87
|
+
|
|
88
|
+
**Provider Registry**
|
|
89
|
+
|
|
90
|
+
- Global Map-based registry for efficient lookups
|
|
91
|
+
- Supports both exact model matching and prefix-based matching
|
|
92
|
+
- Extensible for custom providers
|
|
93
|
+
|
|
94
|
+
**Error Handling**
|
|
95
|
+
|
|
96
|
+
- Clear error messages for missing providers
|
|
97
|
+
- Timeout errors with model identification
|
|
98
|
+
- Input validation for required parameters
|
|
99
|
+
|
|
100
|
+
**TypeScript Support**
|
|
101
|
+
|
|
102
|
+
- Full type safety with comprehensive interfaces
|
|
103
|
+
- Support for generic provider configurations
|
|
104
|
+
- Type-safe streaming with AsyncGenerator
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
### 2. `/src/output/multimodal/index.ts` (Barrel Export)
|
|
109
|
+
|
|
110
|
+
**Size**: ~700 bytes
|
|
111
|
+
|
|
112
|
+
Provides convenient module exports:
|
|
113
|
+
|
|
114
|
+
- All top-level functions (generateSpeech, streamSpeech, transcribe, etc.)
|
|
115
|
+
- All types for external consumption
|
|
116
|
+
- Clean public API surface
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
### 3. `/src/output/multimodal/providers.example.ts` (Reference Implementations)
|
|
121
|
+
|
|
122
|
+
**Size**: ~11KB
|
|
123
|
+
|
|
124
|
+
Complete example implementations demonstrating provider pattern:
|
|
125
|
+
|
|
126
|
+
**`OpenAISpeechProvider` class**
|
|
127
|
+
|
|
128
|
+
- Implements SpeechProvider interface
|
|
129
|
+
- generateSpeech() method using OpenAI TTS API (tts-1, tts-1-hd)
|
|
130
|
+
- streamSpeech() method for progressive audio delivery
|
|
131
|
+
- Proper error handling and API timeout management
|
|
132
|
+
|
|
133
|
+
**`OpenAITranscriptionProvider` class**
|
|
134
|
+
|
|
135
|
+
- Implements TranscriptionProvider interface
|
|
136
|
+
- transcribe() method using OpenAI Whisper API
|
|
137
|
+
- Handles multiple audio input formats
|
|
138
|
+
- Optional timestamp segments support
|
|
139
|
+
- FormData construction for multipart requests
|
|
140
|
+
|
|
141
|
+
**`ElevenLabsSpeechProvider` class**
|
|
142
|
+
|
|
143
|
+
- Implements SpeechProvider interface
|
|
144
|
+
- generateSpeech() using ElevenLabs API
|
|
145
|
+
- streamSpeech() for real-time audio streaming
|
|
146
|
+
- Voice ID management
|
|
147
|
+
- Stability and similarity boost parameters
|
|
148
|
+
|
|
149
|
+
**Usage Example**
|
|
150
|
+
|
|
151
|
+
```typescript
|
|
152
|
+
import { initializeAudioProviders, generateSpeech, transcribe } from "@repo/ai-platform/output/multimodal";
|
|
153
|
+
import {
|
|
154
|
+
OpenAISpeechProvider,
|
|
155
|
+
OpenAITranscriptionProvider,
|
|
156
|
+
ElevenLabsSpeechProvider
|
|
157
|
+
} from "@repo/ai-platform/output/multimodal/providers.example";
|
|
158
|
+
|
|
159
|
+
// Initialize
|
|
160
|
+
initializeAudioProviders({
|
|
161
|
+
speechProviders: {
|
|
162
|
+
"tts-1": new OpenAISpeechProvider(process.env.OPENAI_API_KEY!),
|
|
163
|
+
eleven_: new ElevenLabsSpeechProvider(process.env.ELEVENLABS_API_KEY!)
|
|
164
|
+
},
|
|
165
|
+
transcriptionProviders: {
|
|
166
|
+
whisper: new OpenAITranscriptionProvider(process.env.OPENAI_API_KEY!)
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
// Use
|
|
171
|
+
const result = await generateSpeech({
|
|
172
|
+
model: "tts-1-hd",
|
|
173
|
+
text: "Hello world",
|
|
174
|
+
voice: "nova"
|
|
175
|
+
});
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
### 4. `/src/output/multimodal/README.md` (Documentation)
|
|
181
|
+
|
|
182
|
+
**Size**: ~9.5KB
|
|
183
|
+
|
|
184
|
+
Comprehensive documentation including:
|
|
185
|
+
|
|
186
|
+
- Feature overview
|
|
187
|
+
- Installation instructions
|
|
188
|
+
- Quick start examples
|
|
189
|
+
- Complete API reference
|
|
190
|
+
- Type definitions documentation
|
|
191
|
+
- Supported providers listing
|
|
192
|
+
- Custom provider implementation guide
|
|
193
|
+
- Example implementations walkthrough
|
|
194
|
+
- Error handling patterns
|
|
195
|
+
- Performance considerations
|
|
196
|
+
- Related documentation links
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Architecture & Design Patterns
|
|
201
|
+
|
|
202
|
+
### 1. **Provider Pattern**
|
|
203
|
+
|
|
204
|
+
- Abstract provider interfaces (SpeechProvider, TranscriptionProvider)
|
|
205
|
+
- Plug-in architecture for adding new providers
|
|
206
|
+
- Model prefix-based provider resolution
|
|
207
|
+
|
|
208
|
+
### 2. **Registry Pattern**
|
|
209
|
+
|
|
210
|
+
- Central provider registry for dispatch
|
|
211
|
+
- Prefix matching for flexible model naming
|
|
212
|
+
- Extensible without modifying core code
|
|
213
|
+
|
|
214
|
+
### 3. **Factory Pattern**
|
|
215
|
+
|
|
216
|
+
- `initializeAudioProviders()` for bulk configuration
|
|
217
|
+
- `registerSpeechProvider()` / `registerTranscriptionProvider()` for individual registration
|
|
218
|
+
|
|
219
|
+
### 4. **Adapter Pattern**
|
|
220
|
+
|
|
221
|
+
- Top-level functions (generateSpeech, transcribe) adapt to underlying providers
|
|
222
|
+
- Unified interface hiding provider differences
|
|
223
|
+
- Type normalization (audio input formats)
|
|
224
|
+
|
|
225
|
+
### 5. **Timeout Pattern**
|
|
226
|
+
|
|
227
|
+
- Promise race pattern for operation timeouts
|
|
228
|
+
- AbortController support for streaming
|
|
229
|
+
- Configurable timeout values with sensible defaults
|
|
230
|
+
|
|
231
|
+
### 6. **Streaming Pattern**
|
|
232
|
+
|
|
233
|
+
- AsyncGenerator for progressive data delivery
|
|
234
|
+
- Non-blocking chunk processing
|
|
235
|
+
- Provider-level streaming support
|
|
236
|
+
|
|
237
|
+
## Key Features
|
|
238
|
+
|
|
239
|
+
### 1. **AI SDK v6 Compatibility**
|
|
240
|
+
|
|
241
|
+
- Matches experimental_generateSpeech API pattern
|
|
242
|
+
- Matches experimental_transcribe API pattern
|
|
243
|
+
- Compatible type signatures
|
|
244
|
+
- Matches error handling patterns
|
|
245
|
+
|
|
246
|
+
### 2. **Multi-Provider Support**
|
|
247
|
+
|
|
248
|
+
- OpenAI (TTS: tts-1, tts-1-hd, gpt-4o-mini-tts; STT: whisper-1)
|
|
249
|
+
- ElevenLabs (TTS: eleven_multilingual_v2, eleven_turbo_v2; STT: multilingual)
|
|
250
|
+
- Support for Deepgram, AssemblyAI, Groq, Rev.ai, LMNT, Hume
|
|
251
|
+
- Extensible for custom providers
|
|
252
|
+
|
|
253
|
+
### 3. **Flexible Audio Input**
|
|
254
|
+
|
|
255
|
+
- Uint8Array and ArrayBuffer
|
|
256
|
+
- ReadableStream for streaming input
|
|
257
|
+
- File and Blob support for browser/Node.js compatibility
|
|
258
|
+
- Automatic format normalization
|
|
259
|
+
|
|
260
|
+
### 4. **Streaming Support**
|
|
261
|
+
|
|
262
|
+
- Progressive speech generation with `streamSpeech()`
|
|
263
|
+
- Non-blocking audio chunk delivery
|
|
264
|
+
- Provider-level streaming if supported
|
|
265
|
+
- Fallback for providers without streaming
|
|
266
|
+
|
|
267
|
+
### 5. **Comprehensive Error Handling**
|
|
268
|
+
|
|
269
|
+
- Clear error messages
|
|
270
|
+
- Provider registration validation
|
|
271
|
+
- Model availability checks
|
|
272
|
+
- Timeout error reporting
|
|
273
|
+
|
|
274
|
+
### 6. **Type Safety**
|
|
275
|
+
|
|
276
|
+
- Full TypeScript support
|
|
277
|
+
- Comprehensive interfaces
|
|
278
|
+
- Union types for model identifiers
|
|
279
|
+
- Generic provider configuration
|
|
280
|
+
|
|
281
|
+
## Implementation Highlights
|
|
282
|
+
|
|
283
|
+
### 1. **Timeout Pattern**
|
|
284
|
+
|
|
285
|
+
```typescript
|
|
286
|
+
return Promise.race([provider.generateSpeech(options.text, restOptions), timeoutPromise]);
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
- Ensures operations don't hang indefinitely
|
|
290
|
+
- Separate timeout per operation type (30s for TTS, 60s for STT)
|
|
291
|
+
|
|
292
|
+
### 2. **Provider Resolution**
|
|
293
|
+
|
|
294
|
+
```typescript
|
|
295
|
+
// Try exact match first
|
|
296
|
+
if (providerRegistry.speechProviders.has(model)) {
|
|
297
|
+
return providerRegistry.speechProviders.get(model)!;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
// Try prefix match
|
|
301
|
+
for (const [prefix, provider] of Array.from(providerRegistry.speechProviders.entries())) {
|
|
302
|
+
if (model.startsWith(prefix)) {
|
|
303
|
+
return provider;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
- Efficient exact matching
|
|
309
|
+
- Fallback to prefix matching
|
|
310
|
+
- Examples: "tts-1" matches "tts-1-hd", "eleven\_" matches "eleven_multilingual_v2"
|
|
311
|
+
|
|
312
|
+
### 3. **Audio Normalization**
|
|
313
|
+
|
|
314
|
+
- Handles multiple input types transparently
|
|
315
|
+
- Recursive stream chunk combining
|
|
316
|
+
- Returns consistent Uint8Array output
|
|
317
|
+
|
|
318
|
+
### 4. **Metadata Tracking**
|
|
319
|
+
|
|
320
|
+
- Optional metadata in results
|
|
321
|
+
- Provider identification
|
|
322
|
+
- Model and voice tracking
|
|
323
|
+
- Duration and confidence scores
|
|
324
|
+
|
|
325
|
+
## TypeScript Configuration
|
|
326
|
+
|
|
327
|
+
All files compile without errors:
|
|
328
|
+
|
|
329
|
+
- `audio.ts`: ✓ No errors
|
|
330
|
+
- `index.ts`: ✓ No errors
|
|
331
|
+
- `providers.example.ts`: ✓ No errors
|
|
332
|
+
|
|
333
|
+
Compatible with standard TypeScript configurations.
|
|
334
|
+
|
|
335
|
+
## Integration Points
|
|
336
|
+
|
|
337
|
+
### 1. **With AI SDK v6**
|
|
338
|
+
|
|
339
|
+
- Drop-in replacement for experimental_generateSpeech
|
|
340
|
+
- Drop-in replacement for experimental_transcribe
|
|
341
|
+
- Same function signatures and return types
|
|
342
|
+
|
|
343
|
+
### 2. **With Existing Providers**
|
|
344
|
+
|
|
345
|
+
- Can wrap existing provider SDKs
|
|
346
|
+
- Compatible with @ai-sdk/openai, @ai-sdk/elevenlabs
|
|
347
|
+
- Works with raw API calls
|
|
348
|
+
|
|
349
|
+
### 3. **With Platform Packages**
|
|
350
|
+
|
|
351
|
+
- Exports from @repo/ai-platform package
|
|
352
|
+
- Follows monorepo structure
|
|
353
|
+
- Barrel exports for clean API
|
|
354
|
+
|
|
355
|
+
## Testing Considerations
|
|
356
|
+
|
|
357
|
+
Example test patterns:
|
|
358
|
+
|
|
359
|
+
```typescript
|
|
360
|
+
// Test provider registration
|
|
361
|
+
initializeAudioProviders({...});
|
|
362
|
+
const providers = getRegisteredProviders();
|
|
363
|
+
assert(providers.speechProviders.includes("tts-1"));
|
|
364
|
+
|
|
365
|
+
// Test generateSpeech
|
|
366
|
+
const result = await generateSpeech({...});
|
|
367
|
+
assert(result.audio instanceof Uint8Array);
|
|
368
|
+
|
|
369
|
+
// Test error handling
|
|
370
|
+
try {
|
|
371
|
+
await generateSpeech({ model: "unknown", text: "..." });
|
|
372
|
+
} catch (error) {
|
|
373
|
+
assert(error.message.includes("No speech provider registered"));
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
// Test streaming
|
|
377
|
+
for await (const chunk of streamSpeech({...})) {
|
|
378
|
+
assert(chunk instanceof Uint8Array);
|
|
379
|
+
}
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
## Future Enhancements
|
|
383
|
+
|
|
384
|
+
1. **Caching Layer** - Cache generated speech results
|
|
385
|
+
2. **Batch Processing** - Batch multiple transcriptions
|
|
386
|
+
3. **Provider Fallback** - Automatic fallback between providers
|
|
387
|
+
4. **Metrics/Monitoring** - Track provider performance
|
|
388
|
+
5. **Rate Limiting** - Built-in rate limit handling
|
|
389
|
+
6. **Audio Effects** - Post-processing (compression, normalization)
|
|
390
|
+
7. **WebRTC Integration** - Real-time audio streaming
|
|
391
|
+
8. **Worker Thread Support** - Offload heavy processing
|
|
392
|
+
|
|
393
|
+
## File Structure
|
|
394
|
+
|
|
395
|
+
```
|
|
396
|
+
/platform/packages/ai-platform/src/output/multimodal/
|
|
397
|
+
├── audio.ts # Core module (~16KB)
|
|
398
|
+
├── index.ts # Barrel export (~700B)
|
|
399
|
+
├── providers.example.ts # Reference implementations (~11KB)
|
|
400
|
+
├── README.md # User documentation (~9.5KB)
|
|
401
|
+
└── IMPLEMENTATION_SUMMARY.md # This file
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
## Related Resources
|
|
405
|
+
|
|
406
|
+
- **VERCEL_AI_SDK_V6_PATTERNS.md** (Section 10) - Speech & Transcription patterns
|
|
407
|
+
- **@ai-sdk/openai** - Official OpenAI provider
|
|
408
|
+
- **@ai-sdk/elevenlabs** - Official ElevenLabs provider
|
|
409
|
+
- **AI SDK Documentation** - https://ai-sdk.dev/
|
|
410
|
+
|
|
411
|
+
## Verification
|
|
412
|
+
|
|
413
|
+
All TypeScript files pass type checking:
|
|
414
|
+
|
|
415
|
+
```bash
|
|
416
|
+
npx tsc --noEmit src/output/multimodal/audio.ts
|
|
417
|
+
npx tsc --noEmit src/output/multimodal/index.ts
|
|
418
|
+
npx tsc --noEmit src/output/multimodal/providers.example.ts
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
✓ All compilation successful with zero errors.
|