@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,1600 @@
|
|
|
1
|
+
import { t as __exportAll } from "./chunk-CkzbjWQW.mjs";
|
|
2
|
+
import { A as createOpenAI, D as createGoogleGenerativeAI, I as createXai, T as createAnthropic, Wt as xai, at as google, h as anthropic, j as createOpenAICompatible, vt as openai } from "./ai-runtime-CDzQztTt.mjs";
|
|
3
|
+
import { i as getModelMetadata, n as Model, r as getModelId, t as MODEL_METADATA } from "./registry-CsD3iTIx.mjs";
|
|
4
|
+
|
|
5
|
+
//#region src/models/provider-factory.ts
|
|
6
|
+
/**
|
|
7
|
+
* Creates an AI SDK LanguageModel instance for a semantic model name.
|
|
8
|
+
*
|
|
9
|
+
* By default, routes through the configured gateway (AI_GATEWAY env var).
|
|
10
|
+
* Use `useNative: true` to bypass gateway and connect directly to the provider.
|
|
11
|
+
*
|
|
12
|
+
* @param model - Semantic model name from the {@link Model} enum
|
|
13
|
+
* @param options - Optional configuration for gateway routing
|
|
14
|
+
* @returns AI SDK LanguageModel instance ready for use with generateText/streamText
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* // Uses gateway (default)
|
|
19
|
+
* const model = createLanguageModel(Model.SONNET);
|
|
20
|
+
* const { text } = await generateText({ model, prompt: "Hello" });
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* // Bypass gateway for direct provider connection
|
|
26
|
+
* const model = createLanguageModel(Model.SONNET, { useNative: true });
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
function createLanguageModel(model, options) {
|
|
30
|
+
const modelId = getModelId(model);
|
|
31
|
+
const metadata = getModelMetadata(model);
|
|
32
|
+
const useNative = options?.useNative ?? false;
|
|
33
|
+
const configuredGateway = process.env.AI_GATEWAY;
|
|
34
|
+
if (!useNative && configuredGateway) {
|
|
35
|
+
if (configuredGateway === "cloudflare") return getCloudflareProvider(model);
|
|
36
|
+
if (configuredGateway === "vercel") return getVercelGatewayProvider(model);
|
|
37
|
+
}
|
|
38
|
+
switch (metadata.provider) {
|
|
39
|
+
case "anthropic": return anthropic(modelId);
|
|
40
|
+
case "openai": return openai(modelId);
|
|
41
|
+
case "google": return google(modelId);
|
|
42
|
+
case "xai": return createXai()(modelId);
|
|
43
|
+
case "perplexity": {
|
|
44
|
+
const apiKey = process.env.PERPLEXITY_API_KEY;
|
|
45
|
+
if (!apiKey) throw new Error("PERPLEXITY_API_KEY is required for Perplexity provider");
|
|
46
|
+
return createOpenAICompatible({
|
|
47
|
+
name: "perplexity",
|
|
48
|
+
baseURL: "https://api.perplexity.ai",
|
|
49
|
+
apiKey
|
|
50
|
+
})(modelId);
|
|
51
|
+
}
|
|
52
|
+
default: throw new Error(`Unsupported provider: ${metadata.provider}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get model through Cloudflare AI Gateway
|
|
57
|
+
*/
|
|
58
|
+
function getCloudflareProvider(model) {
|
|
59
|
+
const modelId = getModelId(model);
|
|
60
|
+
const metadata = getModelMetadata(model);
|
|
61
|
+
const accountId = process.env.CLOUDFLARE_ACCOUNT_ID;
|
|
62
|
+
const gatewayName = process.env.CLOUDFLARE_AI_GATEWAY_NAME || "ai-gateway";
|
|
63
|
+
if (!accountId) throw new Error("CLOUDFLARE_ACCOUNT_ID required for Cloudflare gateway");
|
|
64
|
+
const baseURL = `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayName}/${metadata.provider}`;
|
|
65
|
+
switch (metadata.provider) {
|
|
66
|
+
case "anthropic": return createAnthropic({ baseURL })(modelId);
|
|
67
|
+
case "openai": return createOpenAI({ baseURL })(modelId);
|
|
68
|
+
case "google": return createGoogleGenerativeAI({ baseURL })(modelId);
|
|
69
|
+
case "perplexity":
|
|
70
|
+
case "xai": throw new Error(`Cloudflare gateway not supported for ${metadata.provider}`);
|
|
71
|
+
default: throw new Error(`Cloudflare gateway not supported for ${metadata.provider}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get model through Vercel AI Gateway
|
|
76
|
+
*/
|
|
77
|
+
function getVercelGatewayProvider(model) {
|
|
78
|
+
const modelId = getModelId(model);
|
|
79
|
+
const metadata = getModelMetadata(model);
|
|
80
|
+
const apiKey = process.env.AI_GATEWAY_API_KEY;
|
|
81
|
+
const baseURL = process.env.AI_GATEWAY_BASE_URL || "https://gateway.ai.vercel.com";
|
|
82
|
+
if (!apiKey) throw new Error("AI_GATEWAY_API_KEY required for Vercel gateway");
|
|
83
|
+
switch (metadata.provider) {
|
|
84
|
+
case "anthropic": return createAnthropic({
|
|
85
|
+
baseURL,
|
|
86
|
+
apiKey,
|
|
87
|
+
headers: { "x-api-key": apiKey }
|
|
88
|
+
})(modelId);
|
|
89
|
+
case "openai": return createOpenAI({
|
|
90
|
+
baseURL,
|
|
91
|
+
apiKey,
|
|
92
|
+
headers: { "x-api-key": apiKey }
|
|
93
|
+
})(modelId);
|
|
94
|
+
case "google":
|
|
95
|
+
case "perplexity":
|
|
96
|
+
case "xai": throw new Error(`Vercel gateway not supported for ${metadata.provider}`);
|
|
97
|
+
default: throw new Error(`Vercel gateway not supported for ${metadata.provider}`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Returns all models classified under a given performance tier.
|
|
102
|
+
*
|
|
103
|
+
* @param tier - The tier to filter by (e.g., 'fast', 'balanced', 'powerful')
|
|
104
|
+
* @returns Array of Model enum values matching the tier
|
|
105
|
+
*/
|
|
106
|
+
function getModelsByTier(tier) {
|
|
107
|
+
return Object.entries(MODEL_METADATA).filter(([, metadata]) => metadata.tier === tier).map(([model]) => model);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Get the tier classification for a model
|
|
111
|
+
*
|
|
112
|
+
* @param model - Semantic model name
|
|
113
|
+
* @returns Model tier classification
|
|
114
|
+
*/
|
|
115
|
+
function getModelTier(model) {
|
|
116
|
+
return getModelMetadata(model).tier;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Estimate cost for a generation based on token usage
|
|
120
|
+
*
|
|
121
|
+
* @param model - Semantic model name
|
|
122
|
+
* @param inputTokens - Number of input tokens
|
|
123
|
+
* @param outputTokens - Number of output tokens
|
|
124
|
+
* @returns Estimated cost in USD
|
|
125
|
+
*/
|
|
126
|
+
function estimateCost(model, inputTokens, outputTokens) {
|
|
127
|
+
const metadata = getModelMetadata(model);
|
|
128
|
+
return inputTokens / 1e3 * metadata.costPer1kInput + outputTokens / 1e3 * metadata.costPer1kOutput;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Finds the cheapest model that satisfies the given capability requirements.
|
|
132
|
+
*
|
|
133
|
+
* @param options - Required capabilities and constraints
|
|
134
|
+
* @returns The least expensive Model matching all requirements
|
|
135
|
+
* @throws Error if no models satisfy the requirements
|
|
136
|
+
*/
|
|
137
|
+
function getCheapestModel(options) {
|
|
138
|
+
const candidates = Object.entries(MODEL_METADATA).filter(([, metadata]) => {
|
|
139
|
+
if (options.supportsTools && !metadata.supportsTools) return false;
|
|
140
|
+
if (options.supportsStreaming && !metadata.supportsStreaming) return false;
|
|
141
|
+
if (options.minContextWindow !== void 0 && metadata.contextWindow < options.minContextWindow) return false;
|
|
142
|
+
return true;
|
|
143
|
+
}).sort((a, b) => a[1].costPer1kInput - b[1].costPer1kInput);
|
|
144
|
+
if (candidates.length === 0) throw new Error("No models match the specified requirements");
|
|
145
|
+
const [model] = candidates[0] ?? [];
|
|
146
|
+
if (!model) throw new Error("No models match the specified requirements");
|
|
147
|
+
return model;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
//#endregion
|
|
151
|
+
//#region src/models/providers/shared.ts
|
|
152
|
+
/**
|
|
153
|
+
* @fileoverview Shared provider utilities
|
|
154
|
+
*
|
|
155
|
+
* Common constants and helpers used across all AI providers.
|
|
156
|
+
* Single source of truth for temperature, token, and topP presets.
|
|
157
|
+
*
|
|
158
|
+
* @module @od-oneapp/ai-platform/models/providers/shared
|
|
159
|
+
*/
|
|
160
|
+
/**
|
|
161
|
+
* Common temperature presets used across providers.
|
|
162
|
+
*/
|
|
163
|
+
const TEMPS = {
|
|
164
|
+
PRECISE: 0,
|
|
165
|
+
VERY_LOW: .1,
|
|
166
|
+
FACTUAL: .2,
|
|
167
|
+
LOW_CREATIVE: .3,
|
|
168
|
+
MODERATE: .5,
|
|
169
|
+
BALANCED: .7,
|
|
170
|
+
HIGH_CREATIVE: .8,
|
|
171
|
+
CREATIVE: .9
|
|
172
|
+
};
|
|
173
|
+
/**
|
|
174
|
+
* Common token limit presets.
|
|
175
|
+
*/
|
|
176
|
+
const TOKENS = {
|
|
177
|
+
TINY: 256,
|
|
178
|
+
SHORT: 1024,
|
|
179
|
+
MEDIUM: 2048,
|
|
180
|
+
LONG: 4096,
|
|
181
|
+
EXTENDED: 8192,
|
|
182
|
+
MAX: 16384
|
|
183
|
+
};
|
|
184
|
+
/**
|
|
185
|
+
* Common topP values for nucleus sampling.
|
|
186
|
+
*/
|
|
187
|
+
const TOP_P = {
|
|
188
|
+
DETERMINISTIC: 1,
|
|
189
|
+
FOCUSED: .95,
|
|
190
|
+
BALANCED: .98
|
|
191
|
+
};
|
|
192
|
+
/**
|
|
193
|
+
* Common mode configurations shared across providers.
|
|
194
|
+
*/
|
|
195
|
+
const commonModes = {
|
|
196
|
+
precise: () => ({
|
|
197
|
+
temperature: TEMPS.PRECISE,
|
|
198
|
+
topP: TOP_P.DETERMINISTIC
|
|
199
|
+
}),
|
|
200
|
+
code: () => ({
|
|
201
|
+
temperature: TEMPS.FACTUAL,
|
|
202
|
+
topP: TOP_P.FOCUSED
|
|
203
|
+
}),
|
|
204
|
+
creative: () => ({
|
|
205
|
+
temperature: TEMPS.CREATIVE,
|
|
206
|
+
topP: TOP_P.BALANCED
|
|
207
|
+
}),
|
|
208
|
+
research: () => ({
|
|
209
|
+
temperature: TEMPS.FACTUAL,
|
|
210
|
+
maxOutputTokens: TOKENS.LONG
|
|
211
|
+
}),
|
|
212
|
+
quick: () => ({
|
|
213
|
+
temperature: TEMPS.MODERATE,
|
|
214
|
+
maxOutputTokens: TOKENS.SHORT
|
|
215
|
+
})
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
//#endregion
|
|
219
|
+
//#region src/models/providers/anthropic.ts
|
|
220
|
+
/**
|
|
221
|
+
* @fileoverview Anthropic provider configuration
|
|
222
|
+
*
|
|
223
|
+
* Provider-specific model IDs, option helpers, capability detection,
|
|
224
|
+
* and metadata extraction for Anthropic Claude models.
|
|
225
|
+
*
|
|
226
|
+
* All AI SDK imports come from the shared module.
|
|
227
|
+
*
|
|
228
|
+
* @module @od-oneapp/ai-platform/models/providers/anthropic
|
|
229
|
+
*/
|
|
230
|
+
var anthropic_exports = /* @__PURE__ */ __exportAll({
|
|
231
|
+
ANTHROPIC_MODEL_CAPABILITIES: () => ANTHROPIC_MODEL_CAPABILITIES,
|
|
232
|
+
ANTHROPIC_MODEL_GROUPS: () => ANTHROPIC_MODEL_GROUPS,
|
|
233
|
+
ANTHROPIC_MODEL_IDS: () => ANTHROPIC_MODEL_IDS,
|
|
234
|
+
ANTHROPIC_PRESETS: () => ANTHROPIC_PRESETS,
|
|
235
|
+
ANTHROPIC_TOOL_NAMES: () => ANTHROPIC_TOOL_NAMES,
|
|
236
|
+
anthropic: () => anthropic,
|
|
237
|
+
anthropicTools: () => anthropicTools,
|
|
238
|
+
extractCacheMetadata: () => extractCacheMetadata,
|
|
239
|
+
extractProviderMetadata: () => extractProviderMetadata$1,
|
|
240
|
+
extractReasoningDetails: () => extractReasoningDetails,
|
|
241
|
+
extractToolErrors: () => extractToolErrors,
|
|
242
|
+
getCacheMinTokens: () => getCacheMinTokens,
|
|
243
|
+
getMaxContextTokens: () => getMaxContextTokens,
|
|
244
|
+
isMultimodalModel: () => isMultimodalModel,
|
|
245
|
+
isReasoningModel: () => isReasoningModel$1,
|
|
246
|
+
supportsCodeExecution: () => supportsCodeExecution,
|
|
247
|
+
supportsComputerUse: () => supportsComputerUse,
|
|
248
|
+
supportsPDF: () => supportsPDF,
|
|
249
|
+
supportsReasoning: () => supportsReasoning,
|
|
250
|
+
supportsWebSearch: () => supportsWebSearch$1,
|
|
251
|
+
withCacheControl: () => withCacheControl,
|
|
252
|
+
withExtendedCache: () => withExtendedCache,
|
|
253
|
+
withReasoning: () => withReasoning,
|
|
254
|
+
withSendReasoning: () => withSendReasoning
|
|
255
|
+
});
|
|
256
|
+
/** Single source of truth for Anthropic model IDs. */
|
|
257
|
+
const ANTHROPIC_MODEL_IDS = {
|
|
258
|
+
OPUS_4: "claude-opus-4-20250514",
|
|
259
|
+
SONNET_4: "claude-sonnet-4-20250514",
|
|
260
|
+
SONNET_37: "claude-3-7-sonnet-20250219",
|
|
261
|
+
SONNET_35: "claude-3-5-sonnet-20241022",
|
|
262
|
+
SONNET_35_OLD: "claude-3-5-sonnet-20240620",
|
|
263
|
+
HAIKU_35: "claude-3-5-haiku-20241022",
|
|
264
|
+
OPUS_3: "claude-3-opus-20240229",
|
|
265
|
+
SONNET_3: "claude-3-sonnet-20240229",
|
|
266
|
+
HAIKU_3: "claude-3-haiku-20240307"
|
|
267
|
+
};
|
|
268
|
+
/** Model groups for categorization. */
|
|
269
|
+
const ANTHROPIC_MODEL_GROUPS = {
|
|
270
|
+
REASONING_MODELS: [
|
|
271
|
+
ANTHROPIC_MODEL_IDS.OPUS_4,
|
|
272
|
+
ANTHROPIC_MODEL_IDS.SONNET_4,
|
|
273
|
+
ANTHROPIC_MODEL_IDS.SONNET_37
|
|
274
|
+
],
|
|
275
|
+
MULTIMODAL_MODELS: [
|
|
276
|
+
ANTHROPIC_MODEL_IDS.OPUS_4,
|
|
277
|
+
ANTHROPIC_MODEL_IDS.SONNET_4,
|
|
278
|
+
ANTHROPIC_MODEL_IDS.SONNET_37,
|
|
279
|
+
ANTHROPIC_MODEL_IDS.SONNET_35,
|
|
280
|
+
ANTHROPIC_MODEL_IDS.SONNET_35_OLD,
|
|
281
|
+
ANTHROPIC_MODEL_IDS.HAIKU_35,
|
|
282
|
+
ANTHROPIC_MODEL_IDS.OPUS_3,
|
|
283
|
+
ANTHROPIC_MODEL_IDS.SONNET_3,
|
|
284
|
+
ANTHROPIC_MODEL_IDS.HAIKU_3
|
|
285
|
+
],
|
|
286
|
+
PDF_CAPABLE_MODELS: [ANTHROPIC_MODEL_IDS.SONNET_35],
|
|
287
|
+
COMPUTER_USE_MODELS: [
|
|
288
|
+
ANTHROPIC_MODEL_IDS.OPUS_4,
|
|
289
|
+
ANTHROPIC_MODEL_IDS.SONNET_4,
|
|
290
|
+
ANTHROPIC_MODEL_IDS.SONNET_37,
|
|
291
|
+
ANTHROPIC_MODEL_IDS.SONNET_35
|
|
292
|
+
],
|
|
293
|
+
WEB_SEARCH_MODELS: [
|
|
294
|
+
ANTHROPIC_MODEL_IDS.OPUS_4,
|
|
295
|
+
ANTHROPIC_MODEL_IDS.SONNET_4,
|
|
296
|
+
ANTHROPIC_MODEL_IDS.SONNET_37,
|
|
297
|
+
ANTHROPIC_MODEL_IDS.SONNET_35,
|
|
298
|
+
ANTHROPIC_MODEL_IDS.SONNET_35_OLD,
|
|
299
|
+
ANTHROPIC_MODEL_IDS.HAIKU_35
|
|
300
|
+
],
|
|
301
|
+
CODE_EXECUTION_MODELS: [
|
|
302
|
+
ANTHROPIC_MODEL_IDS.OPUS_4,
|
|
303
|
+
ANTHROPIC_MODEL_IDS.SONNET_4,
|
|
304
|
+
ANTHROPIC_MODEL_IDS.SONNET_37,
|
|
305
|
+
ANTHROPIC_MODEL_IDS.SONNET_35,
|
|
306
|
+
ANTHROPIC_MODEL_IDS.SONNET_35_OLD,
|
|
307
|
+
ANTHROPIC_MODEL_IDS.HAIKU_35
|
|
308
|
+
]
|
|
309
|
+
};
|
|
310
|
+
/** Per-model capability mapping. */
|
|
311
|
+
const ANTHROPIC_MODEL_CAPABILITIES = {
|
|
312
|
+
[ANTHROPIC_MODEL_IDS.OPUS_4]: {
|
|
313
|
+
imageInput: true,
|
|
314
|
+
objectGeneration: true,
|
|
315
|
+
toolUsage: true,
|
|
316
|
+
computerUse: true,
|
|
317
|
+
webSearch: true,
|
|
318
|
+
codeExecution: true,
|
|
319
|
+
pdfSupport: false,
|
|
320
|
+
reasoningText: true,
|
|
321
|
+
maxContextTokens: 2e5,
|
|
322
|
+
cacheMinTokens: 1024,
|
|
323
|
+
specialFeatures: [
|
|
324
|
+
"reasoning",
|
|
325
|
+
"computer-use",
|
|
326
|
+
"web-search",
|
|
327
|
+
"code-execution"
|
|
328
|
+
]
|
|
329
|
+
},
|
|
330
|
+
[ANTHROPIC_MODEL_IDS.SONNET_4]: {
|
|
331
|
+
imageInput: true,
|
|
332
|
+
objectGeneration: true,
|
|
333
|
+
toolUsage: true,
|
|
334
|
+
computerUse: true,
|
|
335
|
+
webSearch: true,
|
|
336
|
+
codeExecution: true,
|
|
337
|
+
pdfSupport: false,
|
|
338
|
+
reasoningText: true,
|
|
339
|
+
maxContextTokens: 2e5,
|
|
340
|
+
cacheMinTokens: 1024,
|
|
341
|
+
specialFeatures: [
|
|
342
|
+
"reasoning",
|
|
343
|
+
"computer-use",
|
|
344
|
+
"web-search",
|
|
345
|
+
"code-execution"
|
|
346
|
+
]
|
|
347
|
+
},
|
|
348
|
+
[ANTHROPIC_MODEL_IDS.SONNET_37]: {
|
|
349
|
+
imageInput: true,
|
|
350
|
+
objectGeneration: true,
|
|
351
|
+
toolUsage: true,
|
|
352
|
+
computerUse: true,
|
|
353
|
+
webSearch: true,
|
|
354
|
+
codeExecution: true,
|
|
355
|
+
pdfSupport: false,
|
|
356
|
+
reasoningText: true,
|
|
357
|
+
maxContextTokens: 2e5,
|
|
358
|
+
cacheMinTokens: 1024,
|
|
359
|
+
specialFeatures: [
|
|
360
|
+
"reasoning",
|
|
361
|
+
"computer-use",
|
|
362
|
+
"web-search",
|
|
363
|
+
"code-execution"
|
|
364
|
+
]
|
|
365
|
+
},
|
|
366
|
+
[ANTHROPIC_MODEL_IDS.SONNET_35]: {
|
|
367
|
+
imageInput: true,
|
|
368
|
+
objectGeneration: true,
|
|
369
|
+
toolUsage: true,
|
|
370
|
+
computerUse: true,
|
|
371
|
+
webSearch: true,
|
|
372
|
+
codeExecution: true,
|
|
373
|
+
pdfSupport: true,
|
|
374
|
+
reasoningText: false,
|
|
375
|
+
maxContextTokens: 2e5,
|
|
376
|
+
cacheMinTokens: 1024,
|
|
377
|
+
specialFeatures: [
|
|
378
|
+
"pdf-support",
|
|
379
|
+
"computer-use",
|
|
380
|
+
"web-search",
|
|
381
|
+
"code-execution"
|
|
382
|
+
]
|
|
383
|
+
},
|
|
384
|
+
[ANTHROPIC_MODEL_IDS.SONNET_35_OLD]: {
|
|
385
|
+
imageInput: true,
|
|
386
|
+
objectGeneration: true,
|
|
387
|
+
toolUsage: true,
|
|
388
|
+
computerUse: false,
|
|
389
|
+
webSearch: true,
|
|
390
|
+
codeExecution: true,
|
|
391
|
+
pdfSupport: false,
|
|
392
|
+
reasoningText: false,
|
|
393
|
+
maxContextTokens: 2e5,
|
|
394
|
+
cacheMinTokens: 1024,
|
|
395
|
+
specialFeatures: ["web-search", "code-execution"]
|
|
396
|
+
},
|
|
397
|
+
[ANTHROPIC_MODEL_IDS.HAIKU_35]: {
|
|
398
|
+
imageInput: true,
|
|
399
|
+
objectGeneration: true,
|
|
400
|
+
toolUsage: true,
|
|
401
|
+
computerUse: false,
|
|
402
|
+
webSearch: true,
|
|
403
|
+
codeExecution: true,
|
|
404
|
+
pdfSupport: false,
|
|
405
|
+
reasoningText: false,
|
|
406
|
+
maxContextTokens: 2e5,
|
|
407
|
+
cacheMinTokens: 2048,
|
|
408
|
+
specialFeatures: [
|
|
409
|
+
"fast",
|
|
410
|
+
"web-search",
|
|
411
|
+
"code-execution"
|
|
412
|
+
]
|
|
413
|
+
},
|
|
414
|
+
[ANTHROPIC_MODEL_IDS.OPUS_3]: {
|
|
415
|
+
imageInput: true,
|
|
416
|
+
objectGeneration: true,
|
|
417
|
+
toolUsage: true,
|
|
418
|
+
computerUse: false,
|
|
419
|
+
webSearch: false,
|
|
420
|
+
codeExecution: false,
|
|
421
|
+
pdfSupport: false,
|
|
422
|
+
reasoningText: false,
|
|
423
|
+
maxContextTokens: 2e5,
|
|
424
|
+
cacheMinTokens: 1024,
|
|
425
|
+
specialFeatures: ["legacy"]
|
|
426
|
+
},
|
|
427
|
+
[ANTHROPIC_MODEL_IDS.SONNET_3]: {
|
|
428
|
+
imageInput: true,
|
|
429
|
+
objectGeneration: true,
|
|
430
|
+
toolUsage: true,
|
|
431
|
+
computerUse: false,
|
|
432
|
+
webSearch: false,
|
|
433
|
+
codeExecution: false,
|
|
434
|
+
pdfSupport: false,
|
|
435
|
+
reasoningText: false,
|
|
436
|
+
maxContextTokens: 2e5,
|
|
437
|
+
cacheMinTokens: 1024,
|
|
438
|
+
specialFeatures: ["legacy"]
|
|
439
|
+
},
|
|
440
|
+
[ANTHROPIC_MODEL_IDS.HAIKU_3]: {
|
|
441
|
+
imageInput: true,
|
|
442
|
+
objectGeneration: true,
|
|
443
|
+
toolUsage: true,
|
|
444
|
+
computerUse: false,
|
|
445
|
+
webSearch: false,
|
|
446
|
+
codeExecution: false,
|
|
447
|
+
pdfSupport: false,
|
|
448
|
+
reasoningText: false,
|
|
449
|
+
maxContextTokens: 2e5,
|
|
450
|
+
cacheMinTokens: 2048,
|
|
451
|
+
specialFeatures: ["legacy", "fast"]
|
|
452
|
+
}
|
|
453
|
+
};
|
|
454
|
+
/** Configuration presets for common use cases. */
|
|
455
|
+
const ANTHROPIC_PRESETS = {
|
|
456
|
+
REASONING: {
|
|
457
|
+
temperature: TEMPS.PRECISE,
|
|
458
|
+
maxOutputTokens: TOKENS.LONG,
|
|
459
|
+
topP: TOP_P.FOCUSED,
|
|
460
|
+
anthropic: { sendReasoning: true }
|
|
461
|
+
},
|
|
462
|
+
CREATIVE: {
|
|
463
|
+
temperature: TEMPS.CREATIVE,
|
|
464
|
+
maxOutputTokens: TOKENS.MEDIUM,
|
|
465
|
+
topP: TOP_P.BALANCED
|
|
466
|
+
},
|
|
467
|
+
CODING: {
|
|
468
|
+
temperature: TEMPS.BALANCED,
|
|
469
|
+
maxOutputTokens: TOKENS.EXTENDED,
|
|
470
|
+
topP: TOP_P.DETERMINISTIC
|
|
471
|
+
},
|
|
472
|
+
ANALYSIS: {
|
|
473
|
+
temperature: TEMPS.VERY_LOW,
|
|
474
|
+
maxOutputTokens: TOKENS.LONG,
|
|
475
|
+
topP: TOP_P.FOCUSED
|
|
476
|
+
},
|
|
477
|
+
VISION: {
|
|
478
|
+
temperature: TEMPS.BALANCED,
|
|
479
|
+
maxOutputTokens: TOKENS.MEDIUM,
|
|
480
|
+
topP: TOP_P.BALANCED
|
|
481
|
+
},
|
|
482
|
+
QUICK: {
|
|
483
|
+
temperature: TEMPS.VERY_LOW,
|
|
484
|
+
maxOutputTokens: TOKENS.SHORT,
|
|
485
|
+
topP: TOP_P.DETERMINISTIC
|
|
486
|
+
}
|
|
487
|
+
};
|
|
488
|
+
/** Anthropic tool name constants. */
|
|
489
|
+
const ANTHROPIC_TOOL_NAMES = {
|
|
490
|
+
WEB_SEARCH: "web_search",
|
|
491
|
+
CODE_EXECUTION: "code_execution",
|
|
492
|
+
COMPUTER: "computer",
|
|
493
|
+
BASH: "bash",
|
|
494
|
+
TEXT_EDITOR: "str_replace_editor",
|
|
495
|
+
TEXT_EDITOR_V2: "str_replace_based_edit_tool"
|
|
496
|
+
};
|
|
497
|
+
/** Anthropic-specific tool helpers wrapping SDK native tools. */
|
|
498
|
+
const anthropicTools = {
|
|
499
|
+
webSearch: (options) => anthropic.tools.webSearch_20250305(options ?? { maxUses: 5 }),
|
|
500
|
+
codeExecution: () => anthropic.tools.codeExecution_20250522(),
|
|
501
|
+
computer: (config) => anthropic.tools.computer_20241022({
|
|
502
|
+
displayWidthPx: config.displayWidth ?? 1920,
|
|
503
|
+
displayHeightPx: config.displayHeight ?? 1080
|
|
504
|
+
}),
|
|
505
|
+
bash: () => anthropic.tools.bash_20241022({}),
|
|
506
|
+
textEditor: () => anthropic.tools.textEditor_20241022({}),
|
|
507
|
+
textEditorV2: () => anthropic.tools.textEditor_20250429({})
|
|
508
|
+
};
|
|
509
|
+
/** Enable reasoning/thinking mode for Claude 4 and 3.7 models. */
|
|
510
|
+
function withReasoning(budgetTokens = 12e3) {
|
|
511
|
+
return { providerOptions: { anthropic: { thinking: {
|
|
512
|
+
type: "enabled",
|
|
513
|
+
budgetTokens
|
|
514
|
+
} } } };
|
|
515
|
+
}
|
|
516
|
+
/** Configure cache control for prompt caching. */
|
|
517
|
+
function withCacheControl(ttl) {
|
|
518
|
+
return { providerOptions: { anthropic: { cacheControl: {
|
|
519
|
+
type: "ephemeral",
|
|
520
|
+
...ttl && { ttl }
|
|
521
|
+
} } } };
|
|
522
|
+
}
|
|
523
|
+
/** Control whether reasoning content is sent in requests. */
|
|
524
|
+
function withSendReasoning(send = true) {
|
|
525
|
+
return { providerOptions: { anthropic: { sendReasoning: send } } };
|
|
526
|
+
}
|
|
527
|
+
/** Extended cache with 1-hour TTL (requires beta header). */
|
|
528
|
+
function withExtendedCache() {
|
|
529
|
+
return {
|
|
530
|
+
headers: { "anthropic-beta": "extended-cache-ttl-2025-04-11" },
|
|
531
|
+
providerOptions: { anthropic: { cacheControl: {
|
|
532
|
+
type: "ephemeral",
|
|
533
|
+
ttl: "1h"
|
|
534
|
+
} } }
|
|
535
|
+
};
|
|
536
|
+
}
|
|
537
|
+
function getModelCapabilities$1(modelId) {
|
|
538
|
+
return ANTHROPIC_MODEL_CAPABILITIES[modelId];
|
|
539
|
+
}
|
|
540
|
+
/** Check if model supports reasoning/thinking. */
|
|
541
|
+
function supportsReasoning(modelId) {
|
|
542
|
+
return getModelCapabilities$1(modelId)?.reasoningText ?? false;
|
|
543
|
+
}
|
|
544
|
+
/** Check if model supports PDF input. */
|
|
545
|
+
function supportsPDF(modelId) {
|
|
546
|
+
return getModelCapabilities$1(modelId)?.pdfSupport ?? false;
|
|
547
|
+
}
|
|
548
|
+
/** Check if model supports computer use. */
|
|
549
|
+
function supportsComputerUse(modelId) {
|
|
550
|
+
return getModelCapabilities$1(modelId)?.computerUse ?? false;
|
|
551
|
+
}
|
|
552
|
+
/** Check if model supports web search. */
|
|
553
|
+
function supportsWebSearch$1(modelId) {
|
|
554
|
+
return getModelCapabilities$1(modelId)?.webSearch ?? false;
|
|
555
|
+
}
|
|
556
|
+
/** Check if model supports code execution. */
|
|
557
|
+
function supportsCodeExecution(modelId) {
|
|
558
|
+
return getModelCapabilities$1(modelId)?.codeExecution ?? false;
|
|
559
|
+
}
|
|
560
|
+
/** Get minimum cacheable tokens for a model. */
|
|
561
|
+
function getCacheMinTokens(modelId) {
|
|
562
|
+
return getModelCapabilities$1(modelId)?.cacheMinTokens ?? 1024;
|
|
563
|
+
}
|
|
564
|
+
/** Get maximum context tokens for a model. */
|
|
565
|
+
function getMaxContextTokens(modelId) {
|
|
566
|
+
return getModelCapabilities$1(modelId)?.maxContextTokens ?? 2e5;
|
|
567
|
+
}
|
|
568
|
+
/** Check if model is a reasoning model. */
|
|
569
|
+
function isReasoningModel$1(modelId) {
|
|
570
|
+
return ANTHROPIC_MODEL_GROUPS.REASONING_MODELS.includes(modelId);
|
|
571
|
+
}
|
|
572
|
+
/** Check if model is multimodal (supports images). */
|
|
573
|
+
function isMultimodalModel(modelId) {
|
|
574
|
+
return ANTHROPIC_MODEL_GROUPS.MULTIMODAL_MODELS.includes(modelId);
|
|
575
|
+
}
|
|
576
|
+
/** Extract reasoning details from a generation result. */
|
|
577
|
+
function extractReasoningDetails(result) {
|
|
578
|
+
const anthropicMeta = result.providerOptions?.anthropic;
|
|
579
|
+
if (!anthropicMeta || typeof anthropicMeta !== "object" || Array.isArray(anthropicMeta)) return null;
|
|
580
|
+
const reasoningDetails = anthropicMeta.reasoningText;
|
|
581
|
+
if (!reasoningDetails || typeof reasoningDetails !== "object" || Array.isArray(reasoningDetails)) return null;
|
|
582
|
+
const { reasoningContent } = reasoningDetails;
|
|
583
|
+
return {
|
|
584
|
+
reasoningText: typeof reasoningContent === "string" ? reasoningContent : "",
|
|
585
|
+
reasoningDetails
|
|
586
|
+
};
|
|
587
|
+
}
|
|
588
|
+
/** Extract cache metadata from a generation result. */
|
|
589
|
+
function extractCacheMetadata(result) {
|
|
590
|
+
const anthropicMeta = result.providerOptions?.anthropic;
|
|
591
|
+
if (!anthropicMeta || typeof anthropicMeta !== "object" || Array.isArray(anthropicMeta)) return null;
|
|
592
|
+
const { cacheCreationInputTokens, cacheReadInputTokens } = anthropicMeta;
|
|
593
|
+
return {
|
|
594
|
+
cacheCreationInputTokens: typeof cacheCreationInputTokens === "number" ? cacheCreationInputTokens : 0,
|
|
595
|
+
cacheReadInputTokens: typeof cacheReadInputTokens === "number" ? cacheReadInputTokens : 0
|
|
596
|
+
};
|
|
597
|
+
}
|
|
598
|
+
/** Extract complete Anthropic provider metadata. */
|
|
599
|
+
function extractProviderMetadata$1(result) {
|
|
600
|
+
const anthropicMeta = result.providerOptions?.anthropic;
|
|
601
|
+
if (!anthropicMeta || typeof anthropicMeta !== "object" || Array.isArray(anthropicMeta)) return null;
|
|
602
|
+
const meta = anthropicMeta;
|
|
603
|
+
const reasoningDetails = meta.reasoningText;
|
|
604
|
+
const { cacheCreationInputTokens, cacheReadInputTokens } = meta;
|
|
605
|
+
return {
|
|
606
|
+
cacheCreationInputTokens: typeof cacheCreationInputTokens === "number" ? cacheCreationInputTokens : 0,
|
|
607
|
+
cacheReadInputTokens: typeof cacheReadInputTokens === "number" ? cacheReadInputTokens : 0,
|
|
608
|
+
reasoningText: result.reasoningText,
|
|
609
|
+
reasoningDetails: reasoningDetails && typeof reasoningDetails === "object" && !Array.isArray(reasoningDetails) ? reasoningDetails : void 0
|
|
610
|
+
};
|
|
611
|
+
}
|
|
612
|
+
/** Extract tool errors from generation results. */
|
|
613
|
+
function extractToolErrors(result) {
|
|
614
|
+
const errors = [];
|
|
615
|
+
if (result.content && Array.isArray(result.content)) result.content.forEach((part) => {
|
|
616
|
+
if (part.type === "tool-error") errors.push({
|
|
617
|
+
toolName: part.toolName ?? "unknown",
|
|
618
|
+
toolCallId: part.toolCallId ?? "",
|
|
619
|
+
error: part.error
|
|
620
|
+
});
|
|
621
|
+
});
|
|
622
|
+
return errors;
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
//#endregion
|
|
626
|
+
//#region src/models/providers/openai.ts
|
|
627
|
+
/**
|
|
628
|
+
* @fileoverview OpenAI provider configuration
|
|
629
|
+
*
|
|
630
|
+
* Provider-specific model IDs, option helpers, capability detection,
|
|
631
|
+
* and metadata extraction for OpenAI models.
|
|
632
|
+
*
|
|
633
|
+
* All AI SDK imports come from the shared module.
|
|
634
|
+
*
|
|
635
|
+
* @module @od-oneapp/ai-platform/models/providers/openai
|
|
636
|
+
*/
|
|
637
|
+
var openai_exports = /* @__PURE__ */ __exportAll({
|
|
638
|
+
OPENAI_MODEL_GROUPS: () => OPENAI_MODEL_GROUPS,
|
|
639
|
+
OPENAI_MODEL_IDS: () => OPENAI_MODEL_IDS,
|
|
640
|
+
OPENAI_PRESETS: () => OPENAI_PRESETS,
|
|
641
|
+
createOpenAI: () => createOpenAI,
|
|
642
|
+
extractCachedPromptTokens: () => extractCachedPromptTokens,
|
|
643
|
+
extractOpenAIMetadata: () => extractOpenAIMetadata,
|
|
644
|
+
extractPredictionTokens: () => extractPredictionTokens,
|
|
645
|
+
extractReasoningTokens: () => extractReasoningTokens,
|
|
646
|
+
openai: () => openai,
|
|
647
|
+
supportsPromptCaching: () => supportsPromptCaching,
|
|
648
|
+
supportsReasoningMode: () => supportsReasoningMode,
|
|
649
|
+
supportsServiceTier: () => supportsServiceTier,
|
|
650
|
+
supportsStructuredOutputs: () => supportsStructuredOutputs,
|
|
651
|
+
withPredictedOutput: () => withPredictedOutput,
|
|
652
|
+
withPromptCache: () => withPromptCache,
|
|
653
|
+
withReasoningMode: () => withReasoningMode,
|
|
654
|
+
withServiceTier: () => withServiceTier,
|
|
655
|
+
withStrictMode: () => withStrictMode,
|
|
656
|
+
withStructuredOutput: () => withStructuredOutput
|
|
657
|
+
});
|
|
658
|
+
/** Single source of truth for OpenAI model IDs. */
|
|
659
|
+
const OPENAI_MODEL_IDS = {
|
|
660
|
+
GPT_5: "gpt-5",
|
|
661
|
+
GPT_5_MINI: "gpt-5-mini",
|
|
662
|
+
GPT_5_NANO: "gpt-5-nano",
|
|
663
|
+
GPT_5_CHAT_LATEST: "gpt-5-chat-latest",
|
|
664
|
+
GPT_41: "gpt-4.1",
|
|
665
|
+
GPT_41_MINI: "gpt-4.1-mini",
|
|
666
|
+
GPT_41_NANO: "gpt-4.1-nano",
|
|
667
|
+
GPT_4O: "gpt-4o",
|
|
668
|
+
GPT_4O_LATEST: "chatgpt-4o-latest",
|
|
669
|
+
GPT_4O_MINI: "gpt-4o-mini",
|
|
670
|
+
GPT_4O_AUDIO: "gpt-4o-audio-preview",
|
|
671
|
+
GPT_4O_REALTIME: "gpt-4o-realtime-preview",
|
|
672
|
+
GPT_4_TURBO: "gpt-4-turbo",
|
|
673
|
+
GPT_4: "gpt-4",
|
|
674
|
+
GPT_4_32K: "gpt-4-32k",
|
|
675
|
+
GPT_35_TURBO: "gpt-3.5-turbo",
|
|
676
|
+
GPT_35_TURBO_INSTRUCT: "gpt-3.5-turbo-instruct",
|
|
677
|
+
O1: "o1",
|
|
678
|
+
O1_MINI: "o1-mini",
|
|
679
|
+
O1_PREVIEW: "o1-preview",
|
|
680
|
+
O3: "o3",
|
|
681
|
+
O3_MINI: "o3-mini",
|
|
682
|
+
O4_MINI: "o4-mini",
|
|
683
|
+
CODEX_MINI_LATEST: "codex-mini-latest",
|
|
684
|
+
COMPUTER_USE_PREVIEW: "computer-use-preview",
|
|
685
|
+
WHISPER_1: "whisper-1",
|
|
686
|
+
GPT_4O_MINI_TRANSCRIBE: "gpt-4o-mini-transcribe",
|
|
687
|
+
GPT_4O_TRANSCRIBE: "gpt-4o-transcribe",
|
|
688
|
+
TTS_1: "tts-1",
|
|
689
|
+
TTS_1_HD: "tts-1-hd",
|
|
690
|
+
GPT_4O_MINI_TTS: "gpt-4o-mini-tts",
|
|
691
|
+
GPT_IMAGE_1: "gpt-image-1",
|
|
692
|
+
DALL_E_3: "dall-e-3",
|
|
693
|
+
DALL_E_2: "dall-e-2",
|
|
694
|
+
EMBEDDING_3_SMALL: "text-embedding-3-small",
|
|
695
|
+
EMBEDDING_3_LARGE: "text-embedding-3-large",
|
|
696
|
+
EMBEDDING_ADA_002: "text-embedding-ada-002",
|
|
697
|
+
MODERATION_LATEST: "text-moderation-latest",
|
|
698
|
+
MODERATION_STABLE: "text-moderation-stable"
|
|
699
|
+
};
|
|
700
|
+
/** Model groups for categorization. */
|
|
701
|
+
const OPENAI_MODEL_GROUPS = {
|
|
702
|
+
REASONING_MODELS: [
|
|
703
|
+
OPENAI_MODEL_IDS.O1,
|
|
704
|
+
OPENAI_MODEL_IDS.O1_MINI,
|
|
705
|
+
OPENAI_MODEL_IDS.O1_PREVIEW,
|
|
706
|
+
OPENAI_MODEL_IDS.O3,
|
|
707
|
+
OPENAI_MODEL_IDS.O3_MINI,
|
|
708
|
+
OPENAI_MODEL_IDS.O4_MINI,
|
|
709
|
+
OPENAI_MODEL_IDS.CODEX_MINI_LATEST,
|
|
710
|
+
OPENAI_MODEL_IDS.COMPUTER_USE_PREVIEW
|
|
711
|
+
],
|
|
712
|
+
GPT5_FAMILY: [
|
|
713
|
+
OPENAI_MODEL_IDS.GPT_5,
|
|
714
|
+
OPENAI_MODEL_IDS.GPT_5_MINI,
|
|
715
|
+
OPENAI_MODEL_IDS.GPT_5_NANO,
|
|
716
|
+
OPENAI_MODEL_IDS.GPT_5_CHAT_LATEST
|
|
717
|
+
],
|
|
718
|
+
CHAT_MODELS: [
|
|
719
|
+
OPENAI_MODEL_IDS.GPT_5,
|
|
720
|
+
OPENAI_MODEL_IDS.GPT_5_MINI,
|
|
721
|
+
OPENAI_MODEL_IDS.GPT_5_NANO,
|
|
722
|
+
OPENAI_MODEL_IDS.GPT_5_CHAT_LATEST,
|
|
723
|
+
OPENAI_MODEL_IDS.GPT_4O,
|
|
724
|
+
OPENAI_MODEL_IDS.GPT_4O_MINI,
|
|
725
|
+
OPENAI_MODEL_IDS.GPT_4_TURBO,
|
|
726
|
+
OPENAI_MODEL_IDS.GPT_41,
|
|
727
|
+
OPENAI_MODEL_IDS.GPT_41_MINI,
|
|
728
|
+
OPENAI_MODEL_IDS.GPT_4,
|
|
729
|
+
OPENAI_MODEL_IDS.GPT_4_32K,
|
|
730
|
+
OPENAI_MODEL_IDS.GPT_35_TURBO
|
|
731
|
+
],
|
|
732
|
+
VISION_MODELS: [
|
|
733
|
+
OPENAI_MODEL_IDS.GPT_4O,
|
|
734
|
+
OPENAI_MODEL_IDS.GPT_4O_MINI,
|
|
735
|
+
OPENAI_MODEL_IDS.GPT_4_TURBO,
|
|
736
|
+
OPENAI_MODEL_IDS.GPT_41,
|
|
737
|
+
OPENAI_MODEL_IDS.GPT_41_MINI,
|
|
738
|
+
OPENAI_MODEL_IDS.GPT_5,
|
|
739
|
+
OPENAI_MODEL_IDS.GPT_5_MINI
|
|
740
|
+
],
|
|
741
|
+
LEGACY_MODELS: [
|
|
742
|
+
OPENAI_MODEL_IDS.GPT_4,
|
|
743
|
+
OPENAI_MODEL_IDS.GPT_4_32K,
|
|
744
|
+
OPENAI_MODEL_IDS.GPT_35_TURBO,
|
|
745
|
+
OPENAI_MODEL_IDS.GPT_35_TURBO_INSTRUCT
|
|
746
|
+
]
|
|
747
|
+
};
|
|
748
|
+
/** Structured output mode with optional strict JSON schema. */
|
|
749
|
+
function withStructuredOutput(responseFormat = "json_object", strictJsonSchema = false) {
|
|
750
|
+
return { openai: {
|
|
751
|
+
responseFormat: { type: responseFormat },
|
|
752
|
+
strictJsonSchema
|
|
753
|
+
} };
|
|
754
|
+
}
|
|
755
|
+
/** Reasoning mode for O1/O3/O4 series models. */
|
|
756
|
+
function withReasoningMode(maxCompletionTokens = 25e3, reasoningEffort = "medium") {
|
|
757
|
+
return { providerOptions: { openai: {
|
|
758
|
+
maxCompletionTokens,
|
|
759
|
+
reasoningEffort
|
|
760
|
+
} } };
|
|
761
|
+
}
|
|
762
|
+
/** Predicted output for latency optimization. */
|
|
763
|
+
function withPredictedOutput(prediction) {
|
|
764
|
+
return { openai: { prediction: {
|
|
765
|
+
type: "content",
|
|
766
|
+
content: prediction
|
|
767
|
+
} } };
|
|
768
|
+
}
|
|
769
|
+
/** Prompt caching control. */
|
|
770
|
+
function withPromptCache(cacheEnabled = true, promptCacheKey) {
|
|
771
|
+
const options = { store: cacheEnabled };
|
|
772
|
+
if (promptCacheKey) options.promptCacheKey = promptCacheKey;
|
|
773
|
+
return { openai: options };
|
|
774
|
+
}
|
|
775
|
+
/** Service tier for latency/cost tradeoffs. */
|
|
776
|
+
function withServiceTier(tier = "auto") {
|
|
777
|
+
return { openai: { serviceTier: tier } };
|
|
778
|
+
}
|
|
779
|
+
/** Strict mode for structured output validation. */
|
|
780
|
+
function withStrictMode(enabled = true) {
|
|
781
|
+
return { openai: { strict: enabled } };
|
|
782
|
+
}
|
|
783
|
+
/** Configuration presets for OpenAI-specific use cases. */
|
|
784
|
+
const OPENAI_PRESETS = {
|
|
785
|
+
FAST: {
|
|
786
|
+
...commonModes.quick(),
|
|
787
|
+
openai: { serviceTier: "flex" }
|
|
788
|
+
},
|
|
789
|
+
ACCURATE: {
|
|
790
|
+
...commonModes.precise(),
|
|
791
|
+
openai: { serviceTier: "priority" }
|
|
792
|
+
},
|
|
793
|
+
CREATIVE: {
|
|
794
|
+
...commonModes.creative(),
|
|
795
|
+
frequencyPenalty: .5,
|
|
796
|
+
presencePenalty: .5
|
|
797
|
+
},
|
|
798
|
+
REASONING: {
|
|
799
|
+
...commonModes.research(),
|
|
800
|
+
maxOutputTokens: 3e4,
|
|
801
|
+
openai: {
|
|
802
|
+
reasoningEffort: "high",
|
|
803
|
+
reasoningSummary: "auto"
|
|
804
|
+
}
|
|
805
|
+
},
|
|
806
|
+
CODING: {
|
|
807
|
+
...commonModes.code(),
|
|
808
|
+
maxOutputTokens: 8192,
|
|
809
|
+
openai: {
|
|
810
|
+
responseFormat: { type: "json_object" },
|
|
811
|
+
logprobs: true,
|
|
812
|
+
topLogprobs: 3
|
|
813
|
+
}
|
|
814
|
+
}
|
|
815
|
+
};
|
|
816
|
+
/** Check if model supports reasoning mode. */
|
|
817
|
+
function supportsReasoningMode(modelId) {
|
|
818
|
+
return OPENAI_MODEL_GROUPS.REASONING_MODELS.includes(modelId);
|
|
819
|
+
}
|
|
820
|
+
/** Check if model supports service tier selection. */
|
|
821
|
+
function supportsServiceTier(modelId) {
|
|
822
|
+
const isReasoning = OPENAI_MODEL_GROUPS.REASONING_MODELS.includes(modelId);
|
|
823
|
+
const supported = OPENAI_MODEL_GROUPS.CHAT_MODELS.includes(modelId) || OPENAI_MODEL_GROUPS.VISION_MODELS.includes(modelId);
|
|
824
|
+
return !isReasoning && supported;
|
|
825
|
+
}
|
|
826
|
+
/** Check if model supports structured outputs. */
|
|
827
|
+
function supportsStructuredOutputs(modelId) {
|
|
828
|
+
return OPENAI_MODEL_GROUPS.CHAT_MODELS.includes(modelId) || OPENAI_MODEL_GROUPS.VISION_MODELS.includes(modelId);
|
|
829
|
+
}
|
|
830
|
+
/** Check if model supports prompt caching. */
|
|
831
|
+
function supportsPromptCaching(modelId) {
|
|
832
|
+
return !OPENAI_MODEL_GROUPS.LEGACY_MODELS.includes(modelId);
|
|
833
|
+
}
|
|
834
|
+
/** Extract reasoning tokens from OpenAI reasoning models. */
|
|
835
|
+
function extractReasoningTokens(result) {
|
|
836
|
+
const tokens = result.providerOptions?.openai?.reasoningTokens;
|
|
837
|
+
return typeof tokens === "number" ? tokens : void 0;
|
|
838
|
+
}
|
|
839
|
+
/** Extract cached prompt tokens from OpenAI responses. */
|
|
840
|
+
function extractCachedPromptTokens(result) {
|
|
841
|
+
const tokens = result.providerOptions?.openai?.cachedPromptTokens;
|
|
842
|
+
return typeof tokens === "number" ? tokens : void 0;
|
|
843
|
+
}
|
|
844
|
+
/** Extract prediction tokens from OpenAI predicted outputs. */
|
|
845
|
+
function extractPredictionTokens(result) {
|
|
846
|
+
const metadata = result.providerOptions?.openai;
|
|
847
|
+
if (!metadata) return void 0;
|
|
848
|
+
const accepted = metadata.acceptedPredictionTokens;
|
|
849
|
+
const rejected = metadata.rejectedPredictionTokens;
|
|
850
|
+
return {
|
|
851
|
+
accepted: typeof accepted === "number" ? accepted : void 0,
|
|
852
|
+
rejected: typeof rejected === "number" ? rejected : void 0
|
|
853
|
+
};
|
|
854
|
+
}
|
|
855
|
+
/** Extract complete OpenAI provider metadata. */
|
|
856
|
+
function extractOpenAIMetadata(result) {
|
|
857
|
+
const openaiMeta = result.providerOptions?.openai;
|
|
858
|
+
if (!openaiMeta || typeof openaiMeta !== "object" || Array.isArray(openaiMeta)) return null;
|
|
859
|
+
const meta = openaiMeta;
|
|
860
|
+
return {
|
|
861
|
+
responseId: typeof meta.responseId === "string" ? meta.responseId : void 0,
|
|
862
|
+
reasoningTokens: typeof meta.reasoningTokens === "number" ? meta.reasoningTokens : void 0,
|
|
863
|
+
cachedPromptTokens: typeof meta.cachedPromptTokens === "number" ? meta.cachedPromptTokens : void 0,
|
|
864
|
+
acceptedPredictionTokens: typeof meta.acceptedPredictionTokens === "number" ? meta.acceptedPredictionTokens : void 0,
|
|
865
|
+
rejectedPredictionTokens: typeof meta.rejectedPredictionTokens === "number" ? meta.rejectedPredictionTokens : void 0,
|
|
866
|
+
logprobs: meta.logprobs
|
|
867
|
+
};
|
|
868
|
+
}
|
|
869
|
+
|
|
870
|
+
//#endregion
|
|
871
|
+
//#region src/models/providers/perplexity.ts
|
|
872
|
+
/**
|
|
873
|
+
* @fileoverview Perplexity provider configuration
|
|
874
|
+
*
|
|
875
|
+
* Provider-specific model IDs, option helpers, capability detection,
|
|
876
|
+
* and metadata extraction for Perplexity models.
|
|
877
|
+
*
|
|
878
|
+
* Note: @ai-sdk/perplexity is not a direct dependency. Perplexity is accessed
|
|
879
|
+
* via createOpenAICompatible from the shared module. This file provides
|
|
880
|
+
* provider-specific configurations, model IDs, and metadata extraction.
|
|
881
|
+
*
|
|
882
|
+
* @module @od-oneapp/ai-platform/models/providers/perplexity
|
|
883
|
+
*/
|
|
884
|
+
var perplexity_exports = /* @__PURE__ */ __exportAll({
|
|
885
|
+
PERPLEXITY_MODEL_GROUPS: () => PERPLEXITY_MODEL_GROUPS,
|
|
886
|
+
PERPLEXITY_MODEL_IDS: () => PERPLEXITY_MODEL_IDS,
|
|
887
|
+
extractImages: () => extractImages,
|
|
888
|
+
extractProviderMetadata: () => extractProviderMetadata,
|
|
889
|
+
extractSources: () => extractSources$1,
|
|
890
|
+
extractUsageMetadata: () => extractUsageMetadata,
|
|
891
|
+
isReasoningModel: () => isReasoningModel,
|
|
892
|
+
isResearchModel: () => isResearchModel,
|
|
893
|
+
supportsCitations: () => supportsCitations,
|
|
894
|
+
supportsImageResponses: () => supportsImageResponses,
|
|
895
|
+
supportsWebSearch: () => supportsWebSearch,
|
|
896
|
+
withImages: () => withImages,
|
|
897
|
+
withResearchMode: () => withResearchMode
|
|
898
|
+
});
|
|
899
|
+
/** Single source of truth for Perplexity model IDs. */
|
|
900
|
+
const PERPLEXITY_MODEL_IDS = {
|
|
901
|
+
SONAR_PRO: "sonar-pro",
|
|
902
|
+
SONAR: "sonar",
|
|
903
|
+
SONAR_REASONING_PRO: "sonar-reasoning-pro",
|
|
904
|
+
SONAR_REASONING: "sonar-reasoning",
|
|
905
|
+
SONAR_DEEP_RESEARCH: "sonar-deep-research"
|
|
906
|
+
};
|
|
907
|
+
/** Model groups for categorization. */
|
|
908
|
+
const PERPLEXITY_MODEL_GROUPS = {
|
|
909
|
+
RESEARCH_MODELS: [
|
|
910
|
+
PERPLEXITY_MODEL_IDS.SONAR_DEEP_RESEARCH,
|
|
911
|
+
PERPLEXITY_MODEL_IDS.SONAR_PRO,
|
|
912
|
+
PERPLEXITY_MODEL_IDS.SONAR
|
|
913
|
+
],
|
|
914
|
+
REASONING_MODELS: [PERPLEXITY_MODEL_IDS.SONAR_REASONING_PRO, PERPLEXITY_MODEL_IDS.SONAR_REASONING],
|
|
915
|
+
MULTIMODAL_MODELS: [
|
|
916
|
+
PERPLEXITY_MODEL_IDS.SONAR_REASONING_PRO,
|
|
917
|
+
PERPLEXITY_MODEL_IDS.SONAR_REASONING,
|
|
918
|
+
PERPLEXITY_MODEL_IDS.SONAR_PRO,
|
|
919
|
+
PERPLEXITY_MODEL_IDS.SONAR
|
|
920
|
+
]
|
|
921
|
+
};
|
|
922
|
+
const PERPLEXITY_MODEL_CAPABILITIES = {
|
|
923
|
+
[PERPLEXITY_MODEL_IDS.SONAR_DEEP_RESEARCH]: {
|
|
924
|
+
webSearch: true,
|
|
925
|
+
citations: true,
|
|
926
|
+
tierRequirement: "basic",
|
|
927
|
+
imageResponses: false
|
|
928
|
+
},
|
|
929
|
+
[PERPLEXITY_MODEL_IDS.SONAR_REASONING_PRO]: {
|
|
930
|
+
webSearch: true,
|
|
931
|
+
citations: true,
|
|
932
|
+
tierRequirement: "basic",
|
|
933
|
+
imageResponses: true
|
|
934
|
+
},
|
|
935
|
+
[PERPLEXITY_MODEL_IDS.SONAR_REASONING]: {
|
|
936
|
+
webSearch: true,
|
|
937
|
+
citations: true,
|
|
938
|
+
tierRequirement: "basic",
|
|
939
|
+
imageResponses: true
|
|
940
|
+
},
|
|
941
|
+
[PERPLEXITY_MODEL_IDS.SONAR_PRO]: {
|
|
942
|
+
webSearch: true,
|
|
943
|
+
citations: true,
|
|
944
|
+
tierRequirement: "basic",
|
|
945
|
+
imageResponses: true
|
|
946
|
+
},
|
|
947
|
+
[PERPLEXITY_MODEL_IDS.SONAR]: {
|
|
948
|
+
webSearch: true,
|
|
949
|
+
citations: true,
|
|
950
|
+
tierRequirement: "basic",
|
|
951
|
+
imageResponses: true
|
|
952
|
+
}
|
|
953
|
+
};
|
|
954
|
+
/** Enable image responses (Tier-2+ only). */
|
|
955
|
+
function withImages() {
|
|
956
|
+
return { providerOptions: { perplexity: { return_images: true } } };
|
|
957
|
+
}
|
|
958
|
+
/** Research mode combining shared research settings with Perplexity image capability. */
|
|
959
|
+
function withResearchMode(returnImages = false) {
|
|
960
|
+
return {
|
|
961
|
+
...commonModes.research(),
|
|
962
|
+
providerOptions: { perplexity: { return_images: returnImages } }
|
|
963
|
+
};
|
|
964
|
+
}
|
|
965
|
+
function getModelCapabilities(modelId) {
|
|
966
|
+
return PERPLEXITY_MODEL_CAPABILITIES[modelId];
|
|
967
|
+
}
|
|
968
|
+
/** Check if model supports image responses (Tier-2+ feature). */
|
|
969
|
+
function supportsImageResponses(modelId) {
|
|
970
|
+
return getModelCapabilities(modelId)?.imageResponses ?? false;
|
|
971
|
+
}
|
|
972
|
+
/** Check if model supports web search. */
|
|
973
|
+
function supportsWebSearch(modelId) {
|
|
974
|
+
return getModelCapabilities(modelId)?.webSearch ?? false;
|
|
975
|
+
}
|
|
976
|
+
/** Check if model supports citations. */
|
|
977
|
+
function supportsCitations(modelId) {
|
|
978
|
+
return getModelCapabilities(modelId)?.citations ?? false;
|
|
979
|
+
}
|
|
980
|
+
/** Check if model has reasoning capabilities. */
|
|
981
|
+
function isReasoningModel(modelId) {
|
|
982
|
+
return PERPLEXITY_MODEL_GROUPS.REASONING_MODELS.includes(modelId);
|
|
983
|
+
}
|
|
984
|
+
/** Check if model is optimized for research. */
|
|
985
|
+
function isResearchModel(modelId) {
|
|
986
|
+
return PERPLEXITY_MODEL_GROUPS.RESEARCH_MODELS.includes(modelId);
|
|
987
|
+
}
|
|
988
|
+
/** Extract sources from Perplexity responses. */
|
|
989
|
+
function extractSources$1(result) {
|
|
990
|
+
if (Array.isArray(result.sources)) return result.sources;
|
|
991
|
+
const perplexityMetadata = result.providerOptions?.perplexity;
|
|
992
|
+
if (!perplexityMetadata || typeof perplexityMetadata !== "object") return [];
|
|
993
|
+
const { sources } = perplexityMetadata;
|
|
994
|
+
if (!Array.isArray(sources)) return [];
|
|
995
|
+
return sources;
|
|
996
|
+
}
|
|
997
|
+
/** Extract image responses from Perplexity. */
|
|
998
|
+
function extractImages(result) {
|
|
999
|
+
const perplexityMetadata = result.providerOptions?.perplexity;
|
|
1000
|
+
if (!perplexityMetadata || typeof perplexityMetadata !== "object") return [];
|
|
1001
|
+
const { images } = perplexityMetadata;
|
|
1002
|
+
if (!Array.isArray(images)) return [];
|
|
1003
|
+
return images;
|
|
1004
|
+
}
|
|
1005
|
+
/** Extract usage metadata from Perplexity. */
|
|
1006
|
+
function extractUsageMetadata(result) {
|
|
1007
|
+
const perplexityMetadata = result.providerOptions?.perplexity;
|
|
1008
|
+
if (!perplexityMetadata || typeof perplexityMetadata !== "object" || Array.isArray(perplexityMetadata)) return null;
|
|
1009
|
+
const { usage } = perplexityMetadata;
|
|
1010
|
+
if (!usage || typeof usage !== "object" || Array.isArray(usage)) return null;
|
|
1011
|
+
const usageData = usage;
|
|
1012
|
+
return {
|
|
1013
|
+
citationTokens: typeof usageData.citationTokens === "number" ? usageData.citationTokens : 0,
|
|
1014
|
+
numSearchQueries: typeof usageData.numSearchQueries === "number" ? usageData.numSearchQueries : 0
|
|
1015
|
+
};
|
|
1016
|
+
}
|
|
1017
|
+
/** Extract complete Perplexity provider metadata. */
|
|
1018
|
+
function extractProviderMetadata(result) {
|
|
1019
|
+
const perplexityMetadata = result.providerOptions?.perplexity;
|
|
1020
|
+
if (!perplexityMetadata || typeof perplexityMetadata !== "object") return null;
|
|
1021
|
+
const meta = perplexityMetadata;
|
|
1022
|
+
const { usage, images } = meta;
|
|
1023
|
+
const sourcesFromMetadata = meta.sources;
|
|
1024
|
+
const sourcesFromResult = Array.isArray(result.sources) ? result.sources : void 0;
|
|
1025
|
+
return {
|
|
1026
|
+
usage: usage && typeof usage === "object" && !Array.isArray(usage) ? {
|
|
1027
|
+
citationTokens: typeof usage.citationTokens === "number" ? usage.citationTokens : 0,
|
|
1028
|
+
numSearchQueries: typeof usage.numSearchQueries === "number" ? usage.numSearchQueries : 0
|
|
1029
|
+
} : void 0,
|
|
1030
|
+
images: Array.isArray(images) ? images : [],
|
|
1031
|
+
sources: sourcesFromResult && sourcesFromResult.length > 0 ? sourcesFromResult : Array.isArray(sourcesFromMetadata) ? sourcesFromMetadata : []
|
|
1032
|
+
};
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
//#endregion
|
|
1036
|
+
//#region src/models/capabilities.ts
|
|
1037
|
+
/**
|
|
1038
|
+
* @fileoverview Cross-provider model capability detection
|
|
1039
|
+
*
|
|
1040
|
+
* Provides unified capability checks that work across all providers
|
|
1041
|
+
* by combining the high-level MODEL_METADATA registry with
|
|
1042
|
+
* provider-specific capability data.
|
|
1043
|
+
*
|
|
1044
|
+
* @module @od-oneapp/ai-platform/models/capabilities
|
|
1045
|
+
*/
|
|
1046
|
+
const REASONING_MODEL_IDS = new Set([
|
|
1047
|
+
...ANTHROPIC_MODEL_GROUPS.REASONING_MODELS,
|
|
1048
|
+
...OPENAI_MODEL_GROUPS.REASONING_MODELS,
|
|
1049
|
+
...PERPLEXITY_MODEL_GROUPS.REASONING_MODELS
|
|
1050
|
+
]);
|
|
1051
|
+
for (const model of Object.values(Model)) {
|
|
1052
|
+
const meta = MODEL_METADATA[model];
|
|
1053
|
+
if (meta?.tier === "reasoning") REASONING_MODEL_IDS.add(meta.id);
|
|
1054
|
+
}
|
|
1055
|
+
/**
|
|
1056
|
+
* Check if a model supports reasoning/thinking capabilities.
|
|
1057
|
+
*
|
|
1058
|
+
* Checks both the registry (tier === 'reasoning') and provider-specific
|
|
1059
|
+
* reasoning model lists (Anthropic extended thinking, OpenAI o-series, etc.).
|
|
1060
|
+
*
|
|
1061
|
+
* @param modelId - Provider-specific model ID string (e.g. 'claude-opus-4-20250514', 'o1')
|
|
1062
|
+
* @returns true if the model has reasoning/thinking capabilities
|
|
1063
|
+
*
|
|
1064
|
+
* @example
|
|
1065
|
+
* ```ts
|
|
1066
|
+
* import { modelSupportsReasoning } from '@od-oneapp/ai-platform/models';
|
|
1067
|
+
*
|
|
1068
|
+
* if (modelSupportsReasoning('claude-opus-4-20250514')) {
|
|
1069
|
+
* // Enable extended thinking budget
|
|
1070
|
+
* }
|
|
1071
|
+
* ```
|
|
1072
|
+
*/
|
|
1073
|
+
function modelSupportsReasoning(modelId) {
|
|
1074
|
+
return REASONING_MODEL_IDS.has(modelId);
|
|
1075
|
+
}
|
|
1076
|
+
/**
|
|
1077
|
+
* Check if a model supports tool usage.
|
|
1078
|
+
*
|
|
1079
|
+
* @param modelId - Provider-specific model ID string
|
|
1080
|
+
* @returns true if the model supports tools
|
|
1081
|
+
*/
|
|
1082
|
+
function modelSupportsTools(modelId) {
|
|
1083
|
+
for (const model of Object.values(Model)) {
|
|
1084
|
+
const meta = MODEL_METADATA[model];
|
|
1085
|
+
if (meta?.id === modelId) return meta.supportsTools;
|
|
1086
|
+
}
|
|
1087
|
+
return true;
|
|
1088
|
+
}
|
|
1089
|
+
/**
|
|
1090
|
+
* Check if a model supports streaming.
|
|
1091
|
+
*
|
|
1092
|
+
* @param modelId - Provider-specific model ID string
|
|
1093
|
+
* @returns true if the model supports streaming
|
|
1094
|
+
*/
|
|
1095
|
+
function modelSupportsStreaming(modelId) {
|
|
1096
|
+
for (const model of Object.values(Model)) {
|
|
1097
|
+
const meta = MODEL_METADATA[model];
|
|
1098
|
+
if (meta?.id === modelId) return meta.supportsStreaming;
|
|
1099
|
+
}
|
|
1100
|
+
return true;
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
//#endregion
|
|
1104
|
+
//#region src/models/providers/google.ts
|
|
1105
|
+
/**
|
|
1106
|
+
* @fileoverview Google Generative AI provider configuration
|
|
1107
|
+
*
|
|
1108
|
+
* Provider-specific model IDs, option helpers, capability detection,
|
|
1109
|
+
* and metadata extraction for Google Gemini models.
|
|
1110
|
+
*
|
|
1111
|
+
* All AI SDK imports come from the shared module.
|
|
1112
|
+
*
|
|
1113
|
+
* @module @od-oneapp/ai-platform/models/providers/google
|
|
1114
|
+
*/
|
|
1115
|
+
var google_exports = /* @__PURE__ */ __exportAll({
|
|
1116
|
+
GOOGLE_MODEL_GROUPS: () => GOOGLE_MODEL_GROUPS,
|
|
1117
|
+
GOOGLE_MODEL_IDS: () => GOOGLE_MODEL_IDS,
|
|
1118
|
+
GOOGLE_PRESETS: () => GOOGLE_PRESETS,
|
|
1119
|
+
GOOGLE_SAFETY_PRESETS: () => GOOGLE_SAFETY_PRESETS,
|
|
1120
|
+
createGoogleGenerativeAI: () => createGoogleGenerativeAI,
|
|
1121
|
+
google: () => google,
|
|
1122
|
+
googleTools: () => googleTools,
|
|
1123
|
+
isGemmaModel: () => isGemmaModel,
|
|
1124
|
+
supportsGoogleSearch: () => supportsGoogleSearch,
|
|
1125
|
+
supportsThinking: () => supportsThinking,
|
|
1126
|
+
supportsUrlContext: () => supportsUrlContext,
|
|
1127
|
+
withEmbeddingConfig: () => withEmbeddingConfig,
|
|
1128
|
+
withGoogleImageGeneration: () => withGoogleImageGeneration,
|
|
1129
|
+
withResponseModalities: () => withResponseModalities,
|
|
1130
|
+
withSafetySettings: () => withSafetySettings,
|
|
1131
|
+
withStructuredOutputs: () => withStructuredOutputs,
|
|
1132
|
+
withThinking: () => withThinking,
|
|
1133
|
+
withYouTubeContext: () => withYouTubeContext
|
|
1134
|
+
});
|
|
1135
|
+
/** Native Google tools re-exported from AI SDK. */
|
|
1136
|
+
const googleTools = {
|
|
1137
|
+
googleSearch: google.tools.googleSearch,
|
|
1138
|
+
urlContext: google.tools.urlContext,
|
|
1139
|
+
codeExecution: google.tools.codeExecution
|
|
1140
|
+
};
|
|
1141
|
+
/** Single source of truth for Google model IDs. */
|
|
1142
|
+
const GOOGLE_MODEL_IDS = {
|
|
1143
|
+
GEMINI_3_FLASH: "gemini-3-flash",
|
|
1144
|
+
GEMINI_20_FLASH: "gemini-2.0-flash",
|
|
1145
|
+
GEMINI_15_PRO: "gemini-1.5-pro",
|
|
1146
|
+
GEMINI_15_PRO_LATEST: "gemini-1.5-pro-latest",
|
|
1147
|
+
GEMINI_15_FLASH: "gemini-1.5-flash",
|
|
1148
|
+
GEMINI_15_FLASH_LATEST: "gemini-1.5-flash-latest",
|
|
1149
|
+
GEMINI_15_FLASH_8B: "gemini-1.5-flash-8b",
|
|
1150
|
+
GEMINI_15_FLASH_8B_LATEST: "gemini-1.5-flash-8b-latest",
|
|
1151
|
+
GEMMA_3_27B_IT: "gemma-3-27b-it",
|
|
1152
|
+
GEMMA_3_9B_IT: "gemma-3-9b-it",
|
|
1153
|
+
GEMMA_2_2B_IT: "gemma-2-2b-it",
|
|
1154
|
+
GEMMA_2_9B_IT: "gemma-2-9b-it",
|
|
1155
|
+
GEMMA_2_27B_IT: "gemma-2-27b-it",
|
|
1156
|
+
GEMINI_EMBEDDING_001: "gemini-embedding-001",
|
|
1157
|
+
TEXT_EMBEDDING_004: "text-embedding-004",
|
|
1158
|
+
IMAGEN_3_GENERATE_002: "imagen-3.0-generate-002",
|
|
1159
|
+
GEMMA_2_2B: "gemma-2-2b-it",
|
|
1160
|
+
GEMMA_2_9B: "gemma-2-9b-it",
|
|
1161
|
+
GEMMA_2_27B: "gemma-2-27b-it"
|
|
1162
|
+
};
|
|
1163
|
+
/** Model groups for categorization. */
|
|
1164
|
+
const GOOGLE_MODEL_GROUPS = {
|
|
1165
|
+
THINKING_MODELS: [GOOGLE_MODEL_IDS.GEMINI_3_FLASH],
|
|
1166
|
+
GEMINI_MODELS: [
|
|
1167
|
+
GOOGLE_MODEL_IDS.GEMINI_3_FLASH,
|
|
1168
|
+
GOOGLE_MODEL_IDS.GEMINI_15_PRO,
|
|
1169
|
+
GOOGLE_MODEL_IDS.GEMINI_15_PRO_LATEST,
|
|
1170
|
+
GOOGLE_MODEL_IDS.GEMINI_15_FLASH,
|
|
1171
|
+
GOOGLE_MODEL_IDS.GEMINI_15_FLASH_LATEST,
|
|
1172
|
+
GOOGLE_MODEL_IDS.GEMINI_15_FLASH_8B,
|
|
1173
|
+
GOOGLE_MODEL_IDS.GEMINI_15_FLASH_8B_LATEST
|
|
1174
|
+
],
|
|
1175
|
+
MULTIMODAL_MODELS: [
|
|
1176
|
+
GOOGLE_MODEL_IDS.GEMINI_3_FLASH,
|
|
1177
|
+
GOOGLE_MODEL_IDS.GEMINI_15_PRO,
|
|
1178
|
+
GOOGLE_MODEL_IDS.GEMINI_15_PRO_LATEST,
|
|
1179
|
+
GOOGLE_MODEL_IDS.GEMINI_15_FLASH,
|
|
1180
|
+
GOOGLE_MODEL_IDS.GEMINI_15_FLASH_LATEST,
|
|
1181
|
+
GOOGLE_MODEL_IDS.GEMINI_15_FLASH_8B,
|
|
1182
|
+
GOOGLE_MODEL_IDS.GEMINI_15_FLASH_8B_LATEST
|
|
1183
|
+
],
|
|
1184
|
+
SEARCH_CAPABLE_MODELS: [
|
|
1185
|
+
GOOGLE_MODEL_IDS.GEMINI_3_FLASH,
|
|
1186
|
+
GOOGLE_MODEL_IDS.GEMINI_15_PRO,
|
|
1187
|
+
GOOGLE_MODEL_IDS.GEMINI_15_PRO_LATEST,
|
|
1188
|
+
GOOGLE_MODEL_IDS.GEMINI_15_FLASH,
|
|
1189
|
+
GOOGLE_MODEL_IDS.GEMINI_15_FLASH_LATEST,
|
|
1190
|
+
GOOGLE_MODEL_IDS.GEMINI_15_FLASH_8B,
|
|
1191
|
+
GOOGLE_MODEL_IDS.GEMINI_15_FLASH_8B_LATEST
|
|
1192
|
+
],
|
|
1193
|
+
URL_CONTEXT_MODELS: [GOOGLE_MODEL_IDS.GEMINI_3_FLASH],
|
|
1194
|
+
GEMMA_MODELS: [
|
|
1195
|
+
GOOGLE_MODEL_IDS.GEMMA_3_27B_IT,
|
|
1196
|
+
GOOGLE_MODEL_IDS.GEMMA_3_9B_IT,
|
|
1197
|
+
GOOGLE_MODEL_IDS.GEMMA_2_2B_IT,
|
|
1198
|
+
GOOGLE_MODEL_IDS.GEMMA_2_9B_IT,
|
|
1199
|
+
GOOGLE_MODEL_IDS.GEMMA_2_27B_IT
|
|
1200
|
+
],
|
|
1201
|
+
IMAGE_GENERATION_MODELS: [GOOGLE_MODEL_IDS.IMAGEN_3_GENERATE_002]
|
|
1202
|
+
};
|
|
1203
|
+
/** Configure thinking capabilities for Gemini 3.0+ models. */
|
|
1204
|
+
function withThinking(budgetTokens = 8192, includeThoughts = false) {
|
|
1205
|
+
return { providerOptions: { google: { thinkingConfig: {
|
|
1206
|
+
thinkingBudget: budgetTokens,
|
|
1207
|
+
includeThoughts
|
|
1208
|
+
} } } };
|
|
1209
|
+
}
|
|
1210
|
+
/** Google Safety Setting Presets. */
|
|
1211
|
+
const GOOGLE_SAFETY_PRESETS = {
|
|
1212
|
+
STRICT: [
|
|
1213
|
+
{
|
|
1214
|
+
category: "HARM_CATEGORY_HATE_SPEECH",
|
|
1215
|
+
threshold: "BLOCK_LOW_AND_ABOVE"
|
|
1216
|
+
},
|
|
1217
|
+
{
|
|
1218
|
+
category: "HARM_CATEGORY_DANGEROUS_CONTENT",
|
|
1219
|
+
threshold: "BLOCK_LOW_AND_ABOVE"
|
|
1220
|
+
},
|
|
1221
|
+
{
|
|
1222
|
+
category: "HARM_CATEGORY_HARASSMENT",
|
|
1223
|
+
threshold: "BLOCK_LOW_AND_ABOVE"
|
|
1224
|
+
},
|
|
1225
|
+
{
|
|
1226
|
+
category: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
|
|
1227
|
+
threshold: "BLOCK_LOW_AND_ABOVE"
|
|
1228
|
+
}
|
|
1229
|
+
],
|
|
1230
|
+
BALANCED: [
|
|
1231
|
+
{
|
|
1232
|
+
category: "HARM_CATEGORY_HATE_SPEECH",
|
|
1233
|
+
threshold: "BLOCK_MEDIUM_AND_ABOVE"
|
|
1234
|
+
},
|
|
1235
|
+
{
|
|
1236
|
+
category: "HARM_CATEGORY_DANGEROUS_CONTENT",
|
|
1237
|
+
threshold: "BLOCK_MEDIUM_AND_ABOVE"
|
|
1238
|
+
},
|
|
1239
|
+
{
|
|
1240
|
+
category: "HARM_CATEGORY_HARASSMENT",
|
|
1241
|
+
threshold: "BLOCK_MEDIUM_AND_ABOVE"
|
|
1242
|
+
},
|
|
1243
|
+
{
|
|
1244
|
+
category: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
|
|
1245
|
+
threshold: "BLOCK_MEDIUM_AND_ABOVE"
|
|
1246
|
+
}
|
|
1247
|
+
],
|
|
1248
|
+
PERMISSIVE: [
|
|
1249
|
+
{
|
|
1250
|
+
category: "HARM_CATEGORY_HATE_SPEECH",
|
|
1251
|
+
threshold: "BLOCK_ONLY_HIGH"
|
|
1252
|
+
},
|
|
1253
|
+
{
|
|
1254
|
+
category: "HARM_CATEGORY_DANGEROUS_CONTENT",
|
|
1255
|
+
threshold: "BLOCK_ONLY_HIGH"
|
|
1256
|
+
},
|
|
1257
|
+
{
|
|
1258
|
+
category: "HARM_CATEGORY_HARASSMENT",
|
|
1259
|
+
threshold: "BLOCK_ONLY_HIGH"
|
|
1260
|
+
},
|
|
1261
|
+
{
|
|
1262
|
+
category: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
|
|
1263
|
+
threshold: "BLOCK_ONLY_HIGH"
|
|
1264
|
+
}
|
|
1265
|
+
],
|
|
1266
|
+
NONE: [
|
|
1267
|
+
{
|
|
1268
|
+
category: "HARM_CATEGORY_HATE_SPEECH",
|
|
1269
|
+
threshold: "BLOCK_NONE"
|
|
1270
|
+
},
|
|
1271
|
+
{
|
|
1272
|
+
category: "HARM_CATEGORY_DANGEROUS_CONTENT",
|
|
1273
|
+
threshold: "BLOCK_NONE"
|
|
1274
|
+
},
|
|
1275
|
+
{
|
|
1276
|
+
category: "HARM_CATEGORY_HARASSMENT",
|
|
1277
|
+
threshold: "BLOCK_NONE"
|
|
1278
|
+
},
|
|
1279
|
+
{
|
|
1280
|
+
category: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
|
|
1281
|
+
threshold: "BLOCK_NONE"
|
|
1282
|
+
}
|
|
1283
|
+
]
|
|
1284
|
+
};
|
|
1285
|
+
/** Configure safety settings for content filtering. */
|
|
1286
|
+
function withSafetySettings(preset, overrides) {
|
|
1287
|
+
let settings;
|
|
1288
|
+
if (Array.isArray(preset)) settings = [...preset];
|
|
1289
|
+
else {
|
|
1290
|
+
settings = [...GOOGLE_SAFETY_PRESETS[preset]];
|
|
1291
|
+
if (overrides) settings = settings.map((setting) => {
|
|
1292
|
+
const key = setting.category.replace("HARM_CATEGORY_", "");
|
|
1293
|
+
if (overrides[key]) return {
|
|
1294
|
+
...setting,
|
|
1295
|
+
threshold: overrides[key]
|
|
1296
|
+
};
|
|
1297
|
+
return setting;
|
|
1298
|
+
});
|
|
1299
|
+
}
|
|
1300
|
+
return { providerOptions: { google: { safetySettings: settings.reduce((acc, setting) => {
|
|
1301
|
+
const key = setting.category.replace("HARM_CATEGORY_", "");
|
|
1302
|
+
acc[key] = setting.threshold;
|
|
1303
|
+
return acc;
|
|
1304
|
+
}, {}) } } };
|
|
1305
|
+
}
|
|
1306
|
+
/** Configure response modalities for multimodal outputs. */
|
|
1307
|
+
function withResponseModalities(modalities) {
|
|
1308
|
+
return { providerOptions: { google: { responseModalities: modalities } } };
|
|
1309
|
+
}
|
|
1310
|
+
/** Configure structured outputs with schema validation. */
|
|
1311
|
+
function withStructuredOutputs(schema, mode = "AUTO") {
|
|
1312
|
+
if (typeof schema === "boolean") return { providerOptions: { google: { structuredOutputs: {
|
|
1313
|
+
enabled: schema,
|
|
1314
|
+
mode
|
|
1315
|
+
} } } };
|
|
1316
|
+
return { providerOptions: { google: { structuredOutputs: {
|
|
1317
|
+
schema,
|
|
1318
|
+
mode
|
|
1319
|
+
} } } };
|
|
1320
|
+
}
|
|
1321
|
+
/** Configure embedding-specific options. */
|
|
1322
|
+
function withEmbeddingConfig(options) {
|
|
1323
|
+
return { providerOptions: { google: {
|
|
1324
|
+
...options.taskType && { taskType: options.taskType },
|
|
1325
|
+
...options.outputDimensionality && { outputDimensionality: options.outputDimensionality }
|
|
1326
|
+
} } };
|
|
1327
|
+
}
|
|
1328
|
+
/** Configure YouTube URL processing. */
|
|
1329
|
+
function withYouTubeContext(videoUrl, includedFeatures) {
|
|
1330
|
+
return { providerOptions: { google: { youtubeContext: {
|
|
1331
|
+
videoUrl,
|
|
1332
|
+
includedFeatures: includedFeatures ?? ["TRANSCRIPT"]
|
|
1333
|
+
} } } };
|
|
1334
|
+
}
|
|
1335
|
+
/** Configure Google image generation options. */
|
|
1336
|
+
function withGoogleImageGeneration(quality = "MEDIUM", count = 1, size = 1024) {
|
|
1337
|
+
return { providerOptions: { google: { imageGeneration: {
|
|
1338
|
+
quality,
|
|
1339
|
+
count,
|
|
1340
|
+
size
|
|
1341
|
+
} } } };
|
|
1342
|
+
}
|
|
1343
|
+
/** Configuration presets for Google-specific use cases. */
|
|
1344
|
+
const GOOGLE_PRESETS = {
|
|
1345
|
+
quick: {
|
|
1346
|
+
...commonModes.quick(),
|
|
1347
|
+
...withSafetySettings("BALANCED"),
|
|
1348
|
+
temperature: .7,
|
|
1349
|
+
topP: .9
|
|
1350
|
+
},
|
|
1351
|
+
thinking: {
|
|
1352
|
+
...commonModes.research(),
|
|
1353
|
+
...withThinking(12e3, true),
|
|
1354
|
+
...withSafetySettings("BALANCED"),
|
|
1355
|
+
temperature: .3,
|
|
1356
|
+
topP: .8
|
|
1357
|
+
},
|
|
1358
|
+
creative: {
|
|
1359
|
+
...commonModes.creative(),
|
|
1360
|
+
...withSafetySettings("PERMISSIVE"),
|
|
1361
|
+
temperature: .9,
|
|
1362
|
+
topP: .95
|
|
1363
|
+
},
|
|
1364
|
+
precise: {
|
|
1365
|
+
...commonModes.precise(),
|
|
1366
|
+
...withSafetySettings("STRICT"),
|
|
1367
|
+
...withStructuredOutputs(true),
|
|
1368
|
+
temperature: .1,
|
|
1369
|
+
topP: .7
|
|
1370
|
+
}
|
|
1371
|
+
};
|
|
1372
|
+
/** Check if model supports thinking capabilities. */
|
|
1373
|
+
function supportsThinking(modelId) {
|
|
1374
|
+
return GOOGLE_MODEL_GROUPS.THINKING_MODELS.includes(modelId);
|
|
1375
|
+
}
|
|
1376
|
+
/** Check if model supports Google Search grounding. */
|
|
1377
|
+
function supportsGoogleSearch(modelId) {
|
|
1378
|
+
return GOOGLE_MODEL_GROUPS.SEARCH_CAPABLE_MODELS.includes(modelId);
|
|
1379
|
+
}
|
|
1380
|
+
/** Check if model supports URL context analysis. */
|
|
1381
|
+
function supportsUrlContext(modelId) {
|
|
1382
|
+
return GOOGLE_MODEL_GROUPS.URL_CONTEXT_MODELS.includes(modelId);
|
|
1383
|
+
}
|
|
1384
|
+
/** Check if model is a Gemma open-source model. */
|
|
1385
|
+
function isGemmaModel(modelId) {
|
|
1386
|
+
return GOOGLE_MODEL_GROUPS.GEMMA_MODELS.includes(modelId);
|
|
1387
|
+
}
|
|
1388
|
+
|
|
1389
|
+
//#endregion
|
|
1390
|
+
//#region src/models/providers/xai.ts
|
|
1391
|
+
/**
|
|
1392
|
+
* @fileoverview xAI Grok provider configuration
|
|
1393
|
+
*
|
|
1394
|
+
* Provider-specific model IDs, option helpers, capability detection,
|
|
1395
|
+
* and metadata extraction for xAI Grok models.
|
|
1396
|
+
*
|
|
1397
|
+
* All AI SDK imports come from the shared module.
|
|
1398
|
+
*
|
|
1399
|
+
* @module @od-oneapp/ai-platform/models/providers/xai
|
|
1400
|
+
*/
|
|
1401
|
+
var xai_exports = /* @__PURE__ */ __exportAll({
|
|
1402
|
+
GROK_MODEL_GROUPS: () => GROK_MODEL_GROUPS,
|
|
1403
|
+
GROK_MODEL_IDS: () => GROK_MODEL_IDS,
|
|
1404
|
+
createXai: () => createXai,
|
|
1405
|
+
extractSearchMetadata: () => extractSearchMetadata,
|
|
1406
|
+
extractSources: () => extractSources,
|
|
1407
|
+
grok: () => xai,
|
|
1408
|
+
grokImage: () => grokImage,
|
|
1409
|
+
supportsImageGeneration: () => supportsImageGeneration,
|
|
1410
|
+
supportsLiveSearch: () => supportsLiveSearch,
|
|
1411
|
+
supportsReasoningEffort: () => supportsReasoningEffort,
|
|
1412
|
+
supportsVision: () => supportsVision,
|
|
1413
|
+
withReasoningEffort: () => withReasoningEffort,
|
|
1414
|
+
withSearchParameters: () => withSearchParameters,
|
|
1415
|
+
withSearchSources: () => withSearchSources
|
|
1416
|
+
});
|
|
1417
|
+
/** Image generation support via xAI. */
|
|
1418
|
+
const grokImage = xai.image;
|
|
1419
|
+
/** Single source of truth for xAI Grok model IDs. */
|
|
1420
|
+
const GROK_MODEL_IDS = {
|
|
1421
|
+
GROK_4: "grok-4",
|
|
1422
|
+
GROK_3: "grok-3",
|
|
1423
|
+
GROK_3_LATEST: "grok-3-latest",
|
|
1424
|
+
GROK_3_FAST: "grok-3-fast",
|
|
1425
|
+
GROK_3_FAST_LATEST: "grok-3-fast-latest",
|
|
1426
|
+
GROK_3_MINI: "grok-3-mini",
|
|
1427
|
+
GROK_3_MINI_LATEST: "grok-3-mini-latest",
|
|
1428
|
+
GROK_3_MINI_FAST: "grok-3-mini-fast",
|
|
1429
|
+
GROK_3_MINI_FAST_LATEST: "grok-3-mini-fast-latest",
|
|
1430
|
+
GROK_2: "grok-2",
|
|
1431
|
+
GROK_2_LATEST: "grok-2-latest",
|
|
1432
|
+
GROK_2_1212: "grok-2-1212",
|
|
1433
|
+
GROK_2_VISION: "grok-2-vision",
|
|
1434
|
+
GROK_2_VISION_LATEST: "grok-2-vision-latest",
|
|
1435
|
+
GROK_2_VISION_1212: "grok-2-vision-1212",
|
|
1436
|
+
GROK_CODE_FAST_1: "grok-code-fast-1",
|
|
1437
|
+
GROK_BETA: "grok-beta",
|
|
1438
|
+
GROK_VISION_BETA: "grok-vision-beta",
|
|
1439
|
+
GROK_2_IMAGE: "grok-2-image"
|
|
1440
|
+
};
|
|
1441
|
+
/** Model groups for categorization. */
|
|
1442
|
+
const GROK_MODEL_GROUPS = {
|
|
1443
|
+
REASONING_EFFORT_MODELS: [
|
|
1444
|
+
GROK_MODEL_IDS.GROK_3_MINI,
|
|
1445
|
+
GROK_MODEL_IDS.GROK_3_MINI_LATEST,
|
|
1446
|
+
GROK_MODEL_IDS.GROK_3_MINI_FAST,
|
|
1447
|
+
GROK_MODEL_IDS.GROK_3_MINI_FAST_LATEST,
|
|
1448
|
+
GROK_MODEL_IDS.GROK_CODE_FAST_1
|
|
1449
|
+
],
|
|
1450
|
+
VISION_MODELS: [
|
|
1451
|
+
GROK_MODEL_IDS.GROK_2_VISION,
|
|
1452
|
+
GROK_MODEL_IDS.GROK_2_VISION_LATEST,
|
|
1453
|
+
GROK_MODEL_IDS.GROK_2_VISION_1212,
|
|
1454
|
+
GROK_MODEL_IDS.GROK_VISION_BETA
|
|
1455
|
+
]
|
|
1456
|
+
};
|
|
1457
|
+
const GROK_MODEL_CAPABILITIES = {
|
|
1458
|
+
[GROK_MODEL_IDS.GROK_4]: {
|
|
1459
|
+
liveSearch: true,
|
|
1460
|
+
reasoningEffort: false
|
|
1461
|
+
},
|
|
1462
|
+
[GROK_MODEL_IDS.GROK_3]: {
|
|
1463
|
+
liveSearch: true,
|
|
1464
|
+
reasoningEffort: false
|
|
1465
|
+
},
|
|
1466
|
+
[GROK_MODEL_IDS.GROK_3_LATEST]: {
|
|
1467
|
+
liveSearch: true,
|
|
1468
|
+
reasoningEffort: false
|
|
1469
|
+
},
|
|
1470
|
+
[GROK_MODEL_IDS.GROK_3_FAST]: {
|
|
1471
|
+
liveSearch: true,
|
|
1472
|
+
reasoningEffort: false
|
|
1473
|
+
},
|
|
1474
|
+
[GROK_MODEL_IDS.GROK_3_FAST_LATEST]: {
|
|
1475
|
+
liveSearch: true,
|
|
1476
|
+
reasoningEffort: false
|
|
1477
|
+
},
|
|
1478
|
+
[GROK_MODEL_IDS.GROK_2]: {
|
|
1479
|
+
liveSearch: true,
|
|
1480
|
+
reasoningEffort: false
|
|
1481
|
+
},
|
|
1482
|
+
[GROK_MODEL_IDS.GROK_2_LATEST]: {
|
|
1483
|
+
liveSearch: true,
|
|
1484
|
+
reasoningEffort: false
|
|
1485
|
+
},
|
|
1486
|
+
[GROK_MODEL_IDS.GROK_2_1212]: {
|
|
1487
|
+
liveSearch: true,
|
|
1488
|
+
reasoningEffort: false
|
|
1489
|
+
},
|
|
1490
|
+
[GROK_MODEL_IDS.GROK_2_VISION]: {
|
|
1491
|
+
liveSearch: true,
|
|
1492
|
+
reasoningEffort: false
|
|
1493
|
+
},
|
|
1494
|
+
[GROK_MODEL_IDS.GROK_2_VISION_LATEST]: {
|
|
1495
|
+
liveSearch: true,
|
|
1496
|
+
reasoningEffort: false
|
|
1497
|
+
},
|
|
1498
|
+
[GROK_MODEL_IDS.GROK_2_VISION_1212]: {
|
|
1499
|
+
liveSearch: true,
|
|
1500
|
+
reasoningEffort: false
|
|
1501
|
+
},
|
|
1502
|
+
[GROK_MODEL_IDS.GROK_BETA]: {
|
|
1503
|
+
liveSearch: true,
|
|
1504
|
+
reasoningEffort: false
|
|
1505
|
+
},
|
|
1506
|
+
[GROK_MODEL_IDS.GROK_3_MINI]: {
|
|
1507
|
+
liveSearch: true,
|
|
1508
|
+
reasoningEffort: true
|
|
1509
|
+
},
|
|
1510
|
+
[GROK_MODEL_IDS.GROK_3_MINI_LATEST]: {
|
|
1511
|
+
liveSearch: true,
|
|
1512
|
+
reasoningEffort: true
|
|
1513
|
+
},
|
|
1514
|
+
[GROK_MODEL_IDS.GROK_3_MINI_FAST]: {
|
|
1515
|
+
liveSearch: true,
|
|
1516
|
+
reasoningEffort: true
|
|
1517
|
+
},
|
|
1518
|
+
[GROK_MODEL_IDS.GROK_3_MINI_FAST_LATEST]: {
|
|
1519
|
+
liveSearch: true,
|
|
1520
|
+
reasoningEffort: true
|
|
1521
|
+
},
|
|
1522
|
+
[GROK_MODEL_IDS.GROK_CODE_FAST_1]: {
|
|
1523
|
+
liveSearch: true,
|
|
1524
|
+
reasoningEffort: true
|
|
1525
|
+
},
|
|
1526
|
+
[GROK_MODEL_IDS.GROK_VISION_BETA]: {
|
|
1527
|
+
liveSearch: false,
|
|
1528
|
+
reasoningEffort: false
|
|
1529
|
+
},
|
|
1530
|
+
[GROK_MODEL_IDS.GROK_2_IMAGE]: {
|
|
1531
|
+
liveSearch: false,
|
|
1532
|
+
reasoningEffort: false
|
|
1533
|
+
}
|
|
1534
|
+
};
|
|
1535
|
+
/** Configure xAI Live Search parameters. */
|
|
1536
|
+
function withSearchParameters(options = {}) {
|
|
1537
|
+
return { xai: { searchParameters: {
|
|
1538
|
+
mode: options.mode ?? "auto",
|
|
1539
|
+
returnCitations: options.returnCitations ?? true,
|
|
1540
|
+
fromDate: options.fromDate,
|
|
1541
|
+
toDate: options.toDate,
|
|
1542
|
+
maxSearchResults: options.maxSearchResults ?? 20,
|
|
1543
|
+
sources: options.sources ?? ["web", "x"]
|
|
1544
|
+
} } };
|
|
1545
|
+
}
|
|
1546
|
+
/** Convenience helper for multi-source search. */
|
|
1547
|
+
function withSearchSources(...sources) {
|
|
1548
|
+
return withSearchParameters({
|
|
1549
|
+
mode: "on",
|
|
1550
|
+
returnCitations: true,
|
|
1551
|
+
sources
|
|
1552
|
+
});
|
|
1553
|
+
}
|
|
1554
|
+
/** Configure reasoning effort for mini models. */
|
|
1555
|
+
function withReasoningEffort(effort) {
|
|
1556
|
+
return { xai: { reasoningEffort: effort } };
|
|
1557
|
+
}
|
|
1558
|
+
/** Check if model supports Live Search. */
|
|
1559
|
+
function supportsLiveSearch(modelId) {
|
|
1560
|
+
return GROK_MODEL_CAPABILITIES[modelId]?.liveSearch ?? false;
|
|
1561
|
+
}
|
|
1562
|
+
/** Check if model supports reasoning effort control. */
|
|
1563
|
+
function supportsReasoningEffort(modelId) {
|
|
1564
|
+
return GROK_MODEL_CAPABILITIES[modelId]?.reasoningEffort ?? false;
|
|
1565
|
+
}
|
|
1566
|
+
/** Check if model supports vision input. */
|
|
1567
|
+
function supportsVision(modelId) {
|
|
1568
|
+
return GROK_MODEL_GROUPS.VISION_MODELS.includes(modelId);
|
|
1569
|
+
}
|
|
1570
|
+
/** Check if model supports image generation. */
|
|
1571
|
+
function supportsImageGeneration(modelId) {
|
|
1572
|
+
return modelId === GROK_MODEL_IDS.GROK_2_IMAGE;
|
|
1573
|
+
}
|
|
1574
|
+
/** Extract search sources from xAI responses. */
|
|
1575
|
+
function extractSources(result) {
|
|
1576
|
+
if (!result?.sources) return [];
|
|
1577
|
+
return result.sources.map((source) => ({
|
|
1578
|
+
url: source.url ?? "",
|
|
1579
|
+
title: source.title,
|
|
1580
|
+
snippet: source.snippet,
|
|
1581
|
+
sourceType: "url"
|
|
1582
|
+
}));
|
|
1583
|
+
}
|
|
1584
|
+
/** Extract search metadata from xAI responses. */
|
|
1585
|
+
function extractSearchMetadata(result) {
|
|
1586
|
+
const xaiMeta = result?.providerOptions?.xai;
|
|
1587
|
+
if (!xaiMeta || typeof xaiMeta !== "object" || Array.isArray(xaiMeta)) return null;
|
|
1588
|
+
const { search } = xaiMeta;
|
|
1589
|
+
if (!search || typeof search !== "object" || Array.isArray(search)) return null;
|
|
1590
|
+
const searchData = search;
|
|
1591
|
+
return {
|
|
1592
|
+
queriesUsed: typeof searchData.queriesUsed === "number" ? searchData.queriesUsed : 0,
|
|
1593
|
+
sourcesFound: typeof searchData.sourcesFound === "number" ? searchData.sourcesFound : 0,
|
|
1594
|
+
searchTime: typeof searchData.searchTime === "number" ? searchData.searchTime : 0
|
|
1595
|
+
};
|
|
1596
|
+
}
|
|
1597
|
+
|
|
1598
|
+
//#endregion
|
|
1599
|
+
export { getModelsByTier as _, modelSupportsTools as a, anthropic_exports as c, TOP_P as d, commonModes as f, getModelTier as g, getCheapestModel as h, modelSupportsStreaming as i, TEMPS as l, estimateCost as m, google_exports as n, perplexity_exports as o, createLanguageModel as p, modelSupportsReasoning as r, openai_exports as s, xai_exports as t, TOKENS as u };
|
|
1600
|
+
//# sourceMappingURL=xai-CbV_dCnP.mjs.map
|