@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,235 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview UI Factories Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* React-agnostic types for tool UI rendering and status messages.
|
|
5
|
+
* Provides type-safe interfaces for building AI chat interfaces.
|
|
6
|
+
*
|
|
7
|
+
* @module ui-factories/types
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
// -----------------------------------------------------------------------------
|
|
11
|
+
// Tool UI Renderer Types
|
|
12
|
+
// -----------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
/** State of a tool invocation for UI rendering */
|
|
15
|
+
export type ToolUIState = 'pending' | 'running' | 'complete' | 'error';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Configuration for a single tool's UI rendering.
|
|
19
|
+
*/
|
|
20
|
+
export interface ToolUIConfig {
|
|
21
|
+
/** Label shown while the tool is pending or running */
|
|
22
|
+
readonly pendingLabel: string;
|
|
23
|
+
/** Function that returns the label shown when the tool completes */
|
|
24
|
+
readonly completeLabel: (result: unknown) => string;
|
|
25
|
+
/** Optional icon identifier for the tool */
|
|
26
|
+
readonly icon?: string;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Configuration for the tool UI renderer factory.
|
|
31
|
+
*/
|
|
32
|
+
export interface ToolUIRendererConfig {
|
|
33
|
+
/** Map of tool names to their UI configurations */
|
|
34
|
+
readonly tools: Readonly<Record<string, ToolUIConfig>>;
|
|
35
|
+
/** Fallback configuration for unknown tools */
|
|
36
|
+
readonly fallback?: Readonly<{
|
|
37
|
+
/** Label shown for unknown tools */
|
|
38
|
+
pendingLabel: string;
|
|
39
|
+
/** Optional icon for unknown tools */
|
|
40
|
+
icon?: string;
|
|
41
|
+
}>;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Result from the tool UI renderer.
|
|
46
|
+
*/
|
|
47
|
+
export interface ToolUIResult {
|
|
48
|
+
/** The label to display */
|
|
49
|
+
readonly label: string;
|
|
50
|
+
/** The icon identifier (if any) */
|
|
51
|
+
readonly icon?: string;
|
|
52
|
+
/** The current state */
|
|
53
|
+
readonly state: ToolUIState;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Tool UI renderer instance.
|
|
58
|
+
*/
|
|
59
|
+
export interface ToolUIRenderer {
|
|
60
|
+
/**
|
|
61
|
+
* Get the UI representation for a tool.
|
|
62
|
+
*
|
|
63
|
+
* @param toolName - The name of the tool
|
|
64
|
+
* @param state - The current state of the tool invocation
|
|
65
|
+
* @param result - The result of the tool (for complete state)
|
|
66
|
+
* @returns The UI result with label, icon, and state
|
|
67
|
+
*/
|
|
68
|
+
getToolUI(toolName: string, state: ToolUIState, result?: unknown): ToolUIResult;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Check if a tool has a custom configuration.
|
|
72
|
+
*
|
|
73
|
+
* @param toolName - The name of the tool to check
|
|
74
|
+
* @returns True if the tool has a custom configuration
|
|
75
|
+
*/
|
|
76
|
+
hasToolConfig(toolName: string): boolean;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Get all configured tool names.
|
|
80
|
+
*
|
|
81
|
+
* @returns Array of configured tool names
|
|
82
|
+
*/
|
|
83
|
+
getConfiguredTools(): string[];
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// -----------------------------------------------------------------------------
|
|
87
|
+
// Status Message Types
|
|
88
|
+
// -----------------------------------------------------------------------------
|
|
89
|
+
|
|
90
|
+
/** Types of status messages */
|
|
91
|
+
export type StatusType = 'thinking' | 'toolCalling' | 'complete' | 'error';
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Context for status message generation.
|
|
95
|
+
*/
|
|
96
|
+
export interface StatusContext {
|
|
97
|
+
/** The agent name (will be looked up in config.agents) */
|
|
98
|
+
readonly agent?: string;
|
|
99
|
+
/** The tool name (for toolCalling status) */
|
|
100
|
+
readonly toolName?: string;
|
|
101
|
+
/** The error object (for error status) */
|
|
102
|
+
readonly error?: Error;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Custom message configuration for status helper.
|
|
107
|
+
*/
|
|
108
|
+
export interface StatusMessages {
|
|
109
|
+
/** Message shown when the agent is thinking */
|
|
110
|
+
readonly thinking?: string;
|
|
111
|
+
/** Function that returns message when calling a tool */
|
|
112
|
+
readonly toolCalling?: (toolName: string) => string;
|
|
113
|
+
/** Message shown when complete */
|
|
114
|
+
readonly complete?: string;
|
|
115
|
+
/** Function that returns message for errors */
|
|
116
|
+
readonly error?: (err: Error) => string;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Configuration for the status message helper factory.
|
|
121
|
+
*/
|
|
122
|
+
export interface StatusMessageConfig {
|
|
123
|
+
/** Map of agent IDs to display names */
|
|
124
|
+
readonly agents?: Readonly<Record<string, string>>;
|
|
125
|
+
/** Custom status messages */
|
|
126
|
+
readonly messages?: Readonly<StatusMessages>;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Status message helper instance.
|
|
131
|
+
*/
|
|
132
|
+
export interface StatusMessageHelper {
|
|
133
|
+
/**
|
|
134
|
+
* Get the status message for a given status type and context.
|
|
135
|
+
*
|
|
136
|
+
* @param type - The type of status message
|
|
137
|
+
* @param context - Additional context for the message
|
|
138
|
+
* @returns The formatted status message
|
|
139
|
+
*/
|
|
140
|
+
getMessage(type: StatusType, context?: StatusContext): string;
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Get the display name for an agent.
|
|
144
|
+
*
|
|
145
|
+
* @param agentId - The agent ID to look up
|
|
146
|
+
* @returns The display name or the original ID if not found
|
|
147
|
+
*/
|
|
148
|
+
getAgentDisplayName(agentId: string): string;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// -----------------------------------------------------------------------------
|
|
152
|
+
// Tool Shimmer Manager Types
|
|
153
|
+
// -----------------------------------------------------------------------------
|
|
154
|
+
|
|
155
|
+
/** States that can trigger shimmer display */
|
|
156
|
+
export type ShimmerState = 'tool-call' | 'tool-result' | 'thinking';
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Configuration for the tool shimmer manager factory.
|
|
160
|
+
*/
|
|
161
|
+
export interface ToolShimmerManagerConfig {
|
|
162
|
+
/** Debounce time in milliseconds for state changes */
|
|
163
|
+
readonly debounceMs?: number;
|
|
164
|
+
/** States that should show the shimmer */
|
|
165
|
+
readonly showShimmerDuring?: readonly ShimmerState[];
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* A message part for shimmer state detection.
|
|
170
|
+
*/
|
|
171
|
+
export interface MessagePart {
|
|
172
|
+
/** The type of the message part */
|
|
173
|
+
readonly type: string;
|
|
174
|
+
/** The state of the part (for tool invocations) */
|
|
175
|
+
readonly state?: string;
|
|
176
|
+
/** Additional data */
|
|
177
|
+
readonly [key: string]: unknown;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Tool shimmer manager instance.
|
|
182
|
+
*/
|
|
183
|
+
export interface ToolShimmerManager {
|
|
184
|
+
/**
|
|
185
|
+
* Determine if the shimmer should be shown based on message parts.
|
|
186
|
+
*
|
|
187
|
+
* @param parts - Array of message parts to check
|
|
188
|
+
* @returns True if shimmer should be shown
|
|
189
|
+
*/
|
|
190
|
+
shouldShow(parts: readonly MessagePart[]): boolean;
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Update internal state with new message parts.
|
|
194
|
+
* Respects debounce configuration.
|
|
195
|
+
*
|
|
196
|
+
* @param parts - Array of message parts
|
|
197
|
+
*/
|
|
198
|
+
update(parts: readonly MessagePart[]): void;
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Reset the manager state.
|
|
202
|
+
*/
|
|
203
|
+
reset(): void;
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Get the current shimmer visibility state.
|
|
207
|
+
*
|
|
208
|
+
* @returns True if shimmer is currently showing
|
|
209
|
+
*/
|
|
210
|
+
isShowing(): boolean;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// -----------------------------------------------------------------------------
|
|
214
|
+
// Default Values
|
|
215
|
+
// -----------------------------------------------------------------------------
|
|
216
|
+
|
|
217
|
+
/** Default debounce time for shimmer manager */
|
|
218
|
+
export const DEFAULT_DEBOUNCE_MS = 100;
|
|
219
|
+
|
|
220
|
+
/** Default states that show shimmer */
|
|
221
|
+
export const DEFAULT_SHIMMER_STATES: readonly ShimmerState[] = ['tool-call', 'tool-result'];
|
|
222
|
+
|
|
223
|
+
/** Default status messages */
|
|
224
|
+
export const DEFAULT_STATUS_MESSAGES: Required<StatusMessages> = {
|
|
225
|
+
thinking: 'Thinking...',
|
|
226
|
+
toolCalling: (toolName: string) => `Using ${toolName}...`,
|
|
227
|
+
complete: 'Done',
|
|
228
|
+
error: (err: Error) => `Error: ${err.message}`,
|
|
229
|
+
} as const;
|
|
230
|
+
|
|
231
|
+
/** Default fallback for unknown tools */
|
|
232
|
+
export const DEFAULT_TOOL_FALLBACK = {
|
|
233
|
+
pendingLabel: 'Processing...',
|
|
234
|
+
icon: 'cog',
|
|
235
|
+
} as const;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Cross-provider model capability detection
|
|
3
|
+
*
|
|
4
|
+
* Provides unified capability checks that work across all providers
|
|
5
|
+
* by combining the high-level MODEL_METADATA registry with
|
|
6
|
+
* provider-specific capability data.
|
|
7
|
+
*
|
|
8
|
+
* @module @od-oneapp/ai-platform/models/capabilities
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { ANTHROPIC_MODEL_GROUPS } from './providers/anthropic';
|
|
12
|
+
import { OPENAI_MODEL_GROUPS } from './providers/openai';
|
|
13
|
+
import { PERPLEXITY_MODEL_GROUPS } from './providers/perplexity';
|
|
14
|
+
import { MODEL_METADATA, Model } from './registry';
|
|
15
|
+
|
|
16
|
+
// Collect all known reasoning model IDs from provider configs
|
|
17
|
+
const REASONING_MODEL_IDS = new Set<string>([
|
|
18
|
+
// Anthropic reasoning models
|
|
19
|
+
...ANTHROPIC_MODEL_GROUPS.REASONING_MODELS,
|
|
20
|
+
// OpenAI reasoning models
|
|
21
|
+
...OPENAI_MODEL_GROUPS.REASONING_MODELS,
|
|
22
|
+
// Perplexity reasoning models
|
|
23
|
+
...PERPLEXITY_MODEL_GROUPS.REASONING_MODELS,
|
|
24
|
+
]);
|
|
25
|
+
|
|
26
|
+
// Also include any models with tier === 'reasoning' from the registry
|
|
27
|
+
for (const model of Object.values(Model)) {
|
|
28
|
+
const meta = MODEL_METADATA[model as Model];
|
|
29
|
+
if (meta?.tier === 'reasoning') {
|
|
30
|
+
REASONING_MODEL_IDS.add(meta.id);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Check if a model supports reasoning/thinking capabilities.
|
|
36
|
+
*
|
|
37
|
+
* Checks both the registry (tier === 'reasoning') and provider-specific
|
|
38
|
+
* reasoning model lists (Anthropic extended thinking, OpenAI o-series, etc.).
|
|
39
|
+
*
|
|
40
|
+
* @param modelId - Provider-specific model ID string (e.g. 'claude-opus-4-20250514', 'o1')
|
|
41
|
+
* @returns true if the model has reasoning/thinking capabilities
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```ts
|
|
45
|
+
* import { modelSupportsReasoning } from '@od-oneapp/ai-platform/models';
|
|
46
|
+
*
|
|
47
|
+
* if (modelSupportsReasoning('claude-opus-4-20250514')) {
|
|
48
|
+
* // Enable extended thinking budget
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export function modelSupportsReasoning(modelId: string): boolean {
|
|
53
|
+
return REASONING_MODEL_IDS.has(modelId);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Check if a model supports tool usage.
|
|
58
|
+
*
|
|
59
|
+
* @param modelId - Provider-specific model ID string
|
|
60
|
+
* @returns true if the model supports tools
|
|
61
|
+
*/
|
|
62
|
+
export function modelSupportsTools(modelId: string): boolean {
|
|
63
|
+
for (const model of Object.values(Model)) {
|
|
64
|
+
const meta = MODEL_METADATA[model as Model];
|
|
65
|
+
if (meta?.id === modelId) {
|
|
66
|
+
return meta.supportsTools;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// Unknown model - assume tools supported for modern models
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Check if a model supports streaming.
|
|
75
|
+
*
|
|
76
|
+
* @param modelId - Provider-specific model ID string
|
|
77
|
+
* @returns true if the model supports streaming
|
|
78
|
+
*/
|
|
79
|
+
export function modelSupportsStreaming(modelId: string): boolean {
|
|
80
|
+
for (const model of Object.values(Model)) {
|
|
81
|
+
const meta = MODEL_METADATA[model as Model];
|
|
82
|
+
if (meta?.id === modelId) {
|
|
83
|
+
return meta.supportsStreaming;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Unknown model - assume streaming supported for modern models
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { Model, MODEL_METADATA, getModelId, getModelMetadata } from './registry';
|
|
2
|
+
export {
|
|
3
|
+
createLanguageModel,
|
|
4
|
+
getModelsByTier,
|
|
5
|
+
getModelTier,
|
|
6
|
+
getCheapestModel,
|
|
7
|
+
estimateCost,
|
|
8
|
+
type CreateLanguageModelOptions,
|
|
9
|
+
} from './provider-factory';
|
|
10
|
+
export type { Gateway, ModelTier, ModelMetadata } from './types';
|
|
11
|
+
|
|
12
|
+
// Cross-provider capability detection
|
|
13
|
+
export { modelSupportsReasoning, modelSupportsTools, modelSupportsStreaming } from './capabilities';
|
|
14
|
+
|
|
15
|
+
// Provider configurations (namespaced to avoid conflicts)
|
|
16
|
+
export * from './providers';
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import {
|
|
2
|
+
anthropic,
|
|
3
|
+
createAnthropic,
|
|
4
|
+
createGoogleGenerativeAI,
|
|
5
|
+
google,
|
|
6
|
+
createOpenAI,
|
|
7
|
+
openai,
|
|
8
|
+
createXai,
|
|
9
|
+
createOpenAICompatible,
|
|
10
|
+
type SDKLanguageModel,
|
|
11
|
+
} from '../shared';
|
|
12
|
+
|
|
13
|
+
import { type Model, getModelId, getModelMetadata, MODEL_METADATA } from './registry';
|
|
14
|
+
|
|
15
|
+
import type { Gateway, ModelTier } from './types';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Options for creating a language model instance.
|
|
19
|
+
*/
|
|
20
|
+
export interface CreateLanguageModelOptions {
|
|
21
|
+
/**
|
|
22
|
+
* Bypass gateway and use native provider directly
|
|
23
|
+
* @default false (uses gateway from AI_GATEWAY env var)
|
|
24
|
+
*/
|
|
25
|
+
useNative?: boolean;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Creates an AI SDK LanguageModel instance for a semantic model name.
|
|
30
|
+
*
|
|
31
|
+
* By default, routes through the configured gateway (AI_GATEWAY env var).
|
|
32
|
+
* Use `useNative: true` to bypass gateway and connect directly to the provider.
|
|
33
|
+
*
|
|
34
|
+
* @param model - Semantic model name from the {@link Model} enum
|
|
35
|
+
* @param options - Optional configuration for gateway routing
|
|
36
|
+
* @returns AI SDK LanguageModel instance ready for use with generateText/streamText
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* // Uses gateway (default)
|
|
41
|
+
* const model = createLanguageModel(Model.SONNET);
|
|
42
|
+
* const { text } = await generateText({ model, prompt: "Hello" });
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* // Bypass gateway for direct provider connection
|
|
48
|
+
* const model = createLanguageModel(Model.SONNET, { useNative: true });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export function createLanguageModel(
|
|
52
|
+
model: Model,
|
|
53
|
+
options?: CreateLanguageModelOptions,
|
|
54
|
+
): SDKLanguageModel {
|
|
55
|
+
const modelId = getModelId(model);
|
|
56
|
+
const metadata = getModelMetadata(model);
|
|
57
|
+
const useNative = options?.useNative ?? false;
|
|
58
|
+
|
|
59
|
+
// Determine gateway from environment
|
|
60
|
+
const configuredGateway = process.env.AI_GATEWAY as Gateway | undefined;
|
|
61
|
+
|
|
62
|
+
// Use gateway by default unless useNative is true
|
|
63
|
+
if (!useNative && configuredGateway) {
|
|
64
|
+
if (configuredGateway === 'cloudflare') {
|
|
65
|
+
return getCloudflareProvider(model);
|
|
66
|
+
}
|
|
67
|
+
if (configuredGateway === 'vercel') {
|
|
68
|
+
return getVercelGatewayProvider(model);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// Native/direct provider routing
|
|
73
|
+
switch (metadata.provider) {
|
|
74
|
+
case 'anthropic':
|
|
75
|
+
return anthropic(modelId);
|
|
76
|
+
case 'openai':
|
|
77
|
+
return openai(modelId);
|
|
78
|
+
case 'google':
|
|
79
|
+
return google(modelId);
|
|
80
|
+
case 'xai':
|
|
81
|
+
return createXai()(modelId);
|
|
82
|
+
case 'perplexity': {
|
|
83
|
+
const apiKey = process.env.PERPLEXITY_API_KEY;
|
|
84
|
+
if (!apiKey) {
|
|
85
|
+
throw new Error('PERPLEXITY_API_KEY is required for Perplexity provider');
|
|
86
|
+
}
|
|
87
|
+
return createOpenAICompatible({
|
|
88
|
+
name: 'perplexity',
|
|
89
|
+
baseURL: 'https://api.perplexity.ai',
|
|
90
|
+
apiKey,
|
|
91
|
+
})(modelId);
|
|
92
|
+
}
|
|
93
|
+
default:
|
|
94
|
+
throw new Error(`Unsupported provider: ${metadata.provider}`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Get model through Cloudflare AI Gateway
|
|
100
|
+
*/
|
|
101
|
+
function getCloudflareProvider(model: Model): SDKLanguageModel {
|
|
102
|
+
const modelId = getModelId(model);
|
|
103
|
+
const metadata = getModelMetadata(model);
|
|
104
|
+
const accountId = process.env.CLOUDFLARE_ACCOUNT_ID;
|
|
105
|
+
const gatewayName = process.env.CLOUDFLARE_AI_GATEWAY_NAME || 'ai-gateway';
|
|
106
|
+
|
|
107
|
+
if (!accountId) {
|
|
108
|
+
throw new Error('CLOUDFLARE_ACCOUNT_ID required for Cloudflare gateway');
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
const baseURL = `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayName}/${metadata.provider}`;
|
|
112
|
+
|
|
113
|
+
// Use provider-specific SDK with Cloudflare gateway URL
|
|
114
|
+
switch (metadata.provider) {
|
|
115
|
+
case 'anthropic':
|
|
116
|
+
return createAnthropic({ baseURL })(modelId);
|
|
117
|
+
case 'openai':
|
|
118
|
+
return createOpenAI({ baseURL })(modelId);
|
|
119
|
+
case 'google':
|
|
120
|
+
return createGoogleGenerativeAI({ baseURL })(modelId);
|
|
121
|
+
case 'perplexity':
|
|
122
|
+
case 'xai':
|
|
123
|
+
throw new Error(`Cloudflare gateway not supported for ${metadata.provider}`);
|
|
124
|
+
default:
|
|
125
|
+
throw new Error(`Cloudflare gateway not supported for ${metadata.provider}`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Get model through Vercel AI Gateway
|
|
131
|
+
*/
|
|
132
|
+
function getVercelGatewayProvider(model: Model): SDKLanguageModel {
|
|
133
|
+
const modelId = getModelId(model);
|
|
134
|
+
const metadata = getModelMetadata(model);
|
|
135
|
+
const apiKey = process.env.AI_GATEWAY_API_KEY;
|
|
136
|
+
const baseURL = process.env.AI_GATEWAY_BASE_URL || 'https://gateway.ai.vercel.com';
|
|
137
|
+
|
|
138
|
+
if (!apiKey) {
|
|
139
|
+
throw new Error('AI_GATEWAY_API_KEY required for Vercel gateway');
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// Route through Vercel gateway
|
|
143
|
+
switch (metadata.provider) {
|
|
144
|
+
case 'anthropic':
|
|
145
|
+
return createAnthropic({ baseURL, apiKey, headers: { 'x-api-key': apiKey } })(modelId);
|
|
146
|
+
case 'openai':
|
|
147
|
+
return createOpenAI({ baseURL, apiKey, headers: { 'x-api-key': apiKey } })(modelId);
|
|
148
|
+
case 'google':
|
|
149
|
+
case 'perplexity':
|
|
150
|
+
case 'xai':
|
|
151
|
+
throw new Error(`Vercel gateway not supported for ${metadata.provider}`);
|
|
152
|
+
default:
|
|
153
|
+
throw new Error(`Vercel gateway not supported for ${metadata.provider}`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Returns all models classified under a given performance tier.
|
|
159
|
+
*
|
|
160
|
+
* @param tier - The tier to filter by (e.g., 'fast', 'balanced', 'powerful')
|
|
161
|
+
* @returns Array of Model enum values matching the tier
|
|
162
|
+
*/
|
|
163
|
+
export function getModelsByTier(tier: ModelTier): Model[] {
|
|
164
|
+
return Object.entries(MODEL_METADATA)
|
|
165
|
+
.filter(([, metadata]) => metadata.tier === tier)
|
|
166
|
+
.map(([model]) => model as Model);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Get the tier classification for a model
|
|
171
|
+
*
|
|
172
|
+
* @param model - Semantic model name
|
|
173
|
+
* @returns Model tier classification
|
|
174
|
+
*/
|
|
175
|
+
export function getModelTier(model: Model): ModelTier {
|
|
176
|
+
const metadata = getModelMetadata(model);
|
|
177
|
+
return metadata.tier;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Estimate cost for a generation based on token usage
|
|
182
|
+
*
|
|
183
|
+
* @param model - Semantic model name
|
|
184
|
+
* @param inputTokens - Number of input tokens
|
|
185
|
+
* @param outputTokens - Number of output tokens
|
|
186
|
+
* @returns Estimated cost in USD
|
|
187
|
+
*/
|
|
188
|
+
export function estimateCost(model: Model, inputTokens: number, outputTokens: number): number {
|
|
189
|
+
const metadata = getModelMetadata(model);
|
|
190
|
+
const inputCost = (inputTokens / 1000) * metadata.costPer1kInput;
|
|
191
|
+
const outputCost = (outputTokens / 1000) * metadata.costPer1kOutput;
|
|
192
|
+
return inputCost + outputCost;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Finds the cheapest model that satisfies the given capability requirements.
|
|
197
|
+
*
|
|
198
|
+
* @param options - Required capabilities and constraints
|
|
199
|
+
* @returns The least expensive Model matching all requirements
|
|
200
|
+
* @throws Error if no models satisfy the requirements
|
|
201
|
+
*/
|
|
202
|
+
export function getCheapestModel(options: {
|
|
203
|
+
supportsTools?: boolean;
|
|
204
|
+
supportsStreaming?: boolean;
|
|
205
|
+
minContextWindow?: number;
|
|
206
|
+
}): Model {
|
|
207
|
+
const candidates = Object.entries(MODEL_METADATA)
|
|
208
|
+
.filter(([, metadata]) => {
|
|
209
|
+
if (options.supportsTools && !metadata.supportsTools) return false;
|
|
210
|
+
if (options.supportsStreaming && !metadata.supportsStreaming) return false;
|
|
211
|
+
if (
|
|
212
|
+
options.minContextWindow !== undefined &&
|
|
213
|
+
metadata.contextWindow < options.minContextWindow
|
|
214
|
+
)
|
|
215
|
+
return false;
|
|
216
|
+
return true;
|
|
217
|
+
})
|
|
218
|
+
.sort((a, b) => a[1].costPer1kInput - b[1].costPer1kInput);
|
|
219
|
+
|
|
220
|
+
if (candidates.length === 0) {
|
|
221
|
+
throw new Error('No models match the specified requirements');
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
const [model] = candidates[0] ?? [];
|
|
225
|
+
if (!model) {
|
|
226
|
+
throw new Error('No models match the specified requirements');
|
|
227
|
+
}
|
|
228
|
+
return model as Model;
|
|
229
|
+
}
|