@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,327 @@
|
|
|
1
|
+
# Health Check Quick Start Guide
|
|
2
|
+
|
|
3
|
+
Get started with the health check endpoint in 5 minutes.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
The health check module is located at:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
@od-oneapp/ai-platform/src/internal/routes
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Import the functions:
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import {
|
|
17
|
+
checkHealth,
|
|
18
|
+
createHealthCheckHandler,
|
|
19
|
+
createNextHealthCheckHandler,
|
|
20
|
+
createHealthCheckMiddleware
|
|
21
|
+
} from "@od-oneapp/ai-platform";
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Next.js Example (Most Common)
|
|
25
|
+
|
|
26
|
+
**File: `app/api/health/route.ts`**
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
import { createNextHealthCheckHandler } from "@od-oneapp/ai-platform";
|
|
30
|
+
|
|
31
|
+
export const GET = createNextHealthCheckHandler({
|
|
32
|
+
enableDatabase: true,
|
|
33
|
+
enableRedis: true,
|
|
34
|
+
enableAIProvider: true,
|
|
35
|
+
enableMemory: true
|
|
36
|
+
});
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
That's it! Your endpoint is now at `GET /api/health`
|
|
40
|
+
|
|
41
|
+
## Express Example
|
|
42
|
+
|
|
43
|
+
**File: `src/routes/health.ts`**
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
import express from "express";
|
|
47
|
+
import { createHealthCheckHandler } from "@od-oneapp/ai-platform";
|
|
48
|
+
|
|
49
|
+
const router = express.Router();
|
|
50
|
+
|
|
51
|
+
router.get(
|
|
52
|
+
"/health",
|
|
53
|
+
createHealthCheckHandler({
|
|
54
|
+
enableDatabase: true,
|
|
55
|
+
enableRedis: true,
|
|
56
|
+
enableAIProvider: true,
|
|
57
|
+
enableMemory: true
|
|
58
|
+
})
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
export default router;
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Add to your app:
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
import healthRouter from "./routes/health";
|
|
68
|
+
app.use(healthRouter);
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Environment Variables
|
|
72
|
+
|
|
73
|
+
Set these for the health check to work:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# Required for database checks
|
|
77
|
+
DATABASE_URL=postgresql://user:pass@localhost:5432/db
|
|
78
|
+
|
|
79
|
+
# Optional for Redis checks
|
|
80
|
+
REDIS_URL=redis://localhost:6379/0
|
|
81
|
+
|
|
82
|
+
# Optional for monitoring
|
|
83
|
+
NODE_ENV=production
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Test It
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# In development
|
|
90
|
+
curl http://localhost:3000/api/health
|
|
91
|
+
|
|
92
|
+
# Expected response (healthy)
|
|
93
|
+
{
|
|
94
|
+
"status": "healthy",
|
|
95
|
+
"timestamp": "2024-01-29T12:34:56.789Z",
|
|
96
|
+
"version": "1.0.0",
|
|
97
|
+
"environment": "development",
|
|
98
|
+
"uptime": 1234.5,
|
|
99
|
+
"responseTime": 127,
|
|
100
|
+
"checks": {
|
|
101
|
+
"database": { "connected": true, "status": "up", "latency": 12 },
|
|
102
|
+
"redis": { "connected": true, "status": "up", "latency": 5 },
|
|
103
|
+
"aiProvider": { "available": true, "status": "up", "latency": 150 },
|
|
104
|
+
"memory": { "heapUsed": 52428800, "heapTotal": 209715200, "heapUsedPercent": 25.0, "status": "ok" }
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Status Codes
|
|
110
|
+
|
|
111
|
+
| Status | HTTP Code | Meaning |
|
|
112
|
+
| --------- | --------- | ------------------------------------- |
|
|
113
|
+
| healthy | 200 | All systems operational |
|
|
114
|
+
| degraded | 200 | Core works, some features unavailable |
|
|
115
|
+
| unhealthy | 503 | Critical failure, restart pod |
|
|
116
|
+
|
|
117
|
+
## Kubernetes Deployment
|
|
118
|
+
|
|
119
|
+
Add to your deployment YAML:
|
|
120
|
+
|
|
121
|
+
```yaml
|
|
122
|
+
apiVersion: apps/v1
|
|
123
|
+
kind: Deployment
|
|
124
|
+
metadata:
|
|
125
|
+
name: my-app
|
|
126
|
+
spec:
|
|
127
|
+
template:
|
|
128
|
+
spec:
|
|
129
|
+
containers:
|
|
130
|
+
- name: app
|
|
131
|
+
livenessProbe:
|
|
132
|
+
httpGet:
|
|
133
|
+
path: /api/health
|
|
134
|
+
port: 3000
|
|
135
|
+
initialDelaySeconds: 30
|
|
136
|
+
periodSeconds: 10
|
|
137
|
+
readinessProbe:
|
|
138
|
+
httpGet:
|
|
139
|
+
path: /api/health
|
|
140
|
+
port: 3000
|
|
141
|
+
initialDelaySeconds: 10
|
|
142
|
+
periodSeconds: 5
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Monitoring Integration
|
|
146
|
+
|
|
147
|
+
Send health metrics to Datadog every 30 seconds:
|
|
148
|
+
|
|
149
|
+
```typescript
|
|
150
|
+
import { checkHealth } from "@od-oneapp/ai-platform";
|
|
151
|
+
|
|
152
|
+
setInterval(async () => {
|
|
153
|
+
const health = await checkHealth({
|
|
154
|
+
enableDatabase: true,
|
|
155
|
+
enableRedis: true,
|
|
156
|
+
enableAIProvider: true,
|
|
157
|
+
enableMemory: true
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
// Send to Datadog
|
|
161
|
+
await fetch("https://api.datadoghq.com/api/v1/series", {
|
|
162
|
+
method: "POST",
|
|
163
|
+
headers: { "DD-API-KEY": process.env.DATADOG_API_KEY },
|
|
164
|
+
body: JSON.stringify({
|
|
165
|
+
series: [
|
|
166
|
+
{
|
|
167
|
+
metric: "app.health.status",
|
|
168
|
+
points: [[Date.now() / 1000, health.status === "healthy" ? 1 : 0]],
|
|
169
|
+
tags: ["env:production"]
|
|
170
|
+
}
|
|
171
|
+
]
|
|
172
|
+
})
|
|
173
|
+
});
|
|
174
|
+
}, 30000);
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## Advanced: Custom Checks
|
|
178
|
+
|
|
179
|
+
Add application-specific checks:
|
|
180
|
+
|
|
181
|
+
```typescript
|
|
182
|
+
import { checkHealth } from "@od-oneapp/ai-platform";
|
|
183
|
+
import type { ComponentHealth } from "@od-oneapp/ai-platform";
|
|
184
|
+
|
|
185
|
+
async function checkSearchIndex(): Promise<ComponentHealth> {
|
|
186
|
+
try {
|
|
187
|
+
const res = await fetch("http://elasticsearch:9200/_cluster/health");
|
|
188
|
+
const data = await res.json();
|
|
189
|
+
return {
|
|
190
|
+
status: data.status === "green" ? "up" : "degraded",
|
|
191
|
+
available: data.status !== "red"
|
|
192
|
+
};
|
|
193
|
+
} catch (error) {
|
|
194
|
+
return { status: "down", available: false, error: "Connection failed" };
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
const health = await checkHealth({
|
|
199
|
+
enableDatabase: true,
|
|
200
|
+
enableRedis: true,
|
|
201
|
+
enableMemory: true,
|
|
202
|
+
customChecks: [{ name: "elasticsearch", check: checkSearchIndex }]
|
|
203
|
+
});
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## Troubleshooting
|
|
207
|
+
|
|
208
|
+
### Health check always shows "unhealthy"
|
|
209
|
+
|
|
210
|
+
1. Check DATABASE_URL is set: `echo $DATABASE_URL`
|
|
211
|
+
2. Verify database is running: `psql -U user -d db -c "SELECT 1"`
|
|
212
|
+
3. Check database credentials in connection string
|
|
213
|
+
|
|
214
|
+
### Response time is slow (>500ms)
|
|
215
|
+
|
|
216
|
+
1. Check database performance: `EXPLAIN ANALYZE SELECT 1`
|
|
217
|
+
2. Verify connection pool isn't exhausted
|
|
218
|
+
3. Check network latency to Redis/database
|
|
219
|
+
4. Reduce number of custom checks
|
|
220
|
+
|
|
221
|
+
### Redis connection fails
|
|
222
|
+
|
|
223
|
+
Redis is optional. If not needed, disable it:
|
|
224
|
+
|
|
225
|
+
```typescript
|
|
226
|
+
createHealthCheckHandler({
|
|
227
|
+
enableRedis: false, // Skip Redis checks
|
|
228
|
+
enableDatabase: true,
|
|
229
|
+
enableMemory: true
|
|
230
|
+
});
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Need to skip database checks
|
|
234
|
+
|
|
235
|
+
```typescript
|
|
236
|
+
createHealthCheckHandler({
|
|
237
|
+
enableDatabase: false, // Skip DB checks
|
|
238
|
+
enableRedis: true,
|
|
239
|
+
enableMemory: true
|
|
240
|
+
});
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
## Monitoring Dashboard
|
|
244
|
+
|
|
245
|
+
Useful metrics to track:
|
|
246
|
+
|
|
247
|
+
```
|
|
248
|
+
- health.status (1=healthy, 0=unhealthy)
|
|
249
|
+
- health.response_time_ms (should be <500ms)
|
|
250
|
+
- health.database.latency_ms (should be <50ms)
|
|
251
|
+
- health.redis.latency_ms (should be <10ms)
|
|
252
|
+
- health.memory.heap_percent (should be <80%)
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
## Common Configurations
|
|
256
|
+
|
|
257
|
+
### Minimal (memory only)
|
|
258
|
+
|
|
259
|
+
```typescript
|
|
260
|
+
createHealthCheckHandler({
|
|
261
|
+
enableDatabase: false,
|
|
262
|
+
enableRedis: false,
|
|
263
|
+
enableAIProvider: false,
|
|
264
|
+
enableMemory: true
|
|
265
|
+
});
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Production (all checks)
|
|
269
|
+
|
|
270
|
+
```typescript
|
|
271
|
+
createHealthCheckHandler({
|
|
272
|
+
enableDatabase: true,
|
|
273
|
+
enableRedis: true,
|
|
274
|
+
enableAIProvider: true,
|
|
275
|
+
enableMemory: true,
|
|
276
|
+
includeSensitiveDetails: false,
|
|
277
|
+
timeoutMs: 5000
|
|
278
|
+
});
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### High Performance (skip optional)
|
|
282
|
+
|
|
283
|
+
```typescript
|
|
284
|
+
createHealthCheckHandler({
|
|
285
|
+
enableDatabase: true,
|
|
286
|
+
enableMemory: true,
|
|
287
|
+
enableRedis: false,
|
|
288
|
+
enableAIProvider: false,
|
|
289
|
+
checkTimeoutMs: 1000
|
|
290
|
+
});
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
## Performance Tips
|
|
294
|
+
|
|
295
|
+
1. **Cache results**: Health checks query multiple services
|
|
296
|
+
2. **Use connection pools**: Don't create new connections per check
|
|
297
|
+
3. **Set timeouts**: Prevent hanging on slow services
|
|
298
|
+
4. **Skip optional services**: Not all checks are critical
|
|
299
|
+
5. **Monitor the monitor**: Track health check latency
|
|
300
|
+
|
|
301
|
+
## Files Reference
|
|
302
|
+
|
|
303
|
+
| File | Purpose |
|
|
304
|
+
| ----------------------- | ---------------------- |
|
|
305
|
+
| `health-check.ts` | Main implementation |
|
|
306
|
+
| `health-check.types.ts` | TypeScript definitions |
|
|
307
|
+
| `index.ts` | Exports |
|
|
308
|
+
| `HEALTH_CHECK.md` | Full documentation |
|
|
309
|
+
| `examples.ts` | More examples |
|
|
310
|
+
| `health-check.test.ts` | Tests |
|
|
311
|
+
|
|
312
|
+
## Next Steps
|
|
313
|
+
|
|
314
|
+
1. ✅ Copy implementation to your project
|
|
315
|
+
2. ✅ Add environment variables
|
|
316
|
+
3. ✅ Create endpoint in your app
|
|
317
|
+
4. ✅ Test with `curl http://localhost:3000/api/health`
|
|
318
|
+
5. ✅ Add Kubernetes probes
|
|
319
|
+
6. ✅ Set up monitoring dashboard
|
|
320
|
+
7. ✅ Configure alerting
|
|
321
|
+
|
|
322
|
+
## Get Help
|
|
323
|
+
|
|
324
|
+
- Read full guide: [HEALTH_CHECK.md](./HEALTH_CHECK.md)
|
|
325
|
+
- View examples: [examples.ts](./examples.ts)
|
|
326
|
+
- Check tests: [health-check.test.ts](./health-check.test.ts)
|
|
327
|
+
- Full reference: [README.md](./README.md)
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
# AI Platform Internal Routes
|
|
2
|
+
|
|
3
|
+
This package contains internal route handlers for the AI Platform, following the VERCEL_AI_SDK_V6_PATTERNS.md standards.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The internal routes module provides production-ready route handlers and middleware for AI platform applications,
|
|
8
|
+
including comprehensive health check endpoint patterns.
|
|
9
|
+
|
|
10
|
+
## Directory Structure
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
src/internal/routes/
|
|
14
|
+
├── README.md # This file
|
|
15
|
+
├── HEALTH_CHECK.md # Comprehensive health check documentation
|
|
16
|
+
├── index.ts # Main exports
|
|
17
|
+
├── health-check.ts # Health check implementation
|
|
18
|
+
├── health-check.types.ts # TypeScript type definitions
|
|
19
|
+
├── health-check.test.ts # Test suite
|
|
20
|
+
└── examples.ts # Usage examples for different frameworks
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Files
|
|
24
|
+
|
|
25
|
+
### `health-check.ts`
|
|
26
|
+
|
|
27
|
+
Main implementation file containing:
|
|
28
|
+
|
|
29
|
+
- `checkHealth()`: Core health check function
|
|
30
|
+
- `createHealthCheckHandler()`: Express/generic handler factory
|
|
31
|
+
- `createNextHealthCheckHandler()`: Next.js 13+ handler
|
|
32
|
+
- `createHealthCheckMiddleware()`: Express middleware factory
|
|
33
|
+
|
|
34
|
+
### `health-check.types.ts`
|
|
35
|
+
|
|
36
|
+
Comprehensive TypeScript type definitions:
|
|
37
|
+
|
|
38
|
+
- `ServiceStatus`: Status levels (healthy, degraded, unhealthy)
|
|
39
|
+
- `ComponentHealth`: Individual service status
|
|
40
|
+
- `DatabaseHealth`: Database-specific checks
|
|
41
|
+
- `RedisHealth`: Redis-specific checks
|
|
42
|
+
- `AIProviderHealth`: AI model provider checks
|
|
43
|
+
- `MemoryHealth`: Memory usage information
|
|
44
|
+
- `HealthCheckConfig`: Configuration interface
|
|
45
|
+
- `HealthCheckResult`: Response format
|
|
46
|
+
|
|
47
|
+
### `index.ts`
|
|
48
|
+
|
|
49
|
+
Barrel export file for all public APIs and types.
|
|
50
|
+
|
|
51
|
+
### `HEALTH_CHECK.md`
|
|
52
|
+
|
|
53
|
+
Detailed documentation including:
|
|
54
|
+
|
|
55
|
+
- Quick start guides
|
|
56
|
+
- Complete API reference
|
|
57
|
+
- Configuration options
|
|
58
|
+
- Usage examples
|
|
59
|
+
- Best practices and anti-patterns
|
|
60
|
+
- Kubernetes integration
|
|
61
|
+
- Load balancer setup
|
|
62
|
+
- Monitoring integration
|
|
63
|
+
- Troubleshooting guide
|
|
64
|
+
|
|
65
|
+
### `health-check.test.ts`
|
|
66
|
+
|
|
67
|
+
Comprehensive test suite covering:
|
|
68
|
+
|
|
69
|
+
- Basic health check functionality
|
|
70
|
+
- All component checks (database, Redis, AI provider, memory)
|
|
71
|
+
- Handler creation and execution
|
|
72
|
+
- Middleware behavior
|
|
73
|
+
- Status determination logic
|
|
74
|
+
- Configuration options
|
|
75
|
+
- Performance characteristics
|
|
76
|
+
- Error handling
|
|
77
|
+
|
|
78
|
+
### `examples.ts`
|
|
79
|
+
|
|
80
|
+
Real-world usage examples:
|
|
81
|
+
|
|
82
|
+
- Next.js 13+ Route Handlers
|
|
83
|
+
- Express.js integration
|
|
84
|
+
- Express middleware setup
|
|
85
|
+
- Direct function calls
|
|
86
|
+
- Custom health checks
|
|
87
|
+
- Kubernetes deployment
|
|
88
|
+
- Nginx load balancer config
|
|
89
|
+
- Monitoring and alerting
|
|
90
|
+
- Testing patterns
|
|
91
|
+
- Environment configuration
|
|
92
|
+
|
|
93
|
+
## Quick Start
|
|
94
|
+
|
|
95
|
+
### Next.js
|
|
96
|
+
|
|
97
|
+
```typescript
|
|
98
|
+
// app/api/health/route.ts
|
|
99
|
+
import { createNextHealthCheckHandler } from "@od-oneapp/ai-platform";
|
|
100
|
+
|
|
101
|
+
export const GET = createNextHealthCheckHandler({
|
|
102
|
+
enableDatabase: true,
|
|
103
|
+
enableRedis: true,
|
|
104
|
+
enableAIProvider: true,
|
|
105
|
+
enableMemory: true
|
|
106
|
+
});
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Express
|
|
110
|
+
|
|
111
|
+
```typescript
|
|
112
|
+
import express from "express";
|
|
113
|
+
import { createHealthCheckHandler } from "@od-oneapp/ai-platform";
|
|
114
|
+
|
|
115
|
+
const app = express();
|
|
116
|
+
|
|
117
|
+
app.get(
|
|
118
|
+
"/health",
|
|
119
|
+
createHealthCheckHandler({
|
|
120
|
+
enableDatabase: true,
|
|
121
|
+
enableRedis: true,
|
|
122
|
+
enableAIProvider: true,
|
|
123
|
+
enableMemory: true
|
|
124
|
+
})
|
|
125
|
+
);
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Key Features
|
|
129
|
+
|
|
130
|
+
### Comprehensive Health Checks
|
|
131
|
+
|
|
132
|
+
- **Database**: PostgreSQL connectivity and pool status
|
|
133
|
+
- **Redis**: Connection and memory usage
|
|
134
|
+
- **AI Providers**: OpenAI, Anthropic, Gemini availability
|
|
135
|
+
- **Memory**: Heap usage and thresholds
|
|
136
|
+
- **Custom**: Support for application-specific checks
|
|
137
|
+
|
|
138
|
+
### Status Levels
|
|
139
|
+
|
|
140
|
+
- **healthy** (HTTP 200): All critical dependencies operational
|
|
141
|
+
- **degraded** (HTTP 200): Core works, some features unavailable
|
|
142
|
+
- **unhealthy** (HTTP 503): Critical failure, cannot serve requests
|
|
143
|
+
|
|
144
|
+
### Framework Support
|
|
145
|
+
|
|
146
|
+
- Next.js 13+ Route Handlers
|
|
147
|
+
- Express.js and compatible frameworks
|
|
148
|
+
- Generic request/response handlers
|
|
149
|
+
- Middleware pattern support
|
|
150
|
+
|
|
151
|
+
### Production Features
|
|
152
|
+
|
|
153
|
+
- Configurable timeouts with defaults
|
|
154
|
+
- Parallel check execution
|
|
155
|
+
- Result caching support
|
|
156
|
+
- Custom check integration
|
|
157
|
+
- Memory usage thresholds
|
|
158
|
+
- Sensitive error suppression in production
|
|
159
|
+
- Proper HTTP status codes for load balancers
|
|
160
|
+
- Version and environment information
|
|
161
|
+
- Response time tracking
|
|
162
|
+
|
|
163
|
+
## Configuration
|
|
164
|
+
|
|
165
|
+
```typescript
|
|
166
|
+
interface HealthCheckConfig {
|
|
167
|
+
// Enable/disable specific checks
|
|
168
|
+
enableDatabase?: boolean;
|
|
169
|
+
enableRedis?: boolean;
|
|
170
|
+
enableAIProvider?: boolean;
|
|
171
|
+
enableMemory?: boolean;
|
|
172
|
+
|
|
173
|
+
// Custom checks
|
|
174
|
+
customChecks?: Array<{
|
|
175
|
+
name: string;
|
|
176
|
+
check: () => Promise<ComponentHealth>;
|
|
177
|
+
}>;
|
|
178
|
+
|
|
179
|
+
// Timeouts (milliseconds)
|
|
180
|
+
timeoutMs?: number; // Overall (default: 5000)
|
|
181
|
+
checkTimeoutMs?: number; // Per-check (default: 2000)
|
|
182
|
+
|
|
183
|
+
// Connection strings (uses env vars by default)
|
|
184
|
+
databaseUrl?: string;
|
|
185
|
+
redisUrl?: string;
|
|
186
|
+
aiGatewayUrl?: string;
|
|
187
|
+
|
|
188
|
+
// Memory thresholds
|
|
189
|
+
memoryWarningThreshold?: number; // (default: 80%)
|
|
190
|
+
memoryCriticalThreshold?: number; // (default: 90%)
|
|
191
|
+
|
|
192
|
+
// Response options
|
|
193
|
+
includeSensitiveDetails?: boolean;
|
|
194
|
+
version?: string;
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## Response Format
|
|
199
|
+
|
|
200
|
+
```json
|
|
201
|
+
{
|
|
202
|
+
"status": "healthy",
|
|
203
|
+
"timestamp": "2024-01-29T12:34:56.789Z",
|
|
204
|
+
"version": "1.0.0",
|
|
205
|
+
"environment": "production",
|
|
206
|
+
"uptime": 86400.123,
|
|
207
|
+
"responseTime": 245,
|
|
208
|
+
"checks": {
|
|
209
|
+
"database": {
|
|
210
|
+
"connected": true,
|
|
211
|
+
"status": "up",
|
|
212
|
+
"latency": 12
|
|
213
|
+
},
|
|
214
|
+
"redis": {
|
|
215
|
+
"connected": true,
|
|
216
|
+
"status": "up",
|
|
217
|
+
"latency": 5
|
|
218
|
+
},
|
|
219
|
+
"aiProvider": {
|
|
220
|
+
"available": true,
|
|
221
|
+
"status": "up",
|
|
222
|
+
"latency": 150
|
|
223
|
+
},
|
|
224
|
+
"memory": {
|
|
225
|
+
"heapUsed": 52428800,
|
|
226
|
+
"heapTotal": 209715200,
|
|
227
|
+
"heapUsedPercent": 25.0,
|
|
228
|
+
"status": "ok"
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## Best Practices
|
|
235
|
+
|
|
236
|
+
1. **Keep Checks Fast**: Complete in <5 seconds
|
|
237
|
+
2. **Use Connection Pools**: Reuse connections
|
|
238
|
+
3. **Timeout Properly**: Set aggressive timeouts
|
|
239
|
+
4. **Return Proper Status Codes**: 503 for unhealthy
|
|
240
|
+
5. **Include Response Time**: Track performance
|
|
241
|
+
6. **Version Information**: Verify deployments
|
|
242
|
+
7. **Parallel Execution**: Run checks concurrently
|
|
243
|
+
8. **Cache Results**: For frequent monitoring
|
|
244
|
+
9. **Sensitive Data**: Disable in production
|
|
245
|
+
10. **Monitor the Monitor**: Track health check metrics
|
|
246
|
+
|
|
247
|
+
## Integration Patterns
|
|
248
|
+
|
|
249
|
+
### Kubernetes
|
|
250
|
+
|
|
251
|
+
- Liveness probe: `/health` (30s delay, 10s period)
|
|
252
|
+
- Readiness probe: `/health` (10s delay, 5s period)
|
|
253
|
+
- Startup probe: `/health` (for slow startups)
|
|
254
|
+
|
|
255
|
+
### Load Balancing
|
|
256
|
+
|
|
257
|
+
- Nginx health checks: `health_check uri=/health interval=10s`
|
|
258
|
+
- AWS ALB: Target group health check path
|
|
259
|
+
- HAProxy: Check configuration
|
|
260
|
+
|
|
261
|
+
### Monitoring
|
|
262
|
+
|
|
263
|
+
- Datadog: Send metrics from response
|
|
264
|
+
- Prometheus: Expose metrics endpoint
|
|
265
|
+
- PagerDuty: Alert on unhealthy status
|
|
266
|
+
- Slack: Notify on status changes
|
|
267
|
+
|
|
268
|
+
## Testing
|
|
269
|
+
|
|
270
|
+
Run the test suite:
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
npm test -- health-check.test.ts
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
The test suite covers:
|
|
277
|
+
|
|
278
|
+
- All component checks
|
|
279
|
+
- Status determination
|
|
280
|
+
- Handler creation and execution
|
|
281
|
+
- Configuration options
|
|
282
|
+
- Performance characteristics
|
|
283
|
+
- Error handling and edge cases
|
|
284
|
+
|
|
285
|
+
## Examples
|
|
286
|
+
|
|
287
|
+
Comprehensive examples are available in `examples.ts`:
|
|
288
|
+
|
|
289
|
+
- `nextAppRouterExample`: Next.js 13+ Route Handler
|
|
290
|
+
- `expressExample`: Express.js handler
|
|
291
|
+
- `expressMiddlewareExample`: Express middleware
|
|
292
|
+
- `directCallExample`: Direct function usage
|
|
293
|
+
- `customChecksExample`: Adding custom checks
|
|
294
|
+
- `kubernetesExample`: K8s deployment config
|
|
295
|
+
- `nginxLoadBalancerExample`: Nginx configuration
|
|
296
|
+
- `monitoringIntegrationExample`: Datadog/Sentry integration
|
|
297
|
+
- `testingExample`: Test patterns
|
|
298
|
+
- `envConfigExample`: Environment setup
|
|
299
|
+
|
|
300
|
+
## Related Documentation
|
|
301
|
+
|
|
302
|
+
- [HEALTH_CHECK.md](./HEALTH_CHECK.md) - Detailed documentation
|
|
303
|
+
- [VERCEL_AI_SDK_V6_PATTERNS.md](../../VERCEL_AI_SDK_V6_PATTERNS.md) - Pattern reference
|
|
304
|
+
- [examples.ts](./examples.ts) - Code examples
|
|
305
|
+
|
|
306
|
+
## Exports
|
|
307
|
+
|
|
308
|
+
```typescript
|
|
309
|
+
// Functions
|
|
310
|
+
export { checkHealth };
|
|
311
|
+
export { createHealthCheckHandler };
|
|
312
|
+
export { createNextHealthCheckHandler };
|
|
313
|
+
export { createHealthCheckMiddleware };
|
|
314
|
+
|
|
315
|
+
// Types
|
|
316
|
+
export type {
|
|
317
|
+
HealthCheckConfig,
|
|
318
|
+
HealthCheckResult,
|
|
319
|
+
HealthCheckMiddlewareOptions,
|
|
320
|
+
DatabaseHealth,
|
|
321
|
+
RedisHealth,
|
|
322
|
+
AIProviderHealth,
|
|
323
|
+
MemoryHealth,
|
|
324
|
+
ComponentHealth,
|
|
325
|
+
HealthChecks,
|
|
326
|
+
ServiceStatus,
|
|
327
|
+
RequestHandler
|
|
328
|
+
};
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
## Performance
|
|
332
|
+
|
|
333
|
+
Typical response times:
|
|
334
|
+
|
|
335
|
+
- Memory checks only: 1-5ms
|
|
336
|
+
- With database check: 10-50ms
|
|
337
|
+
- With all checks: 50-200ms
|
|
338
|
+
- With custom checks: 100-500ms (depends on custom check latency)
|
|
339
|
+
|
|
340
|
+
## Anti-Patterns
|
|
341
|
+
|
|
342
|
+
❌ Long-running checks (>5 seconds) ❌ Creating new DB connections per check ❌ No timeout on external service checks ❌
|
|
343
|
+
Returning 200 for unhealthy state ❌ Exposing sensitive errors in production ❌ Not checking critical dependencies ❌
|
|
344
|
+
Complex business logic in health checks ❌ Skipping health checks in production
|
|
345
|
+
|
|
346
|
+
## Support
|
|
347
|
+
|
|
348
|
+
For issues or questions:
|
|
349
|
+
|
|
350
|
+
1. Check [HEALTH_CHECK.md](./HEALTH_CHECK.md) troubleshooting section
|
|
351
|
+
2. Review [examples.ts](./examples.ts) for usage patterns
|
|
352
|
+
3. Check test cases in [health-check.test.ts](./health-check.test.ts)
|
|
353
|
+
4. Refer to [VERCEL_AI_SDK_V6_PATTERNS.md](../../VERCEL_AI_SDK_V6_PATTERNS.md)
|
|
354
|
+
|
|
355
|
+
## License
|
|
356
|
+
|
|
357
|
+
See main repository license.
|