@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,653 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evaluator-Optimizer Feedback Loop Pattern
|
|
3
|
+
* Based on VERCEL_AI_SDK_V6_PATTERNS.md section 4.2
|
|
4
|
+
*
|
|
5
|
+
* A powerful feedback loop architecture for iterative quality improvement.
|
|
6
|
+
* Agents can evaluate output against criteria and optimize based on feedback
|
|
7
|
+
* until quality thresholds are met.
|
|
8
|
+
*
|
|
9
|
+
* WORKFLOW:
|
|
10
|
+
* 1. Generate initial content based on user request
|
|
11
|
+
* 2. Evaluate quality against criteria
|
|
12
|
+
* 3. If quality < threshold, optimize the content
|
|
13
|
+
* 4. Re-evaluate optimized content
|
|
14
|
+
* 5. Repeat steps 3-4 until threshold met or max iterations reached
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { logInfo } from '@repo/shared/logs';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Evaluation result with multi-dimensional assessment
|
|
21
|
+
* Provides detailed feedback on content quality
|
|
22
|
+
*
|
|
23
|
+
* Note: Named PatternEvaluationResult to avoid collision with
|
|
24
|
+
* EvaluationResult from evaluator-optimizer/schema.ts which uses
|
|
25
|
+
* a different schema structure (9-dimensional vs multi-dimensional).
|
|
26
|
+
*/
|
|
27
|
+
export interface PatternEvaluationResult {
|
|
28
|
+
/**
|
|
29
|
+
* Overall quality score (0-1 or 1-10)
|
|
30
|
+
*/
|
|
31
|
+
score: number;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Multi-dimensional quality assessment
|
|
35
|
+
*/
|
|
36
|
+
dimensions: {
|
|
37
|
+
name: string;
|
|
38
|
+
score: number;
|
|
39
|
+
feedback: string;
|
|
40
|
+
}[];
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Actionable improvement suggestions
|
|
44
|
+
*/
|
|
45
|
+
suggestions: string[];
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Whether content should be retried/optimized
|
|
49
|
+
*/
|
|
50
|
+
shouldRetry: boolean;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Detailed assessment text
|
|
54
|
+
*/
|
|
55
|
+
assessment?: string;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Strengths identified in the content
|
|
59
|
+
*/
|
|
60
|
+
strengths?: string[];
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Issues found that prevent threshold achievement
|
|
64
|
+
*/
|
|
65
|
+
issues?: string[];
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Context for evaluations
|
|
70
|
+
*/
|
|
71
|
+
export interface EvalContext {
|
|
72
|
+
request: string;
|
|
73
|
+
threshold?: number;
|
|
74
|
+
maxScore?: number;
|
|
75
|
+
focusAreas?: string[];
|
|
76
|
+
iterationNumber?: number;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Configuration for evaluator-optimizer
|
|
81
|
+
*/
|
|
82
|
+
export interface EvaluatorOptimizerOptions {
|
|
83
|
+
/**
|
|
84
|
+
* Evaluator function that assesses output quality
|
|
85
|
+
* Returns detailed feedback on multiple dimensions
|
|
86
|
+
*/
|
|
87
|
+
evaluator: (output: string, context: EvalContext) => Promise<PatternEvaluationResult>;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Optimizer function that improves content based on evaluation
|
|
91
|
+
*/
|
|
92
|
+
optimizer: (output: string, evaluation: PatternEvaluationResult) => Promise<string>;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Maximum optimization iterations (default: 5)
|
|
96
|
+
*/
|
|
97
|
+
maxIterations?: number;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Target quality score to achieve (default: 0.8 or 8/10)
|
|
101
|
+
*/
|
|
102
|
+
targetScore?: number;
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Enable detailed logging of each cycle
|
|
106
|
+
*/
|
|
107
|
+
enableLogging?: boolean;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Stop immediately when threshold is met
|
|
111
|
+
*/
|
|
112
|
+
stopOnThreshold?: boolean;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Detect diminishing returns after N non-improving cycles
|
|
116
|
+
*/
|
|
117
|
+
diminishingReturnThreshold?: number;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Complete optimization result
|
|
122
|
+
*/
|
|
123
|
+
export interface PatternOptimizedResult {
|
|
124
|
+
finalContent: string;
|
|
125
|
+
finalEvaluation: PatternEvaluationResult;
|
|
126
|
+
cyclesCompleted: number;
|
|
127
|
+
meetsThreshold: boolean;
|
|
128
|
+
scoreHistory: number[];
|
|
129
|
+
contentHistory: string[];
|
|
130
|
+
terminationReason: 'threshold_met' | 'max_iterations' | 'diminishing_returns' | 'error';
|
|
131
|
+
error?: string;
|
|
132
|
+
metadata?: {
|
|
133
|
+
startTime: string;
|
|
134
|
+
endTime: string;
|
|
135
|
+
processingTimeMs: number;
|
|
136
|
+
averageScoreImprovement: number;
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Main EvaluatorOptimizer class
|
|
142
|
+
* Orchestrates the iterative evaluation-optimization feedback loop
|
|
143
|
+
*/
|
|
144
|
+
export class PatternEvaluatorOptimizer {
|
|
145
|
+
private options: Required<EvaluatorOptimizerOptions>;
|
|
146
|
+
private logger: (msg: string) => void;
|
|
147
|
+
|
|
148
|
+
constructor(options: EvaluatorOptimizerOptions) {
|
|
149
|
+
this.options = {
|
|
150
|
+
evaluator: options.evaluator,
|
|
151
|
+
optimizer: options.optimizer,
|
|
152
|
+
maxIterations: options.maxIterations ?? 5,
|
|
153
|
+
targetScore: options.targetScore ?? 0.8,
|
|
154
|
+
enableLogging: options.enableLogging ?? false,
|
|
155
|
+
stopOnThreshold: options.stopOnThreshold ?? true,
|
|
156
|
+
diminishingReturnThreshold: options.diminishingReturnThreshold ?? 2,
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
this.logger = this.options.enableLogging ? logInfo : () => {};
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Run the feedback loop
|
|
164
|
+
*
|
|
165
|
+
* @param initialContent - Initial content to optimize
|
|
166
|
+
* @param context - Evaluation context with request and criteria
|
|
167
|
+
* @returns Optimization result with full history
|
|
168
|
+
*/
|
|
169
|
+
async run(initialContent: string, context: EvalContext): Promise<PatternOptimizedResult> {
|
|
170
|
+
const startTime = new Date().toISOString();
|
|
171
|
+
const scoreHistory: number[] = [];
|
|
172
|
+
const contentHistory: string[] = [initialContent];
|
|
173
|
+
let currentContent = initialContent;
|
|
174
|
+
let currentEvaluation: PatternEvaluationResult | null = null;
|
|
175
|
+
let cyclesCompleted = 0;
|
|
176
|
+
let consecutiveNonImprovingCycles = 0;
|
|
177
|
+
|
|
178
|
+
this.logger(`\n${'='.repeat(70)}`);
|
|
179
|
+
this.logger('Evaluator-Optimizer Feedback Loop Started');
|
|
180
|
+
this.logger(`Target Score: ${this.options.targetScore}`);
|
|
181
|
+
this.logger(`Max Iterations: ${this.options.maxIterations}`);
|
|
182
|
+
this.logger(`${'='.repeat(70)}\n`);
|
|
183
|
+
|
|
184
|
+
try {
|
|
185
|
+
// STEP 2: Initial evaluation
|
|
186
|
+
this.logger('STEP 2: Initial Evaluation');
|
|
187
|
+
currentEvaluation = await this.evaluateContent(currentContent, context, 1);
|
|
188
|
+
scoreHistory.push(currentEvaluation.score);
|
|
189
|
+
|
|
190
|
+
this.logger(`Score: ${currentEvaluation.score}`);
|
|
191
|
+
this.logger(`Meets Threshold: ${!currentEvaluation.shouldRetry}\n`);
|
|
192
|
+
|
|
193
|
+
// STEP 3-5: Iterative optimization loop
|
|
194
|
+
while (cyclesCompleted < this.options.maxIterations && currentEvaluation.shouldRetry) {
|
|
195
|
+
cyclesCompleted += 1;
|
|
196
|
+
|
|
197
|
+
this.logger(`${'─'.repeat(70)}`);
|
|
198
|
+
this.logger(`STEP 3: Optimization (Cycle ${cyclesCompleted})`);
|
|
199
|
+
|
|
200
|
+
// Check for diminishing returns
|
|
201
|
+
if (cyclesCompleted > 1) {
|
|
202
|
+
const previousScore = scoreHistory[scoreHistory.length - 1];
|
|
203
|
+
if (currentEvaluation.score === previousScore) {
|
|
204
|
+
consecutiveNonImprovingCycles += 1;
|
|
205
|
+
this.logger(`⚠ No improvement detected (${consecutiveNonImprovingCycles} consecutive)`);
|
|
206
|
+
|
|
207
|
+
if (consecutiveNonImprovingCycles >= this.options.diminishingReturnThreshold) {
|
|
208
|
+
this.logger('Diminishing returns detected. Stopping optimization.');
|
|
209
|
+
return this.buildResult(
|
|
210
|
+
currentContent,
|
|
211
|
+
currentEvaluation,
|
|
212
|
+
cyclesCompleted,
|
|
213
|
+
scoreHistory,
|
|
214
|
+
contentHistory,
|
|
215
|
+
'diminishing_returns',
|
|
216
|
+
startTime,
|
|
217
|
+
);
|
|
218
|
+
}
|
|
219
|
+
} else {
|
|
220
|
+
consecutiveNonImprovingCycles = 0;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// Optimize content
|
|
225
|
+
const optimizedContent = await this.optimizeContent(currentContent, currentEvaluation);
|
|
226
|
+
currentContent = optimizedContent;
|
|
227
|
+
contentHistory.push(optimizedContent);
|
|
228
|
+
|
|
229
|
+
this.logger('Content optimized');
|
|
230
|
+
|
|
231
|
+
// STEP 4: Re-evaluate
|
|
232
|
+
this.logger('STEP 4: Re-evaluation');
|
|
233
|
+
currentEvaluation = await this.evaluateContent(
|
|
234
|
+
currentContent,
|
|
235
|
+
context,
|
|
236
|
+
cyclesCompleted + 1,
|
|
237
|
+
);
|
|
238
|
+
scoreHistory.push(currentEvaluation.score);
|
|
239
|
+
|
|
240
|
+
this.logger(`Score: ${currentEvaluation.score}`);
|
|
241
|
+
this.logger(`Meets Threshold: ${!currentEvaluation.shouldRetry}`);
|
|
242
|
+
this.logger(`Issues: ${currentEvaluation.issues?.length ?? 0}\n`);
|
|
243
|
+
|
|
244
|
+
// Check if threshold met
|
|
245
|
+
if (!currentEvaluation.shouldRetry && this.options.stopOnThreshold) {
|
|
246
|
+
this.logger(`✓ Threshold reached! Score: ${currentEvaluation.score}`);
|
|
247
|
+
return this.buildResult(
|
|
248
|
+
currentContent,
|
|
249
|
+
currentEvaluation,
|
|
250
|
+
cyclesCompleted,
|
|
251
|
+
scoreHistory,
|
|
252
|
+
contentHistory,
|
|
253
|
+
'threshold_met',
|
|
254
|
+
startTime,
|
|
255
|
+
);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
// Loop ended - either threshold met or max iterations reached
|
|
260
|
+
if (!currentEvaluation.shouldRetry) {
|
|
261
|
+
this.logger(`✓ Threshold reached after ${cyclesCompleted} cycles`);
|
|
262
|
+
return this.buildResult(
|
|
263
|
+
currentContent,
|
|
264
|
+
currentEvaluation,
|
|
265
|
+
cyclesCompleted,
|
|
266
|
+
scoreHistory,
|
|
267
|
+
contentHistory,
|
|
268
|
+
'threshold_met',
|
|
269
|
+
startTime,
|
|
270
|
+
);
|
|
271
|
+
} else {
|
|
272
|
+
this.logger(
|
|
273
|
+
`⚠ Max iterations (${this.options.maxIterations}) reached without meeting threshold`,
|
|
274
|
+
);
|
|
275
|
+
return this.buildResult(
|
|
276
|
+
currentContent,
|
|
277
|
+
currentEvaluation,
|
|
278
|
+
cyclesCompleted,
|
|
279
|
+
scoreHistory,
|
|
280
|
+
contentHistory,
|
|
281
|
+
'max_iterations',
|
|
282
|
+
startTime,
|
|
283
|
+
);
|
|
284
|
+
}
|
|
285
|
+
} catch (error) {
|
|
286
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
287
|
+
this.logger(`✗ Error in feedback loop: ${errorMessage}`);
|
|
288
|
+
|
|
289
|
+
return this.buildResult(
|
|
290
|
+
currentContent,
|
|
291
|
+
currentEvaluation || {
|
|
292
|
+
score: 0,
|
|
293
|
+
dimensions: [],
|
|
294
|
+
suggestions: [],
|
|
295
|
+
shouldRetry: true,
|
|
296
|
+
},
|
|
297
|
+
cyclesCompleted,
|
|
298
|
+
scoreHistory,
|
|
299
|
+
contentHistory,
|
|
300
|
+
'error',
|
|
301
|
+
startTime,
|
|
302
|
+
errorMessage,
|
|
303
|
+
);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* Evaluate content quality
|
|
309
|
+
*/
|
|
310
|
+
private async evaluateContent(
|
|
311
|
+
content: string,
|
|
312
|
+
context: EvalContext,
|
|
313
|
+
iterationNumber: number,
|
|
314
|
+
): Promise<PatternEvaluationResult> {
|
|
315
|
+
const evalContext: EvalContext = {
|
|
316
|
+
...context,
|
|
317
|
+
threshold: context.threshold ?? this.options.targetScore,
|
|
318
|
+
iterationNumber,
|
|
319
|
+
};
|
|
320
|
+
|
|
321
|
+
const evaluation = await this.options.evaluator(content, evalContext);
|
|
322
|
+
|
|
323
|
+
// Determine if should retry based on score vs threshold
|
|
324
|
+
const shouldRetry = evaluation.score < (context.threshold ?? this.options.targetScore);
|
|
325
|
+
|
|
326
|
+
return {
|
|
327
|
+
...evaluation,
|
|
328
|
+
shouldRetry,
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Optimize content based on evaluation feedback
|
|
334
|
+
*/
|
|
335
|
+
private async optimizeContent(
|
|
336
|
+
content: string,
|
|
337
|
+
evaluation: PatternEvaluationResult,
|
|
338
|
+
): Promise<string> {
|
|
339
|
+
return this.options.optimizer(content, evaluation);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
/**
|
|
343
|
+
* Build final result object
|
|
344
|
+
*/
|
|
345
|
+
private buildResult(
|
|
346
|
+
finalContent: string,
|
|
347
|
+
finalEvaluation: PatternEvaluationResult,
|
|
348
|
+
cyclesCompleted: number,
|
|
349
|
+
scoreHistory: number[],
|
|
350
|
+
contentHistory: string[],
|
|
351
|
+
terminationReason: 'threshold_met' | 'max_iterations' | 'diminishing_returns' | 'error',
|
|
352
|
+
startTime: string,
|
|
353
|
+
error?: string,
|
|
354
|
+
): PatternOptimizedResult {
|
|
355
|
+
const endTime = new Date().toISOString();
|
|
356
|
+
const startMs = new Date(startTime).getTime();
|
|
357
|
+
const endMs = new Date(endTime).getTime();
|
|
358
|
+
|
|
359
|
+
const firstScore = scoreHistory[0] ?? 0;
|
|
360
|
+
const lastScore = scoreHistory[scoreHistory.length - 1] ?? firstScore;
|
|
361
|
+
const averageScoreImprovement =
|
|
362
|
+
scoreHistory.length > 1 ? (lastScore - firstScore) / (scoreHistory.length - 1) : 0;
|
|
363
|
+
|
|
364
|
+
this.logger(`\n${'='.repeat(70)}`);
|
|
365
|
+
this.logger('Feedback Loop Complete');
|
|
366
|
+
this.logger(`Cycles: ${cyclesCompleted}`);
|
|
367
|
+
this.logger(`Final Score: ${finalEvaluation.score}`);
|
|
368
|
+
this.logger(`Average Improvement: ${averageScoreImprovement.toFixed(3)}/cycle`);
|
|
369
|
+
this.logger(`Time: ${endMs - startMs}ms`);
|
|
370
|
+
this.logger(`Reason: ${terminationReason}`);
|
|
371
|
+
this.logger(`${'='.repeat(70)}\n`);
|
|
372
|
+
|
|
373
|
+
return {
|
|
374
|
+
finalContent,
|
|
375
|
+
finalEvaluation,
|
|
376
|
+
cyclesCompleted,
|
|
377
|
+
meetsThreshold: !finalEvaluation.shouldRetry,
|
|
378
|
+
scoreHistory,
|
|
379
|
+
contentHistory,
|
|
380
|
+
terminationReason,
|
|
381
|
+
error,
|
|
382
|
+
metadata: {
|
|
383
|
+
startTime,
|
|
384
|
+
endTime,
|
|
385
|
+
processingTimeMs: endMs - startMs,
|
|
386
|
+
averageScoreImprovement,
|
|
387
|
+
},
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* Factory function to create evaluator-optimizer
|
|
394
|
+
*
|
|
395
|
+
* @param options - Configuration object
|
|
396
|
+
* @returns EvaluatorOptimizer instance
|
|
397
|
+
*
|
|
398
|
+
* @example
|
|
399
|
+
* ```typescript
|
|
400
|
+
* const loop = createEvaluatorOptimizer({
|
|
401
|
+
* evaluator: async (output, context) => ({
|
|
402
|
+
* score: 0.85,
|
|
403
|
+
* dimensions: [
|
|
404
|
+
* { name: 'clarity', score: 0.9, feedback: 'Clear and concise' },
|
|
405
|
+
* { name: 'completeness', score: 0.8, feedback: 'Missing examples' }
|
|
406
|
+
* ],
|
|
407
|
+
* suggestions: ['Add practical examples'],
|
|
408
|
+
* shouldRetry: false
|
|
409
|
+
* }),
|
|
410
|
+
* optimizer: async (output, evaluation) => {
|
|
411
|
+
* // Improve based on feedback
|
|
412
|
+
* return improvedOutput;
|
|
413
|
+
* },
|
|
414
|
+
* targetScore: 0.85,
|
|
415
|
+
* maxIterations: 5
|
|
416
|
+
* });
|
|
417
|
+
* ```
|
|
418
|
+
*/
|
|
419
|
+
export function createPatternEvaluatorOptimizer(
|
|
420
|
+
options: EvaluatorOptimizerOptions,
|
|
421
|
+
): PatternEvaluatorOptimizer {
|
|
422
|
+
return new PatternEvaluatorOptimizer(options);
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
/**
|
|
426
|
+
* @deprecated Use createPatternEvaluatorOptimizer instead
|
|
427
|
+
*/
|
|
428
|
+
export const createEvaluatorOptimizer = createPatternEvaluatorOptimizer;
|
|
429
|
+
|
|
430
|
+
/**
|
|
431
|
+
* Pre-built evaluators for common quality dimensions
|
|
432
|
+
*
|
|
433
|
+
* ⚠️ WARNING: These are MOCK implementations returning hardcoded values.
|
|
434
|
+
* They are intended for testing and demonstration purposes only.
|
|
435
|
+
* Replace with actual LLM-based or rule-based evaluators for production use.
|
|
436
|
+
*/
|
|
437
|
+
export const evaluators = {
|
|
438
|
+
/**
|
|
439
|
+
* Factuality evaluator checks for factual accuracy
|
|
440
|
+
* @remarks Mock implementation - always returns score 0.85
|
|
441
|
+
*/
|
|
442
|
+
factuality: (threshold: number = 0.8) => {
|
|
443
|
+
return async (output: string, context: EvalContext): Promise<PatternEvaluationResult> => {
|
|
444
|
+
void output;
|
|
445
|
+
void context;
|
|
446
|
+
// In real implementation, this would call an LLM or fact-checking service
|
|
447
|
+
return {
|
|
448
|
+
score: 0.85,
|
|
449
|
+
dimensions: [
|
|
450
|
+
{
|
|
451
|
+
name: 'factuality',
|
|
452
|
+
score: 0.85,
|
|
453
|
+
feedback: 'Most facts are accurate with minor uncertainties',
|
|
454
|
+
},
|
|
455
|
+
],
|
|
456
|
+
suggestions: ['Verify statistics and dates', 'Add citations for claims'],
|
|
457
|
+
shouldRetry: 0.85 < threshold,
|
|
458
|
+
assessment: 'Content is largely factually accurate',
|
|
459
|
+
strengths: ['Well-sourced citations'],
|
|
460
|
+
issues: ['One unverified statistic'],
|
|
461
|
+
};
|
|
462
|
+
};
|
|
463
|
+
},
|
|
464
|
+
|
|
465
|
+
/**
|
|
466
|
+
* Relevance evaluator checks if content addresses the request
|
|
467
|
+
* @remarks Mock implementation - always returns score 0.9
|
|
468
|
+
*/
|
|
469
|
+
relevance: (threshold: number = 0.8) => {
|
|
470
|
+
return async (output: string, context: EvalContext): Promise<PatternEvaluationResult> => {
|
|
471
|
+
void output;
|
|
472
|
+
void context;
|
|
473
|
+
return {
|
|
474
|
+
score: 0.9,
|
|
475
|
+
dimensions: [
|
|
476
|
+
{
|
|
477
|
+
name: 'relevance',
|
|
478
|
+
score: 0.9,
|
|
479
|
+
feedback: 'Content directly addresses the request',
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
name: 'completeness',
|
|
483
|
+
score: 0.85,
|
|
484
|
+
feedback: 'Covers main points but misses some details',
|
|
485
|
+
},
|
|
486
|
+
],
|
|
487
|
+
suggestions: ['Add more context about edge cases', 'Include real-world examples'],
|
|
488
|
+
shouldRetry: 0.9 < threshold,
|
|
489
|
+
assessment: 'Content is highly relevant to the request',
|
|
490
|
+
strengths: ['Directly addresses user intent', 'Well-structured'],
|
|
491
|
+
issues: [],
|
|
492
|
+
};
|
|
493
|
+
};
|
|
494
|
+
},
|
|
495
|
+
|
|
496
|
+
/**
|
|
497
|
+
* Safety evaluator checks for harmful content
|
|
498
|
+
* @remarks Mock implementation - always returns score 0.98
|
|
499
|
+
*/
|
|
500
|
+
safety: (threshold: number = 0.95) => {
|
|
501
|
+
return async (output: string, context: EvalContext): Promise<PatternEvaluationResult> => {
|
|
502
|
+
void output;
|
|
503
|
+
void context;
|
|
504
|
+
return {
|
|
505
|
+
score: 0.98,
|
|
506
|
+
dimensions: [
|
|
507
|
+
{
|
|
508
|
+
name: 'safety',
|
|
509
|
+
score: 0.98,
|
|
510
|
+
feedback: 'Content contains no harmful or dangerous information',
|
|
511
|
+
},
|
|
512
|
+
{
|
|
513
|
+
name: 'bias',
|
|
514
|
+
score: 0.95,
|
|
515
|
+
feedback: 'Minimal bias detected; generally balanced perspective',
|
|
516
|
+
},
|
|
517
|
+
],
|
|
518
|
+
suggestions: ['Review pronouns for inclusive language'],
|
|
519
|
+
shouldRetry: 0.98 < threshold,
|
|
520
|
+
assessment: 'Content is safe and appropriate',
|
|
521
|
+
strengths: ['No harmful content', 'Balanced perspective'],
|
|
522
|
+
issues: [],
|
|
523
|
+
};
|
|
524
|
+
};
|
|
525
|
+
},
|
|
526
|
+
|
|
527
|
+
/**
|
|
528
|
+
* Quality evaluator provides comprehensive assessment
|
|
529
|
+
* @remarks Mock implementation - always returns score 0.82
|
|
530
|
+
*/
|
|
531
|
+
quality: (threshold: number = 0.8) => {
|
|
532
|
+
return async (output: string, context: EvalContext): Promise<PatternEvaluationResult> => {
|
|
533
|
+
void output;
|
|
534
|
+
void context;
|
|
535
|
+
return {
|
|
536
|
+
score: 0.82,
|
|
537
|
+
dimensions: [
|
|
538
|
+
{
|
|
539
|
+
name: 'clarity',
|
|
540
|
+
score: 0.85,
|
|
541
|
+
feedback: 'Clear writing with good structure',
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
name: 'completeness',
|
|
545
|
+
score: 0.8,
|
|
546
|
+
feedback: 'Covers main topics but lacks depth in places',
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
name: 'accuracy',
|
|
550
|
+
score: 0.82,
|
|
551
|
+
feedback: 'Factually sound with minor uncertainties',
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
name: 'engagement',
|
|
555
|
+
score: 0.8,
|
|
556
|
+
feedback: 'Moderately engaging, could be more compelling',
|
|
557
|
+
},
|
|
558
|
+
],
|
|
559
|
+
suggestions: [
|
|
560
|
+
'Add more specific examples',
|
|
561
|
+
'Improve opening sentence for engagement',
|
|
562
|
+
'Expand technical sections',
|
|
563
|
+
],
|
|
564
|
+
shouldRetry: 0.82 < threshold,
|
|
565
|
+
assessment: 'Content is good quality with room for improvement',
|
|
566
|
+
strengths: ['Well-organized', 'Clear explanations'],
|
|
567
|
+
issues: ['Lacks specific examples', 'Some sections too brief'],
|
|
568
|
+
};
|
|
569
|
+
};
|
|
570
|
+
},
|
|
571
|
+
};
|
|
572
|
+
|
|
573
|
+
/**
|
|
574
|
+
* Helper function to run feedback loop with sensible defaults
|
|
575
|
+
*
|
|
576
|
+
* @param initialContent - Content to optimize
|
|
577
|
+
* @param context - Evaluation context
|
|
578
|
+
* @param options - Optional configuration overrides
|
|
579
|
+
* @returns Optimized result
|
|
580
|
+
*
|
|
581
|
+
* @example
|
|
582
|
+
* ```typescript
|
|
583
|
+
* const result = await runFeedbackLoop(
|
|
584
|
+
* "Generated content",
|
|
585
|
+
* { request: "Write an article about AI" },
|
|
586
|
+
* {
|
|
587
|
+
* evaluator: evaluators.quality(0.85),
|
|
588
|
+
* optimizer: async (content, evaluation) => {
|
|
589
|
+
* // Improve content based on feedback
|
|
590
|
+
* return improvedContent;
|
|
591
|
+
* },
|
|
592
|
+
* targetScore: 0.85,
|
|
593
|
+
* maxIterations: 5
|
|
594
|
+
* }
|
|
595
|
+
* );
|
|
596
|
+
* ```
|
|
597
|
+
*/
|
|
598
|
+
export async function runPatternFeedbackLoop(
|
|
599
|
+
initialContent: string,
|
|
600
|
+
context: EvalContext,
|
|
601
|
+
options: EvaluatorOptimizerOptions,
|
|
602
|
+
): Promise<PatternOptimizedResult> {
|
|
603
|
+
const optimizer = createPatternEvaluatorOptimizer(options);
|
|
604
|
+
return optimizer.run(initialContent, context);
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
/**
|
|
608
|
+
* Utility function to normalize evaluation scores
|
|
609
|
+
* Converts between different scoring scales (0-1, 1-10, etc.)
|
|
610
|
+
*/
|
|
611
|
+
export function normalizeScore(score: number, fromMax: number = 10, toMax: number = 1): number {
|
|
612
|
+
return (score / fromMax) * toMax;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
/**
|
|
616
|
+
* Utility function to calculate aggregate score from dimensions
|
|
617
|
+
* Normalizes weights so they sum to 1, handling mixed explicit/default weights.
|
|
618
|
+
*/
|
|
619
|
+
export function calculateAggregateScore(
|
|
620
|
+
dimensions: PatternEvaluationResult['dimensions'],
|
|
621
|
+
weights?: Record<string, number>,
|
|
622
|
+
): number {
|
|
623
|
+
if (dimensions.length === 0) return 0;
|
|
624
|
+
|
|
625
|
+
// Calculate effective weights for each dimension
|
|
626
|
+
const defaultWeight = 1 / dimensions.length;
|
|
627
|
+
const effectiveWeights = dimensions.map(dim => weights?.[dim.name] ?? defaultWeight);
|
|
628
|
+
const totalWeight = effectiveWeights.reduce((a, b) => a + b, 0);
|
|
629
|
+
|
|
630
|
+
// Normalize and calculate weighted sum
|
|
631
|
+
const sum = dimensions.reduce((acc, dim, idx) => {
|
|
632
|
+
const weight = effectiveWeights[idx] ?? defaultWeight;
|
|
633
|
+
const normalizedWeight = weight / totalWeight;
|
|
634
|
+
return acc + dim.score * normalizedWeight;
|
|
635
|
+
}, 0);
|
|
636
|
+
|
|
637
|
+
return Math.min(sum, 1);
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
/**
|
|
641
|
+
* @deprecated Use PatternEvaluationResult instead to avoid collision with EvaluationResult from evaluator-optimizer/schema.ts
|
|
642
|
+
*/
|
|
643
|
+
export type EvaluationResult = PatternEvaluationResult;
|
|
644
|
+
|
|
645
|
+
/**
|
|
646
|
+
* @deprecated Use PatternOptimizedResult instead to avoid collision with OptimizedResult from evaluator-optimizer/schema.ts
|
|
647
|
+
*/
|
|
648
|
+
export type OptimizedResult = PatternOptimizedResult;
|
|
649
|
+
|
|
650
|
+
/**
|
|
651
|
+
* @deprecated Use runPatternFeedbackLoop instead to avoid collision with runFeedbackLoop from evaluator-optimizer/index.ts
|
|
652
|
+
*/
|
|
653
|
+
export const runFeedbackLoop = runPatternFeedbackLoop;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Reusable agent architecture patterns (evaluator-optimizer, etc.).
|
|
3
|
+
* @module @od-oneapp/ai-platform/agents/patterns
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export {
|
|
7
|
+
PatternEvaluatorOptimizer,
|
|
8
|
+
createPatternEvaluatorOptimizer,
|
|
9
|
+
// Deprecated aliases
|
|
10
|
+
createEvaluatorOptimizer,
|
|
11
|
+
runPatternFeedbackLoop,
|
|
12
|
+
runFeedbackLoop,
|
|
13
|
+
evaluators,
|
|
14
|
+
normalizeScore,
|
|
15
|
+
calculateAggregateScore,
|
|
16
|
+
} from './evaluator-optimizer-pattern';
|
|
17
|
+
|
|
18
|
+
export type {
|
|
19
|
+
PatternEvaluationResult,
|
|
20
|
+
EvalContext,
|
|
21
|
+
EvaluatorOptimizerOptions,
|
|
22
|
+
PatternOptimizedResult,
|
|
23
|
+
// Deprecated aliases
|
|
24
|
+
EvaluationResult,
|
|
25
|
+
OptimizedResult,
|
|
26
|
+
} from './evaluator-optimizer-pattern';
|