@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 @@
|
|
|
1
|
+
{"version":3,"file":"reranking-Ck8aKZW7.mjs","names":[],"sources":["../src/grounding/embed/reranking.ts"],"sourcesContent":["/**\n * Reranking Module - AI SDK v6 Compatible\n *\n * Provides document reranking capabilities for RAG pipelines using\n * Cohere, cross-encoders, and other reranking providers.\n *\n * @module @od-oneapp/ai-platform/grounding/embed/reranking\n */\n\nimport { logWarn } from '@repo/shared/logs';\nimport { z } from 'zod';\n\n// ============================================================================\n// Types\n// ============================================================================\n\n/**\n * A document to be reranked\n */\nexport interface RerankDocument {\n /** Unique identifier for the document */\n id: string;\n /** The text content to rerank */\n text: string;\n /** Optional metadata */\n metadata?: Record<string, unknown>;\n /** Original relevance score (e.g., from vector search) */\n originalScore?: number;\n}\n\n/**\n * Result of reranking a document\n */\nexport interface RerankResult {\n /** The original document */\n document: RerankDocument;\n /** New relevance score from reranker (0-1) */\n relevanceScore: number;\n /** Position in original results */\n originalIndex: number;\n /** Position after reranking */\n newIndex: number;\n}\n\n/**\n * Options for reranking\n */\nexport interface RerankOptions {\n /** The query to rerank against */\n query: string;\n /** Documents to rerank */\n documents: RerankDocument[];\n /** Maximum number of results to return */\n topK?: number;\n /** Minimum relevance score threshold (0-1) */\n minScore?: number;\n /** Whether to return documents below threshold */\n returnAllResults?: boolean;\n /** Model to use for reranking */\n model?: string;\n}\n\n/**\n * Reranking provider interface\n */\nexport interface RerankProvider {\n /** Provider name */\n readonly name: string;\n /** Rerank documents */\n rerank(options: RerankOptions): Promise<RerankResult[]>;\n /** Check if provider is available */\n isAvailable(): Promise<boolean>;\n}\n\n/**\n * Cohere reranker configuration\n */\nexport interface CohereRerankConfig {\n apiKey: string;\n model?: 'rerank-english-v3.0' | 'rerank-multilingual-v3.0' | 'rerank-english-v2.0';\n baseUrl?: string;\n maxRetries?: number;\n timeout?: number;\n}\n\n/**\n * Cross-encoder reranker configuration\n */\nexport interface CrossEncoderConfig {\n modelName: string;\n endpoint: string;\n apiKey?: string;\n batchSize?: number;\n timeout?: number;\n}\n\n// ============================================================================\n// Schemas\n// ============================================================================\n\nexport const RerankDocumentSchema = z.object({\n id: z.string(),\n text: z.string(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n originalScore: z.number().optional(),\n});\n\nexport const RerankOptionsSchema = z.object({\n query: z.string().min(1),\n documents: z.array(RerankDocumentSchema).min(1),\n topK: z.number().int().positive().optional(),\n minScore: z.number().min(0).max(1).optional(),\n returnAllResults: z.boolean().optional(),\n model: z.string().optional(),\n});\n\n// ============================================================================\n// Cohere Reranker\n// ============================================================================\n\n/**\n * Create a Cohere reranker provider\n *\n * @example\n * ```typescript\n * const reranker = createCohereReranker({\n * apiKey: process.env.COHERE_API_KEY!,\n * model: 'rerank-english-v3.0',\n * });\n *\n * const results = await reranker.rerank({\n * query: 'What is machine learning?',\n * documents: docs,\n * topK: 5,\n * });\n * ```\n */\nexport function createCohereReranker(config: CohereRerankConfig): RerankProvider {\n const {\n apiKey,\n model = 'rerank-english-v3.0',\n baseUrl = 'https://api.cohere.ai/v1',\n maxRetries = 3,\n timeout = 30000,\n } = config;\n\n return {\n name: 'cohere',\n\n async rerank(options: RerankOptions): Promise<RerankResult[]> {\n const { query, documents, topK, minScore = 0, returnAllResults = false } = options;\n\n if (documents.length === 0) {\n return [];\n }\n\n // Prepare documents for Cohere API\n const docTexts = documents.map(d => d.text);\n\n let lastError: Error | null = null;\n for (let attempt = 0; attempt < maxRetries; attempt++) {\n try {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), timeout);\n\n const response = await fetch(`${baseUrl}/rerank`, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${apiKey}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n query,\n documents: docTexts,\n model: options.model || model,\n top_n: topK || documents.length,\n return_documents: false,\n }),\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n const errorText = await response.text();\n throw new Error(`Cohere API error: ${response.status} - ${errorText}`);\n }\n\n const data = (await response.json()) as {\n results: Array<{ index: number; relevance_score: number }>;\n };\n\n // Map results back to documents\n const results: RerankResult[] = data.results\n .map((r, newIndex) => {\n const document = documents[r.index];\n if (!document) return null;\n return {\n document,\n relevanceScore: r.relevance_score,\n originalIndex: r.index,\n newIndex,\n };\n })\n .filter(\n (entry): entry is RerankResult =>\n entry !== null && (returnAllResults || entry.relevanceScore >= minScore),\n );\n\n return topK ? results.slice(0, topK) : results;\n } catch (error) {\n lastError = error as Error;\n if (attempt < maxRetries - 1) {\n // Exponential backoff\n await new Promise(resolve => setTimeout(resolve, Math.pow(2, attempt) * 1000));\n }\n }\n }\n\n throw lastError || new Error('Cohere rerank failed after retries');\n },\n\n async isAvailable(): Promise<boolean> {\n try {\n const response = await fetch(`${baseUrl}/check-api-key`, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${apiKey}`,\n 'Content-Type': 'application/json',\n },\n });\n return response.ok;\n } catch {\n return false;\n }\n },\n };\n}\n\n// ============================================================================\n// Cross-Encoder Reranker\n// ============================================================================\n\n/**\n * Create a cross-encoder reranker (for self-hosted models)\n *\n * @example\n * ```typescript\n * const reranker = createCrossEncoderReranker({\n * modelName: 'cross-encoder/ms-marco-MiniLM-L-6-v2',\n * endpoint: 'http://localhost:8080/rerank',\n * });\n * ```\n */\nexport function createCrossEncoderReranker(config: CrossEncoderConfig): RerankProvider {\n const { modelName, endpoint, apiKey, batchSize = 32, timeout = 60000 } = config;\n\n return {\n name: `cross-encoder:${modelName}`,\n\n async rerank(options: RerankOptions): Promise<RerankResult[]> {\n const { query, documents, topK, minScore = 0, returnAllResults = false } = options;\n\n if (documents.length === 0) {\n return [];\n }\n\n // Process in batches\n const allScores: number[] = [];\n\n for (let i = 0; i < documents.length; i += batchSize) {\n const batch = documents.slice(i, i + batchSize);\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), timeout);\n\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n };\n if (apiKey) {\n headers['Authorization'] = `Bearer ${apiKey}`;\n }\n\n const response = await fetch(endpoint, {\n method: 'POST',\n headers,\n body: JSON.stringify({\n model: modelName,\n query,\n documents: batch.map(d => d.text),\n }),\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n throw new Error(`Cross-encoder API error: ${response.status}`);\n }\n\n const data = (await response.json()) as { scores: number[] };\n allScores.push(...data.scores);\n }\n\n // Create results with scores\n const results: RerankResult[] = documents\n .map((doc, index) => {\n const score = allScores[index];\n if (score === undefined) return null;\n return {\n document: doc,\n relevanceScore: score,\n originalIndex: index,\n newIndex: -1, // Will be set after sorting\n };\n })\n .filter((entry): entry is RerankResult => entry !== null)\n .sort((a, b) => b.relevanceScore - a.relevanceScore)\n .map((r, newIndex) => ({ ...r, newIndex }))\n .filter(r => returnAllResults || r.relevanceScore >= minScore);\n\n return topK ? results.slice(0, topK) : results;\n },\n\n async isAvailable(): Promise<boolean> {\n try {\n const response = await fetch(endpoint.replace('/rerank', '/health'), {\n method: 'GET',\n });\n return response.ok;\n } catch {\n return false;\n }\n },\n };\n}\n\n// ============================================================================\n// Reciprocal Rank Fusion\n// ============================================================================\n\n/**\n * Combine multiple ranking results using Reciprocal Rank Fusion\n *\n * RRF is useful when combining results from different retrieval methods\n * (e.g., BM25 + vector search + reranker).\n *\n * @example\n * ```typescript\n * const combined = reciprocalRankFusion([\n * vectorSearchResults,\n * bm25Results,\n * rerankResults,\n * ], { k: 60 });\n * ```\n */\nexport function reciprocalRankFusion(\n rankings: RerankResult[][],\n options: { k?: number; topK?: number } = {},\n): RerankResult[] {\n const { k = 60, topK } = options;\n\n // Calculate RRF scores\n const scoreMap = new Map<string, { score: number; document: RerankDocument }>();\n\n for (const ranking of rankings) {\n for (let rank = 0; rank < ranking.length; rank++) {\n const result = ranking[rank];\n if (!result) {\n continue;\n }\n const docId = result.document.id;\n const rrfScore = 1 / (k + rank + 1);\n\n const existing = scoreMap.get(docId);\n if (existing) {\n existing.score += rrfScore;\n } else {\n scoreMap.set(docId, { score: rrfScore, document: result.document });\n }\n }\n }\n\n // Sort by combined RRF score\n const results = Array.from(scoreMap.values())\n .sort((a, b) => b.score - a.score)\n .map((item, index) => ({\n document: item.document,\n relevanceScore: item.score,\n originalIndex: -1,\n newIndex: index,\n }));\n\n return topK ? results.slice(0, topK) : results;\n}\n\n// ============================================================================\n// Reranking Pipeline\n// ============================================================================\n\n/**\n * Configuration for the reranking pipeline\n */\nexport interface RerankPipelineConfig {\n /** Primary reranker provider */\n provider: RerankProvider;\n /** Fallback provider if primary fails */\n fallbackProvider?: RerankProvider;\n /** Whether to use RRF with original scores */\n useRRFWithOriginal?: boolean;\n /** RRF k parameter */\n rrfK?: number;\n /** Cache rerank results */\n enableCache?: boolean;\n /** Cache TTL in seconds */\n cacheTTL?: number;\n}\n\n/**\n * Create a reranking pipeline with fallback and caching\n *\n * @example\n * ```typescript\n * const pipeline = createRerankPipeline({\n * provider: createCohereReranker({ apiKey: '...' }),\n * fallbackProvider: createCrossEncoderReranker({ ... }),\n * useRRFWithOriginal: true,\n * enableCache: true,\n * });\n *\n * const results = await pipeline.rerank({\n * query: 'machine learning',\n * documents: docs,\n * topK: 10,\n * });\n * ```\n */\nexport function createRerankPipeline(config: RerankPipelineConfig) {\n const {\n provider,\n fallbackProvider,\n useRRFWithOriginal = false,\n rrfK = 60,\n enableCache = false,\n cacheTTL = 300,\n } = config;\n\n // Simple in-memory cache\n const cache = new Map<string, { results: RerankResult[]; timestamp: number }>();\n\n function getCacheKey(query: string, docIds: string[]): string {\n return `${query}:${docIds.sort().join(',')}`;\n }\n\n return {\n async rerank(options: RerankOptions): Promise<RerankResult[]> {\n const { query, documents, topK } = options;\n\n // Check cache\n if (enableCache) {\n const cacheKey = getCacheKey(\n query,\n documents.map(d => d.id),\n );\n const cached = cache.get(cacheKey);\n if (cached && Date.now() - cached.timestamp < cacheTTL * 1000) {\n return topK ? cached.results.slice(0, topK) : cached.results;\n }\n }\n\n let rerankResults: RerankResult[];\n\n try {\n rerankResults = await provider.rerank(options);\n } catch (error) {\n if (fallbackProvider) {\n logWarn('Primary reranker failed, using fallback', {\n error: error instanceof Error ? error : new Error(String(error)),\n });\n rerankResults = await fallbackProvider.rerank(options);\n } else {\n throw error;\n }\n }\n\n // Optionally combine with original scores using RRF\n if (useRRFWithOriginal && documents.some(d => d.originalScore !== undefined)) {\n const originalRanking: RerankResult[] = [...documents]\n .sort((a, b) => (b.originalScore || 0) - (a.originalScore || 0))\n .map((doc, index) => ({\n document: doc,\n relevanceScore: doc.originalScore || 0,\n originalIndex: documents.indexOf(doc),\n newIndex: index,\n }));\n\n rerankResults = reciprocalRankFusion([rerankResults, originalRanking], {\n k: rrfK,\n topK,\n });\n }\n\n // Update cache\n if (enableCache) {\n const cacheKey = getCacheKey(\n query,\n documents.map(d => d.id),\n );\n cache.set(cacheKey, { results: rerankResults, timestamp: Date.now() });\n\n // Clean old entries\n const now = Date.now();\n for (const [key, value] of cache.entries()) {\n if (now - value.timestamp > cacheTTL * 1000) {\n cache.delete(key);\n }\n }\n }\n\n return rerankResults;\n },\n\n async isAvailable(): Promise<boolean> {\n const primaryAvailable = await provider.isAvailable();\n if (primaryAvailable) return true;\n if (fallbackProvider) {\n return fallbackProvider.isAvailable();\n }\n return false;\n },\n\n clearCache(): void {\n cache.clear();\n },\n };\n}\n\n// ============================================================================\n// Utility Functions\n// ============================================================================\n\n/**\n * Convert vector search results to RerankDocuments\n */\nexport function vectorResultsToDocuments(\n results: Array<{\n id: string;\n content: string;\n score: number;\n metadata?: Record<string, unknown>;\n }>,\n): RerankDocument[] {\n return results.map(r => ({\n id: r.id,\n text: r.content,\n metadata: r.metadata,\n originalScore: r.score,\n }));\n}\n\n/**\n * Calculate Normalized Discounted Cumulative Gain (NDCG)\n * for evaluating reranking quality\n */\nexport function calculateNDCG(\n results: RerankResult[],\n relevanceLabels: Map<string, number>,\n k?: number,\n): number {\n const resultsToScore = k ? results.slice(0, k) : results;\n\n // Calculate DCG\n let dcg = 0;\n for (let i = 0; i < resultsToScore.length; i++) {\n const result = resultsToScore[i];\n if (!result) continue;\n const relevance = relevanceLabels.get(result.document.id) || 0;\n dcg += (Math.pow(2, relevance) - 1) / Math.log2(i + 2);\n }\n\n // Calculate ideal DCG\n const idealOrder = Array.from(relevanceLabels.values()).sort((a, b) => b - a);\n let idcg = 0;\n const idealLength = k ? Math.min(k, idealOrder.length) : idealOrder.length;\n for (let i = 0; i < idealLength; i++) {\n const idealScore = idealOrder[i] ?? 0;\n idcg += (Math.pow(2, idealScore) - 1) / Math.log2(i + 2);\n }\n\n return idcg > 0 ? dcg / idcg : 0;\n}\n\n/**\n * Calculate Mean Reciprocal Rank (MRR)\n */\nexport function calculateMRR(results: RerankResult[], relevantIds: Set<string>): number {\n for (let i = 0; i < results.length; i++) {\n const result = results[i];\n if (result && relevantIds.has(result.document.id)) {\n return 1 / (i + 1);\n }\n }\n return 0;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createResumableStreamContext } from "resumable-stream";
|
|
2
|
+
|
|
3
|
+
//#region src/integrations/stream/resumable-adapter.ts
|
|
4
|
+
/**
|
|
5
|
+
* @fileoverview resumable-stream adapter — the only file that imports resumable-stream.
|
|
6
|
+
* @module @od-oneapp/ai-platform/integrations/stream
|
|
7
|
+
*/
|
|
8
|
+
/** Create a resumable stream context backed by the `resumable-stream` package. */
|
|
9
|
+
function createResumableStream(options) {
|
|
10
|
+
const ctx = createResumableStreamContext({ waitUntil: options?.waitUntil ?? null });
|
|
11
|
+
return {
|
|
12
|
+
resumeExistingStream: async (streamId) => await ctx.resumeExistingStream(streamId) ?? null,
|
|
13
|
+
createNewResumableStream: async (streamId, streamFactory) => {
|
|
14
|
+
await ctx.createNewResumableStream(streamId, streamFactory);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
export { createResumableStream as t };
|
|
21
|
+
//# sourceMappingURL=resumable-adapter-CO1HtsgJ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resumable-adapter-CO1HtsgJ.mjs","names":["createContext"],"sources":["../src/integrations/stream/resumable-adapter.ts"],"sourcesContent":["/**\n * @fileoverview resumable-stream adapter — the only file that imports resumable-stream.\n * @module @od-oneapp/ai-platform/integrations/stream\n */\n\nimport { createResumableStreamContext as createContext } from 'resumable-stream';\n\nimport type { ResumableStreamContext, ResumableStreamOptions } from './types';\n\n/** Create a resumable stream context backed by the `resumable-stream` package. */\nexport function createResumableStream(options?: ResumableStreamOptions): ResumableStreamContext {\n const ctx = createContext({ waitUntil: options?.waitUntil ?? null });\n return {\n resumeExistingStream: async (streamId: string) =>\n (await ctx.resumeExistingStream(streamId)) ?? null,\n createNewResumableStream: async (streamId: string, streamFactory: () => ReadableStream) => {\n await ctx.createNewResumableStream(streamId, streamFactory);\n },\n };\n}\n"],"mappings":";;;;;;;;AAUA,SAAgB,sBAAsB,SAA0D;CAC9F,MAAM,MAAMA,6BAAc,EAAE,WAAW,SAAS,aAAa,MAAM,CAAC;AACpE,QAAO;EACL,sBAAsB,OAAO,aAC1B,MAAM,IAAI,qBAAqB,SAAS,IAAK;EAChD,0BAA0B,OAAO,UAAkB,kBAAwC;AACzF,SAAM,IAAI,yBAAyB,UAAU,cAAc;;EAE9D"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { s as ReviewCondition } from "./types-CQ0HFd0u.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/hitl/review/review-trigger.d.ts
|
|
4
|
+
interface ReviewContext {
|
|
5
|
+
confidence?: number;
|
|
6
|
+
content?: string;
|
|
7
|
+
action?: string;
|
|
8
|
+
metadata?: Record<string, unknown>;
|
|
9
|
+
}
|
|
10
|
+
declare function evaluateReviewTriggers(conditions: ReviewCondition[], context: ReviewContext): {
|
|
11
|
+
requiresReview: boolean;
|
|
12
|
+
triggeredConditions: string[];
|
|
13
|
+
};
|
|
14
|
+
declare const ReviewConditions: {
|
|
15
|
+
lowConfidence(threshold: number): ReviewCondition;
|
|
16
|
+
destructiveActions(): ReviewCondition;
|
|
17
|
+
publishingActions(): ReviewCondition;
|
|
18
|
+
sensitiveContent(): ReviewCondition;
|
|
19
|
+
piiContent(): ReviewCondition;
|
|
20
|
+
custom(evaluate: (context: unknown) => boolean): ReviewCondition;
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { ReviewContext as n, evaluateReviewTriggers as r, ReviewConditions as t };
|
|
24
|
+
//# sourceMappingURL=review-trigger-DmAsiQlM.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-trigger-DmAsiQlM.d.mts","names":[],"sources":["../src/hitl/review/review-trigger.ts"],"mappings":";;;UASiB,aAAA;EAEf,UAAA;EAEA,OAAA;EAEA,MAAA;EAEA,QAAA,GAAW,MAAA;AAAA;AAAA,iBAyBG,sBAAA,CACd,UAAA,EAAY,eAAA,IACZ,OAAA,EAAS,aAAA;EACN,cAAA;EAAyB,mBAAA;AAAA;AAAA,cA8DjB,gBAAA;oCAIuB,eAAA;wBAOZ,eAAA;uBAUD,eAAA;sBAUD,eAAA;gBAUN,eAAA;oBAUI,OAAA,wBAA+B,eAAA;AAAA"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
//#region src/hitl/review/review-trigger.ts
|
|
2
|
+
/**
|
|
3
|
+
* Evaluate if human review is required
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* const conditions: ReviewCondition[] = [
|
|
8
|
+
* { type: "confidence", threshold: 0.8 },
|
|
9
|
+
* { type: "action", actions: ["delete", "publish"] },
|
|
10
|
+
* { type: "content", pattern: /sensitive|confidential/i },
|
|
11
|
+
* ];
|
|
12
|
+
*
|
|
13
|
+
* const context = {
|
|
14
|
+
* confidence: 0.7,
|
|
15
|
+
* action: "update",
|
|
16
|
+
* content: "This contains sensitive information",
|
|
17
|
+
* };
|
|
18
|
+
*
|
|
19
|
+
* const result = evaluateReviewTriggers(conditions, context);
|
|
20
|
+
* // result.requiresReview = true
|
|
21
|
+
* // result.triggeredConditions = ["confidence", "content"]
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
function evaluateReviewTriggers(conditions, context) {
|
|
25
|
+
const triggeredConditions = [];
|
|
26
|
+
for (const condition of conditions) if (evaluateCondition(condition, context)) triggeredConditions.push(condition.type);
|
|
27
|
+
return {
|
|
28
|
+
requiresReview: triggeredConditions.length > 0,
|
|
29
|
+
triggeredConditions
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Evaluate a single review condition
|
|
34
|
+
*/
|
|
35
|
+
function evaluateCondition(condition, context) {
|
|
36
|
+
switch (condition.type) {
|
|
37
|
+
case "confidence": return evaluateConfidenceCondition(condition, context);
|
|
38
|
+
case "content": return evaluateContentCondition(condition, context);
|
|
39
|
+
case "action": return evaluateActionCondition(condition, context);
|
|
40
|
+
case "custom": return condition.evaluate?.(context) ?? false;
|
|
41
|
+
default: return false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function evaluateConfidenceCondition(condition, context) {
|
|
45
|
+
if (context.confidence === void 0 || condition.threshold === void 0) return false;
|
|
46
|
+
return context.confidence < condition.threshold;
|
|
47
|
+
}
|
|
48
|
+
function evaluateContentCondition(condition, context) {
|
|
49
|
+
if (!context.content || !condition.pattern) return false;
|
|
50
|
+
return condition.pattern.test(context.content);
|
|
51
|
+
}
|
|
52
|
+
function evaluateActionCondition(condition, context) {
|
|
53
|
+
if (!context.action || !condition.actions) return false;
|
|
54
|
+
return condition.actions.includes(context.action);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create common review conditions
|
|
58
|
+
*/
|
|
59
|
+
const ReviewConditions = {
|
|
60
|
+
lowConfidence(threshold) {
|
|
61
|
+
return {
|
|
62
|
+
type: "confidence",
|
|
63
|
+
threshold
|
|
64
|
+
};
|
|
65
|
+
},
|
|
66
|
+
destructiveActions() {
|
|
67
|
+
return {
|
|
68
|
+
type: "action",
|
|
69
|
+
actions: [
|
|
70
|
+
"delete",
|
|
71
|
+
"remove",
|
|
72
|
+
"destroy",
|
|
73
|
+
"drop",
|
|
74
|
+
"truncate"
|
|
75
|
+
]
|
|
76
|
+
};
|
|
77
|
+
},
|
|
78
|
+
publishingActions() {
|
|
79
|
+
return {
|
|
80
|
+
type: "action",
|
|
81
|
+
actions: [
|
|
82
|
+
"publish",
|
|
83
|
+
"post",
|
|
84
|
+
"send",
|
|
85
|
+
"broadcast",
|
|
86
|
+
"announce"
|
|
87
|
+
]
|
|
88
|
+
};
|
|
89
|
+
},
|
|
90
|
+
sensitiveContent() {
|
|
91
|
+
return {
|
|
92
|
+
type: "content",
|
|
93
|
+
pattern: /\b(confidential|secret|private|sensitive|ssn|password|api[_-]?key)\b/i
|
|
94
|
+
};
|
|
95
|
+
},
|
|
96
|
+
piiContent() {
|
|
97
|
+
return {
|
|
98
|
+
type: "content",
|
|
99
|
+
pattern: /\b(\d{3}-\d{2}-\d{4}|\d{16}|\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4})\b/
|
|
100
|
+
};
|
|
101
|
+
},
|
|
102
|
+
custom(evaluate) {
|
|
103
|
+
return {
|
|
104
|
+
type: "custom",
|
|
105
|
+
evaluate
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
//#endregion
|
|
111
|
+
export { evaluateReviewTriggers as n, ReviewConditions as t };
|
|
112
|
+
//# sourceMappingURL=review-trigger-DwXfpww9.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-trigger-DwXfpww9.mjs","names":[],"sources":["../src/hitl/review/review-trigger.ts"],"sourcesContent":["/**\n * Review trigger evaluation\n */\n\nimport type { ReviewCondition } from '../types';\n\n/**\n * Context for evaluating review triggers\n */\nexport interface ReviewContext {\n /** Confidence score (0-1) */\n confidence?: number;\n /** Content being generated */\n content?: string;\n /** Action being taken */\n action?: string;\n /** Additional context */\n metadata?: Record<string, unknown>;\n}\n\n/**\n * Evaluate if human review is required\n *\n * @example\n * ```ts\n * const conditions: ReviewCondition[] = [\n * { type: \"confidence\", threshold: 0.8 },\n * { type: \"action\", actions: [\"delete\", \"publish\"] },\n * { type: \"content\", pattern: /sensitive|confidential/i },\n * ];\n *\n * const context = {\n * confidence: 0.7,\n * action: \"update\",\n * content: \"This contains sensitive information\",\n * };\n *\n * const result = evaluateReviewTriggers(conditions, context);\n * // result.requiresReview = true\n * // result.triggeredConditions = [\"confidence\", \"content\"]\n * ```\n */\nexport function evaluateReviewTriggers(\n conditions: ReviewCondition[],\n context: ReviewContext,\n): { requiresReview: boolean; triggeredConditions: string[] } {\n const triggeredConditions: string[] = [];\n\n for (const condition of conditions) {\n if (evaluateCondition(condition, context)) {\n triggeredConditions.push(condition.type);\n }\n }\n\n return {\n requiresReview: triggeredConditions.length > 0,\n triggeredConditions,\n };\n}\n\n/**\n * Evaluate a single review condition\n */\nfunction evaluateCondition(condition: ReviewCondition, context: ReviewContext): boolean {\n switch (condition.type) {\n case 'confidence':\n return evaluateConfidenceCondition(condition, context);\n\n case 'content':\n return evaluateContentCondition(condition, context);\n\n case 'action':\n return evaluateActionCondition(condition, context);\n\n case 'custom':\n return condition.evaluate?.(context) ?? false;\n\n default:\n return false;\n }\n}\n\nfunction evaluateConfidenceCondition(condition: ReviewCondition, context: ReviewContext): boolean {\n if (context.confidence === undefined || condition.threshold === undefined) {\n return false;\n }\n // Trigger review if confidence is BELOW threshold\n return context.confidence < condition.threshold;\n}\n\nfunction evaluateContentCondition(condition: ReviewCondition, context: ReviewContext): boolean {\n if (!context.content || !condition.pattern) {\n return false;\n }\n return condition.pattern.test(context.content);\n}\n\nfunction evaluateActionCondition(condition: ReviewCondition, context: ReviewContext): boolean {\n if (!context.action || !condition.actions) {\n return false;\n }\n return condition.actions.includes(context.action);\n}\n\n/**\n * Create common review conditions\n */\nexport const ReviewConditions = {\n /**\n * Require review when confidence is below threshold\n */\n lowConfidence(threshold: number): ReviewCondition {\n return { type: 'confidence', threshold };\n },\n\n /**\n * Require review for destructive actions\n */\n destructiveActions(): ReviewCondition {\n return {\n type: 'action',\n actions: ['delete', 'remove', 'destroy', 'drop', 'truncate'],\n };\n },\n\n /**\n * Require review for publishing actions\n */\n publishingActions(): ReviewCondition {\n return {\n type: 'action',\n actions: ['publish', 'post', 'send', 'broadcast', 'announce'],\n };\n },\n\n /**\n * Require review for sensitive content patterns\n */\n sensitiveContent(): ReviewCondition {\n return {\n type: 'content',\n pattern: /\\b(confidential|secret|private|sensitive|ssn|password|api[_-]?key)\\b/i,\n };\n },\n\n /**\n * Require review for PII patterns\n */\n piiContent(): ReviewCondition {\n return {\n type: 'content',\n pattern: /\\b(\\d{3}-\\d{2}-\\d{4}|\\d{16}|\\d{4}[- ]?\\d{4}[- ]?\\d{4}[- ]?\\d{4})\\b/,\n };\n },\n\n /**\n * Custom condition\n */\n custom(evaluate: (context: unknown) => boolean): ReviewCondition {\n return { type: 'custom', evaluate };\n },\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA0CA,SAAgB,uBACd,YACA,SAC4D;CAC5D,MAAM,sBAAgC,EAAE;AAExC,MAAK,MAAM,aAAa,WACtB,KAAI,kBAAkB,WAAW,QAAQ,CACvC,qBAAoB,KAAK,UAAU,KAAK;AAI5C,QAAO;EACL,gBAAgB,oBAAoB,SAAS;EAC7C;EACD;;;;;AAMH,SAAS,kBAAkB,WAA4B,SAAiC;AACtF,SAAQ,UAAU,MAAlB;EACE,KAAK,aACH,QAAO,4BAA4B,WAAW,QAAQ;EAExD,KAAK,UACH,QAAO,yBAAyB,WAAW,QAAQ;EAErD,KAAK,SACH,QAAO,wBAAwB,WAAW,QAAQ;EAEpD,KAAK,SACH,QAAO,UAAU,WAAW,QAAQ,IAAI;EAE1C,QACE,QAAO;;;AAIb,SAAS,4BAA4B,WAA4B,SAAiC;AAChG,KAAI,QAAQ,eAAe,UAAa,UAAU,cAAc,OAC9D,QAAO;AAGT,QAAO,QAAQ,aAAa,UAAU;;AAGxC,SAAS,yBAAyB,WAA4B,SAAiC;AAC7F,KAAI,CAAC,QAAQ,WAAW,CAAC,UAAU,QACjC,QAAO;AAET,QAAO,UAAU,QAAQ,KAAK,QAAQ,QAAQ;;AAGhD,SAAS,wBAAwB,WAA4B,SAAiC;AAC5F,KAAI,CAAC,QAAQ,UAAU,CAAC,UAAU,QAChC,QAAO;AAET,QAAO,UAAU,QAAQ,SAAS,QAAQ,OAAO;;;;;AAMnD,MAAa,mBAAmB;CAI9B,cAAc,WAAoC;AAChD,SAAO;GAAE,MAAM;GAAc;GAAW;;CAM1C,qBAAsC;AACpC,SAAO;GACL,MAAM;GACN,SAAS;IAAC;IAAU;IAAU;IAAW;IAAQ;IAAW;GAC7D;;CAMH,oBAAqC;AACnC,SAAO;GACL,MAAM;GACN,SAAS;IAAC;IAAW;IAAQ;IAAQ;IAAa;IAAW;GAC9D;;CAMH,mBAAoC;AAClC,SAAO;GACL,MAAM;GACN,SAAS;GACV;;CAMH,aAA8B;AAC5B,SAAO;GACL,MAAM;GACN,SAAS;GACV;;CAMH,OAAO,UAA0D;AAC/D,SAAO;GAAE,MAAM;GAAU;GAAU;;CAEtC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/grounding/context/types.d.ts
|
|
4
|
+
declare const IdentityContextSchema: z.ZodObject<{
|
|
5
|
+
userId: z.ZodString;
|
|
6
|
+
name: z.ZodOptional<z.ZodString>;
|
|
7
|
+
email: z.ZodOptional<z.ZodString>;
|
|
8
|
+
role: z.ZodDefault<z.ZodEnum<{
|
|
9
|
+
user: "user";
|
|
10
|
+
system: "system";
|
|
11
|
+
admin: "admin";
|
|
12
|
+
}>>;
|
|
13
|
+
permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
14
|
+
organizationId: z.ZodOptional<z.ZodString>;
|
|
15
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
16
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
type IdentityContext = z.infer<typeof IdentityContextSchema>;
|
|
19
|
+
declare const RequestContextSchema: z.ZodObject<{
|
|
20
|
+
userId: z.ZodString;
|
|
21
|
+
name: z.ZodOptional<z.ZodString>;
|
|
22
|
+
email: z.ZodOptional<z.ZodString>;
|
|
23
|
+
role: z.ZodDefault<z.ZodEnum<{
|
|
24
|
+
user: "user";
|
|
25
|
+
system: "system";
|
|
26
|
+
admin: "admin";
|
|
27
|
+
}>>;
|
|
28
|
+
permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
29
|
+
organizationId: z.ZodOptional<z.ZodString>;
|
|
30
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
31
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
32
|
+
timestamp: z.ZodDefault<z.ZodDate>;
|
|
33
|
+
locale: z.ZodDefault<z.ZodString>;
|
|
34
|
+
timezone: z.ZodDefault<z.ZodString>;
|
|
35
|
+
ipCountry: z.ZodOptional<z.ZodString>;
|
|
36
|
+
userAgent: z.ZodOptional<z.ZodString>;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
type RequestContext = z.infer<typeof RequestContextSchema>;
|
|
39
|
+
declare const MinimalContextSchema: z.ZodObject<{
|
|
40
|
+
operation: z.ZodString;
|
|
41
|
+
timestamp: z.ZodDefault<z.ZodDate>;
|
|
42
|
+
}, z.core.$strip>;
|
|
43
|
+
type MinimalContext = z.infer<typeof MinimalContextSchema>;
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src/grounding/context/safe-context.d.ts
|
|
46
|
+
declare function getSafeIdentityContext(input: unknown): IdentityContext;
|
|
47
|
+
declare function getSafeRequestContext(input: unknown): RequestContext;
|
|
48
|
+
declare function createRequestContext(identity: IdentityContext, overrides?: Partial<RequestContext>): RequestContext;
|
|
49
|
+
declare function hasPermission(context: IdentityContext, permission: string): boolean;
|
|
50
|
+
declare function hasAnyPermission(context: IdentityContext, permissions: string[]): boolean;
|
|
51
|
+
declare function hasAllPermissions(context: IdentityContext, permissions: string[]): boolean;
|
|
52
|
+
//#endregion
|
|
53
|
+
export { hasAnyPermission as a, IdentityContextSchema as c, RequestContext as d, RequestContextSchema as f, hasAllPermissions as i, MinimalContext as l, getSafeIdentityContext as n, hasPermission as o, getSafeRequestContext as r, IdentityContext as s, createRequestContext as t, MinimalContextSchema as u };
|
|
54
|
+
//# sourceMappingURL=safe-context-BynhkTKR.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-context-BynhkTKR.d.mts","names":[],"sources":["../src/grounding/context/types.ts","../src/grounding/context/safe-context.ts"],"mappings":";;;cAWa,qBAAA,EAAqB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;KAmBtB,eAAA,GAAkB,CAAA,CAAE,KAAA,QAAa,qBAAA;AAAA,cAMhC,oBAAA,EAAoB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;KAarB,cAAA,GAAiB,CAAA,CAAE,KAAA,QAAa,oBAAA;AAAA,cAK/B,oBAAA,EAAoB,CAAA,CAAA,SAAA;;;;KAOrB,cAAA,GAAiB,CAAA,CAAE,KAAA,QAAa,oBAAA;;;iBCvC5B,sBAAA,CAAuB,KAAA,YAAiB,eAAA;AAAA,iBAqBxC,qBAAA,CAAsB,KAAA,YAAiB,cAAA;AAAA,iBA0BvC,oBAAA,CACd,QAAA,EAAU,eAAA,EACV,SAAA,GAAY,OAAA,CAAQ,cAAA,IACnB,cAAA;AAAA,iBAiBa,aAAA,CAAc,OAAA,EAAS,eAAA,EAAiB,UAAA;AAAA,iBAWxC,gBAAA,CAAiB,OAAA,EAAS,eAAA,EAAiB,WAAA;AAAA,iBAY3C,iBAAA,CAAkB,OAAA,EAAS,eAAA,EAAiB,WAAA"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/grounding/context/types.ts
|
|
4
|
+
/**
|
|
5
|
+
* @fileoverview Context types for AI operations.
|
|
6
|
+
* @module @od-oneapp/ai-platform/context
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* User identity context for AI operations.
|
|
10
|
+
* Provides user information for tool authorization and personalization.
|
|
11
|
+
*/
|
|
12
|
+
const IdentityContextSchema = z.object({
|
|
13
|
+
userId: z.string(),
|
|
14
|
+
name: z.string().optional(),
|
|
15
|
+
email: z.string().email().optional(),
|
|
16
|
+
role: z.enum([
|
|
17
|
+
"user",
|
|
18
|
+
"admin",
|
|
19
|
+
"system"
|
|
20
|
+
]).default("user"),
|
|
21
|
+
permissions: z.array(z.string()).default([]),
|
|
22
|
+
organizationId: z.string().optional(),
|
|
23
|
+
sessionId: z.string().optional(),
|
|
24
|
+
metadata: z.record(z.string(), z.unknown()).optional()
|
|
25
|
+
});
|
|
26
|
+
/**
|
|
27
|
+
* Request context for AI operations.
|
|
28
|
+
* Extends identity with request-specific information.
|
|
29
|
+
*/
|
|
30
|
+
const RequestContextSchema = IdentityContextSchema.extend({
|
|
31
|
+
timestamp: z.date().default(() => /* @__PURE__ */ new Date()),
|
|
32
|
+
locale: z.string().default("en-US"),
|
|
33
|
+
timezone: z.string().default("UTC"),
|
|
34
|
+
ipCountry: z.string().optional(),
|
|
35
|
+
userAgent: z.string().optional()
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* Minimal context for anonymous or system operations.
|
|
39
|
+
*/
|
|
40
|
+
const MinimalContextSchema = z.object({
|
|
41
|
+
operation: z.string(),
|
|
42
|
+
timestamp: z.date().default(() => /* @__PURE__ */ new Date())
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/grounding/context/safe-context.ts
|
|
47
|
+
/**
|
|
48
|
+
* @fileoverview Safe context extraction and validation utilities.
|
|
49
|
+
* @module @od-oneapp/ai-platform/context
|
|
50
|
+
*/
|
|
51
|
+
/**
|
|
52
|
+
* Safely extracts identity context, returning a minimal safe context if validation fails.
|
|
53
|
+
* Never throws - returns a safe default for anonymous/system operations.
|
|
54
|
+
*
|
|
55
|
+
* @param input - Raw context input (potentially untrusted)
|
|
56
|
+
* @returns Validated IdentityContext or safe default
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```ts
|
|
60
|
+
* const ctx = getSafeIdentityContext(request.headers);
|
|
61
|
+
* // Always returns valid IdentityContext, never throws
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
function getSafeIdentityContext(input) {
|
|
65
|
+
const result = IdentityContextSchema.safeParse(input);
|
|
66
|
+
if (result.success) return result.data;
|
|
67
|
+
return {
|
|
68
|
+
userId: "anonymous",
|
|
69
|
+
role: "user",
|
|
70
|
+
permissions: []
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Safely extracts request context with timestamp and locale defaults.
|
|
75
|
+
*
|
|
76
|
+
* @param input - Raw context input
|
|
77
|
+
* @returns Validated RequestContext or safe default
|
|
78
|
+
*/
|
|
79
|
+
function getSafeRequestContext(input) {
|
|
80
|
+
const result = RequestContextSchema.safeParse(input);
|
|
81
|
+
if (result.success) return result.data;
|
|
82
|
+
return {
|
|
83
|
+
userId: "anonymous",
|
|
84
|
+
role: "user",
|
|
85
|
+
permissions: [],
|
|
86
|
+
timestamp: /* @__PURE__ */ new Date(),
|
|
87
|
+
locale: "en-US",
|
|
88
|
+
timezone: "UTC"
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Creates a fresh request context from identity context.
|
|
93
|
+
* Adds request-scoped fields like timestamp.
|
|
94
|
+
*
|
|
95
|
+
* @param identity - Base identity context
|
|
96
|
+
* @param overrides - Optional field overrides
|
|
97
|
+
* @returns Fresh RequestContext
|
|
98
|
+
*/
|
|
99
|
+
function createRequestContext(identity, overrides) {
|
|
100
|
+
return {
|
|
101
|
+
...identity,
|
|
102
|
+
timestamp: /* @__PURE__ */ new Date(),
|
|
103
|
+
locale: "en-US",
|
|
104
|
+
timezone: "UTC",
|
|
105
|
+
...overrides
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Checks if context has a specific permission.
|
|
110
|
+
*
|
|
111
|
+
* @param context - Identity context to check
|
|
112
|
+
* @param permission - Permission string to look for
|
|
113
|
+
* @returns True if permission exists
|
|
114
|
+
*/
|
|
115
|
+
function hasPermission(context, permission) {
|
|
116
|
+
return context.permissions.includes(permission) || context.role === "admin";
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Checks if context has any of the specified permissions.
|
|
120
|
+
*
|
|
121
|
+
* @param context - Identity context to check
|
|
122
|
+
* @param permissions - Permission strings to check
|
|
123
|
+
* @returns True if any permission exists
|
|
124
|
+
*/
|
|
125
|
+
function hasAnyPermission(context, permissions) {
|
|
126
|
+
if (context.role === "admin") return true;
|
|
127
|
+
return permissions.some((p) => context.permissions.includes(p));
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Checks if context has all specified permissions.
|
|
131
|
+
*
|
|
132
|
+
* @param context - Identity context to check
|
|
133
|
+
* @param permissions - Permission strings to check
|
|
134
|
+
* @returns True if all permissions exist
|
|
135
|
+
*/
|
|
136
|
+
function hasAllPermissions(context, permissions) {
|
|
137
|
+
if (context.role === "admin") return true;
|
|
138
|
+
return permissions.every((p) => context.permissions.includes(p));
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
//#endregion
|
|
142
|
+
export { hasAnyPermission as a, MinimalContextSchema as c, hasAllPermissions as i, RequestContextSchema as l, getSafeIdentityContext as n, hasPermission as o, getSafeRequestContext as r, IdentityContextSchema as s, createRequestContext as t };
|
|
143
|
+
//# sourceMappingURL=safe-context-C5A3Wv3b.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-context-C5A3Wv3b.mjs","names":[],"sources":["../src/grounding/context/types.ts","../src/grounding/context/safe-context.ts"],"sourcesContent":["/**\n * @fileoverview Context types for AI operations.\n * @module @od-oneapp/ai-platform/context\n */\n\nimport { z } from 'zod';\n\n/**\n * User identity context for AI operations.\n * Provides user information for tool authorization and personalization.\n */\nexport const IdentityContextSchema = z.object({\n /** Unique user identifier */\n userId: z.string(),\n /** User's display name */\n name: z.string().optional(),\n /** User's email address */\n email: z.string().email().optional(),\n /** User's role in the system */\n role: z.enum(['user', 'admin', 'system']).default('user'),\n /** Permissions granted to the user */\n permissions: z.array(z.string()).default([]),\n /** Organization or tenant ID */\n organizationId: z.string().optional(),\n /** Session ID for tracking */\n sessionId: z.string().optional(),\n /** Additional metadata */\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport type IdentityContext = z.infer<typeof IdentityContextSchema>;\n\n/**\n * Request context for AI operations.\n * Extends identity with request-specific information.\n */\nexport const RequestContextSchema = IdentityContextSchema.extend({\n /** Request timestamp */\n timestamp: z.date().default(() => new Date()),\n /** Request locale */\n locale: z.string().default('en-US'),\n /** Request timezone */\n timezone: z.string().default('UTC'),\n /** Client IP address (anonymized) */\n ipCountry: z.string().optional(),\n /** User agent string */\n userAgent: z.string().optional(),\n});\n\nexport type RequestContext = z.infer<typeof RequestContextSchema>;\n\n/**\n * Minimal context for anonymous or system operations.\n */\nexport const MinimalContextSchema = z.object({\n /** Operation type */\n operation: z.string(),\n /** Timestamp */\n timestamp: z.date().default(() => new Date()),\n});\n\nexport type MinimalContext = z.infer<typeof MinimalContextSchema>;\n","/**\n * @fileoverview Safe context extraction and validation utilities.\n * @module @od-oneapp/ai-platform/context\n */\n\nimport { IdentityContextSchema, RequestContextSchema } from './types';\n\nimport type { IdentityContext, RequestContext } from './types';\n\n/**\n * Safely extracts identity context, returning a minimal safe context if validation fails.\n * Never throws - returns a safe default for anonymous/system operations.\n *\n * @param input - Raw context input (potentially untrusted)\n * @returns Validated IdentityContext or safe default\n *\n * @example\n * ```ts\n * const ctx = getSafeIdentityContext(request.headers);\n * // Always returns valid IdentityContext, never throws\n * ```\n */\nexport function getSafeIdentityContext(input: unknown): IdentityContext {\n const result = IdentityContextSchema.safeParse(input);\n\n if (result.success) {\n return result.data;\n }\n\n // Return anonymous context for failed validation\n return {\n userId: 'anonymous',\n role: 'user',\n permissions: [],\n };\n}\n\n/**\n * Safely extracts request context with timestamp and locale defaults.\n *\n * @param input - Raw context input\n * @returns Validated RequestContext or safe default\n */\nexport function getSafeRequestContext(input: unknown): RequestContext {\n const result = RequestContextSchema.safeParse(input);\n\n if (result.success) {\n return result.data;\n }\n\n // Return minimal request context\n return {\n userId: 'anonymous',\n role: 'user',\n permissions: [],\n timestamp: new Date(),\n locale: 'en-US',\n timezone: 'UTC',\n };\n}\n\n/**\n * Creates a fresh request context from identity context.\n * Adds request-scoped fields like timestamp.\n *\n * @param identity - Base identity context\n * @param overrides - Optional field overrides\n * @returns Fresh RequestContext\n */\nexport function createRequestContext(\n identity: IdentityContext,\n overrides?: Partial<RequestContext>,\n): RequestContext {\n return {\n ...identity,\n timestamp: new Date(),\n locale: 'en-US',\n timezone: 'UTC',\n ...overrides,\n };\n}\n\n/**\n * Checks if context has a specific permission.\n *\n * @param context - Identity context to check\n * @param permission - Permission string to look for\n * @returns True if permission exists\n */\nexport function hasPermission(context: IdentityContext, permission: string): boolean {\n return context.permissions.includes(permission) || context.role === 'admin';\n}\n\n/**\n * Checks if context has any of the specified permissions.\n *\n * @param context - Identity context to check\n * @param permissions - Permission strings to check\n * @returns True if any permission exists\n */\nexport function hasAnyPermission(context: IdentityContext, permissions: string[]): boolean {\n if (context.role === 'admin') return true;\n return permissions.some(p => context.permissions.includes(p));\n}\n\n/**\n * Checks if context has all specified permissions.\n *\n * @param context - Identity context to check\n * @param permissions - Permission strings to check\n * @returns True if all permissions exist\n */\nexport function hasAllPermissions(context: IdentityContext, permissions: string[]): boolean {\n if (context.role === 'admin') return true;\n return permissions.every(p => context.permissions.includes(p));\n}\n"],"mappings":";;;;;;;;;;;AAWA,MAAa,wBAAwB,EAAE,OAAO;CAE5C,QAAQ,EAAE,QAAQ;CAElB,MAAM,EAAE,QAAQ,CAAC,UAAU;CAE3B,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU;CAEpC,MAAM,EAAE,KAAK;EAAC;EAAQ;EAAS;EAAS,CAAC,CAAC,QAAQ,OAAO;CAEzD,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;CAE5C,gBAAgB,EAAE,QAAQ,CAAC,UAAU;CAErC,WAAW,EAAE,QAAQ,CAAC,UAAU;CAEhC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC,UAAU;CACvD,CAAC;;;;;AAQF,MAAa,uBAAuB,sBAAsB,OAAO;CAE/D,WAAW,EAAE,MAAM,CAAC,8BAAc,IAAI,MAAM,CAAC;CAE7C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,QAAQ;CAEnC,UAAU,EAAE,QAAQ,CAAC,QAAQ,MAAM;CAEnC,WAAW,EAAE,QAAQ,CAAC,UAAU;CAEhC,WAAW,EAAE,QAAQ,CAAC,UAAU;CACjC,CAAC;;;;AAOF,MAAa,uBAAuB,EAAE,OAAO;CAE3C,WAAW,EAAE,QAAQ;CAErB,WAAW,EAAE,MAAM,CAAC,8BAAc,IAAI,MAAM,CAAC;CAC9C,CAAC;;;;;;;;;;;;;;;;;;;;;ACrCF,SAAgB,uBAAuB,OAAiC;CACtE,MAAM,SAAS,sBAAsB,UAAU,MAAM;AAErD,KAAI,OAAO,QACT,QAAO,OAAO;AAIhB,QAAO;EACL,QAAQ;EACR,MAAM;EACN,aAAa,EAAE;EAChB;;;;;;;;AASH,SAAgB,sBAAsB,OAAgC;CACpE,MAAM,SAAS,qBAAqB,UAAU,MAAM;AAEpD,KAAI,OAAO,QACT,QAAO,OAAO;AAIhB,QAAO;EACL,QAAQ;EACR,MAAM;EACN,aAAa,EAAE;EACf,2BAAW,IAAI,MAAM;EACrB,QAAQ;EACR,UAAU;EACX;;;;;;;;;;AAWH,SAAgB,qBACd,UACA,WACgB;AAChB,QAAO;EACL,GAAG;EACH,2BAAW,IAAI,MAAM;EACrB,QAAQ;EACR,UAAU;EACV,GAAG;EACJ;;;;;;;;;AAUH,SAAgB,cAAc,SAA0B,YAA6B;AACnF,QAAO,QAAQ,YAAY,SAAS,WAAW,IAAI,QAAQ,SAAS;;;;;;;;;AAUtE,SAAgB,iBAAiB,SAA0B,aAAgC;AACzF,KAAI,QAAQ,SAAS,QAAS,QAAO;AACrC,QAAO,YAAY,MAAK,MAAK,QAAQ,YAAY,SAAS,EAAE,CAAC;;;;;;;;;AAU/D,SAAgB,kBAAkB,SAA0B,aAAgC;AAC1F,KAAI,QAAQ,SAAS,QAAS,QAAO;AACrC,QAAO,YAAY,OAAM,MAAK,QAAQ,YAAY,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/agents/workflows/schema.ts
|
|
4
|
+
/**
|
|
5
|
+
* @fileoverview Workflow Schemas
|
|
6
|
+
*
|
|
7
|
+
* Zod schemas for workflow state management.
|
|
8
|
+
*
|
|
9
|
+
* @module @od-oneapp/ai-platform/workflows/schema
|
|
10
|
+
*/
|
|
11
|
+
const workflowStateSchema = z.object({
|
|
12
|
+
id: z.string(),
|
|
13
|
+
status: z.enum([
|
|
14
|
+
"pending",
|
|
15
|
+
"running",
|
|
16
|
+
"completed",
|
|
17
|
+
"failed"
|
|
18
|
+
]),
|
|
19
|
+
currentStepId: z.string().optional(),
|
|
20
|
+
data: z.record(z.string(), z.unknown()),
|
|
21
|
+
error: z.string().optional(),
|
|
22
|
+
updatedAt: z.string().datetime()
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
export { workflowStateSchema as t };
|
|
27
|
+
//# sourceMappingURL=schema-Bu2noOZ4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-Bu2noOZ4.mjs","names":[],"sources":["../src/agents/workflows/schema.ts"],"sourcesContent":["/**\n * @fileoverview Workflow Schemas\n *\n * Zod schemas for workflow state management.\n *\n * @module @od-oneapp/ai-platform/workflows/schema\n */\n\nimport { z } from 'zod';\n\nexport const workflowStateSchema = z.object({\n id: z.string(),\n status: z.enum(['pending', 'running', 'completed', 'failed']),\n currentStepId: z.string().optional(),\n data: z.record(z.string(), z.unknown()),\n error: z.string().optional(),\n updatedAt: z.string().datetime(),\n});\n\nexport type WorkflowState = z.infer<typeof workflowStateSchema>;\n"],"mappings":";;;;;;;;;;AAUA,MAAa,sBAAsB,EAAE,OAAO;CAC1C,IAAI,EAAE,QAAQ;CACd,QAAQ,EAAE,KAAK;EAAC;EAAW;EAAW;EAAa;EAAS,CAAC;CAC7D,eAAe,EAAE,QAAQ,CAAC,UAAU;CACpC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,CAAC;CACvC,OAAO,EAAE,QAAQ,CAAC,UAAU;CAC5B,WAAW,EAAE,QAAQ,CAAC,UAAU;CACjC,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/agents/evaluator-optimizer/schema.ts
|
|
4
|
+
/**
|
|
5
|
+
* Evaluator-Optimizer Schema Definitions
|
|
6
|
+
* Based on VERCEL_AI_SDK_V6_PATTERNS.md section 4.2
|
|
7
|
+
* Comprehensive type definitions for iterative quality refinement
|
|
8
|
+
*/
|
|
9
|
+
/** Minimum iteration number. */
|
|
10
|
+
const MIN_ITERATION_NUMBER = 1;
|
|
11
|
+
/** Maximum iteration number for safety. */
|
|
12
|
+
const MAX_ITERATION_NUMBER = 100;
|
|
13
|
+
/** Minimum quality threshold. */
|
|
14
|
+
const MIN_QUALITY_THRESHOLD = 1;
|
|
15
|
+
/** Maximum quality threshold. */
|
|
16
|
+
const MAX_QUALITY_THRESHOLD = 10;
|
|
17
|
+
/** Maximum allowed issues before failing threshold. */
|
|
18
|
+
const MAX_ALLOWED_ISSUES = 100;
|
|
19
|
+
/**
|
|
20
|
+
* Evaluation result schema with 9-dimensional assessment
|
|
21
|
+
* Used by evaluator tool to assess content quality across multiple criteria
|
|
22
|
+
*/
|
|
23
|
+
const EvaluationResultSchema = z.object({
|
|
24
|
+
qualityScore: z.number().min(1).max(10),
|
|
25
|
+
preservesTone: z.boolean(),
|
|
26
|
+
preservesNuance: z.boolean(),
|
|
27
|
+
culturallyAccurate: z.boolean(),
|
|
28
|
+
technicallyCorrect: z.boolean(),
|
|
29
|
+
specificIssues: z.array(z.string()),
|
|
30
|
+
improvementSuggestions: z.array(z.string()),
|
|
31
|
+
strengths: z.array(z.string()),
|
|
32
|
+
overallAssessment: z.string(),
|
|
33
|
+
meetsThreshold: z.boolean()
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* Optimizer tool input schema
|
|
37
|
+
* Defines what information optimizer receives to improve content
|
|
38
|
+
*/
|
|
39
|
+
const OptimizerInputSchema = z.object({
|
|
40
|
+
content: z.string(),
|
|
41
|
+
evaluationFeedback: EvaluationResultSchema,
|
|
42
|
+
originalRequest: z.string(),
|
|
43
|
+
iterationNumber: z.number().min(MIN_ITERATION_NUMBER).max(MAX_ITERATION_NUMBER).optional(),
|
|
44
|
+
previousVersions: z.array(z.string()).optional()
|
|
45
|
+
});
|
|
46
|
+
/**
|
|
47
|
+
* Evaluator tool input schema
|
|
48
|
+
* Defines what information evaluator receives
|
|
49
|
+
*/
|
|
50
|
+
const EvaluatorInputSchema = z.object({
|
|
51
|
+
content: z.string(),
|
|
52
|
+
originalRequest: z.string(),
|
|
53
|
+
criteria: z.object({
|
|
54
|
+
threshold: z.number().min(MIN_QUALITY_THRESHOLD).max(MAX_QUALITY_THRESHOLD).default(8),
|
|
55
|
+
focusAreas: z.array(z.string()).optional(),
|
|
56
|
+
maxAllowedIssues: z.number().min(0).max(MAX_ALLOWED_ISSUES).optional()
|
|
57
|
+
}).optional(),
|
|
58
|
+
iterationNumber: z.number().min(MIN_ITERATION_NUMBER).max(MAX_ITERATION_NUMBER).optional()
|
|
59
|
+
});
|
|
60
|
+
/**
|
|
61
|
+
* Feedback loop configuration
|
|
62
|
+
*/
|
|
63
|
+
const FeedbackLoopConfigSchema = z.object({
|
|
64
|
+
maxIterations: z.number().min(1).max(10).default(5),
|
|
65
|
+
targetScore: z.number().min(1).max(10).default(8),
|
|
66
|
+
enableLogging: z.boolean().default(false),
|
|
67
|
+
stopOnThreshold: z.boolean().default(true),
|
|
68
|
+
diminishingReturnThreshold: z.number().min(1).default(2)
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* Complete optimization result returned by feedback loop
|
|
72
|
+
*/
|
|
73
|
+
const OptimizedResultSchema = z.object({
|
|
74
|
+
finalContent: z.string(),
|
|
75
|
+
finalEvaluation: EvaluationResultSchema,
|
|
76
|
+
cyclesCompleted: z.number(),
|
|
77
|
+
meetsThreshold: z.boolean(),
|
|
78
|
+
scoreHistory: z.array(z.number()),
|
|
79
|
+
contentHistory: z.array(z.string()),
|
|
80
|
+
terminationReason: z.enum([
|
|
81
|
+
"threshold_met",
|
|
82
|
+
"max_iterations",
|
|
83
|
+
"diminishing_returns",
|
|
84
|
+
"error"
|
|
85
|
+
]),
|
|
86
|
+
error: z.string().optional(),
|
|
87
|
+
metadata: z.object({
|
|
88
|
+
startTime: z.string(),
|
|
89
|
+
endTime: z.string(),
|
|
90
|
+
processingTimeMs: z.number(),
|
|
91
|
+
averageScoreImprovement: z.number()
|
|
92
|
+
}).optional()
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
//#endregion
|
|
96
|
+
export { FeedbackLoopConfigSchema as n, EvaluationResultSchema as t };
|
|
97
|
+
//# sourceMappingURL=schema-CwFvuCnA.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-CwFvuCnA.mjs","names":[],"sources":["../src/agents/evaluator-optimizer/schema.ts"],"sourcesContent":["/**\n * Evaluator-Optimizer Schema Definitions\n * Based on VERCEL_AI_SDK_V6_PATTERNS.md section 4.2\n * Comprehensive type definitions for iterative quality refinement\n */\n\nimport { z } from 'zod';\n\n/** Minimum iteration number. */\nconst MIN_ITERATION_NUMBER = 1;\n\n/** Maximum iteration number for safety. */\nconst MAX_ITERATION_NUMBER = 100;\n\n/** Minimum quality threshold. */\nconst MIN_QUALITY_THRESHOLD = 1;\n\n/** Maximum quality threshold. */\nconst MAX_QUALITY_THRESHOLD = 10;\n\n/** Maximum allowed issues before failing threshold. */\nconst MAX_ALLOWED_ISSUES = 100;\n\n/**\n * Evaluation result schema with 9-dimensional assessment\n * Used by evaluator tool to assess content quality across multiple criteria\n */\nexport const EvaluationResultSchema = z.object({\n /**\n * Overall quality score (1-10)\n * 1-3: Poor, significant issues\n * 4-6: Fair, notable problems\n * 7-8: Good, minor improvements needed\n * 9-10: Excellent, meets or exceeds threshold\n */\n qualityScore: z.number().min(1).max(10),\n\n /**\n * Checks if original tone is preserved in the content\n * True: Tone maintained appropriately\n * False: Tone has been altered inappropriately\n */\n preservesTone: z.boolean(),\n\n /**\n * Checks if nuance and subtlety are preserved\n * True: Nuanced meaning preserved\n * False: Oversimplified or missing context\n */\n preservesNuance: z.boolean(),\n\n /**\n * Cultural sensitivity and accuracy assessment\n * True: Culturally appropriate and accurate\n * False: Contains cultural inaccuracies or insensitivity\n */\n culturallyAccurate: z.boolean(),\n\n /**\n * Technical accuracy and correctness\n * True: All technical content is accurate\n * False: Contains technical errors or inaccuracies\n */\n technicallyCorrect: z.boolean(),\n\n /**\n * Array of specific issues found during evaluation\n * Each string describes a concrete problem\n * Examples: \"Missing context\", \"Grammatical error\", \"Unclear reference\"\n */\n specificIssues: z.array(z.string()),\n\n /**\n * Actionable suggestions for improvement\n * Each string provides specific guidance on how to improve\n * Examples: \"Expand paragraph 2\", \"Add examples\", \"Clarify terminology\"\n */\n improvementSuggestions: z.array(z.string()),\n\n /**\n * Identified strengths to preserve during optimization\n * These aspects should be maintained and not changed during optimization\n * Examples: \"Strong opening\", \"Clear methodology\", \"Engaging examples\"\n */\n strengths: z.array(z.string()),\n\n /**\n * Summary assessment of the overall content quality\n * Brief narrative summary combining all evaluation dimensions\n */\n overallAssessment: z.string(),\n\n /**\n * Boolean indicating if content meets quality threshold\n * Automatically determined: meetsThreshold = qualityScore >= targetThreshold\n * True: Content meets or exceeds threshold, ready to deliver\n * False: Content needs optimization cycle\n */\n meetsThreshold: z.boolean(),\n});\n\n/**\n * Type extracted from EvaluationResultSchema\n */\nexport type EvaluationResult = z.infer<typeof EvaluationResultSchema>;\n\n/**\n * Optimizer tool input schema\n * Defines what information optimizer receives to improve content\n */\nexport const OptimizerInputSchema = z.object({\n /**\n * The current content that needs optimization\n */\n content: z.string(),\n\n /**\n * Evaluation feedback from the evaluator tool\n * Contains scores, issues, and suggestions\n */\n evaluationFeedback: EvaluationResultSchema,\n\n /**\n * The original user request that spawned this content generation\n * Used to ensure optimizations stay aligned with original intent\n */\n originalRequest: z.string(),\n\n /**\n * Optional iteration context (1-100).\n */\n iterationNumber: z.number().min(MIN_ITERATION_NUMBER).max(MAX_ITERATION_NUMBER).optional(),\n\n /**\n * Optional previous versions for comparison.\n */\n previousVersions: z.array(z.string()).optional(),\n});\n\nexport type OptimizerInput = z.infer<typeof OptimizerInputSchema>;\n\n/**\n * Evaluator tool input schema\n * Defines what information evaluator receives\n */\nexport const EvaluatorInputSchema = z.object({\n /**\n * Content to evaluate\n */\n content: z.string(),\n\n /**\n * Original request that generated this content\n * Provides context for evaluation\n */\n originalRequest: z.string(),\n\n /**\n * Optional evaluation criteria and thresholds.\n */\n criteria: z\n .object({\n /**\n * Target quality threshold (default: 8).\n * Content must reach this score to pass.\n */\n threshold: z.number().min(MIN_QUALITY_THRESHOLD).max(MAX_QUALITY_THRESHOLD).default(8),\n\n /**\n * Specific evaluation focus areas.\n * If provided, evaluator emphasizes these dimensions.\n */\n focusAreas: z.array(z.string()).optional(),\n\n /**\n * Maximum allowed issues before failing threshold.\n * If provided, helps determine meetsThreshold.\n */\n maxAllowedIssues: z.number().min(0).max(MAX_ALLOWED_ISSUES).optional(),\n })\n .optional(),\n\n /**\n * Optional iteration context (1-100).\n */\n iterationNumber: z.number().min(MIN_ITERATION_NUMBER).max(MAX_ITERATION_NUMBER).optional(),\n});\n\nexport type EvaluatorInput = z.infer<typeof EvaluatorInputSchema>;\n\n/**\n * Feedback loop configuration\n */\nexport const FeedbackLoopConfigSchema = z.object({\n /**\n * Maximum number of evaluation-optimization cycles (default: 5)\n */\n maxIterations: z.number().min(1).max(10).default(5),\n\n /**\n * Target quality score threshold (default: 8, range 1-10)\n * Content must reach this score to exit the loop\n */\n targetScore: z.number().min(1).max(10).default(8),\n\n /**\n * Enable detailed logging of each cycle (default: false)\n */\n enableLogging: z.boolean().default(false),\n\n /**\n * Stop on first threshold achievement (default: true)\n * If false, continues to attempt reaching even higher scores\n */\n stopOnThreshold: z.boolean().default(true),\n\n /**\n * Detect diminishing returns after N cycles without improvement\n */\n diminishingReturnThreshold: z.number().min(1).default(2),\n});\n\nexport type FeedbackLoopConfig = z.infer<typeof FeedbackLoopConfigSchema>;\n\n/**\n * Complete optimization result returned by feedback loop\n */\nexport const OptimizedResultSchema = z.object({\n /**\n * Final optimized content\n */\n finalContent: z.string(),\n\n /**\n * Final evaluation result\n */\n finalEvaluation: EvaluationResultSchema,\n\n /**\n * Total number of cycles completed\n */\n cyclesCompleted: z.number(),\n\n /**\n * Whether content met threshold\n */\n meetsThreshold: z.boolean(),\n\n /**\n * History of evaluation scores across cycles\n * Index 0 = initial evaluation, last index = final evaluation\n */\n scoreHistory: z.array(z.number()),\n\n /**\n * History of content versions\n * Index 0 = initial content, last index = final content\n */\n contentHistory: z.array(z.string()),\n\n /**\n * Reason for loop termination\n * - \"threshold_met\": reached target score\n * - \"max_iterations\": reached max cycles without meeting threshold\n * - \"diminishing_returns\": detected diminishing returns\n * - \"error\": error occurred during processing\n */\n terminationReason: z.enum(['threshold_met', 'max_iterations', 'diminishing_returns', 'error']),\n\n /**\n * Optional error message if termination reason is \"error\"\n */\n error: z.string().optional(),\n\n /**\n * Metadata about the optimization process\n */\n metadata: z\n .object({\n startTime: z.string(),\n endTime: z.string(),\n processingTimeMs: z.number(),\n averageScoreImprovement: z.number(),\n })\n .optional(),\n});\n\nexport type OptimizedResult = z.infer<typeof OptimizedResultSchema>;\n\n/**\n * Evaluator interface for dependency injection\n */\nexport interface Evaluator {\n evaluate(input: EvaluatorInput): Promise<EvaluationResult>;\n}\n\n/**\n * Optimizer interface for dependency injection\n */\nexport interface Optimizer {\n optimize(input: OptimizerInput): Promise<string>;\n}\n"],"mappings":";;;;;;;;;AASA,MAAM,uBAAuB;;AAG7B,MAAM,uBAAuB;;AAG7B,MAAM,wBAAwB;;AAG9B,MAAM,wBAAwB;;AAG9B,MAAM,qBAAqB;;;;;AAM3B,MAAa,yBAAyB,EAAE,OAAO;CAQ7C,cAAc,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG;CAOvC,eAAe,EAAE,SAAS;CAO1B,iBAAiB,EAAE,SAAS;CAO5B,oBAAoB,EAAE,SAAS;CAO/B,oBAAoB,EAAE,SAAS;CAO/B,gBAAgB,EAAE,MAAM,EAAE,QAAQ,CAAC;CAOnC,wBAAwB,EAAE,MAAM,EAAE,QAAQ,CAAC;CAO3C,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC;CAM9B,mBAAmB,EAAE,QAAQ;CAQ7B,gBAAgB,EAAE,SAAS;CAC5B,CAAC;;;;;AAWF,MAAa,uBAAuB,EAAE,OAAO;CAI3C,SAAS,EAAE,QAAQ;CAMnB,oBAAoB;CAMpB,iBAAiB,EAAE,QAAQ;CAK3B,iBAAiB,EAAE,QAAQ,CAAC,IAAI,qBAAqB,CAAC,IAAI,qBAAqB,CAAC,UAAU;CAK1F,kBAAkB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,UAAU;CACjD,CAAC;;;;;AAQF,MAAa,uBAAuB,EAAE,OAAO;CAI3C,SAAS,EAAE,QAAQ;CAMnB,iBAAiB,EAAE,QAAQ;CAK3B,UAAU,EACP,OAAO;EAKN,WAAW,EAAE,QAAQ,CAAC,IAAI,sBAAsB,CAAC,IAAI,sBAAsB,CAAC,QAAQ,EAAE;EAMtF,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,UAAU;EAM1C,kBAAkB,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,mBAAmB,CAAC,UAAU;EACvE,CAAC,CACD,UAAU;CAKb,iBAAiB,EAAE,QAAQ,CAAC,IAAI,qBAAqB,CAAC,IAAI,qBAAqB,CAAC,UAAU;CAC3F,CAAC;;;;AAOF,MAAa,2BAA2B,EAAE,OAAO;CAI/C,eAAe,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE;CAMnD,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE;CAKjD,eAAe,EAAE,SAAS,CAAC,QAAQ,MAAM;CAMzC,iBAAiB,EAAE,SAAS,CAAC,QAAQ,KAAK;CAK1C,4BAA4B,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CACzD,CAAC;;;;AAOF,MAAa,wBAAwB,EAAE,OAAO;CAI5C,cAAc,EAAE,QAAQ;CAKxB,iBAAiB;CAKjB,iBAAiB,EAAE,QAAQ;CAK3B,gBAAgB,EAAE,SAAS;CAM3B,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC;CAMjC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,CAAC;CASnC,mBAAmB,EAAE,KAAK;EAAC;EAAiB;EAAkB;EAAuB;EAAQ,CAAC;CAK9F,OAAO,EAAE,QAAQ,CAAC,UAAU;CAK5B,UAAU,EACP,OAAO;EACN,WAAW,EAAE,QAAQ;EACrB,SAAS,EAAE,QAAQ;EACnB,kBAAkB,EAAE,QAAQ;EAC5B,yBAAyB,EAAE,QAAQ;EACpC,CAAC,CACD,UAAU;CACd,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/agents/workflows/interfaces.d.ts
|
|
4
|
+
interface WorkflowStep<TInput = unknown, TOutput = unknown> {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
execute(input: TInput): Promise<TOutput>;
|
|
8
|
+
}
|
|
9
|
+
interface Workflow<TState> {
|
|
10
|
+
id: string;
|
|
11
|
+
state: TState;
|
|
12
|
+
steps: WorkflowStep<unknown, unknown>[];
|
|
13
|
+
run(): Promise<TState>;
|
|
14
|
+
}
|
|
15
|
+
interface StateSerializer<T> {
|
|
16
|
+
serialize(state: T): string;
|
|
17
|
+
deserialize(json: string): T;
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region src/agents/workflows/schema.d.ts
|
|
21
|
+
declare const workflowStateSchema: z.ZodObject<{
|
|
22
|
+
id: z.ZodString;
|
|
23
|
+
status: z.ZodEnum<{
|
|
24
|
+
running: "running";
|
|
25
|
+
completed: "completed";
|
|
26
|
+
failed: "failed";
|
|
27
|
+
pending: "pending";
|
|
28
|
+
}>;
|
|
29
|
+
currentStepId: z.ZodOptional<z.ZodString>;
|
|
30
|
+
data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
31
|
+
error: z.ZodOptional<z.ZodString>;
|
|
32
|
+
updatedAt: z.ZodString;
|
|
33
|
+
}, z.core.$strip>;
|
|
34
|
+
type WorkflowState = z.infer<typeof workflowStateSchema>;
|
|
35
|
+
//#endregion
|
|
36
|
+
export { WorkflowStep as a, Workflow as i, workflowStateSchema as n, StateSerializer as r, WorkflowState as t };
|
|
37
|
+
//# sourceMappingURL=schema-Wz-1-ro9.d.mts.map
|